
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Type propagation algorithm not settling */
/* WARNING: Enum "anon_enum_32": Some values do not have unique names */

bfd_boolean __regparm3 copy_object(bfd *ibfd,bfd *obfd,bfd_arch_info_type *input_arch)

{
  void *__dest;
  asymbol **ppaVar1;
  asymbol **ppaVar2;
  bfd_byte *pbVar3;
  bfd_endian bVar4;
  bfd_endian bVar5;
  section_add *psVar6;
  pe_tdata *ppVar7;
  bfd_target *pbVar8;
  _func_void_bfd_vma_void_ptr *p_Var9;
  bfd_vma bVar10;
  bfd_flavour bVar11;
  bfd_vma *pbVar12;
  bfd_vma *pbVar13;
  section_add *psVar14;
  section_rename *psVar15;
  bfd_vma *pbVar16;
  bfd_byte bVar17;
  int iVar18;
  bfd_architecture bVar19;
  ulong uVar20;
  bfd_boolean bVar21;
  int iVar22;
  char *pcVar23;
  char *pcVar24;
  long lVar25;
  section_list *psVar26;
  asection *paVar27;
  FILE *__s;
  char *pcVar28;
  char *__format;
  undefined4 uVar29;
  undefined4 uVar30;
  asymbol **ppaVar31;
  bfd_section *pbVar32;
  asymbol *paVar33;
  size_t sVar34;
  size_t sVar35;
  bfd_byte *pbVar36;
  asymbol *paVar37;
  undefined4 *puVar38;
  int iVar39;
  int *piVar40;
  char *pcVar41;
  bfd *pbVar42;
  bfd_vma bVar43;
  void *pvVar44;
  bfd_vma bVar45;
  asection *sec_1;
  undefined4 extraout_ECX;
  asection *sec_1_00;
  undefined4 extraout_ECX_00;
  undefined4 extraout_ECX_01;
  uint uVar46;
  undefined4 extraout_ECX_02;
  undefined4 extraout_ECX_03;
  uint uVar47;
  uint uVar48;
  void *pvVar49;
  undefined4 extraout_EDX;
  addsym_node *ptr;
  bfd_byte *pbVar50;
  byte *pbVar51;
  uchar **ppuVar52;
  bfd_section *pbVar53;
  bfd_section *pbVar54;
  bfd *pbVar55;
  bfd_vma *pbVar56;
  bfd_byte *pbVar57;
  uint uVar58;
  byte *pbVar59;
  internal_extra_pe_aouthdr *piVar60;
  undefined1 *puVar61;
  bfd *pbVar62;
  bfd_vma *pbVar63;
  bool bVar64;
  bool bVar65;
  byte bVar66;
  undefined8 uVar67;
  bfd_uint64_t bVar68;
  bfd *pbVar69;
  void *pvVar70;
  bfd *pbVar71;
  bfd *in_stack_ffffff54;
  bfd *in_stack_ffffff58;
  char *local_98;
  bfd *local_94;
  void *local_90;
  bfd *local_8c;
  int *local_84;
  bfd_byte *local_80;
  bfd_vma *local_7c;
  bfd_byte *local_74;
  int local_70;
  uint local_6c;
  asymbol **local_68;
  bfd_vma *local_64;
  bfd_vma *local_60;
  bfd *local_5c;
  int local_58;
  bfd_boolean local_50;
  bfd_byte *syms;
  bfd_byte *strings;
  char file_alignment [20];
  bfd_byte *contents;
  undefined4 local_2c;
  undefined4 uStack_14;
  
  bVar66 = 0;
  uStack_14 = 0x185fd;
  bVar4 = ibfd->xvec->byteorder;
  bVar5 = obfd->xvec->byteorder;
  if ((bVar4 != bVar5 && bVar4 != BFD_ENDIAN_UNKNOWN) && (bVar5 != BFD_ENDIAN_UNKNOWN)) {
    pcVar24 = (char *)dcgettext(0,"Unable to change endianness of input file(s)",5);
    non_fatal(pcVar24);
    return 0;
  }
  iVar18 = bfd_set_format(obfd,ibfd->field_0x28 & 7);
  if (iVar18 == 0) {
    bfd_nonfatal_message((char *)0x0,obfd,(asection *)0x0,(char *)0x0);
    return 0;
  }
  if (ibfd->sections == (bfd_section *)0x0) {
    pcVar23 = bfd_get_archive_filename(ibfd);
    pcVar24 = "error: the input file \'%s\' has no sections";
    goto LAB_00018bc8;
  }
  if (ibfd->xvec->flavour != bfd_target_elf_flavour) {
    if ((do_debug_sections != _sch_isblank) && ((do_debug_sections & _sch_isblank) != nothing)) {
      pcVar23 = bfd_get_archive_filename(ibfd);
      pcVar24 = "--compress-debug-sections=[zlib|zlib-gnu|zlib-gabi] is unsupported on `%s\'";
LAB_00018bc8:
      pcVar24 = (char *)dcgettext(0,pcVar24,5);
      non_fatal(pcVar24,pcVar23);
      return 0;
    }
    if (do_elf_stt_common != unchanged) {
      pcVar23 = bfd_get_archive_filename(ibfd);
      pcVar24 = "--elf-stt-common=[yes|no] is unsupported on `%s\'";
      goto LAB_00018bc8;
    }
  }
  if (verbose != 0) {
    pcVar24 = ibfd->xvec->name;
    pcVar23 = obfd->xvec->name;
    pcVar41 = obfd->filename;
    pcVar28 = bfd_get_archive_filename(ibfd);
    __format = (char *)dcgettext(0,"copy from `%s\' [%s] to `%s\' [%s]\n",5);
    printf(__format,pcVar28,pcVar24,pcVar41,pcVar23);
  }
  iVar18 = 0;
  if (extract_symbol == 0) {
    bVar43 = set_start;
    if (set_start_set == 0) {
      bVar43 = ibfd->start_address;
    }
    iVar18 = bVar43 + change_start;
  }
  if ((obfd->field_0x28 & 7) != 3) {
    uVar58 = ~bfd_flags_to_clear & obfd->xvec->object_flags &
             (*(uint *)&ibfd->field_0x28 >> 5 & 0xfffff | bfd_flags_to_set);
    if (strip_symbols == STRIP_ALL) {
      uVar58 = uVar58 & 0xfffffffe;
    }
    iVar18 = bfd_set_start_address(obfd,iVar18);
    if ((iVar18 == 0) || (iVar18 = bfd_set_file_flags(obfd,uVar58), iVar18 == 0)) goto LAB_00018840;
  }
  bVar19 = bfd_get_arch(ibfd);
  uVar20 = bfd_get_mach(ibfd);
  if (input_arch != (bfd_arch_info_type *)0x0) {
    iVar18 = bfd_get_arch_info(ibfd);
    if ((iVar18 == 0) || (iVar18 = bfd_get_arch_info(ibfd), *(int *)(iVar18 + 0xc) == 0)) {
      bVar19 = input_arch->arch;
      uVar20 = input_arch->mach;
    }
    else {
      pcVar24 = bfd_get_archive_filename(ibfd);
      pcVar23 = (char *)dcgettext(0,"Input file `%s\' ignores binary architecture parameter.",5);
      non_fatal(pcVar23,pcVar24);
    }
  }
  bVar21 = (*obfd->xvec->_bfd_set_arch_mach)(obfd,bVar19,uVar20);
  if (bVar21 == 0) {
    if ((ibfd->field_0x2b & 4) != 0) {
LAB_000187e7:
      iVar18 = bfd_get_arch(ibfd);
      if (iVar18 == 0) {
        pcVar23 = bfd_get_archive_filename(ibfd);
        pcVar24 = "Unable to recognise the format of the input file `%s\'";
      }
      else {
        uVar29 = bfd_get_mach(ibfd);
        uVar30 = bfd_get_arch(ibfd);
        pcVar23 = (char *)bfd_printable_arch_mach(uVar30,uVar29);
        pcVar24 = "Output file cannot represent architecture `%s\'";
      }
      pcVar24 = (char *)dcgettext(0,pcVar24,5);
      non_fatal(pcVar24,pcVar23);
      return 0;
    }
    iVar18 = bfd_get_arch(ibfd);
    iVar22 = bfd_get_arch(obfd);
    if (iVar18 != iVar22) goto LAB_000187e7;
  }
  iVar18 = bfd_set_format(obfd,ibfd->field_0x28 & 7);
  if (iVar18 == 0) {
LAB_00018840:
    bfd_nonfatal_message((char *)0x0,ibfd,(asection *)0x0,(char *)0x0);
    return 0;
  }
  bVar11 = obfd->xvec->flavour;
  bVar64 = bVar11 < bfd_target_coff_flavour;
  bVar65 = bVar11 == bfd_target_coff_flavour;
  if (bVar65) {
    iVar18 = 4;
    pbVar51 = (byte *)obfd->xvec->name;
    pbVar59 = &DAT_0002e16a;
    do {
      if (iVar18 == 0) break;
      iVar18 = iVar18 + -1;
      bVar64 = *pbVar51 < *pbVar59;
      bVar65 = *pbVar51 == *pbVar59;
      pbVar51 = pbVar51 + (uint)bVar66 * -2 + 1;
      pbVar59 = pbVar59 + (uint)bVar66 * -2 + 1;
    } while (bVar65);
    if ((!bVar64 && !bVar65) == bVar64) {
      ppVar7 = (obfd->tdata).pe_obj_data;
      bVar11 = ibfd->xvec->flavour;
      bVar64 = bVar11 < bfd_target_coff_flavour;
      bVar65 = bVar11 == bfd_target_coff_flavour;
      if (bVar65) {
        iVar18 = 4;
        pbVar51 = (byte *)ibfd->xvec->name;
        pbVar59 = &DAT_0002e16a;
        do {
          if (iVar18 == 0) break;
          iVar18 = iVar18 + -1;
          bVar64 = *pbVar51 < *pbVar59;
          bVar65 = *pbVar51 == *pbVar59;
          pbVar51 = pbVar51 + (uint)bVar66 * -2 + 1;
          pbVar59 = pbVar59 + (uint)bVar66 * -2 + 1;
        } while (bVar65);
        if ((!bVar64 && !bVar65) == bVar64) {
          ppuVar52 = &(((ibfd->tdata).elf_obj_data)->symtab_hdr).contents;
          piVar60 = &ppVar7->pe_opthdr;
          for (iVar18 = 0x38; iVar18 != 0; iVar18 = iVar18 + -1) {
            *(uchar **)piVar60 = *ppuVar52;
            ppuVar52 = ppuVar52 + (uint)bVar66 * -2 + 1;
            piVar60 = (internal_extra_pe_aouthdr *)((int)piVar60 + (uint)bVar66 * -8 + 4);
          }
        }
      }
      bVar43 = pe_file_alignment;
      if (pe_file_alignment == 0xffffffff) {
        pe_file_alignment = 0x200;
        bVar43 = 0x200;
      }
      else {
        (ppVar7->pe_opthdr).FileAlignment = pe_file_alignment;
      }
      if (pe_heap_commit != 0xffffffff) {
        (ppVar7->pe_opthdr).SizeOfHeapCommit = pe_heap_commit;
      }
      if (pe_heap_reserve != 0xffffffff) {
        (ppVar7->pe_opthdr).SizeOfHeapCommit = pe_heap_reserve;
      }
      if (pe_image_base != 0xffffffff) {
        (ppVar7->pe_opthdr).ImageBase = pe_image_base;
      }
      bVar45 = pe_section_alignment;
      if (pe_section_alignment == 0xffffffff) {
        pe_section_alignment = 0x1000;
        bVar45 = 0x1000;
      }
      else {
        (ppVar7->pe_opthdr).SectionAlignment = pe_section_alignment;
      }
      if (pe_stack_commit != 0xffffffff) {
        (ppVar7->pe_opthdr).SizeOfStackCommit = pe_stack_commit;
      }
      if (pe_stack_reserve != 0xffffffff) {
        (ppVar7->pe_opthdr).SizeOfStackCommit = pe_stack_reserve;
      }
      if (pe_subsystem != -1) {
        (ppVar7->pe_opthdr).Subsystem = pe_subsystem;
      }
      if (pe_major_subsystem_version != -1) {
        (ppVar7->pe_opthdr).MajorSubsystemVersion = pe_major_subsystem_version;
      }
      if (pe_minor_subsystem_version != -1) {
        (ppVar7->pe_opthdr).MinorSubsystemVersion = pe_minor_subsystem_version;
      }
      if (bVar45 < bVar43) {
        sprintf(file_alignment,"%08lx",bVar43);
        sprintf((char *)&contents,"%08lx",pe_section_alignment);
        pcVar24 = (char *)dcgettext(0,"warning: file alignment (0x%s) > section alignment (0x%s)",5)
        ;
        non_fatal(pcVar24,file_alignment,&contents);
      }
    }
  }
  ppaVar31 = isympp;
  if (isympp != (asymbol **)0x0) {
    free(isympp);
  }
  if (ppaVar31 != osympp) {
    free(osympp);
  }
  isympp = (asymbol **)0x0;
  osympp = (asymbol **)0x0;
  lVar25 = (*ibfd->xvec->_bfd_get_symtab_upper_bound)(ibfd);
  if (lVar25 < 0) goto LAB_00018840;
  osympp = (asymbol **)xmalloc(lVar25);
  isympp = osympp;
  local_70 = (*ibfd->xvec->_bfd_canonicalize_symtab)(ibfd,osympp);
  if (local_70 < 0) goto LAB_00018840;
  if (local_70 == 0) {
    free(isympp);
    isympp = (asymbol **)0x0;
    osympp = (asymbol **)0x0;
  }
  bfd_map_over_sections(ibfd,setup_section,obfd);
  psVar6 = add_sections;
  if ((extract_symbol == 0) &&
     (bVar21 = (*obfd->xvec->_bfd_copy_private_header_data)(ibfd,obfd), psVar6 = add_sections,
     bVar21 == 0)) {
    status = 1;
    pcVar24 = (char *)dcgettext(0,"error in private header data",5);
    bfd_nonfatal_message((char *)0x0,ibfd,(asection *)0x0,pcVar24);
    psVar6 = add_sections;
  }
  for (; psVar14 = update_sections, psVar6 != (section_add *)0x0; psVar6 = psVar6->next) {
    uVar58 = 0x128;
    psVar26 = find_section_list(psVar6->name,0,0x40);
    if (psVar26 != (section_list *)0x0) {
      uVar58 = psVar26->flags | 0x100;
    }
    iVar18 = bfd_get_section_by_name(obfd,psVar6->name);
    if (iVar18 != 0) {
      pcVar23 = psVar6->name;
      pcVar24 = "can\'t add section \'%s\'";
LAB_00019719:
      pcVar24 = (char *)dcgettext(0,pcVar24,5);
      bfd_nonfatal_message((char *)0x0,obfd,(asection *)0x0,pcVar24,pcVar23);
      return 0;
    }
    paVar27 = (asection *)bfd_make_section_with_flags(obfd,psVar6->name,uVar58 | 0x100000);
    psVar6->section = paVar27;
    if (paVar27 == (asection *)0x0) {
      pcVar23 = psVar6->name;
      pcVar24 = "can\'t create section `%s\'";
      goto LAB_00019719;
    }
    iVar18 = bfd_set_section_size(obfd,paVar27,psVar6->size);
    if (iVar18 == 0) {
      pbVar62 = (bfd *)psVar6->section;
      local_50 = 0;
      goto LAB_00019763;
    }
    psVar26 = find_section_list(psVar6->name,0,0xc);
    if (psVar26 != (section_list *)0x0) {
      bVar43 = psVar26->vma_val;
      paVar27 = psVar6->section;
      paVar27->field_0x18 = paVar27->field_0x18 | 1;
      paVar27->lma = bVar43;
      paVar27->vma = bVar43;
    }
    psVar26 = find_section_list(psVar6->name,0,0x30);
    if (psVar26 != (section_list *)0x0) {
      psVar6->section->lma = psVar26->lma_val;
    }
  }
  for (; psVar14 != (section_add *)0x0; psVar14 = psVar14->next) {
    paVar27 = (asection *)bfd_get_section_by_name(ibfd,psVar14->name);
    psVar14->section = paVar27;
    if (paVar27 == (asection *)0x0) {
      pcVar23 = psVar14->name;
      pcVar24 = "error: %s not found, can\'t be updated";
      goto LAB_00018bc8;
    }
    pbVar62 = (bfd *)paVar27->output_section;
    local_50 = bfd_set_section_size(obfd,pbVar62,psVar14->size);
    if (local_50 == 0) goto LAB_00019763;
  }
  local_5c = obfd;
  if ((((merge_notes != 0) &&
       (pbVar62 = (bfd *)bfd_get_section_by_name(ibfd,".gnu.build.attributes"),
       pbVar62 != (bfd *)0x0)) && (merge_notes != 0)) &&
     ((ibfd->xvec->flavour == bfd_target_elf_flavour &&
      (bVar21 = is_merged_note_section(pbVar62,(asection *)&pbVar62->archive_next,sec_1),
      bVar21 != 0)))) {
    pbVar36 = (bfd_byte *)pbVar62->id;
    if (pbVar36 == (bfd_byte *)0x0) {
      pcVar24 = (char *)dcgettext(0,"warning: note section is empty",5,0);
      bfd_nonfatal_message((char *)0x0,ibfd,(asection *)pbVar62,pcVar24);
      merge_notes = 0;
    }
    else {
      iVar18 = bfd_get_full_section_contents(ibfd,pbVar62,&merged_notes,pbVar36);
      pbVar50 = merged_notes;
      if (iVar18 == 0) {
        pcVar24 = (char *)dcgettext(0,"warning: could not load note section",5,0);
        bfd_nonfatal_message((char *)0x0,ibfd,(asection *)pbVar62,pcVar24);
        free(merged_notes);
        merged_notes = (bfd_byte *)0x0;
        merge_notes = 0;
      }
      else {
        iVar18 = bfd_get_reloc_upper_bound(ibfd,pbVar62,pbVar62,pbVar62);
        pbVar42 = ibfd;
        pbVar69 = pbVar62;
        if (0 < iVar18) {
          pbVar42 = (bfd *)xmalloc(iVar18);
          pbVar69 = (bfd *)bfd_canonicalize_reloc(ibfd,pbVar62,pbVar42,isympp);
          free(pbVar42);
          if (pbVar69 == (bfd *)0x0) goto LAB_0001a478;
          local_60 = (bfd_vma *)0x0;
          goto LAB_0001a75c;
        }
LAB_0001a478:
        pvVar70 = (void *)0x24;
        pbVar71 = pbVar42;
        local_60 = (bfd_vma *)xcalloc((uint)pbVar36 / 0xc,0x24,pbVar42,pbVar42);
        local_90 = (void *)0x0;
        local_98 = (char *)0x0;
        local_8c = (bfd *)0x0;
        local_94 = (bfd *)0x0;
        local_6c = 0;
        local_84 = (int *)0x0;
        local_80 = (bfd_byte *)0x0;
        pbVar57 = pbVar50;
        pbVar55 = (bfd *)pbVar50;
        local_74 = pbVar36;
        local_64 = local_60;
        while ((bfd_byte *)0xb < local_74) {
          bVar43 = (*ibfd->xvec->bfd_getx32)(pbVar57);
          uVar58 = bVar43 + 3 & 0xfffffffc;
          *local_64 = uVar58;
          bVar43 = (*ibfd->xvec->bfd_getx32)(pbVar57 + 4);
          uVar47 = bVar43 + 3 & 0xfffffffc;
          pbVar8 = ibfd->xvec;
          local_64[1] = uVar47;
          bVar43 = (*pbVar8->bfd_getx32)(pbVar57 + 8);
          local_64[2] = bVar43;
          if (1 < bVar43 - 0x100) {
            pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute note: wrong note type",5,
                                        extraout_ECX_01);
            goto LAB_0001a72d;
          }
          iVar18 = uVar47 + uVar58;
          if (local_74 < (bfd_byte *)(iVar18 + 0xcU)) {
            pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute note: note too big",5,pbVar57
                                       );
            goto LAB_0001a72d;
          }
          if (uVar58 < 2) {
            pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute note: name too small",5,
                                        iVar18);
            goto LAB_0001a72d;
          }
          local_64[3] = (bfd_vma)(pbVar57 + 0xc);
          pbVar3 = pbVar57 + uVar58 + 0xc;
          local_64[4] = (bfd_vma)pbVar3;
          pbVar55 = (bfd *)(-0xc - iVar18);
          local_74 = (bfd_byte *)((int)&pbVar55->filename + (int)local_74);
          bVar17 = pbVar57[0xc];
          if (bVar17 == '$') {
            if ((pbVar57[0xd] == '\x01') && (pbVar57[0xe] == '1')) {
              local_80 = (bfd_byte *)((int)local_80 + 1);
            }
          }
          else if ((((4 < uVar58) && (bVar17 == 'G')) && (pbVar57[0xd] == 'A')) &&
                  ((pbVar57[0xe] == '$' && (pbVar57[0xf] == '\x01')))) {
            bVar17 = pbVar57[0x10];
            if (bVar17 == '2') {
              local_84 = (int *)((int)local_84 + 1);
            }
            else {
              if (bVar17 != '3') {
                pcVar24 = (char *)dcgettext(0,
                                            "corrupt GNU build attribute note: unsupported version",
                                            5,bVar17);
                goto LAB_0001a72d;
              }
              local_6c = local_6c + 1;
            }
          }
          if (uVar47 == 4) {
            pbVar69 = (bfd *)(*ibfd->xvec->bfd_getx32)(pbVar3);
            pcVar24 = (char *)0xffffffff;
          }
          else if (uVar47 < 5) {
            if (uVar47 != 0) {
LAB_0001a7ea:
              pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute note: bad description size"
                                          ,5,bVar17);
              goto LAB_0001a72d;
            }
            pcVar24 = (char *)0x0;
            pbVar69 = (bfd *)0x0;
          }
          else {
            pbVar55 = ibfd;
            if (uVar47 == 8) {
              pbVar8 = ibfd->xvec;
              if ((pbVar8->flavour == bfd_target_elf_flavour) &&
                 (((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02')) {
                bVar68 = (*pbVar8->bfd_getx64)(pbVar3);
                pbVar69 = (bfd *)bVar68;
                pcVar24 = (char *)0xffffffff;
              }
              else {
                pbVar69 = (bfd *)(*pbVar8->bfd_getx32)(pbVar3);
                pcVar24 = (char *)(*ibfd->xvec->bfd_getx32)(pbVar3 + 4);
              }
            }
            else {
              if (uVar47 != 0x10) goto LAB_0001a7ea;
              bVar68 = (*ibfd->xvec->bfd_getx64)(pbVar3);
              pbVar69 = (bfd *)bVar68;
              bVar68 = (*ibfd->xvec->bfd_getx64)(pbVar3 + 8);
              pcVar24 = (char *)bVar68;
            }
          }
          if (bVar43 == 0x100) {
            if (pbVar69 == (bfd *)0x0) {
              pbVar69 = local_8c;
            }
            if (pcVar24 == (char *)0x0) {
              pcVar24 = (char *)local_90;
            }
            local_64[6] = (bfd_vma)pbVar69;
            local_64[7] = (bfd_vma)pcVar24;
            local_90 = pcVar24;
            local_8c = pbVar69;
          }
          else {
            if (pbVar69 == (bfd *)0x0) {
              pbVar69 = local_94;
            }
            if (pcVar24 == (char *)0x0) {
              pcVar24 = local_98;
            }
            local_64[6] = (bfd_vma)pbVar69;
            local_64[7] = (bfd_vma)pcVar24;
            local_98 = pcVar24;
            local_94 = pbVar69;
          }
          if (*(char *)(local_64[3] + (*local_64 - 1)) != '\0') {
            pcVar24 = (char *)dcgettext(0,
                                        "corrupt GNU build attribute note: name not NUL terminated",
                                        5,*local_64);
            goto LAB_0001a72d;
          }
          local_64 = local_64 + 9;
          pbVar57 = pbVar57 + (int)(iVar18 + 0xcU);
        }
        if (local_74 == (bfd_byte *)0x0) {
          uVar58 = (uint)local_84 | local_6c;
          if (local_80 == (bfd_byte *)0x0 && uVar58 == 0) {
            pcVar24 = (char *)dcgettext(0,
                                        "bad GNU build attribute notes: no known versions detected",
                                        5,uVar58);
            goto LAB_0001a72d;
          }
          if (((local_80 != (bfd_byte *)0x0) && (uVar58 != 0)) ||
             ((local_84 != (int *)0x0 && (local_6c != 0)))) {
            pcVar24 = (char *)dcgettext(0,
                                        "bad GNU build attribute notes: multiple different versions"
                                        ,5,pbVar69);
            goto LAB_0001a72d;
          }
          if ((local_80 == (bfd_byte *)0x1 || local_84 == (int *)0x1) || (local_6c == 1))
          goto LAB_0001a75c;
          uVar58 = -(uint)(local_80 == (bfd_byte *)0x0) & 2;
          iVar18 = uVar58 + 1;
          if (*(char *)(local_60[3] + iVar18) != '\x01') {
            pcVar24 = (char *)dcgettext(0,
                                        "bad GNU build attribute notes: first note not version note"
                                        ,5,pbVar55);
            goto LAB_0001a72d;
          }
          bVar64 = false;
          iVar22 = uVar58 + 2;
          pbVar56 = local_60;
LAB_0001a954:
          pbVar13 = pbVar56;
          pbVar56 = pbVar13 + 9;
          if (pbVar56 < local_64) {
            if (pbVar13[0xb] == 0x100) {
              pvVar44 = (void *)pbVar13[0xc];
              local_7c = (bfd_vma *)0x0;
              pbVar63 = pbVar56;
              do {
                do {
                  pbVar12 = pbVar63;
                  pbVar63 = pbVar12 + -9;
                  if (pbVar63 < local_60) goto LAB_0001a954;
                  pvVar49 = (void *)pbVar12[-6];
                  pbVar16 = local_7c;
                } while ((((local_7c == (bfd_vma *)0x0) && (pbVar12[-8] != 0)) &&
                         (pbVar16 = pbVar63, pbVar12[-7] == 0x101)) ||
                        ((local_7c = pbVar16,
                         *(char *)((int)pvVar44 + iVar18) != *(char *)((int)pvVar49 + iVar18) ||
                         (pbVar12[-7] != 0x100))));
                if (*(char *)((int)pvVar49 + iVar18) != '\x04') {
                  pbVar69 = (bfd *)*pbVar63;
                  if ((((pbVar69 == (bfd *)*pbVar56) &&
                       (pbVar71 = (bfd *)pbVar56, iVar39 = memcmp(pvVar49,pvVar44,(size_t)pbVar69),
                       pvVar70 = pvVar44, pbVar42 = pbVar69, iVar39 == 0)) &&
                      ((uVar58 = pbVar12[-2], uVar58 != 0 && (uVar47 = pbVar13[0x10], uVar47 != 0)))
                      ) && ((0xfffffff0 < uVar58 || (pbVar13[0xf] <= (uVar58 + 0xf & 0xfffffff0)))))
                  {
                    pbVar13[0xb] = 0;
                    if (uVar58 < uVar47) {
                      pbVar12[-2] = uVar47;
                    }
                    bVar64 = true;
                    if (local_6c != 0) {
                      pbVar12[-1] = 1;
                    }
                  }
                  else if (local_6c == 0) {
                    if (((pbVar13[10] == 0) && (local_7c != (bfd_vma *)0x0)) && (local_7c[2] == 0))
                    {
                      local_7c[2] = 0x100;
                    }
                  }
                  else {
                    pbVar13[0x11] = 1;
                    pbVar13[0xb] = 0x101;
                    pbVar12[-1] = 1;
                    pbVar12[-7] = 0x101;
                  }
                  goto LAB_0001a954;
                }
                uVar58 = 0;
                for (iVar39 = 0; (int)*pbVar56 - iVar22 != iVar39; iVar39 = iVar39 + 1) {
                  uVar58 = uVar58 | (uint)*(byte *)((int)pvVar44 + iVar39 + iVar22) <<
                                    ((char)iVar39 * '\b' & 0x1fU);
                }
                bVar43 = *pbVar63;
                local_5c = (bfd *)0x0;
                for (uVar47 = 0; bVar43 - iVar22 != uVar47; uVar47 = uVar47 + 1) {
                  local_5c = (bfd *)((uint)local_5c |
                                    (uint)(byte)((undefined1 *)((int)pvVar49 + iVar22))[uVar47] <<
                                    ((char)uVar47 * '\b' & 0x1fU));
                }
                uVar48 = 0;
                uVar58 = (int)local_5c + uVar58;
                for (uVar46 = uVar58; uVar46 != 0; uVar46 = uVar46 >> 8) {
                  uVar48 = uVar48 + 1;
                }
                in_stack_ffffff54 = (bfd *)pbVar56;
              } while (uVar47 <= uVar48);
              puVar61 = (undefined1 *)((int)pvVar49 + iVar22);
              while (puVar61 < (undefined1 *)((int)pvVar49 + bVar43)) {
                *puVar61 = (char)uVar58;
                if (uVar58 == 0) break;
                uVar58 = uVar58 >> 8;
                puVar61 = puVar61 + 1;
              }
              pbVar13[0xb] = 0;
              bVar64 = true;
            }
            goto LAB_0001a954;
          }
          in_stack_ffffff58 = obfd;
          local_5c = obfd;
          if (!bVar64) goto LAB_0001a75c;
          pvVar44 = (void *)xmalloc(pbVar36,pvVar70,pbVar42,pbVar71);
          bVar43 = 0;
          pvVar70 = pvVar44;
          local_80 = pbVar50;
          for (pbVar56 = local_60; pbVar56 < local_64; pbVar56 = pbVar56 + 9) {
            bVar45 = *pbVar56;
            sVar34 = pbVar56[1] + 0xc + bVar45;
            bVar10 = pbVar56[2];
            pvVar49 = pvVar70;
            if (bVar10 != 0) {
              if (pbVar56[8] == 0) {
                memcpy(pvVar70,local_80,sVar34);
                pvVar49 = (void *)((int)pvVar70 + sVar34);
              }
              else {
                pbVar57 = (bfd_byte *)pbVar56[6];
                p_Var9 = ibfd->xvec->bfd_putx32;
                __dest = (void *)((int)pvVar70 + 0xc);
                pvVar49 = (void *)((int)__dest + bVar45);
                if ((pbVar57 == local_74) && (pbVar56[7] == bVar43)) {
                  (*p_Var9)(bVar45,pvVar70);
                  (*ibfd->xvec->bfd_putx32)(0,(void *)((int)pvVar70 + 4));
                  (*ibfd->xvec->bfd_putx32)(bVar10,(void *)((int)pvVar70 + 8));
                  memcpy(__dest,(void *)pbVar56[3],bVar45);
                }
                else {
                  (*p_Var9)(bVar45,pvVar70);
                  bVar43 = 8;
                  if (ibfd->xvec->flavour == bfd_target_elf_flavour) {
                    bVar43 = (uint)(((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02'
                                   ) * 8 + 8;
                  }
                  (*ibfd->xvec->bfd_putx32)(bVar43,(void *)((int)pvVar70 + 4));
                  (*ibfd->xvec->bfd_putx32)(bVar10,(void *)((int)pvVar70 + 8));
                  memcpy(__dest,(void *)pbVar56[3],bVar45);
                  pbVar8 = ibfd->xvec;
                  if ((pbVar8->flavour == bfd_target_elf_flavour) &&
                     (((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02')) {
                    (*pbVar8->bfd_putx64)(ZEXT48(pbVar57),pvVar49);
                    (*ibfd->xvec->bfd_putx64)((ulonglong)pbVar56[7],(void *)((int)pvVar49 + 8));
                    pvVar49 = (void *)((int)pvVar49 + 0x10);
                  }
                  else {
                    (*pbVar8->bfd_putx32)((bfd_vma)pbVar57,pvVar49);
                    (*ibfd->xvec->bfd_putx32)(pbVar56[7],(void *)((int)pvVar49 + 4));
                    pvVar49 = (void *)((int)pvVar49 + 8);
                  }
                }
              }
              local_74 = (bfd_byte *)pbVar56[6];
              bVar43 = pbVar56[7];
            }
            local_80 = local_80 + sVar34;
            pvVar70 = pvVar49;
          }
          pbVar57 = (bfd_byte *)((int)pvVar70 - (int)pvVar44);
          memcpy(pbVar50,pvVar44,(size_t)pbVar57);
          free(pvVar44);
          free(local_60);
          merged_size = (bfd_size_type)pbVar57;
          if (pbVar36 != pbVar57) {
            iVar18 = (int)pbVar62->proxy_origin;
            uVar29 = extraout_ECX_02;
            if ((iVar18 != 0) &&
               (iVar18 = bfd_set_section_size(obfd,iVar18,pbVar57,extraout_EDX),
               uVar29 = extraout_ECX_03, iVar18 != 0)) goto LAB_00018aad;
            pcVar24 = (char *)dcgettext(0,"warning: failed to set merged notes size",5,uVar29);
            bfd_nonfatal_message((char *)0x0,obfd,(asection *)pbVar62,pcVar24);
          }
        }
        else {
          pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute notes: excess data at end",5,
                                      local_64);
LAB_0001a72d:
          if (pcVar24 != (char *)0x0) {
            bfd_set_error(0x11);
            bfd_nonfatal_message((char *)0x0,ibfd,(asection *)pbVar62,pcVar24);
            status = 1;
          }
LAB_0001a75c:
          free(local_60);
        }
        free(merged_notes);
        merged_notes = (bfd_byte *)0x0;
        merge_notes = 0;
        merged_size = 0;
      }
    }
  }
LAB_00018aad:
  obfd = local_5c;
  local_98 = gnu_debuglink_filename;
  for (psVar6 = dump_sections; gnu_debuglink_filename = local_98, psVar6 != (section_add *)0x0;
      psVar6 = psVar6->next) {
    paVar27 = (asection *)bfd_get_section_by_name(ibfd,psVar6->name);
    if (paVar27 == (asection *)0x0) {
      pcVar24 = psVar6->name;
      pcVar23 = (char *)dcgettext(0,"can\'t dump section \'%s\' - it does not exist",5);
      bfd_nonfatal_message((char *)0x0,ibfd,(asection *)0x0,pcVar23,pcVar24);
    }
    else {
      if ((paVar27->flags & 0x100) == 0) {
        pcVar24 = "can\'t dump section - it has no contents";
      }
      else {
        sVar34 = paVar27->size;
        if (sVar34 != 0) {
          __s = fopen64(psVar6->filename,"w");
          if (__s == (FILE *)0x0) {
            pcVar24 = (char *)dcgettext(0,"could not open section dump file",5);
            bfd_nonfatal_message(psVar6->filename,(bfd *)0x0,(asection *)0x0,pcVar24);
          }
          else {
            iVar18 = bfd_malloc_and_get_section(ibfd,paVar27,&contents);
            if (iVar18 == 0) {
              pcVar24 = (char *)dcgettext(0,"could not retrieve section contents",5);
              bfd_nonfatal_message((char *)0x0,ibfd,paVar27,pcVar24);
            }
            else {
              sVar35 = fwrite(contents,1,sVar34,__s);
              if (sVar34 != sVar35) {
                piVar40 = __errno_location();
                pcVar23 = strerror(*piVar40);
                pcVar24 = psVar6->filename;
                pcVar41 = (char *)dcgettext(0,"error writing section contents to %s (error: %s)",5);
                non_fatal(pcVar41,pcVar24,pcVar23);
                free(contents);
                return 0;
              }
            }
            fclose(__s);
            free(contents);
          }
          goto LAB_00018b49;
        }
        pcVar24 = "can\'t dump section - it is empty";
      }
      pcVar24 = (char *)dcgettext(0,pcVar24,5);
      bfd_nonfatal_message((char *)0x0,ibfd,paVar27,pcVar24);
    }
LAB_00018b49:
    local_98 = gnu_debuglink_filename;
  }
  if (local_98 != (char *)0x0) {
    iVar18 = bfd_get_section_by_name(local_5c,".gnu_debuglink");
    if (iVar18 == 0) {
      local_98 = (char *)bfd_create_gnu_debuglink_section(local_5c,gnu_debuglink_filename);
      pcVar24 = gnu_debuglink_filename;
      if (local_98 == (char *)0x0) {
        pcVar23 = (char *)dcgettext(0,"cannot create debug link section `%s\'",5,local_5c);
        bfd_nonfatal_message((char *)0x0,local_5c,(asection *)0x0,pcVar23,pcVar24);
        return 0;
      }
      if (local_5c->xvec->flavour == bfd_target_coff_flavour) {
        pbVar32 = local_5c->sections;
        pbVar54 = (bfd_section *)0x0;
        if (pbVar32 == (bfd_section *)0x0) {
LAB_0001a360:
          uVar47 = 0x1000;
        }
        else {
          do {
            pbVar53 = pbVar54;
            if (((pbVar32->vma != 0) && (pbVar53 = pbVar32, pbVar54 != (bfd_section *)0x0)) &&
               (pbVar53 = pbVar54, pbVar54->vma < pbVar32->vma)) {
              pbVar53 = pbVar32;
            }
            pbVar32 = pbVar32->next;
            pbVar54 = pbVar53;
          } while (pbVar32 != (bfd_section *)0x0);
          if (pbVar53 == (bfd_section *)0x0) goto LAB_0001a360;
          uVar58 = pbVar53->size + pbVar53->vma;
          uVar47 = 0xffffffff;
          if (uVar58 < 0xfffff001) {
            uVar47 = uVar58 + 0xfff & 0xfffff000;
          }
        }
        *(uint *)(local_98 + 0x20) = uVar47;
        *(uint *)(local_98 + 0x1c) = uVar47;
        local_98[0x18] = local_98[0x18] | 1;
      }
    }
    else {
      pcVar24 = local_5c->filename;
      pcVar23 = (char *)dcgettext(0,"%s: debuglink section already exists",5);
      non_fatal(pcVar23,pcVar24);
      gnu_debuglink_filename = (char *)0x0;
      local_98 = (char *)0x0;
    }
  }
  pbVar62 = (bfd *)local_5c->section_count;
  local_8c = pbVar62;
  if (pbVar62 == (bfd *)0x0) {
LAB_00018ff7:
    local_90 = (void *)0x0;
    local_84 = (int *)0x0;
    pbVar69 = local_8c;
  }
  else {
    if (gap_fill_set == 0 && pad_to_set == 0) {
      local_8c = (bfd *)0x0;
      goto LAB_00018ff7;
    }
    sVar34 = (int)pbVar62 * 4;
    local_84 = (int *)xmalloc(sVar34);
    contents = (bfd_byte *)local_84;
    bfd_map_over_sections(local_5c,get_sections,&contents);
    qsort(local_84,(size_t)pbVar62,4,compare_section_lma);
    local_90 = (void *)xmalloc(sVar34);
    memset(local_90,0,sVar34);
    if ((gap_fill_set == 0) || (pbVar62 == (bfd *)0x1)) {
      local_8c = (bfd *)0x0;
    }
    else {
      puVar61 = (undefined1 *)0x0;
      local_8c = (bfd *)0x0;
      piVar40 = local_84;
      do {
        iVar18 = *piVar40;
        puVar61 = puVar61 + 1;
        pbVar69 = local_8c;
        if ((*(uint *)(iVar18 + 0x14) & 0x102) == 0x102) {
          uVar58 = *(int *)(iVar18 + 0x20) + *(int *)(iVar18 + 0x24);
          if (uVar58 < *(uint *)(piVar40[1] + 0x20)) {
            pbVar69 = (bfd *)(*(uint *)(piVar40[1] + 0x20) - uVar58);
            uVar67 = bfd_set_section_size
                               (local_5c,iVar18,(int)&pbVar69->filename + *(int *)(iVar18 + 0x24));
            if ((int)uVar67 == 0) {
              pcVar24 = (char *)dcgettext(0,"Can\'t fill gap after section",5,
                                          (int)((ulonglong)uVar67 >> 0x20));
              bfd_nonfatal_message((char *)0x0,local_5c,(asection *)*piVar40,pcVar24);
              status = 1;
              break;
            }
            *(bfd **)((int)local_90 + (int)puVar61 * 4 + -4) = pbVar69;
            if (pbVar69 <= local_8c) {
              pbVar69 = local_8c;
            }
          }
        }
        local_8c = pbVar69;
        piVar40 = piVar40 + 1;
      } while ((undefined1 *)((int)&pbVar62[-1].build_id + 3) != puVar61);
    }
    pbVar69 = local_8c;
    if (pad_to_set != 0) {
      iVar18 = local_84[(int)((int)&pbVar62[-1].build_id + 3)];
      uVar58 = *(int *)(iVar18 + 0x24) + *(int *)(iVar18 + 0x20);
      if (uVar58 < pad_to) {
        iVar18 = bfd_set_section_size(local_5c,iVar18,pad_to - *(int *)(iVar18 + 0x20));
        if (iVar18 == 0) {
          pcVar24 = (char *)dcgettext(0,"can\'t add padding",5,uVar58);
          bfd_nonfatal_message
                    ((char *)0x0,local_5c,
                     (asection *)local_84[(int)((int)&pbVar62[-1].build_id + 3)],pcVar24);
          status = 1;
        }
        else {
          pbVar69 = (bfd *)(pad_to - uVar58);
          *(bfd **)((int)local_90 + (sVar34 - 4)) = pbVar69;
          if (pbVar69 <= local_8c) {
            pbVar69 = local_8c;
          }
        }
      }
    }
  }
  local_8c = pbVar69;
  local_94 = (bfd *)0x0;
  if (convert_debugging != 0) {
    local_94 = (bfd *)read_debugging_info(ibfd,isympp,local_70,0);
  }
  if (strip_symbols - STRIP_DEBUG < 6) {
LAB_00019032:
    if (strip_symbols != STRIP_ALL) {
LAB_00019037:
      bfd_set_error(0);
      bfd_map_over_sections(ibfd,mark_symbols_used_in_relocations,isympp);
      iVar18 = bfd_get_error();
      if (iVar18 != 0) {
        status = 1;
        return 0;
      }
    }
    ppaVar31 = (asymbol **)xmalloc((add_symbols + local_70) * 4 + 4);
    local_68 = isympp;
    uVar58 = *(uint *)&ibfd->field_0x28;
    osympp = ppaVar31;
    if (local_70 != 0) {
      ppaVar1 = isympp + local_70;
      local_70 = 0;
      pbVar32 = (bfd_section *)(PTR__bfd_std_section_0003efc8 + 0xa8);
      do {
        iVar18 = add_symbols;
        paVar37 = *local_68;
        uVar47 = paVar37->flags;
        pbVar36 = (bfd_byte *)paVar37->name;
        pbVar54 = paVar37->section;
        if (((add_sym_list != (addsym_node *)0x0) && (0 < add_symbols)) &&
           (pcVar24 = add_sym_list->othersym, pcVar24 != (char *)0x0)) {
          local_5c = (bfd *)0x0;
          ptr = add_sym_list;
          while (iVar22 = strcmp(pcVar24,(char *)pbVar36), iVar22 != 0) {
            local_5c = (bfd *)((int)local_5c + 1);
            ptr = ptr->next;
            if ((local_5c == (bfd *)iVar18) || (pcVar24 = ptr->othersym, pcVar24 == (char *)0x0))
            goto LAB_00019180;
          }
          free(pcVar24);
          ptr->othersym = "";
          ppaVar2 = ppaVar31 + local_70;
          local_70 = local_70 + 1;
          paVar33 = create_new_symbol(ptr,obfd);
          *ppaVar2 = paVar33;
        }
LAB_00019180:
        iVar18 = htab_elements(redefine_specific_htab);
        pbVar50 = pbVar36;
        if ((iVar18 != 0) || (section_rename_list != (section_rename *)0x0)) {
          local_2c = 0;
          contents = pbVar36;
          iVar18 = htab_find(redefine_specific_htab,&contents);
          if (((iVar18 == 0) || (pbVar50 = *(bfd_byte **)(iVar18 + 4), pbVar36 == pbVar50)) &&
             (psVar15 = section_rename_list, (uVar47 & 0x100) != 0)) {
            for (; pbVar50 = pbVar36, psVar15 != (section_rename *)0x0; psVar15 = psVar15->next) {
              iVar18 = strcmp(psVar15->old_name,(char *)pbVar36);
              if (iVar18 == 0) {
                pbVar50 = (bfd_byte *)psVar15->new_name;
                break;
              }
            }
          }
          paVar37->name = (char *)pbVar50;
        }
        pcVar24 = prefix_symbols_string;
        bVar17 = ibfd->xvec->symbol_leading_char;
        if (*pbVar50 == bVar17) {
          if (change_leading_char == 0) {
            if ((remove_leading_char == 0) ||
               ((((uVar47 & 0x82) == 0 && (pbVar54 != pbVar32)) &&
                ((paVar37->section->flags & 0x1000) == 0)))) goto LAB_00019203;
LAB_0001943c:
            pbVar50 = pbVar50 + 1;
            paVar37->name = (char *)pbVar50;
            goto LAB_00019203;
          }
          bVar17 = obfd->xvec->symbol_leading_char;
          if (bVar17 == '\0') goto LAB_0001943c;
          if (prefix_symbols_string != (char *)0x0) {
            pbVar50 = pbVar50 + 1;
            paVar37->name = (char *)pbVar50;
            goto LAB_0001945b;
          }
          *pbVar50 = bVar17;
          paVar37->name = (char *)pbVar50;
        }
        else {
          if (((change_leading_char == 0) || (obfd->xvec->symbol_leading_char == '\0')) ||
             (bVar17 != '\0')) {
LAB_00019203:
            if (pcVar24 == (char *)0x0) goto LAB_0001926f;
            sVar34 = strlen(pcVar24);
            sVar35 = strlen((char *)pbVar50);
            pbVar36 = (bfd_byte *)xmalloc(sVar34 + 2 + sVar35);
            local_5c = (bfd *)pbVar36;
          }
          else {
LAB_0001945b:
            sVar34 = strlen(pcVar24);
            sVar35 = strlen((char *)pbVar50);
            pbVar36 = (bfd_byte *)xmalloc(sVar34 + 2 + sVar35);
            local_5c = (bfd *)(pbVar36 + 1);
            *pbVar36 = obfd->xvec->symbol_leading_char;
          }
          pcVar24 = prefix_symbols_string;
          if (prefix_symbols_string != (char *)0x0) {
            strcpy((char *)local_5c,prefix_symbols_string);
            sVar34 = strlen(pcVar24);
            local_5c = (bfd *)((int)local_5c + sVar34);
          }
          strcpy((char *)local_5c,(char *)pbVar50);
          paVar37->name = (char *)pbVar36;
          pbVar50 = pbVar36;
        }
LAB_0001926f:
        if (strip_symbols == STRIP_ALL) goto LAB_000192f8;
        if ((uVar47 & 0x20) == 0) {
          if (((uVar47 & 0x100) == 0) || (((*paVar37->section->symbol_ptr_ptr)->flags & 0x20) == 0))
          {
            if ((((uVar58 >> 5 & 0x42) == 0) &&
                (((uVar47 & 0x82) != 0 || ((paVar37->section->flags & 0x1000) != 0)))) ||
               (iVar18 = bfd_decode_symclass(paVar37), iVar18 == 0x49)) {
LAB_00019528:
              bVar21 = is_specified_symbol((char *)pbVar50,strip_specific_htab);
              if (bVar21 == 0) goto LAB_000192e0;
            }
            else if ((((uVar47 & 0x82) == 0) &&
                     (pbVar54 != (bfd_section *)(PTR__bfd_std_section_0003efc8 + 0xa8))) &&
                    ((paVar37->section->flags & 0x1000) == 0)) {
              if ((uVar47 & 4) == 0) {
                if (((ibfd->xvec->flavour != bfd_target_coff_flavour) ||
                    (pvVar70 = paVar37->section->used_by_bfd, pvVar70 == (void *)0x0)) ||
                   (*(int *)((int)pvVar70 + 0x24) == 0)) {
                  if ((strip_symbols == STRIP_UNNEEDED) || (discard_locals == LOCALS_ALL))
                  goto LAB_000192f8;
                  if (discard_locals == LOCALS_START_L) {
                    iVar18 = bfd_is_local_label(ibfd,paVar37,0,0);
                    goto joined_r0x0001a13f;
                  }
                }
                goto LAB_00019528;
              }
              iVar18 = convert_debugging;
              if (1 < strip_symbols - STRIP_DEBUG) {
joined_r0x0001a13f:
                if (iVar18 == 0) goto LAB_00019528;
              }
            }
            else if (strip_symbols != STRIP_UNNEEDED) goto LAB_00019528;
          }
          else {
            bVar21 = is_specified_symbol((char *)pbVar50,strip_specific_htab);
            if (bVar21 != 0) {
              pcVar24 = (char *)dcgettext(0,
                                          "not stripping symbol `%s\' because it is named in a relocation"
                                          ,5,bVar21);
              non_fatal(pcVar24,pbVar50);
              status = 1;
            }
LAB_000192e0:
            bVar21 = is_specified_symbol((char *)pbVar50,strip_unneeded_htab);
            if (bVar21 == 0) goto LAB_0001931c;
          }
LAB_000192f8:
          if (((keep_file_symbols != 0) && ((uVar47 & 0x4000) != 0)) ||
             (bVar21 = is_specified_symbol((char *)pbVar50,keep_specific_htab), bVar21 != 0))
          goto LAB_0001931c;
        }
        else {
          bVar21 = is_specified_symbol((char *)pbVar50,strip_specific_htab);
          if (bVar21 != 0) {
            pcVar24 = (char *)dcgettext(0,
                                        "not stripping symbol `%s\' because it is named in a relocation"
                                        ,5);
            non_fatal(pcVar24,pbVar50);
            status = 1;
          }
LAB_0001931c:
          bVar21 = is_strip_section(in_stack_ffffff54,(asection *)in_stack_ffffff58);
          if (bVar21 == 0) {
            if (((uVar47 & 2) != 0) &&
               ((weaken != 0 ||
                (bVar21 = is_specified_symbol((char *)pbVar50,weaken_specific_htab), bVar21 != 0))))
            {
              paVar37->flags = paVar37->flags & 0xfffffffd | 0x80;
            }
            if (pbVar54 != (bfd_section *)(PTR__bfd_std_section_0003efc8 + 0xa8)) {
              if (((uVar47 & 0x82) != 0) &&
                 (((bVar21 = is_specified_symbol((char *)pbVar50,localize_specific_htab),
                   bVar21 != 0 ||
                   ((iVar18 = htab_elements(keepglobal_specific_htab), iVar18 != 0 &&
                    (bVar21 = is_specified_symbol((char *)pbVar50,keepglobal_specific_htab),
                    bVar21 == 0)))) ||
                  ((localize_hidden != 0 &&
                   ((((pbVar62 = paVar37->the_bfd, pbVar62 != (bfd *)0x0 &&
                      (pbVar62->xvec->flavour == bfd_target_elf_flavour)) &&
                     ((pbVar62->tdata).aout_data != (aout_data_struct *)0x0)) &&
                    ((*(byte *)((int)&paVar37[1].flags + 1) & 3) - 1 < 2)))))))) {
                paVar37->flags = paVar37->flags & 0xffffff7d | 1;
              }
              if (((uVar47 & 1) != 0) &&
                 (bVar21 = is_specified_symbol((char *)pbVar50,globalize_specific_htab), bVar21 != 0
                 )) {
                paVar37->flags = paVar37->flags & 0xfffffffe | 2;
              }
            }
            ppaVar31[local_70] = paVar37;
            local_70 = local_70 + 1;
          }
        }
        local_68 = local_68 + 1;
      } while (ppaVar1 != local_68);
    }
    local_5c = (bfd *)add_sym_list;
    if ((add_sym_list != (addsym_node *)0x0) && (0 < add_symbols)) {
      iVar18 = 0;
      do {
        pcVar24 = (char *)local_5c->lru_next;
        if (pcVar24 == (char *)0x0) {
          paVar37 = create_new_symbol((addsym_node *)local_5c,obfd);
          ppaVar31[local_70] = paVar37;
          local_70 = local_70 + 1;
        }
        else if (*pcVar24 != '\0') {
          pcVar23 = (char *)dcgettext(0,"\'before=%s\' not found",5,local_70);
                    /* WARNING: Subroutine does not return */
          fatal(pcVar23,pcVar24);
        }
        iVar18 = iVar18 + 1;
        local_5c = (bfd *)local_5c->filename;
      } while (iVar18 < add_symbols);
    }
    ppaVar31[local_70] = (asymbol *)0x0;
    if ((convert_debugging != 0) && (local_94 != (bfd *)0x0)) {
      bVar11 = obfd->xvec->flavour;
      if ((bVar11 != bfd_target_coff_flavour) && (bVar11 != bfd_target_elf_flavour)) {
        pcVar24 = obfd->xvec->name;
        pcVar23 = (char *)dcgettext(0,"don\'t know how to write debugging information for %s",5);
        bfd_nonfatal_message((char *)0x0,obfd,(asection *)0x0,pcVar23,pcVar24);
        status = 1;
        return 0;
      }
      bVar21 = write_stabs_in_sections_debugging_info
                         (obfd,local_94,&syms,(bfd_size_type *)file_alignment,&strings,
                          (bfd_size_type *)&contents);
      if (bVar21 == 0) {
        status = 1;
        return 0;
      }
      iVar18 = bfd_make_section_with_flags(obfd,".stab",0x2108);
      iVar22 = bfd_make_section_with_flags(obfd,".stabstr",0x2108);
      if ((((iVar18 == 0) || (iVar22 == 0)) ||
          (iVar39 = bfd_set_section_size(obfd,iVar18,file_alignment._0_4_,iVar22), iVar39 == 0)) ||
         (iVar39 = bfd_set_section_size(obfd,iVar22,contents,iVar39), iVar39 == 0)) {
        pcVar24 = "can\'t create debugging section";
LAB_00019fcf:
        pcVar24 = (char *)dcgettext(0,pcVar24,5,iVar18);
        bfd_nonfatal_message((char *)0x0,obfd,(asection *)0x0,pcVar24);
        status = 1;
        return 0;
      }
      *(undefined4 *)(iVar18 + 0x40) = 2;
      *(undefined4 *)(iVar22 + 0x40) = 0;
      iVar18 = bfd_set_section_contents(obfd,iVar18,syms,0,0,file_alignment._0_4_,iVar39,iVar39);
      if ((iVar18 == 0) ||
         (iVar18 = bfd_set_section_contents
                             (obfd,iVar22,strings,0,0,contents,extraout_ECX,extraout_ECX),
         iVar18 == 0)) {
        pcVar24 = "can\'t set debugging section contents";
        iVar18 = iVar22;
        goto LAB_00019fcf;
      }
    }
  }
  else {
    if (localize_hidden != 0 || discard_locals != LOCALS_UNDEF) goto LAB_00019037;
    iVar18 = htab_elements(strip_specific_htab);
    if (((iVar18 != 0) || (iVar18 = htab_elements(keep_specific_htab), iVar18 != 0)) ||
       ((iVar18 = htab_elements(localize_specific_htab), iVar18 != 0 ||
        (((((iVar18 = htab_elements(globalize_specific_htab), iVar18 != 0 ||
            (iVar18 = htab_elements(keepglobal_specific_htab), iVar18 != 0)) ||
           (iVar18 = htab_elements(weaken_specific_htab), iVar18 != 0)) ||
          ((iVar18 = htab_elements(redefine_specific_htab), prefix_symbols_string != (char *)0x0 ||
           (section_rename_list != (section_rename *)0x0)))) ||
         (((((((sections_removed != 0 || sections_copied != 0) || convert_debugging != 0) ||
             change_leading_char != 0) || remove_leading_char != 0) || weaken != 0) ||
          add_symbols != 0) || iVar18 != 0)))))) goto LAB_00019032;
  }
  bfd_set_symtab(obfd,osympp,local_70);
  bfd_map_over_sections(ibfd,copy_relocations_in_section,obfd);
  bfd_map_over_sections(ibfd,copy_section,obfd);
  pbVar62 = ibfd;
  for (psVar6 = add_sections; psVar14 = update_sections, psVar6 != (section_add *)0x0;
      psVar6 = psVar6->next) {
    iVar18 = bfd_set_section_contents(obfd,psVar6->section,psVar6->contents,0,0,psVar6->size);
    if (iVar18 == 0) {
      pbVar62 = (bfd *)psVar6->section;
      local_50 = 0;
      goto LAB_00019763;
    }
    pbVar62 = obfd;
  }
  for (; psVar14 != (section_add *)0x0; psVar14 = psVar14->next) {
    pbVar62 = (bfd *)psVar14->section->output_section;
    local_50 = bfd_set_section_contents(obfd,pbVar62,psVar14->contents,0,0,psVar14->size);
    if (local_50 == 0) {
LAB_00019763:
      bfd_nonfatal_message((char *)0x0,obfd,(asection *)pbVar62,(char *)0x0);
      return local_50;
    }
  }
  pbVar69 = (bfd *)0x0;
  if (merge_notes != 0) {
    pbVar69 = (bfd *)bfd_get_section_by_name(obfd,".gnu.build.attributes");
    if (((pbVar69 == (bfd *)0x0) || (merge_notes == 0)) ||
       ((obfd->xvec->flavour != bfd_target_elf_flavour ||
        (bVar21 = is_merged_note_section(pbVar69,(asection *)&pbVar69->archive_next,sec_1_00),
        bVar21 == 0)))) {
      if (is_strip == 0) {
        pcVar24 = (char *)dcgettext(0,"could not find any mergeable note sections",5,0);
        bfd_nonfatal_message((char *)0x0,obfd,(asection *)pbVar69,pcVar24);
      }
    }
    else {
      iVar18 = bfd_set_section_contents(obfd,pbVar69,merged_notes,0,0,merged_size,bVar21,bVar21);
      if (iVar18 == 0) {
        pcVar24 = (char *)dcgettext(0,"error: failed to copy merged notes into output",5,0);
        goto LAB_0001a2cd;
      }
    }
    free(merged_notes);
    merged_notes = (bfd_byte *)0x0;
    merge_notes = 0;
    pbVar62 = obfd;
  }
  if ((gnu_debuglink_filename != (char *)0x0) &&
     (iVar18 = bfd_fill_in_gnu_debuglink_section(obfd,local_98,gnu_debuglink_filename),
     pcVar24 = gnu_debuglink_filename, iVar18 == 0)) {
    pcVar23 = (char *)dcgettext(0,"cannot fill debug link section `%s\'",5,0);
    bfd_nonfatal_message((char *)0x0,obfd,(asection *)0x0,pcVar23,pcVar24);
    return 0;
  }
  if (gap_fill_set != 0 || pad_to_set != 0) {
    pbVar69 = (bfd *)0x2000;
    if (local_8c < (bfd *)0x2001) {
      pbVar69 = local_8c;
    }
    puVar38 = (undefined4 *)xmalloc(pbVar69);
    pcVar24 = (char *)((uint)gap_fill * 0x1010101);
    if (pbVar69 < (bfd *)0x4) {
      if ((pbVar69 != (bfd *)0x0) && (*(char *)puVar38 = (char)pcVar24, ((uint)pbVar69 & 2) != 0)) {
        *(short *)((int)puVar38 + -2 + (int)pbVar69) = (short)pcVar24;
      }
    }
    else {
      *puVar38 = pcVar24;
      *(char **)((int)(puVar38 + -1) + (int)pbVar69) = pcVar24;
      pbVar62 = (bfd *)((uint)(puVar38 + 1) & 0xfffffffc);
      for (uVar58 = (uint)(((int)puVar38 - (int)((uint)(puVar38 + 1) & 0xfffffffc)) + (int)pbVar69)
                    >> 2; uVar58 != 0; uVar58 = uVar58 - 1) {
        pbVar62->filename = pcVar24;
        pbVar62 = (bfd *)((int)pbVar62 + (uint)bVar66 * -8 + 4);
      }
    }
    pbVar42 = (bfd *)obfd->section_count;
    if (pbVar42 != (bfd *)0x0) {
      pbVar62 = (bfd *)0x0;
      do {
        pbVar69 = *(bfd **)((int)local_90 + (int)pbVar62 * 4);
        if (pbVar69 != (bfd *)0x0) {
          iVar18 = local_84[(int)pbVar62];
          local_58 = 0;
          local_5c = (bfd *)(*(int *)(iVar18 + 0x24) - (int)pbVar69);
          while( true ) {
            pbVar55 = (bfd *)0x2000;
            if (pbVar69 < (bfd *)0x2001) {
              pbVar55 = pbVar69;
            }
            iVar18 = bfd_set_section_contents(obfd,iVar18,puVar38,local_5c,local_58,pbVar55);
            if (iVar18 == 0) {
              pbVar62 = (bfd *)local_84[(int)pbVar62];
              local_50 = 0;
              goto LAB_00019763;
            }
            bVar64 = CARRY4((uint)local_5c,(uint)pbVar55);
            local_5c = (bfd *)((int)&pbVar55->filename + (int)local_5c);
            local_58 = local_58 + (uint)bVar64;
            pbVar69 = (bfd *)((int)pbVar69 - (int)pbVar55);
            if (pbVar69 == (bfd *)0x0) break;
            iVar18 = local_84[(int)pbVar62];
          }
        }
        pbVar62 = (bfd *)((int)&pbVar62->filename + 1);
      } while (pbVar42 != pbVar62);
    }
  }
  bVar21 = (*obfd->xvec->_bfd_copy_private_bfd_data)(ibfd,obfd);
  if (bVar21 != 0) {
    if ((use_alt_mach_code != 0) &&
       (iVar18 = bfd_alt_mach_code(obfd,use_alt_mach_code,pbVar69,pbVar69),
       uVar20 = use_alt_mach_code, iVar18 == 0)) {
      pcVar24 = (char *)dcgettext(0,"this target does not support %lu alternative machine codes",5,
                                  pbVar62);
      non_fatal(pcVar24,uVar20);
      if (obfd->xvec->flavour != bfd_target_elf_flavour) {
        pcVar24 = (char *)dcgettext(0,"ignoring the alternative value",5,extraout_ECX_00);
        non_fatal(pcVar24);
        return 1;
      }
      pcVar24 = (char *)dcgettext(0,"treating that number as an absolute e_machine value instead",5,
                                  uVar20);
      non_fatal(pcVar24);
      *(short *)((int)&((obfd->tdata).coff_obj_data)->local_n_btshft + 2) = (short)use_alt_mach_code
      ;
    }
    return 1;
  }
  pcVar24 = (char *)dcgettext(0,"error copying private BFD data",5,pbVar62);
  pbVar69 = (bfd *)0x0;
LAB_0001a2cd:
  bfd_nonfatal_message((char *)0x0,obfd,(asection *)pbVar69,pcVar24);
  return 0;
}



/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Type propagation algorithm not settling */

int __regparm3 FUN_000185f0(size_t *param_1,size_t *param_2,int param_3)

{
  void *__dest;
  int *piVar1;
  size_t sVar2;
  int *piVar3;
  undefined *puVar4;
  size_t sVar5;
  size_t *psVar6;
  size_t *psVar7;
  char cVar8;
  int iVar9;
  undefined4 uVar10;
  undefined4 uVar11;
  int iVar12;
  FILE *__s;
  undefined4 uVar13;
  undefined4 uVar14;
  int *piVar15;
  undefined *puVar16;
  size_t sVar17;
  size_t sVar18;
  int *piVar19;
  size_t *psVar20;
  int iVar21;
  char *pcVar22;
  size_t sVar23;
  void *pvVar24;
  size_t *psVar25;
  undefined4 extraout_ECX;
  uint uVar26;
  undefined4 extraout_ECX_00;
  undefined4 extraout_ECX_01;
  uint uVar27;
  undefined4 extraout_ECX_02;
  undefined4 extraout_ECX_03;
  uint uVar28;
  undefined1 *puVar29;
  void *pvVar30;
  size_t __n;
  undefined4 extraout_EDX;
  int *piVar31;
  byte *pbVar32;
  undefined4 *puVar33;
  size_t *psVar34;
  uint uVar35;
  byte *pbVar36;
  undefined4 *puVar37;
  size_t *psVar38;
  uint uVar39;
  bool bVar40;
  bool bVar41;
  byte bVar42;
  undefined8 uVar43;
  void *pvVar44;
  size_t *psVar45;
  size_t *psVar46;
  size_t local_98;
  size_t local_94;
  void *local_90;
  size_t local_8c;
  int *local_84;
  size_t *local_80;
  size_t *local_7c;
  uint local_74;
  int local_70;
  uint local_6c;
  int *local_68;
  size_t *local_64;
  size_t *local_60;
  int *local_5c;
  int local_58;
  int local_50;
  undefined4 local_4c;
  undefined4 local_48;
  undefined4 local_44 [5];
  int *local_30;
  undefined4 local_2c;
  undefined4 uStack_14;
  
  bVar42 = 0;
  uStack_14 = 0x185fd;
  if ((*(int *)(param_1[1] + 8) != *(int *)(param_2[1] + 8) && *(int *)(param_1[1] + 8) != 2) &&
     (*(int *)(param_2[1] + 8) != 2)) {
    uVar10 = dcgettext(0,"Unable to change endianness of input file(s)",5);
    FUN_0002b6d0(uVar10);
    return 0;
  }
  iVar9 = bfd_set_format(param_2,(byte)param_1[10] & 7);
  if (iVar9 == 0) {
    FUN_0002c160(0,param_2,0,0);
    return 0;
  }
  if (param_1[0x18] == 0) {
    uVar10 = FUN_0002c060(param_1);
    pcVar22 = "error: the input file \'%s\' has no sections";
    goto LAB_00018bc8;
  }
  if (((undefined4 *)param_1[1])[1] != 5) {
    if ((DAT_0003fb24 != 1) && ((DAT_0003fb24 & 1) != 0)) {
      uVar10 = FUN_0002c060(param_1);
      pcVar22 = "--compress-debug-sections=[zlib|zlib-gnu|zlib-gabi] is unsupported on `%s\'";
LAB_00018bc8:
      uVar11 = dcgettext(0,pcVar22,5);
      FUN_0002b6d0(uVar11,uVar10);
      return 0;
    }
    if (DAT_0003fb20 != 0) {
      uVar10 = FUN_0002c060(param_1);
      pcVar22 = "--elf-stt-common=[yes|no] is unsupported on `%s\'";
      goto LAB_00018bc8;
    }
  }
  if (DAT_0003fb90 != 0) {
    uVar10 = *(undefined4 *)param_1[1];
    uVar11 = *(undefined4 *)param_2[1];
    sVar17 = *param_2;
    uVar13 = FUN_0002c060(param_1);
    pcVar22 = (char *)dcgettext(0,"copy from `%s\' [%s] to `%s\' [%s]\n",5);
    printf(pcVar22,uVar13,uVar10,sVar17,uVar11);
  }
  iVar9 = 0;
  if (DAT_0003facc == 0) {
    sVar17 = DAT_0003fb5c;
    if (DAT_0003fb60 == 0) {
      sVar17 = param_1[0x1c];
    }
    iVar9 = sVar17 + DAT_0003fb64;
  }
  if ((param_2[10] & 7) != 3) {
    uVar35 = ~DAT_0003fb3c & *(uint *)(param_2[1] + 0x10) &
             (param_1[10] >> 5 & 0xfffff | DAT_0003fb40);
    if (DAT_0003fb78 == 7) {
      uVar35 = uVar35 & 0xfffffffe;
    }
    iVar9 = bfd_set_start_address(param_2,iVar9);
    if ((iVar9 == 0) || (iVar9 = bfd_set_file_flags(param_2,uVar35), iVar9 == 0)) goto LAB_00018840;
  }
  uVar10 = bfd_get_arch(param_1);
  uVar11 = bfd_get_mach(param_1);
  if (param_3 != 0) {
    iVar9 = bfd_get_arch_info(param_1);
    if ((iVar9 == 0) || (iVar9 = bfd_get_arch_info(param_1), *(int *)(iVar9 + 0xc) == 0)) {
      uVar10 = *(undefined4 *)(param_3 + 0xc);
      uVar11 = *(undefined4 *)(param_3 + 0x10);
    }
    else {
      uVar13 = FUN_0002c060(param_1);
      uVar14 = dcgettext(0,"Input file `%s\' ignores binary architecture parameter.",5);
      FUN_0002b6d0(uVar14,uVar13);
    }
  }
  iVar9 = (**(code **)(param_2[1] + 0x154))(param_2,uVar10,uVar11);
  if (iVar9 == 0) {
    if ((*(byte *)((int)param_1 + 0x2b) & 4) != 0) {
LAB_000187e7:
      iVar9 = bfd_get_arch(param_1);
      if (iVar9 == 0) {
        uVar10 = FUN_0002c060(param_1);
        pcVar22 = "Unable to recognise the format of the input file `%s\'";
      }
      else {
        uVar10 = bfd_get_mach(param_1);
        uVar11 = bfd_get_arch(param_1);
        uVar10 = bfd_printable_arch_mach(uVar11,uVar10);
        pcVar22 = "Output file cannot represent architecture `%s\'";
      }
      uVar11 = dcgettext(0,pcVar22,5);
      FUN_0002b6d0(uVar11,uVar10);
      return 0;
    }
    iVar9 = bfd_get_arch(param_1);
    iVar12 = bfd_get_arch(param_2);
    if (iVar9 != iVar12) goto LAB_000187e7;
  }
  iVar9 = bfd_set_format(param_2,(byte)param_1[10] & 7);
  if (iVar9 == 0) {
LAB_00018840:
    FUN_0002c160(0,param_1,0,0);
    return 0;
  }
  uVar35 = ((undefined4 *)param_2[1])[1];
  bVar40 = uVar35 < 2;
  bVar41 = uVar35 == 2;
  if (bVar41) {
    iVar9 = 4;
    pbVar32 = *(byte **)param_2[1];
    pbVar36 = &DAT_0002e16a;
    do {
      if (iVar9 == 0) break;
      iVar9 = iVar9 + -1;
      bVar40 = *pbVar32 < *pbVar36;
      bVar41 = *pbVar32 == *pbVar36;
      pbVar32 = pbVar32 + (uint)bVar42 * -2 + 1;
      pbVar36 = pbVar36 + (uint)bVar42 * -2 + 1;
    } while (bVar41);
    if ((!bVar40 && !bVar41) == bVar40) {
      sVar17 = param_2[0x27];
      uVar35 = ((undefined4 *)param_1[1])[1];
      bVar40 = uVar35 < 2;
      bVar41 = uVar35 == 2;
      if (bVar41) {
        iVar9 = 4;
        pbVar32 = *(byte **)param_1[1];
        pbVar36 = &DAT_0002e16a;
        do {
          if (iVar9 == 0) break;
          iVar9 = iVar9 + -1;
          bVar40 = *pbVar32 < *pbVar36;
          bVar41 = *pbVar32 == *pbVar36;
          pbVar32 = pbVar32 + (uint)bVar42 * -2 + 1;
          pbVar36 = pbVar36 + (uint)bVar42 * -2 + 1;
        } while (bVar41);
        if ((!bVar40 && !bVar41) == bVar40) {
          puVar33 = (undefined4 *)(param_1[0x27] + 0x78);
          puVar37 = (undefined4 *)(sVar17 + 0x78);
          for (iVar9 = 0x38; iVar9 != 0; iVar9 = iVar9 + -1) {
            *puVar37 = *puVar33;
            puVar33 = puVar33 + (uint)bVar42 * -2 + 1;
            puVar37 = puVar37 + (uint)bVar42 * -2 + 1;
          }
        }
      }
      uVar35 = DAT_0003f298;
      if (DAT_0003f298 == 0xffffffff) {
        DAT_0003f298 = 0x200;
        uVar35 = 0x200;
      }
      else {
        *(uint *)(sVar17 + 0x9c) = DAT_0003f298;
      }
      if (DAT_0003f294 != -1) {
        *(int *)(sVar17 + 0xcc) = DAT_0003f294;
      }
      if (DAT_0003f290 != -1) {
        *(int *)(sVar17 + 0xcc) = DAT_0003f290;
      }
      if (DAT_0003f28c != -1) {
        *(int *)(sVar17 + 0x94) = DAT_0003f28c;
      }
      uVar26 = DAT_0003f288;
      if (DAT_0003f288 == 0xffffffff) {
        DAT_0003f288 = 0x1000;
        uVar26 = 0x1000;
      }
      else {
        *(uint *)(sVar17 + 0x98) = DAT_0003f288;
      }
      if (DAT_0003f284 != -1) {
        *(int *)(sVar17 + 0xc4) = DAT_0003f284;
      }
      if (DAT_0003f280 != -1) {
        *(int *)(sVar17 + 0xc4) = DAT_0003f280;
      }
      if (DAT_0003f27c != -1) {
        *(short *)(sVar17 + 0xbc) = DAT_0003f27c;
      }
      if (DAT_0003f27a != -1) {
        *(short *)(sVar17 + 0xa8) = DAT_0003f27a;
      }
      if (DAT_0003f278 != -1) {
        *(short *)(sVar17 + 0xaa) = DAT_0003f278;
      }
      if (uVar26 < uVar35) {
        sprintf((char *)local_44,"%08lx",uVar35);
        sprintf((char *)&local_30,"%08lx",DAT_0003f288);
        uVar10 = dcgettext(0,"warning: file alignment (0x%s) > section alignment (0x%s)",5);
        FUN_0002b6d0(uVar10,local_44,&local_30);
      }
    }
  }
  piVar15 = DAT_0003fb9c;
  if (DAT_0003fb9c != (int *)0x0) {
    free(DAT_0003fb9c);
  }
  if (piVar15 != DAT_0003fb98) {
    free(DAT_0003fb98);
  }
  DAT_0003fb9c = (int *)0x0;
  DAT_0003fb98 = (int *)0x0;
  iVar9 = (**(code **)(param_1[1] + 0x104))(param_1);
  if (iVar9 < 0) goto LAB_00018840;
  DAT_0003fb98 = (int *)xmalloc(iVar9);
  DAT_0003fb9c = DAT_0003fb98;
  local_70 = (**(code **)(param_1[1] + 0x108))(param_1,DAT_0003fb98);
  if (local_70 < 0) goto LAB_00018840;
  if (local_70 == 0) {
    free(DAT_0003fb9c);
    DAT_0003fb9c = (int *)0x0;
    DAT_0003fb98 = (int *)0x0;
  }
  bfd_map_over_sections(param_1,FUN_000179b0,param_2);
  puVar33 = DAT_0003fb38;
  if ((DAT_0003facc == 0) &&
     (iVar9 = (**(code **)(param_2[1] + 0xbc))(param_1,param_2), puVar33 = DAT_0003fb38, iVar9 == 0)
     ) {
    DAT_0003fb88 = 1;
    uVar10 = dcgettext(0,"error in private header data",5);
    FUN_0002c160(0,param_1,0,uVar10);
    puVar33 = DAT_0003fb38;
  }
  for (; puVar37 = DAT_0003fb34, puVar33 != (undefined4 *)0x0; puVar33 = (undefined4 *)*puVar33) {
    uVar35 = 0x128;
    iVar9 = FUN_00016910();
    if (iVar9 != 0) {
      uVar35 = *(uint *)(iVar9 + 0x18) | 0x100;
    }
    iVar9 = bfd_get_section_by_name(param_2,puVar33[1]);
    if (iVar9 != 0) {
      uVar10 = puVar33[1];
      pcVar22 = "can\'t add section \'%s\'";
LAB_00019719:
      uVar11 = dcgettext(0,pcVar22,5);
      FUN_0002c160(0,param_2,0,uVar11,uVar10);
      return 0;
    }
    iVar9 = bfd_make_section_with_flags(param_2,puVar33[1],uVar35 | 0x100000);
    puVar33[5] = iVar9;
    if (iVar9 == 0) {
      uVar10 = puVar33[1];
      pcVar22 = "can\'t create section `%s\'";
      goto LAB_00019719;
    }
    iVar9 = bfd_set_section_size(param_2,iVar9,puVar33[3]);
    if (iVar9 == 0) {
      psVar38 = (size_t *)puVar33[5];
      local_50 = 0;
      goto LAB_00019763;
    }
    iVar9 = FUN_00016910();
    if (iVar9 != 0) {
      uVar10 = *(undefined4 *)(iVar9 + 0x10);
      iVar9 = puVar33[5];
      *(byte *)(iVar9 + 0x18) = *(byte *)(iVar9 + 0x18) | 1;
      *(undefined4 *)(iVar9 + 0x20) = uVar10;
      *(undefined4 *)(iVar9 + 0x1c) = uVar10;
    }
    iVar9 = FUN_00016910();
    if (iVar9 != 0) {
      *(undefined4 *)(puVar33[5] + 0x20) = *(undefined4 *)(iVar9 + 0x14);
    }
  }
  for (; puVar37 != (undefined4 *)0x0; puVar37 = (undefined4 *)*puVar37) {
    iVar9 = bfd_get_section_by_name(param_1,puVar37[1]);
    puVar37[5] = iVar9;
    if (iVar9 == 0) {
      uVar10 = puVar37[1];
      pcVar22 = "error: %s not found, can\'t be updated";
      goto LAB_00018bc8;
    }
    psVar38 = *(size_t **)(iVar9 + 0x3c);
    local_50 = bfd_set_section_size(param_2,psVar38,puVar37[3]);
    if (local_50 == 0) goto LAB_00019763;
  }
  if ((((DAT_0003fb84 != 0) &&
       (sVar17 = bfd_get_section_by_name(param_1,".gnu.build.attributes"), sVar17 != 0)) &&
      (DAT_0003fb84 != 0)) &&
     ((*(int *)(param_1[1] + 4) == 5 && (iVar9 = FUN_00017590(), iVar9 != 0)))) {
    uVar35 = *(uint *)(sVar17 + 0x24);
    if (uVar35 == 0) {
      uVar10 = dcgettext(0,"warning: note section is empty",5,0);
      FUN_0002c160(0,param_1,sVar17,uVar10);
      DAT_0003fb84 = 0;
    }
    else {
      iVar9 = bfd_get_full_section_contents(param_1,sVar17,&DAT_0003fb80,uVar35);
      psVar38 = DAT_0003fb80;
      if (iVar9 == 0) {
        uVar10 = dcgettext(0,"warning: could not load note section",5,0);
        FUN_0002c160(0,param_1,sVar17,uVar10);
        free(DAT_0003fb80);
        DAT_0003fb80 = (size_t *)0x0;
        DAT_0003fb84 = 0;
      }
      else {
        iVar9 = bfd_get_reloc_upper_bound(param_1,sVar17,sVar17,sVar17);
        psVar20 = param_1;
        sVar18 = sVar17;
        if (0 < iVar9) {
          psVar20 = (size_t *)xmalloc(iVar9);
          sVar18 = bfd_canonicalize_reloc(param_1,sVar17,psVar20,DAT_0003fb9c);
          free(psVar20);
          if (sVar18 == 0) goto LAB_0001a478;
          local_60 = (size_t *)0x0;
          goto LAB_0001a75c;
        }
LAB_0001a478:
        pvVar44 = (void *)0x24;
        psVar46 = psVar20;
        local_60 = (size_t *)xcalloc(uVar35 / 0xc,0x24,psVar20,psVar20);
        local_90 = (void *)0x0;
        local_98 = 0;
        local_8c = 0;
        local_94 = 0;
        local_6c = 0;
        local_84 = (int *)0x0;
        local_80 = (size_t *)0x0;
        psVar25 = psVar38;
        psVar34 = psVar38;
        local_74 = uVar35;
        local_64 = local_60;
        while (0xb < local_74) {
          iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25);
          uVar26 = iVar9 + 3U & 0xfffffffc;
          *local_64 = uVar26;
          iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25 + 1);
          uVar39 = iVar9 + 3U & 0xfffffffc;
          sVar18 = param_1[1];
          local_64[1] = uVar39;
          sVar23 = (**(code **)(sVar18 + 0x28))(psVar25 + 2);
          local_64[2] = sVar23;
          if (1 < sVar23 - 0x100) {
            iVar9 = dcgettext(0,"corrupt GNU build attribute note: wrong note type",5,
                              extraout_ECX_01);
            goto LAB_0001a72d;
          }
          iVar9 = uVar26 + uVar39;
          if (local_74 < iVar9 + 0xcU) {
            iVar9 = dcgettext(0,"corrupt GNU build attribute note: note too big",5,psVar25);
            goto LAB_0001a72d;
          }
          if (uVar26 < 2) {
            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name too small",5,iVar9);
            goto LAB_0001a72d;
          }
          local_64[3] = (size_t)(psVar25 + 3);
          sVar2 = (int)psVar25 + uVar26 + 0xc;
          local_64[4] = sVar2;
          psVar34 = (size_t *)(-0xc - iVar9);
          local_74 = local_74 + (int)psVar34;
          cVar8 = (char)psVar25[3];
          if (cVar8 == '$') {
            if ((*(char *)((int)psVar25 + 0xd) == '\x01') && (*(char *)((int)psVar25 + 0xe) == '1'))
            {
              local_80 = (size_t *)((int)local_80 + 1);
            }
          }
          else if ((((4 < uVar26) && (cVar8 == 'G')) && (*(char *)((int)psVar25 + 0xd) == 'A')) &&
                  ((*(char *)((int)psVar25 + 0xe) == '$' &&
                   (*(char *)((int)psVar25 + 0xf) == '\x01')))) {
            cVar8 = (char)psVar25[4];
            if (cVar8 == '2') {
              local_84 = (int *)((int)local_84 + 1);
            }
            else {
              if (cVar8 != '3') {
                iVar9 = dcgettext(0,"corrupt GNU build attribute note: unsupported version",5,cVar8)
                ;
                goto LAB_0001a72d;
              }
              local_6c = local_6c + 1;
            }
          }
          if (uVar39 == 4) {
            sVar18 = (**(code **)(param_1[1] + 0x28))(sVar2);
            pvVar24 = (void *)0xffffffff;
          }
          else if (uVar39 < 5) {
            if (uVar39 != 0) {
LAB_0001a7ea:
              iVar9 = dcgettext(0,"corrupt GNU build attribute note: bad description size",5,cVar8);
              goto LAB_0001a72d;
            }
            pvVar24 = (void *)0x0;
            sVar18 = 0;
          }
          else {
            psVar34 = param_1;
            if (uVar39 == 8) {
              sVar18 = param_1[1];
              if ((*(int *)(sVar18 + 4) == 5) && (*(char *)(param_1[0x27] + 4) == '\x02')) {
                sVar18 = (**(code **)(sVar18 + 0x1c))(sVar2);
                pvVar24 = (void *)0xffffffff;
              }
              else {
                sVar18 = (**(code **)(sVar18 + 0x28))(sVar2);
                pvVar24 = (void *)(**(code **)(param_1[1] + 0x28))(sVar2 + 4);
              }
            }
            else {
              if (uVar39 != 0x10) goto LAB_0001a7ea;
              sVar18 = (**(code **)(param_1[1] + 0x1c))(sVar2);
              pvVar24 = (void *)(**(code **)(param_1[1] + 0x1c))(sVar2 + 8);
            }
          }
          if (sVar23 == 0x100) {
            if (sVar18 == 0) {
              sVar18 = local_8c;
            }
            if (pvVar24 == (void *)0x0) {
              pvVar24 = local_90;
            }
            local_64[6] = sVar18;
            local_64[7] = (size_t)pvVar24;
            local_90 = pvVar24;
            local_8c = sVar18;
          }
          else {
            if (sVar18 == 0) {
              sVar18 = local_94;
            }
            if (pvVar24 == (void *)0x0) {
              pvVar24 = (void *)local_98;
            }
            local_64[6] = sVar18;
            local_64[7] = (size_t)pvVar24;
            local_98 = (size_t)pvVar24;
            local_94 = sVar18;
          }
          if (*(char *)((local_64[3] - 1) + *local_64) != '\0') {
            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name not NUL terminated",5,
                              *local_64);
            goto LAB_0001a72d;
          }
          local_64 = local_64 + 9;
          psVar25 = (size_t *)(iVar9 + 0xcU + (int)psVar25);
        }
        if (local_74 == 0) {
          uVar26 = (uint)local_84 | local_6c;
          if (local_80 == (size_t *)0x0 && uVar26 == 0) {
            iVar9 = dcgettext(0,"bad GNU build attribute notes: no known versions detected",5,uVar26
                             );
            goto LAB_0001a72d;
          }
          if (((local_80 != (size_t *)0x0) && (uVar26 != 0)) ||
             ((local_84 != (int *)0x0 && (local_6c != 0)))) {
            iVar9 = dcgettext(0,"bad GNU build attribute notes: multiple different versions",5,
                              sVar18);
            goto LAB_0001a72d;
          }
          if ((local_80 == (size_t *)0x1 || local_84 == (int *)0x1) || (local_6c == 1))
          goto LAB_0001a75c;
          uVar26 = -(uint)(local_80 == (size_t *)0x0) & 2;
          iVar9 = uVar26 + 1;
          if (*(char *)(local_60[3] + iVar9) != '\x01') {
            iVar9 = dcgettext(0,"bad GNU build attribute notes: first note not version note",5,
                              psVar34);
            goto LAB_0001a72d;
          }
          bVar40 = false;
          iVar12 = uVar26 + 2;
          psVar25 = local_60;
LAB_0001a954:
          psVar34 = psVar25;
          psVar25 = psVar34 + 9;
          if (psVar25 < local_64) {
            if (psVar34[0xb] == 0x100) {
              pvVar24 = (void *)psVar34[0xc];
              local_7c = (size_t *)0x0;
              psVar45 = psVar25;
              do {
                do {
                  psVar6 = psVar45;
                  psVar45 = psVar6 + -9;
                  if (psVar45 < local_60) goto LAB_0001a954;
                  pvVar30 = (void *)psVar6[-6];
                  psVar7 = local_7c;
                } while ((((local_7c == (size_t *)0x0) && (psVar6[-8] != 0)) &&
                         (psVar7 = psVar45, psVar6[-7] == 0x101)) ||
                        ((local_7c = psVar7,
                         *(char *)((int)pvVar24 + iVar9) != *(char *)((int)pvVar30 + iVar9) ||
                         (psVar6[-7] != 0x100))));
                if (*(char *)((int)pvVar30 + iVar9) != '\x04') {
                  psVar45 = (size_t *)*psVar45;
                  if ((((psVar45 == (size_t *)*psVar25) &&
                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),
                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)) &&
                      ((uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0))))
                     && ((0xfffffff0 < uVar26 || (psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0))))) {
                    psVar34[0xb] = 0;
                    if (uVar26 < uVar39) {
                      psVar6[-2] = uVar39;
                    }
                    bVar40 = true;
                    if (local_6c != 0) {
                      psVar6[-1] = 1;
                    }
                  }
                  else if (local_6c == 0) {
                    if (((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0)) {
                      local_7c[2] = 0x100;
                    }
                  }
                  else {
                    psVar34[0x11] = 1;
                    psVar34[0xb] = 0x101;
                    psVar6[-1] = 1;
                    psVar6[-7] = 0x101;
                  }
                  goto LAB_0001a954;
                }
                uVar26 = 0;
                for (iVar21 = 0; (int)*psVar25 - iVar12 != iVar21; iVar21 = iVar21 + 1) {
                  uVar26 = uVar26 | (uint)*(byte *)((int)pvVar24 + iVar21 + iVar12) <<
                                    ((char)iVar21 * '\b' & 0x1fU);
                }
                sVar18 = *psVar45;
                local_5c = (int *)0x0;
                for (uVar39 = 0; sVar18 - iVar12 != uVar39; uVar39 = uVar39 + 1) {
                  local_5c = (int *)((uint)local_5c |
                                    (uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39] <<
                                    ((char)uVar39 * '\b' & 0x1fU));
                }
                uVar28 = 0;
                uVar26 = (int)local_5c + uVar26;
                for (uVar27 = uVar26; uVar27 != 0; uVar27 = uVar27 >> 8) {
                  uVar28 = uVar28 + 1;
                }
              } while (uVar39 <= uVar28);
              puVar29 = (undefined1 *)((int)pvVar30 + iVar12);
              while (puVar29 < (undefined1 *)((int)pvVar30 + sVar18)) {
                *puVar29 = (char)uVar26;
                if (uVar26 == 0) break;
                uVar26 = uVar26 >> 8;
                puVar29 = puVar29 + 1;
              }
              psVar34[0xb] = 0;
              bVar40 = true;
            }
            goto LAB_0001a954;
          }
          if (!bVar40) goto LAB_0001a75c;
          pvVar24 = (void *)xmalloc(uVar35,pvVar44,psVar20,psVar46);
          sVar18 = 0;
          pvVar44 = pvVar24;
          local_80 = psVar38;
          for (psVar20 = local_60; psVar20 < local_64; psVar20 = psVar20 + 9) {
            sVar23 = *psVar20;
            __n = psVar20[1] + sVar23 + 0xc;
            sVar2 = psVar20[2];
            pvVar30 = pvVar44;
            if (sVar2 != 0) {
              if (psVar20[8] == 0) {
                memcpy(pvVar44,local_80,__n);
                pvVar30 = (void *)((int)pvVar44 + __n);
              }
              else {
                sVar5 = psVar20[6];
                __dest = (void *)((int)pvVar44 + 0xc);
                pvVar30 = (void *)((int)__dest + sVar23);
                if ((sVar5 == local_74) && (psVar20[7] == sVar18)) {
                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar5,sVar5);
                  (**(code **)(param_1[1] + 0x30))(0,(int)pvVar44 + 4);
                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);
                  memcpy(__dest,(void *)psVar20[3],sVar23);
                }
                else {
                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar18,sVar18);
                  cVar8 = '\b';
                  if (*(int *)(param_1[1] + 4) == 5) {
                    cVar8 = (*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b';
                  }
                  (**(code **)(param_1[1] + 0x30))(cVar8,(int)pvVar44 + 4,sVar23,sVar23);
                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);
                  memcpy(__dest,(void *)psVar20[3],sVar23);
                  sVar18 = param_1[1];
                  psVar25 = param_1;
                  if ((*(int *)(sVar18 + 4) == 5) &&
                     (psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02')) {
                    (**(code **)(sVar18 + 0x24))(sVar5,0,pvVar30,psVar25);
                    (**(code **)(param_1[1] + 0x24))(psVar20[7],0,(void *)((int)pvVar30 + 8));
                    pvVar30 = (void *)((int)pvVar30 + 0x10);
                  }
                  else {
                    (**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25);
                    (**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4);
                    pvVar30 = (void *)((int)pvVar30 + 8);
                  }
                }
              }
              local_74 = psVar20[6];
              sVar18 = psVar20[7];
            }
            local_80 = (size_t *)((int)local_80 + __n);
            pvVar44 = pvVar30;
          }
          sVar18 = (int)pvVar44 - (int)pvVar24;
          memcpy(psVar38,pvVar24,sVar18);
          free(pvVar24);
          free(local_60);
          DAT_0003fb7c = sVar18;
          if (uVar35 != sVar18) {
            uVar10 = extraout_ECX_02;
            if ((*(int *)(sVar17 + 0x3c) != 0) &&
               (iVar9 = bfd_set_section_size(param_2,*(int *)(sVar17 + 0x3c),sVar18,extraout_EDX),
               uVar10 = extraout_ECX_03, iVar9 != 0)) goto LAB_00018aad;
            uVar10 = dcgettext(0,"warning: failed to set merged notes size",5,uVar10);
            FUN_0002c160(0,param_2,sVar17,uVar10);
          }
        }
        else {
          iVar9 = dcgettext(0,"corrupt GNU build attribute notes: excess data at end",5,local_64);
LAB_0001a72d:
          if (iVar9 != 0) {
            bfd_set_error(0x11);
            FUN_0002c160(0,param_1,sVar17,iVar9);
            DAT_0003fb88 = 1;
          }
LAB_0001a75c:
          free(local_60);
        }
        free(DAT_0003fb80);
        DAT_0003fb80 = (size_t *)0x0;
        DAT_0003fb84 = 0;
        DAT_0003fb7c = 0;
      }
    }
  }
LAB_00018aad:
  local_98 = DAT_0003fb2c;
  for (puVar33 = DAT_0003fb30; DAT_0003fb2c = local_98, puVar33 != (undefined4 *)0x0;
      puVar33 = (undefined4 *)*puVar33) {
    iVar9 = bfd_get_section_by_name(param_1,puVar33[1]);
    if (iVar9 == 0) {
      uVar10 = puVar33[1];
      uVar11 = dcgettext(0,"can\'t dump section \'%s\' - it does not exist",5);
      FUN_0002c160(0,param_1,0,uVar11,uVar10);
    }
    else {
      if ((*(byte *)(iVar9 + 0x15) & 1) == 0) {
        pcVar22 = "can\'t dump section - it has no contents";
      }
      else {
        sVar17 = *(size_t *)(iVar9 + 0x24);
        if (sVar17 != 0) {
          __s = fopen64((char *)puVar33[2],"w");
          if (__s == (FILE *)0x0) {
            uVar10 = dcgettext(0,"could not open section dump file",5);
            FUN_0002c160(puVar33[2],0,0,uVar10);
          }
          else {
            iVar12 = bfd_malloc_and_get_section(param_1,iVar9,&local_30);
            if (iVar12 == 0) {
              uVar10 = dcgettext(0,"could not retrieve section contents",5);
              FUN_0002c160(0,param_1,iVar9,uVar10);
            }
            else {
              sVar18 = fwrite(local_30,1,sVar17,__s);
              if (sVar17 != sVar18) {
                piVar15 = __errno_location();
                pcVar22 = strerror(*piVar15);
                uVar10 = puVar33[2];
                uVar11 = dcgettext(0,"error writing section contents to %s (error: %s)",5);
                FUN_0002b6d0(uVar11,uVar10,pcVar22);
                free(local_30);
                return 0;
              }
            }
            fclose(__s);
            free(local_30);
          }
          goto LAB_00018b49;
        }
        pcVar22 = "can\'t dump section - it is empty";
      }
      uVar10 = dcgettext(0,pcVar22,5);
      FUN_0002c160(0,param_1,iVar9,uVar10);
    }
LAB_00018b49:
    local_98 = DAT_0003fb2c;
  }
  if (local_98 != 0) {
    iVar9 = bfd_get_section_by_name(param_2,".gnu_debuglink");
    if (iVar9 == 0) {
      local_98 = bfd_create_gnu_debuglink_section(param_2,DAT_0003fb2c);
      iVar9 = DAT_0003fb2c;
      if (local_98 == 0) {
        uVar10 = dcgettext(0,"cannot create debug link section `%s\'",5,param_2);
        FUN_0002c160(0,param_2,0,uVar10,iVar9);
        return 0;
      }
      if (*(int *)(param_2[1] + 4) == 2) {
        sVar17 = param_2[0x18];
        sVar18 = 0;
        if (sVar17 == 0) {
LAB_0001a360:
          uVar26 = 0x1000;
        }
        else {
          do {
            sVar23 = sVar18;
            if (((*(uint *)(sVar17 + 0x1c) != 0) && (sVar23 = sVar17, sVar18 != 0)) &&
               (sVar23 = sVar18, *(uint *)(sVar18 + 0x1c) < *(uint *)(sVar17 + 0x1c))) {
              sVar23 = sVar17;
            }
            sVar17 = *(size_t *)(sVar17 + 0xc);
            sVar18 = sVar23;
          } while (sVar17 != 0);
          if (sVar23 == 0) goto LAB_0001a360;
          uVar35 = *(int *)(sVar23 + 0x24) + *(int *)(sVar23 + 0x1c);
          uVar26 = 0xffffffff;
          if (uVar35 < 0xfffff001) {
            uVar26 = uVar35 + 0xfff & 0xfffff000;
          }
        }
        *(uint *)(local_98 + 0x20) = uVar26;
        *(uint *)(local_98 + 0x1c) = uVar26;
        *(byte *)(local_98 + 0x18) = *(byte *)(local_98 + 0x18) | 1;
      }
    }
    else {
      sVar17 = *param_2;
      uVar10 = dcgettext(0,"%s: debuglink section already exists",5);
      FUN_0002b6d0(uVar10,sVar17);
      DAT_0003fb2c = 0;
      local_98 = 0;
    }
  }
  sVar17 = param_2[0x1a];
  local_8c = sVar17;
  if (sVar17 == 0) {
LAB_00018ff7:
    local_90 = (void *)0x0;
    local_84 = (int *)0x0;
    sVar18 = local_8c;
  }
  else {
    if (DAT_0003fb54 == 0 && DAT_0003fb4c == 0) {
      local_8c = 0;
      goto LAB_00018ff7;
    }
    sVar23 = sVar17 * 4;
    local_84 = (int *)xmalloc(sVar23);
    local_30 = local_84;
    bfd_map_over_sections(param_2,FUN_00016710,&local_30);
    qsort(local_84,sVar17,4,FUN_00016730);
    local_90 = (void *)xmalloc(sVar23);
    memset(local_90,0,sVar23);
    if ((DAT_0003fb54 == 0) || (sVar17 == 1)) {
      local_8c = 0;
    }
    else {
      iVar9 = 0;
      local_8c = 0;
      piVar15 = local_84;
      do {
        iVar12 = *piVar15;
        iVar9 = iVar9 + 1;
        sVar18 = local_8c;
        if ((*(uint *)(iVar12 + 0x14) & 0x102) == 0x102) {
          uVar35 = *(int *)(iVar12 + 0x20) + *(int *)(iVar12 + 0x24);
          if (uVar35 < *(uint *)(piVar15[1] + 0x20)) {
            sVar18 = *(uint *)(piVar15[1] + 0x20) - uVar35;
            uVar43 = bfd_set_section_size(param_2,iVar12,*(int *)(iVar12 + 0x24) + sVar18);
            if ((int)uVar43 == 0) {
              uVar10 = dcgettext(0,"Can\'t fill gap after section",5,
                                 (int)((ulonglong)uVar43 >> 0x20));
              FUN_0002c160(0,param_2,*piVar15,uVar10);
              DAT_0003fb88 = 1;
              break;
            }
            *(size_t *)((int)local_90 + iVar9 * 4 + -4) = sVar18;
            if (sVar18 <= local_8c) {
              sVar18 = local_8c;
            }
          }
        }
        local_8c = sVar18;
        piVar15 = piVar15 + 1;
      } while (sVar17 - 1 != iVar9);
    }
    sVar18 = local_8c;
    if (DAT_0003fb4c != 0) {
      iVar9 = local_84[sVar17 - 1];
      uVar35 = *(int *)(iVar9 + 0x24) + *(int *)(iVar9 + 0x20);
      if (uVar35 < DAT_0003fb48) {
        iVar9 = bfd_set_section_size(param_2,iVar9,DAT_0003fb48 - *(int *)(iVar9 + 0x20));
        if (iVar9 == 0) {
          uVar10 = dcgettext(0,"can\'t add padding",5,uVar35);
          FUN_0002c160(0,param_2,local_84[sVar17 - 1],uVar10);
          DAT_0003fb88 = 1;
        }
        else {
          sVar18 = DAT_0003fb48 - uVar35;
          *(size_t *)((int)local_90 + (sVar23 - 4)) = sVar18;
          if (sVar18 <= local_8c) {
            sVar18 = local_8c;
          }
        }
      }
    }
  }
  local_8c = sVar18;
  local_94 = 0;
  if (DAT_0003fb28 != 0) {
    local_94 = FUN_0001c0f0(param_1,DAT_0003fb9c,local_70,0);
  }
  if (DAT_0003fb78 - 2U < 6) {
LAB_00019032:
    if (DAT_0003fb78 != 7) {
LAB_00019037:
      bfd_set_error(0);
      bfd_map_over_sections(param_1,FUN_00018470,DAT_0003fb9c);
      iVar9 = bfd_get_error();
      if (iVar9 != 0) {
        DAT_0003fb88 = 1;
        return 0;
      }
    }
    piVar15 = (int *)xmalloc((DAT_0003fae4 + local_70) * 4 + 4);
    local_68 = DAT_0003fb9c;
    uVar35 = param_1[10];
    DAT_0003fb98 = piVar15;
    if (local_70 != 0) {
      piVar1 = DAT_0003fb9c + local_70;
      local_70 = 0;
      puVar16 = PTR__bfd_std_section_0003efc8 + 0xa8;
      do {
        iVar9 = DAT_0003fae4;
        piVar3 = (int *)*local_68;
        uVar26 = piVar3[3];
        piVar19 = (int *)piVar3[1];
        puVar4 = (undefined *)piVar3[4];
        if (((DAT_0003fae8 != (int *)0x0) && (0 < DAT_0003fae4)) &&
           (pcVar22 = (char *)DAT_0003fae8[5], pcVar22 != (char *)0x0)) {
          local_5c = (int *)0x0;
          piVar31 = DAT_0003fae8;
          while (iVar12 = strcmp(pcVar22,(char *)piVar19), iVar12 != 0) {
            local_5c = (int *)((int)local_5c + 1);
            piVar31 = (int *)*piVar31;
            if ((local_5c == (int *)iVar9) || (pcVar22 = (char *)piVar31[5], pcVar22 == (char *)0x0)
               ) goto LAB_00019180;
          }
          free(pcVar22);
          piVar31[5] = (int)"";
          piVar31 = piVar15 + local_70;
          local_70 = local_70 + 1;
          iVar9 = FUN_000177e0();
          *piVar31 = iVar9;
        }
LAB_00019180:
        iVar9 = htab_elements(DAT_0003faf0);
        piVar31 = piVar19;
        if ((iVar9 != 0) || (DAT_0003fba0 != (undefined4 *)0x0)) {
          local_2c = 0;
          local_30 = piVar19;
          iVar9 = htab_find(DAT_0003faf0,&local_30);
          if (((iVar9 == 0) || (piVar31 = *(int **)(iVar9 + 4), piVar19 == piVar31)) &&
             (puVar33 = DAT_0003fba0, (uVar26 & 0x100) != 0)) {
            for (; piVar31 = piVar19, puVar33 != (undefined4 *)0x0;
                puVar33 = (undefined4 *)puVar33[3]) {
              iVar9 = strcmp((char *)*puVar33,(char *)piVar19);
              if (iVar9 == 0) {
                piVar31 = (int *)puVar33[1];
                break;
              }
            }
          }
          piVar3[1] = (int)piVar31;
        }
        pcVar22 = DAT_0003fad8;
        if ((char)*piVar31 == *(char *)(param_1[1] + 0x18)) {
          if (DAT_0003fb1c == 0) {
            if ((DAT_0003fb18 == 0) ||
               ((((uVar26 & 0x82) == 0 && (puVar4 != puVar16)) &&
                ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)))) goto LAB_00019203;
LAB_0001943c:
            piVar31 = (int *)((int)piVar31 + 1);
            piVar3[1] = (int)piVar31;
            goto LAB_00019203;
          }
          if (*(char *)(param_2[1] + 0x18) == '\0') goto LAB_0001943c;
          if (DAT_0003fad8 != (char *)0x0) {
            piVar31 = (int *)((int)piVar31 + 1);
            piVar3[1] = (int)piVar31;
            goto LAB_0001945b;
          }
          *(char *)piVar31 = *(char *)(param_2[1] + 0x18);
          piVar3[1] = (int)piVar31;
        }
        else {
          if (((DAT_0003fb1c == 0) || (*(char *)(param_2[1] + 0x18) == '\0')) ||
             (*(char *)(param_1[1] + 0x18) != '\0')) {
LAB_00019203:
            if (pcVar22 == (char *)0x0) goto LAB_0001926f;
            sVar17 = strlen(pcVar22);
            sVar18 = strlen((char *)piVar31);
            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);
            local_5c = piVar19;
          }
          else {
LAB_0001945b:
            sVar17 = strlen(pcVar22);
            sVar18 = strlen((char *)piVar31);
            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);
            local_5c = (int *)((int)piVar19 + 1);
            *(char *)piVar19 = *(char *)(param_2[1] + 0x18);
          }
          pcVar22 = DAT_0003fad8;
          if (DAT_0003fad8 != (char *)0x0) {
            strcpy((char *)local_5c,DAT_0003fad8);
            sVar17 = strlen(pcVar22);
            local_5c = (int *)((int)local_5c + sVar17);
          }
          strcpy((char *)local_5c,(char *)piVar31);
          piVar3[1] = (int)piVar19;
          piVar31 = piVar19;
        }
LAB_0001926f:
        if (DAT_0003fb78 == 7) goto LAB_000192f8;
        if ((uVar26 & 0x20) == 0) {
          if (((uVar26 & 0x100) == 0) ||
             ((*(byte *)(**(int **)(piVar3[4] + 0x9c) + 0xc) & 0x20) == 0)) {
            if ((((uVar35 >> 5 & 0x42) == 0) &&
                (((uVar26 & 0x82) != 0 || ((*(byte *)(piVar3[4] + 0x15) & 0x10) != 0)))) ||
               (iVar9 = bfd_decode_symclass(piVar3), iVar9 == 0x49)) {
LAB_00019528:
              iVar9 = FUN_00017880();
              if (iVar9 == 0) goto LAB_000192e0;
            }
            else if ((((uVar26 & 0x82) == 0) && (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8)) &&
                    ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)) {
              if ((uVar26 & 4) == 0) {
                if (((*(int *)(param_1[1] + 4) != 2) ||
                    (iVar9 = *(int *)(piVar3[4] + 0x8c), iVar9 == 0)) ||
                   (*(int *)(iVar9 + 0x24) == 0)) {
                  if ((DAT_0003fb78 == 3) || (DAT_0003fb74 == 2)) goto LAB_000192f8;
                  if (DAT_0003fb74 == 1) {
                    iVar9 = bfd_is_local_label(param_1,piVar3,0,0);
                    goto joined_r0x0001a13f;
                  }
                }
                goto LAB_00019528;
              }
              iVar9 = DAT_0003fb28;
              if (1 < DAT_0003fb78 - 2U) {
joined_r0x0001a13f:
                if (iVar9 == 0) goto LAB_00019528;
              }
            }
            else if (DAT_0003fb78 != 3) goto LAB_00019528;
          }
          else {
            iVar9 = FUN_00017880();
            if (iVar9 != 0) {
              uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",
                                 5,iVar9);
              FUN_0002b6d0(uVar10,piVar31);
              DAT_0003fb88 = 1;
            }
LAB_000192e0:
            iVar9 = FUN_00017880();
            if (iVar9 == 0) goto LAB_0001931c;
          }
LAB_000192f8:
          if (((DAT_0003fadc != 0) && ((uVar26 & 0x4000) != 0)) ||
             (iVar9 = FUN_00017880(), iVar9 != 0)) goto LAB_0001931c;
        }
        else {
          iVar9 = FUN_00017880();
          if (iVar9 != 0) {
            uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",5)
            ;
            FUN_0002b6d0(uVar10,piVar31);
            DAT_0003fb88 = 1;
          }
LAB_0001931c:
          iVar9 = FUN_000178f0();
          if (iVar9 == 0) {
            if (((uVar26 & 2) != 0) && ((DAT_0003fae0 != 0 || (iVar9 = FUN_00017880(), iVar9 != 0)))
               ) {
              piVar3[3] = piVar3[3] & 0xfffffffdU | 0x80;
            }
            if (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8) {
              if (((uVar26 & 0x82) != 0) &&
                 (((iVar9 = FUN_00017880(), iVar9 != 0 ||
                   ((iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&
                    (iVar9 = FUN_00017880(), iVar9 == 0)))) ||
                  ((DAT_0003fb10 != 0 &&
                   ((((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&
                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)
                    ))))))) {
                piVar3[3] = piVar3[3] & 0xffffff7dU | 1;
              }
              if (((uVar26 & 1) != 0) && (iVar9 = FUN_00017880(), iVar9 != 0)) {
                piVar3[3] = piVar3[3] & 0xfffffffeU | 2;
              }
            }
            piVar15[local_70] = (int)piVar3;
            local_70 = local_70 + 1;
          }
        }
        local_68 = local_68 + 1;
      } while (piVar1 != local_68);
    }
    local_5c = DAT_0003fae8;
    if ((DAT_0003fae8 != (int *)0x0) && (0 < DAT_0003fae4)) {
      iVar9 = 0;
      do {
        pcVar22 = (char *)local_5c[5];
        if (pcVar22 == (char *)0x0) {
          iVar12 = FUN_000177e0();
          piVar15[local_70] = iVar12;
          local_70 = local_70 + 1;
        }
        else if (*pcVar22 != '\0') {
          uVar10 = dcgettext(0,"\'before=%s\' not found",5,local_70);
                    /* WARNING: Subroutine does not return */
          FUN_0002b6a0(uVar10,pcVar22);
        }
        iVar9 = iVar9 + 1;
        local_5c = (int *)*local_5c;
      } while (iVar9 < DAT_0003fae4);
    }
    piVar15[local_70] = 0;
    if ((DAT_0003fb28 != 0) && (local_94 != 0)) {
      iVar9 = ((undefined4 *)param_2[1])[1];
      if ((iVar9 != 2) && (iVar9 != 5)) {
        uVar10 = *(undefined4 *)param_2[1];
        uVar11 = dcgettext(0,"don\'t know how to write debugging information for %s",5);
        FUN_0002c160(0,param_2,0,uVar11,uVar10);
        DAT_0003fb88 = 1;
        return 0;
      }
      iVar9 = FUN_0002b050(param_2,local_94,&local_4c,local_44,&local_48,&local_30);
      if (iVar9 == 0) {
        DAT_0003fb88 = 1;
        return 0;
      }
      iVar9 = bfd_make_section_with_flags(param_2,".stab",0x2108);
      iVar12 = bfd_make_section_with_flags(param_2,".stabstr",0x2108);
      if ((((iVar9 == 0) || (iVar12 == 0)) ||
          (iVar21 = bfd_set_section_size(param_2,iVar9,local_44[0],iVar12), iVar21 == 0)) ||
         (iVar21 = bfd_set_section_size(param_2,iVar12,local_30,iVar21), iVar21 == 0)) {
        pcVar22 = "can\'t create debugging section";
LAB_00019fcf:
        uVar10 = dcgettext(0,pcVar22,5,iVar9);
        FUN_0002c160(0,param_2,0,uVar10);
        DAT_0003fb88 = 1;
        return 0;
      }
      *(undefined4 *)(iVar9 + 0x40) = 2;
      *(undefined4 *)(iVar12 + 0x40) = 0;
      iVar9 = bfd_set_section_contents(param_2,iVar9,local_4c,0,0,local_44[0],iVar21,iVar21);
      if ((iVar9 == 0) ||
         (iVar9 = bfd_set_section_contents
                            (param_2,iVar12,local_48,0,0,local_30,extraout_ECX,extraout_ECX),
         iVar9 == 0)) {
        pcVar22 = "can\'t set debugging section contents";
        iVar9 = iVar12;
        goto LAB_00019fcf;
      }
    }
  }
  else {
    if (DAT_0003fb10 != 0 || DAT_0003fb74 != 0) goto LAB_00019037;
    iVar9 = htab_elements(DAT_0003fb0c);
    if (((iVar9 != 0) || (iVar9 = htab_elements(DAT_0003fb04), iVar9 != 0)) ||
       ((iVar9 = htab_elements(DAT_0003fb00), iVar9 != 0 ||
        (((((iVar9 = htab_elements(DAT_0003fafc), iVar9 != 0 ||
            (iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0)) ||
           (iVar9 = htab_elements(DAT_0003faf4), iVar9 != 0)) ||
          ((iVar9 = htab_elements(DAT_0003faf0), DAT_0003fad8 != (char *)0x0 ||
           (DAT_0003fba0 != (undefined4 *)0x0)))) ||
         (((((((DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0) || DAT_0003fb1c != 0)
            || DAT_0003fb18 != 0) || DAT_0003fae0 != 0) || DAT_0003fae4 != 0) || iVar9 != 0))))))
    goto LAB_00019032;
  }
  bfd_set_symtab(param_2,DAT_0003fb98,local_70);
  bfd_map_over_sections(param_1,FUN_000181d0,param_2);
  bfd_map_over_sections(param_1,FUN_00017e40,param_2);
  psVar38 = param_1;
  for (puVar33 = DAT_0003fb38; puVar37 = DAT_0003fb34, puVar33 != (undefined4 *)0x0;
      puVar33 = (undefined4 *)*puVar33) {
    iVar9 = bfd_set_section_contents(param_2,puVar33[5],puVar33[4],0,0,puVar33[3]);
    if (iVar9 == 0) {
      psVar38 = (size_t *)puVar33[5];
      local_50 = 0;
      goto LAB_00019763;
    }
    psVar38 = param_2;
  }
  for (; puVar37 != (undefined4 *)0x0; puVar37 = (undefined4 *)*puVar37) {
    psVar38 = *(size_t **)(puVar37[5] + 0x3c);
    local_50 = bfd_set_section_contents(param_2,psVar38,puVar37[4],0,0,puVar37[3]);
    if (local_50 == 0) {
LAB_00019763:
      FUN_0002c160(0,param_2,psVar38,0);
      return local_50;
    }
  }
  uVar35 = 0;
  if (DAT_0003fb84 != 0) {
    uVar35 = bfd_get_section_by_name(param_2,".gnu.build.attributes");
    if (((uVar35 == 0) || (DAT_0003fb84 == 0)) ||
       ((*(int *)(param_2[1] + 4) != 5 || (iVar9 = FUN_00017590(), iVar9 == 0)))) {
      if (DAT_0003fba4 == 0) {
        uVar10 = dcgettext(0,"could not find any mergeable note sections",5,0);
        FUN_0002c160(0,param_2,uVar35,uVar10);
      }
    }
    else {
      iVar9 = bfd_set_section_contents(param_2,uVar35,DAT_0003fb80,0,0,DAT_0003fb7c,iVar9,iVar9);
      if (iVar9 == 0) {
        uVar10 = dcgettext(0,"error: failed to copy merged notes into output",5,0);
        goto LAB_0001a2cd;
      }
    }
    free(DAT_0003fb80);
    DAT_0003fb80 = (size_t *)0x0;
    DAT_0003fb84 = 0;
    psVar38 = param_2;
  }
  if ((DAT_0003fb2c != 0) &&
     (iVar12 = bfd_fill_in_gnu_debuglink_section(param_2,local_98,DAT_0003fb2c),
     iVar9 = DAT_0003fb2c, iVar12 == 0)) {
    uVar10 = dcgettext(0,"cannot fill debug link section `%s\'",5,0);
    FUN_0002c160(0,param_2,0,uVar10,iVar9);
    return 0;
  }
  if (DAT_0003fb54 != 0 || DAT_0003fb4c != 0) {
    uVar35 = 0x2000;
    if (local_8c < 0x2001) {
      uVar35 = local_8c;
    }
    psVar20 = (size_t *)xmalloc(uVar35);
    sVar17 = (uint)DAT_0003fb50 * 0x1010101;
    if (uVar35 < 4) {
      if ((uVar35 != 0) && (*(char *)psVar20 = (char)sVar17, (uVar35 & 2) != 0)) {
        *(short *)((int)psVar20 + (uVar35 - 2)) = (short)sVar17;
      }
    }
    else {
      *psVar20 = sVar17;
      *(size_t *)((int)(psVar20 + -1) + uVar35) = sVar17;
      psVar38 = (size_t *)((uint)(psVar20 + 1) & 0xfffffffc);
      for (uVar26 = (int)psVar20 + (uVar35 - (int)((uint)(psVar20 + 1) & 0xfffffffc)) >> 2;
          uVar26 != 0; uVar26 = uVar26 - 1) {
        *psVar38 = sVar17;
        psVar38 = psVar38 + (uint)bVar42 * -2 + 1;
      }
    }
    psVar25 = (size_t *)param_2[0x1a];
    if (psVar25 != (size_t *)0x0) {
      psVar38 = (size_t *)0x0;
      do {
        uVar35 = *(uint *)((int)local_90 + (int)psVar38 * 4);
        if (uVar35 != 0) {
          iVar9 = local_84[(int)psVar38];
          local_58 = 0;
          local_5c = (int *)(*(int *)(iVar9 + 0x24) - uVar35);
          while( true ) {
            uVar26 = 0x2000;
            if (uVar35 < 0x2001) {
              uVar26 = uVar35;
            }
            iVar9 = bfd_set_section_contents(param_2,iVar9,psVar20,local_5c,local_58,uVar26);
            if (iVar9 == 0) {
              psVar38 = (size_t *)local_84[(int)psVar38];
              local_50 = 0;
              goto LAB_00019763;
            }
            bVar40 = CARRY4((uint)local_5c,uVar26);
            local_5c = (int *)((int)local_5c + uVar26);
            local_58 = local_58 + (uint)bVar40;
            uVar35 = uVar35 - uVar26;
            if (uVar35 == 0) break;
            iVar9 = local_84[(int)psVar38];
          }
        }
        psVar38 = (size_t *)((int)psVar38 + 1);
      } while (psVar25 != psVar38);
    }
  }
  iVar9 = (**(code **)(param_2[1] + 0xa8))(param_1,param_2);
  if (iVar9 != 0) {
    if ((DAT_0003fb44 != 0) &&
       (iVar12 = bfd_alt_mach_code(param_2,DAT_0003fb44,uVar35,uVar35), iVar9 = DAT_0003fb44,
       iVar12 == 0)) {
      uVar10 = dcgettext(0,"this target does not support %lu alternative machine codes",5,psVar38);
      FUN_0002b6d0(uVar10,iVar9);
      if (*(int *)(param_2[1] + 4) != 5) {
        uVar10 = dcgettext(0,"ignoring the alternative value",5,extraout_ECX_00);
        FUN_0002b6d0(uVar10);
        return 1;
      }
      uVar10 = dcgettext(0,"treating that number as an absolute e_machine value instead",5,iVar9);
      FUN_0002b6d0(uVar10);
      *(short *)(param_2[0x27] + 0x26) = (short)DAT_0003fb44;
    }
    return 1;
  }
  uVar10 = dcgettext(0,"error copying private BFD data",5,psVar38);
  uVar35 = 0;
LAB_0001a2cd:
  FUN_0002c160(0,param_2,uVar35,uVar10);
  return 0;
}


PUSH EBP
MOV EBP,ESP
PUSH EDI
PUSH ESI
MOV ESI,ECX
PUSH EBX
CALL 0x000165d0
ADD EBX,0x26a03
SUB ESP,0x9c
MOV dword ptr [EBP + -0x4c],EAX
MOV EAX,dword ptr [EAX + 0x4]
MOV dword ptr [EBP + -0x58],EDX
MOV EDX,dword ptr [EDX + 0x4]
MOV EAX,dword ptr [EAX + 0x8]
MOV EDX,dword ptr [EDX + 0x8]
CMP EAX,EDX
SETNZ CL
CMP EAX,0x2
SETNZ AL
TEST CL,AL
JZ 0x00018633
CMP EDX,0x2
JNZ 0x00018860
MOV EAX,dword ptr [EBP + -0x4c]
SUB ESP,0x8
MOVZX EAX,byte ptr [EAX + 0x28]
AND EAX,0x7
PUSH EAX
PUSH dword ptr [EBP + -0x58]
CALL 0x00013430
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00018c10
MOV EAX,dword ptr [EBP + -0x4c]
MOV EDI,dword ptr [EAX + 0x60]
TEST EDI,EDI
JZ 0x00018c90
MOV EAX,dword ptr [EBP + -0x4c]
MOV EAX,dword ptr [EAX + 0x4]
CMP dword ptr [EAX + 0x4],0x5
JZ 0x00018690
MOV EDX,dword ptr [EBX + 0xb24]
CMP EDX,0x1
JZ 0x00018682
AND EDX,0x1
JNZ 0x00018bf0
MOV EDI,dword ptr [EBX + 0xb20]
TEST EDI,EDI
JNZ 0x00018bb0
MOV ECX,dword ptr [EBX + 0xb90]
TEST ECX,ECX
JNZ 0x00018c38
MOV EDX,dword ptr [EBX + 0xacc]
XOR EAX,EAX
TEST EDX,EDX
JNZ 0x000186c4
MOV EAX,dword ptr [EBX + 0xb60]
TEST EAX,EAX
JNZ 0x00018890
MOV EAX,dword ptr [EBP + -0x4c]
MOV EAX,dword ptr [EAX + 0x70]
ADD EAX,dword ptr [EBX + 0xb64]
MOV ECX,dword ptr [EBP + -0x58]
MOVZX ECX,byte ptr [ECX + 0x28]
MOV EDX,ECX
MOV byte ptr [EBP + -0x50],CL
AND EDX,0x7
CMP DL,0x3
JZ 0x0001873f
MOV EDI,dword ptr [EBP + -0x4c]
MOV ECX,dword ptr [EBP + -0x58]
MOV EDI,dword ptr [EDI + 0x28]
MOV ECX,dword ptr [ECX + 0x4]
MOV dword ptr [EBP + -0x50],EDI
SHR EDI,0x5
AND EDI,0xfffff
OR EDI,dword ptr [EBX + 0xb40]
MOV EDX,EDI
MOV EDI,dword ptr [EBX + 0xb3c]
NOT EDI
AND EDI,dword ptr [ECX + 0x10]
AND EDI,EDX
CMP dword ptr [EBX + 0xb78],0x7
JNZ 0x00018711
AND EDI,0xfffffffe
SUB ESP,0x8
PUSH EAX
PUSH dword ptr [EBP + -0x58]
CALL 0x00013860
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00018840
SUB ESP,0x8
PUSH EDI
PUSH dword ptr [EBP + -0x58]
CALL 0x00013610
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00018840
SUB ESP,0xc
PUSH dword ptr [EBP + -0x4c]
CALL 0x000134f0
MOV EDI,EAX
POP EAX
PUSH dword ptr [EBP + -0x4c]
CALL 0x00013630
ADD ESP,0x10
MOV EDX,EAX
TEST ESI,ESI
JZ 0x00018798
SUB ESP,0xc
PUSH dword ptr [EBP + -0x4c]
MOV dword ptr [EBP + -0x50],EAX
CALL 0x00013390
ADD ESP,0x10
MOV EDX,dword ptr [EBP + -0x50]
TEST EAX,EAX
JZ 0x00018792
SUB ESP,0xc
PUSH dword ptr [EBP + -0x4c]
MOV dword ptr [EBP + -0x50],EDX
CALL 0x00013390
ADD ESP,0x10
MOV EAX,dword ptr [EAX + 0xc]
TEST EAX,EAX
JNZ 0x00018ce8
MOV EDI,dword ptr [ESI + 0xc]
MOV EDX,dword ptr [ESI + 0x10]
MOV ECX,dword ptr [EBP + -0x58]
SUB ESP,0x4
MOV EAX,dword ptr [ECX + 0x4]
PUSH EDX
PUSH EDI
PUSH ECX
CALL dword ptr [EAX + 0x154]
MOV EDX,EAX
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x000188a0
MOV EAX,dword ptr [EBP + -0x4c]
TEST byte ptr [EAX + 0x2b],0x4
JNZ 0x000187e7
SUB ESP,0xc
PUSH dword ptr [EBP + -0x4c]
MOV dword ptr [EBP + -0x50],EDX
CALL 0x000134f0
MOV ESI,EAX
POP EAX
PUSH dword ptr [EBP + -0x58]
CALL 0x000134f0
ADD ESP,0x10
MOV EDX,dword ptr [EBP + -0x50]
CMP ESI,EAX
JZ 0x000188a0
SUB ESP,0xc
PUSH dword ptr [EBP + -0x4c]
MOV dword ptr [EBP + -0x58],EDX
CALL 0x000134f0
ADD ESP,0x10
MOV EDX,dword ptr [EBP + -0x58]
TEST EAX,EAX
JNZ 0x00018cb0
SUB ESP,0xc
PUSH dword ptr [EBP + -0x4c]
MOV dword ptr [EBP + -0x58],EDX
CALL 0x0002c060
ADD ESP,0xc
PUSH 0x5
MOV ESI,EAX
LEA EAX,[EBX + 0xffff22fc]
PUSH EAX
PUSH 0x0
CALL 0x00013200
POP EDI
POP EDX
PUSH ESI
PUSH EAX
CALL 0x0002b6d0
MOV EDX,dword ptr [EBP + -0x58]
ADD ESP,0x10
LEA ESP,[EBP + -0xc]
POP EBX
POP ESI
MOV EAX,EDX
POP EDI
POP EBP
RET
PUSH 0x0
PUSH 0x0
PUSH dword ptr [EBP + -0x4c]
PUSH 0x0
CALL 0x0002c160
ADD ESP,0x10
XOR EDX,EDX
LEA ESP,[EBP + -0xc]
MOV EAX,EDX
POP EBX
POP ESI
POP EDI
POP EBP
RET
SUB ESP,0x4
LEA EAX,[EBX + 0xffff21c4]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00013200
MOV dword ptr [ESP],EAX
CALL 0x0002b6d0
ADD ESP,0x10
XOR EDX,EDX
LEA ESP,[EBP + -0xc]
POP EBX
MOV EAX,EDX
POP ESI
POP EDI
POP EBP
RET
MOV EAX,dword ptr [EBX + 0xb5c]
JMP 0x000186be
MOV EAX,dword ptr [EBP + -0x4c]
MOV ESI,dword ptr [EBP + -0x58]
SUB ESP,0x8
MOVZX EAX,byte ptr [EAX + 0x28]
AND EAX,0x7
PUSH EAX
PUSH ESI
CALL 0x00013430
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00018840
MOV EAX,dword ptr [ESI + 0x4]
CMP dword ptr [EAX + 0x4],0x2
JZ 0x00018da0
MOV ESI,dword ptr [EBX + 0xb9c]
TEST ESI,ESI
JZ 0x000188e1
SUB ESP,0xc
PUSH ESI
CALL 0x00013948
ADD ESP,0x10
MOV EAX,dword ptr [EBX + 0xb98]
CMP ESI,EAX
JZ 0x000188f7
SUB ESP,0xc
PUSH EAX
CALL 0x00013948
ADD ESP,0x10
MOV dword ptr [EBX + 0xb9c],0x0
MOV ESI,dword ptr [EBP + -0x4c]
SUB ESP,0xc
MOV dword ptr [EBX + 0xb98],0x0
MOV EAX,dword ptr [ESI + 0x4]
PUSH ESI
CALL dword ptr [EAX + 0x104]
ADD ESP,0x10
TEST EAX,EAX
JS 0x00018840
SUB ESP,0xc
PUSH EAX
CALL 0x000132e0
POP EDX
MOV EDX,dword ptr [ESI + 0x4]
POP ECX
PUSH EAX
PUSH ESI
MOV dword ptr [EBX + 0xb9c],EAX
MOV dword ptr [EBX + 0xb98],EAX
CALL dword ptr [EDX + 0x108]
ADD ESP,0x10
MOV dword ptr [EBP + -0x6c],EAX
TEST EAX,EAX
JS 0x00018840
JZ 0x00018d70
SUB ESP,0x4
LEA EAX,[EBX + 0xfffd89b0]
PUSH dword ptr [EBP + -0x58]
PUSH EAX
PUSH dword ptr [EBP + -0x4c]
CALL 0x00013850
MOV EAX,dword ptr [EBX + 0xacc]
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00018d20
MOV ESI,dword ptr [EBX + 0xb38]
TEST ESI,ESI
JZ 0x00018a50
MOV EAX,dword ptr [ESI + 0x4]
MOV ECX,0x40
XOR EDX,EDX
MOV EDI,0x128
CALL 0x00016910
TEST EAX,EAX
JZ 0x000189b1
MOV EDI,dword ptr [EAX + 0x18]
OR EDI,0x100
SUB ESP,0x8
PUSH dword ptr [ESI + 0x4]
PUSH dword ptr [EBP + -0x58]
CALL 0x00013350
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x00019708
SUB ESP,0x4
OR EDI,0x100000
PUSH EDI
PUSH dword ptr [ESI + 0x4]
PUSH dword ptr [EBP + -0x58]
CALL 0x000130e0
ADD ESP,0x10
MOV dword ptr [ESI + 0x14],EAX
TEST EAX,EAX
JZ 0x00019740
SUB ESP,0x4
PUSH dword ptr [ESI + 0xc]
PUSH EAX
PUSH dword ptr [EBP + -0x58]
CALL 0x00013590
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00019758
MOV EAX,dword ptr [ESI + 0x4]
XOR EDX,EDX
MOV ECX,0xc
CALL 0x00016910
TEST EAX,EAX
JZ 0x00018a2a
MOV EDX,dword ptr [EAX + 0x10]
MOV EAX,dword ptr [ESI + 0x14]
OR byte ptr [EAX + 0x18],0x1
MOV dword ptr [EAX + 0x20],EDX
MOV dword ptr [EAX + 0x1c],EDX
MOV EAX,dword ptr [ESI + 0x4]
XOR EDX,EDX
MOV ECX,0x30
CALL 0x00016910
TEST EAX,EAX
JZ 0x00018a46
MOV EDX,dword ptr [ESI + 0x14]
MOV EAX,dword ptr [EAX + 0x14]
MOV dword ptr [EDX + 0x20],EAX
MOV ESI,dword ptr [ESI]
TEST ESI,ESI
JNZ 0x00018990
MOV ESI,dword ptr [EBX + 0xb34]
TEST ESI,ESI
JZ 0x00018a9f
LEA ESI,[ESI]
SUB ESP,0x8
PUSH dword ptr [ESI + 0x4]
PUSH dword ptr [EBP + -0x4c]
CALL 0x00013350
ADD ESP,0x10
MOV dword ptr [ESI + 0x14],EAX
TEST EAX,EAX
JZ 0x000199a8
MOV EDI,dword ptr [EAX + 0x3c]
SUB ESP,0x4
PUSH dword ptr [ESI + 0xc]
PUSH EDI
PUSH dword ptr [EBP + -0x58]
CALL 0x00013590
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00019988
MOV ESI,dword ptr [ESI]
TEST ESI,ESI
JNZ 0x00018a60
MOV EAX,dword ptr [EBX + 0xb84]
TEST EAX,EAX
JNZ 0x00019a71
LEA EAX,[EBX + 0xffff3e23]
MOV EDI,dword ptr [EBX + 0xb30]
MOV dword ptr [EBP + -0x60],EAX
LEA EAX,[EBP + -0x2c]
MOV dword ptr [EBP + -0x64],EAX
TEST EDI,EDI
JZ 0x00018f66
MOV EAX,dword ptr [EBP + -0x58]
MOV dword ptr [EBP + -0x68],EAX
MOV EAX,dword ptr [EBP + -0x4c]
MOV dword ptr [EBP + -0x58],EAX
JMP 0x00018b53
SUB ESP,0x8
PUSH dword ptr [EBP + -0x60]
PUSH dword ptr [EDI + 0x8]
CALL 0x000132c0
ADD ESP,0x10
MOV dword ptr [EBP + -0x50],EAX
TEST EAX,EAX
JZ 0x00019640
SUB ESP,0x4
PUSH dword ptr [EBP + -0x64]
PUSH ESI
PUSH dword ptr [EBP + -0x58]
CALL 0x00013180
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00018ef0
MOV ESI,dword ptr [EBP + -0x5c]
PUSH dword ptr [EBP + -0x50]
PUSH ESI
PUSH 0x1
PUSH dword ptr [EBP + -0x2c]
CALL 0x000132d0
ADD ESP,0x10
CMP ESI,EAX
JNZ 0x00019fec
SUB ESP,0xc
PUSH dword ptr [EBP + -0x50]
CALL 0x00013190
POP ESI
PUSH dword ptr [EBP + -0x2c]
CALL 0x00013948
ADD ESP,0x10
MOV EDI,dword ptr [EDI]
TEST EDI,EDI
JZ 0x00018f60
SUB ESP,0x8
PUSH dword ptr [EDI + 0x4]
PUSH dword ptr [EBP + -0x58]
CALL 0x00013350
ADD ESP,0x10
MOV ESI,EAX
TEST EAX,EAX
JZ 0x00018f30
TEST byte ptr [EAX + 0x15],0x1
JZ 0x00018f20
MOV EAX,dword ptr [EAX + 0x24]
MOV dword ptr [EBP + -0x5c],EAX
TEST EAX,EAX
JNZ 0x00018ae0
SUB ESP,0x4
LEA EAX,[EBX + 0xffff26c0]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00013200
PUSH EAX
PUSH ESI
PUSH dword ptr [EBP + -0x58]
PUSH 0x0
CALL 0x0002c160
ADD ESP,0x20
JMP 0x00018b49
SUB ESP,0xc
PUSH dword ptr [EBP + -0x4c]
CALL 0x0002c060
ADD ESP,0xc
PUSH 0x5
MOV ESI,EAX
LEA EAX,[EBX + 0xffff226c]
PUSH EAX
PUSH 0x0
CALL 0x00013200
POP EDX
POP ECX
PUSH ESI
PUSH EAX
CALL 0x0002b6d0
ADD ESP,0x10
XOR EDX,EDX
LEA ESP,[EBP + -0xc]
POP EBX
MOV EAX,EDX
POP ESI
POP EDI
POP EBP
RET
SUB ESP,0xc
PUSH dword ptr [EBP + -0x4c]
CALL 0x0002c060
ADD ESP,0xc
MOV ESI,EAX
PUSH 0x5
LEA EAX,[EBX + 0xffff2220]
JMP 0x00018bc8
PUSH 0x0
PUSH 0x0
PUSH dword ptr [EBP + -0x58]
PUSH 0x0
MOV dword ptr [EBP + -0x4c],EAX
CALL 0x0002c160
MOV EDX,dword ptr [EBP + -0x4c]
ADD ESP,0x10
LEA ESP,[EBP + -0xc]
POP EBX
POP ESI
MOV EAX,EDX
POP EDI
POP EBP
RET
MOV EDI,dword ptr [EBP + -0x58]
SUB ESP,0xc
MOV EAX,dword ptr [EAX]
MOV EDX,dword ptr [EDI + 0x4]
MOV dword ptr [EBP + -0x50],EAX
MOV ECX,dword ptr [EDX]
MOV EDX,dword ptr [EDI]
PUSH dword ptr [EBP + -0x4c]
MOV dword ptr [EBP + -0x60],ECX
MOV dword ptr [EBP + -0x5c],EDX
CALL 0x0002c060
ADD ESP,0xc
MOV EDI,EAX
LEA EAX,[EBX + 0xffff22a0]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00013200
MOV ECX,dword ptr [EBP + -0x60]
MOV EDX,dword ptr [EBP + -0x5c]
MOV dword ptr [ESP],ECX
PUSH EDX
PUSH dword ptr [EBP + -0x50]
PUSH EDI
PUSH EAX
CALL 0x000130b0
ADD ESP,0x20
JMP 0x0001869e
SUB ESP,0xc
PUSH EAX
CALL 0x0002c060
ADD ESP,0xc
MOV ESI,EAX
PUSH 0x5
LEA EAX,[EBX + 0xffff21f4]
JMP 0x00018bc8
MOV EDI,dword ptr [EBP + -0x4c]
SUB ESP,0xc
MOV dword ptr [EBP + -0x58],EDX
PUSH EDI
CALL 0x00013630
MOV dword ptr [ESP],EDI
MOV ESI,EAX
CALL 0x000134f0
POP ECX
POP EDI
PUSH ESI
PUSH EAX
CALL 0x00013560
ADD ESP,0xc
MOV ESI,EAX
PUSH 0x5
LEA EAX,[EBX + 0xffff2334]
JMP 0x0001881e
SUB ESP,0xc
PUSH dword ptr [EBP + -0x4c]
CALL 0x0002c060
ADD ESP,0xc
MOV ESI,EAX
LEA EAX,[EBX + 0xffff22c4]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00013200
POP EDX
POP ECX
PUSH ESI
PUSH EAX
CALL 0x0002b6d0
ADD ESP,0x10
MOV EDX,dword ptr [EBP + -0x50]
JMP 0x00018798
MOV ECX,dword ptr [EBP + -0x58]
SUB ESP,0x8
MOV EAX,dword ptr [ECX + 0x4]
PUSH ECX
PUSH dword ptr [EBP + -0x4c]
CALL dword ptr [EAX + 0xbc]
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x00018982
SUB ESP,0x4
LEA EAX,[EBX + 0xfffef175]
MOV dword ptr [EBX + 0xb88],0x1
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00013200
PUSH EAX
PUSH 0x0
PUSH dword ptr [EBP + -0x4c]
PUSH 0x0
CALL 0x0002c160
ADD ESP,0x20
JMP 0x00018982
SUB ESP,0xc
PUSH dword ptr [EBX + 0xb9c]
CALL 0x00013948
ADD ESP,0x10
MOV dword ptr [EBX + 0xb9c],0x0
MOV dword ptr [EBX + 0xb98],0x0
JMP 0x0001895c
MOV ESI,dword ptr [EAX]
LEA EDX,[EBX + 0xfffef16a]
MOV ECX,0x4
MOV EDI,EDX
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
TEST AL,AL
JNZ 0x000188cb
MOV ECX,dword ptr [EBP + -0x4c]
MOV EAX,dword ptr [EBP + -0x58]
MOV ECX,dword ptr [ECX + 0x4]
MOV EAX,dword ptr [EAX + 0x9c]
CMP dword ptr [ECX + 0x4],0x2
JZ 0x00019a12
MOV EDX,dword ptr [EBX + 0x298]
CMP EDX,-0x1
JZ 0x00019a5d
MOV dword ptr [EAX + 0x9c],EDX
MOV ECX,dword ptr [EBX + 0x294]
CMP ECX,-0x1
JZ 0x00018dfd
MOV dword ptr [EAX + 0xcc],ECX
MOV ECX,dword ptr [EBX + 0x290]
CMP ECX,-0x1
JZ 0x00018e0e
MOV dword ptr [EAX + 0xcc],ECX
MOV ECX,dword ptr [EBX + 0x28c]
CMP ECX,-0x1
JZ 0x00018e1f
MOV dword ptr [EAX + 0x94],ECX
MOV ECX,dword ptr [EBX + 0x288]
CMP ECX,-0x1
JZ 0x00019a49
MOV dword ptr [EAX + 0x98],ECX
MOV ESI,dword ptr [EBX + 0x284]
CMP ESI,-0x1
JZ 0x00018e45
MOV dword ptr [EAX + 0xc4],ESI
MOV ESI,dword ptr [EBX + 0x280]
CMP ESI,-0x1
JZ 0x00018e56
MOV dword ptr [EAX + 0xc4],ESI
MOVZX ESI,word ptr [EBX + 0x27c]
CMP SI,-0x1
JZ 0x00018e6a
MOV word ptr [EAX + 0xbc],SI
MOVZX ESI,word ptr [EBX + 0x27a]
CMP SI,-0x1
JZ 0x00018e7e
MOV word ptr [EAX + 0xa8],SI
MOVZX ESI,word ptr [EBX + 0x278]
CMP SI,-0x1
JZ 0x00018e92
MOV word ptr [EAX + 0xaa],SI
CMP EDX,ECX
JBE 0x000188cb
SUB ESP,0x4
LEA EDI,[EBX + 0xfffef16f]
LEA ESI,[EBP + -0x40]
PUSH EDX
PUSH EDI
PUSH ESI
CALL 0x000137a0
ADD ESP,0xc
PUSH dword ptr [EBX + 0x288]
PUSH EDI
LEA EDI,[EBP + -0x2c]
PUSH EDI
CALL 0x000137a0
ADD ESP,0xc
LEA EAX,[EBX + 0xffff2364]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00013200
ADD ESP,0xc
PUSH EDI
PUSH ESI
PUSH EAX
CALL 0x0002b6d0
ADD ESP,0x10
JMP 0x000188cb
SUB ESP,0x4
LEA EAX,[EBX + 0xffff273c]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00013200
PUSH EAX
PUSH ESI
PUSH dword ptr [EBP + -0x58]
PUSH 0x0
CALL 0x0002c160
ADD ESP,0x20
JMP 0x00018b32
SUB ESP,0x4
LEA EAX,[EBX + 0xffff2698]
PUSH 0x5
JMP 0x00018b91
SUB ESP,0x4
LEA EAX,[EBX + 0xffff266c]
MOV ESI,dword ptr [EDI + 0x4]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00013200
MOV dword ptr [ESP],ESI
PUSH EAX
PUSH 0x0
PUSH dword ptr [EBP + -0x58]
PUSH 0x0
CALL 0x0002c160
ADD ESP,0x20
JMP 0x00018b49
MOV EAX,dword ptr [EBP + -0x68]
MOV dword ptr [EBP + -0x58],EAX
MOV EAX,dword ptr [EBX + 0xb2c]
MOV dword ptr [EBP + 0xffffff6c],EAX
TEST EAX,EAX
JZ 0x00018fcb
MOV EDI,dword ptr [EBP + -0x58]
SUB ESP,0x8
LEA EAX,[EBX + 0xfffef1c3]
PUSH EAX
PUSH EDI
CALL 0x00013350
ADD ESP,0x10
MOV ESI,EAX
TEST EAX,EAX
JZ 0x00019df9
SUB ESP,0x4
LEA EAX,[EBX + 0xffff2760]
MOV ESI,dword ptr [EDI]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00013200
POP EDX
POP ECX
PUSH ESI
PUSH EAX
CALL 0x0002b6d0
ADD ESP,0x10
MOV dword ptr [EBX + 0xb2c],0x0
MOV dword ptr [EBP + 0xffffff6c],0x0
MOV EDI,dword ptr [EBP + -0x58]
MOV ESI,dword ptr [EDI + 0x68]
MOV dword ptr [EBP + 0xffffff78],ESI
TEST ESI,ESI
JZ 0x00018ff7
MOV EAX,dword ptr [EBX + 0xb54]
OR EAX,dword ptr [EBX + 0xb4c]
JNZ 0x00019b43
MOV dword ptr [EBP + 0xffffff78],0x0
MOV dword ptr [EBP + 0xffffff74],0x0
MOV dword ptr [EBP + -0x80],0x0
MOV dword ptr [EBP + 0xffffff70],0x0
MOV ECX,dword ptr [EBX + 0xb28]
TEST ECX,ECX
JNZ 0x00019b22
MOV EAX,dword ptr [EBX + 0xb78]
LEA EDX,[EAX + -0x2]
CMP EDX,0x5
JA 0x0001a0c2
CMP EAX,0x7
JZ 0x00019069
SUB ESP,0xc
PUSH 0x0
CALL 0x000132f0
ADD ESP,0xc
LEA EAX,[EBX + 0xfffd9470]
PUSH dword ptr [EBX + 0xb9c]
PUSH EAX
PUSH dword ptr [EBP + -0x4c]
CALL 0x00013850
CALL 0x000132b0
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x000196f4
MOV ESI,dword ptr [EBP + -0x6c]
MOV EAX,dword ptr [EBX + 0xae4]
SUB ESP,0xc
ADD EAX,ESI
LEA EAX,[EAX*0x4 + 0x4]
PUSH EAX
CALL 0x000132e0
MOV EDX,dword ptr [EBX + 0xb9c]
ADD ESP,0x10
MOV dword ptr [EBP + -0x7c],EAX
MOV dword ptr [EBX + 0xb98],EAX
MOV EAX,dword ptr [EBP + -0x4c]
MOV EAX,dword ptr [EAX + 0x28]
MOV dword ptr [EBP + -0x50],EAX
SHR EAX,0x5
AND EAX,0x42
MOV dword ptr [EBP + 0xffffff7c],EAX
TEST ESI,ESI
JZ 0x0001939c
LEA EAX,[EDX + ESI*0x4]
MOV dword ptr [EBP + -0x64],EDX
MOV dword ptr [EBP + -0x78],EAX
MOV EAX,dword ptr [EBX + 0xffffffc8]
MOV dword ptr [EBP + -0x6c],0x0
ADD EAX,0xa8
MOV dword ptr [EBP + 0xffffff68],EAX
MOV EAX,dword ptr [EBP + -0x58]
MOV dword ptr [EBP + -0x74],EAX
LEA ESI,[ESI]
MOV EAX,dword ptr [EBP + -0x64]
MOV ESI,dword ptr [EBX + 0xae8]
MOV EAX,dword ptr [EAX]
MOV ECX,dword ptr [EAX + 0xc]
MOV dword ptr [EBP + -0x60],EAX
MOV dword ptr [EBP + -0x68],ECX
MOV ECX,dword ptr [EAX + 0x4]
MOV EAX,dword ptr [EAX + 0x10]
MOV dword ptr [EBP + -0x50],ECX
MOV dword ptr [EBP + -0x70],EAX
TEST ESI,ESI
JZ 0x00019180
MOV EAX,dword ptr [EBX + 0xae4]
MOV dword ptr [EBP + -0x5c],EAX
TEST EAX,EAX
JLE 0x00019180
MOV EDI,dword ptr [ESI + 0x14]
TEST EDI,EDI
JZ 0x00019180
XOR EAX,EAX
MOV dword ptr [EBP + -0x58],EAX
JMP 0x00019135
ADD dword ptr [EBP + -0x58],0x1
MOV ESI,dword ptr [ESI]
MOV EAX,dword ptr [EBP + -0x58]
CMP EAX,dword ptr [EBP + -0x5c]
JZ 0x00019180
MOV EDI,dword ptr [ESI + 0x14]
TEST EDI,EDI
JZ 0x00019180
SUB ESP,0x8
PUSH dword ptr [EBP + -0x50]
PUSH EDI
CALL 0x00013070
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x00019120
SUB ESP,0xc
PUSH EDI
CALL 0x00013948
LEA EAX,[EBX + 0xffff40e7]
MOV ECX,dword ptr [EBP + -0x7c]
MOV EDX,dword ptr [EBP + -0x74]
MOV dword ptr [ESI + 0x14],EAX
MOV EAX,dword ptr [EBP + -0x6c]
LEA ECX,[ECX + EAX*0x4]
LEA EDI,[EAX + 0x1]
MOV EAX,ESI
MOV dword ptr [EBP + -0x58],ECX
CALL 0x000177e0
MOV ECX,dword ptr [EBP + -0x58]
MOV dword ptr [EBP + -0x6c],EDI
ADD ESP,0x10
MOV dword ptr [ECX],EAX
NOP
SUB ESP,0xc
PUSH dword ptr [EBX + 0xaf0]
CALL 0x00013420
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x000191a2
MOV EDX,dword ptr [EBX + 0xba0]
MOV ESI,dword ptr [EBP + -0x50]
TEST EDX,EDX
JZ 0x000191dd
SUB ESP,0x8
LEA EAX,[EBP + -0x2c]
MOV EDI,dword ptr [EBP + -0x50]
MOV dword ptr [EBP + -0x28],0x0
PUSH EAX
PUSH dword ptr [EBX + 0xaf0]
MOV dword ptr [EBP + -0x2c],EDI
CALL 0x000137d0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00019570
MOV ESI,dword ptr [EAX + 0x4]
CMP EDI,ESI
JZ 0x00019573
MOV EAX,dword ptr [EBP + -0x60]
MOV dword ptr [EAX + 0x4],ESI
MOV EAX,dword ptr [EBP + -0x4c]
MOV EAX,dword ptr [EAX + 0x4]
MOVZX EDX,byte ptr [EAX + 0x18]
MOV EAX,dword ptr [EBX + 0xb1c]
CMP byte ptr [ESI],DL
JZ 0x00019420
TEST EAX,EAX
JNZ 0x00019548
MOV EAX,dword ptr [EBX + 0xad8]
MOV EDI,ESI
TEST EAX,EAX
JZ 0x0001926f
SUB ESP,0xc
PUSH EAX
CALL 0x000134e0
MOV dword ptr [ESP],ESI
MOV EDI,EAX
CALL 0x000134e0
LEA EAX,[EDI + EAX*0x1 + 0x2]
MOV dword ptr [ESP],EAX
CALL 0x000132e0
ADD ESP,0x10
MOV dword ptr [EBP + -0x58],EAX
MOV EDI,EAX
MOV EDX,dword ptr [EBX + 0xad8]
TEST EDX,EDX
JZ 0x0001925a
SUB ESP,0x8
MOV dword ptr [EBP + -0x50],EDX
PUSH EDX
PUSH dword ptr [EBP + -0x58]
CALL 0x00013340
MOV EDX,dword ptr [EBP + -0x50]
MOV dword ptr [ESP],EDX
CALL 0x000134e0
ADD dword ptr [EBP + -0x58],EAX
ADD ESP,0x10
SUB ESP,0x8
PUSH ESI
PUSH dword ptr [EBP + -0x58]
CALL 0x00013340
MOV EAX,dword ptr [EBP + -0x60]
ADD ESP,0x10
MOV dword ptr [EAX + 0x4],EDI
CMP dword ptr [EBX + 0xb78],0x7
JZ 0x000192f8
MOV EAX,dword ptr [EBP + -0x68]
TEST AL,0x20
JNZ 0x000195c0
TEST AH,0x1
JZ 0x000194a0
MOV EAX,dword ptr [EBP + -0x60]
MOV EAX,dword ptr [EAX + 0x10]
MOV EAX,dword ptr [EAX + 0x9c]
MOV EAX,dword ptr [EAX]
TEST byte ptr [EAX + 0xc],0x20
JZ 0x000194a0
MOV EDX,dword ptr [EBX + 0xb0c]
MOV EAX,EDI
CALL 0x00017880
TEST EAX,EAX
JZ 0x000192e0
PUSH EAX
LEA EAX,[EBX + 0xffff2968]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00013200
POP EDX
POP ECX
PUSH EDI
PUSH EAX
CALL 0x0002b6d0
ADD ESP,0x10
MOV dword ptr [EBX + 0xb88],0x1
MOV EDX,dword ptr [EBX + 0xb08]
MOV EAX,EDI
CALL 0x00017880
TEST EAX,EAX
JZ 0x0001931c
LEA ESI,[ESI]
MOV EAX,dword ptr [EBX + 0xadc]
TEST EAX,EAX
JZ 0x0001930b
TEST dword ptr [EBP + -0x68],0x4000
JNZ 0x0001931c
MOV EDX,dword ptr [EBX + 0xb04]
MOV EAX,EDI
CALL 0x00017880
TEST EAX,EAX
JZ 0x00019386
MOV EAX,dword ptr [EBP + -0x60]
MOV EAX,dword ptr [EAX + 0x10]
CALL 0x000178f0
TEST EAX,EAX
JNZ 0x00019386
TEST byte ptr [EBP + -0x68],0x2
JZ 0x00019350
MOV EAX,dword ptr [EBX + 0xae0]
TEST EAX,EAX
JZ 0x00019b08
MOV ECX,dword ptr [EBP + -0x60]
MOV EAX,dword ptr [ECX + 0xc]
MOV dword ptr [EBP + -0x58],EAX
AND EAX,0xfffffffd
OR AL,0x80
MOV dword ptr [ECX + 0xc],EAX
MOV EAX,dword ptr [EBX + 0xffffffc8]
ADD EAX,0xa8
CMP dword ptr [EBP + -0x70],EAX
JZ 0x00019374
TEST byte ptr [EBP + -0x68],0x82
JNZ 0x000199e7
TEST byte ptr [EBP + -0x68],0x1
JNZ 0x000199bb
MOV EAX,dword ptr [EBP + -0x6c]
MOV ECX,dword ptr [EBP + -0x7c]
MOV ESI,dword ptr [EBP + -0x60]
MOV dword ptr [ECX + EAX*0x4],ESI
ADD EAX,0x1
MOV dword ptr [EBP + -0x6c],EAX
ADD dword ptr [EBP + -0x64],0x4
MOV EAX,dword ptr [EBP + -0x64]
CMP dword ptr [EBP + -0x78],EAX
JNZ 0x000190e0
MOV EAX,dword ptr [EBP + -0x74]
MOV dword ptr [EBP + -0x58],EAX
MOV ECX,dword ptr [EBX + 0xae8]
TEST ECX,ECX
JZ 0x00019688
MOV ESI,dword ptr [EBX + 0xae4]
TEST ESI,ESI
JLE 0x00019688
MOV EDI,dword ptr [EBP + -0x58]
XOR ESI,ESI
MOV EAX,dword ptr [EBP + -0x6c]
MOV dword ptr [EBP + -0x58],ECX
MOV dword ptr [EBP + -0x5c],EDI
JMP 0x000193f0
CMP byte ptr [EDI],0x0
JNZ 0x0001a7d0
MOV ECX,dword ptr [EBP + -0x58]
ADD ESI,0x1
MOV ECX,dword ptr [ECX]
MOV dword ptr [EBP + -0x58],ECX
CMP ESI,dword ptr [EBX + 0xae4]
JGE 0x0001967f
MOV ECX,dword ptr [EBP + -0x58]
MOV EDI,dword ptr [ECX + 0x14]
TEST EDI,EDI
JNZ 0x000193d0
MOV EDI,dword ptr [EBP + -0x7c]
LEA ECX,[EAX + 0x1]
MOV EDX,dword ptr [EBP + -0x5c]
MOV dword ptr [EBP + -0x50],ECX
LEA EDI,[EDI + EAX*0x4]
MOV EAX,dword ptr [EBP + -0x58]
CALL 0x000177e0
MOV dword ptr [EDI],EAX
MOV EAX,dword ptr [EBP + -0x50]
JMP 0x000193d9
TEST EAX,EAX
JZ 0x00019608
MOV EAX,dword ptr [EBP + -0x74]
MOV EAX,dword ptr [EAX + 0x4]
MOVZX EDX,byte ptr [EAX + 0x18]
MOV EAX,dword ptr [EBX + 0xad8]
TEST DL,DL
JNZ 0x0001944a
MOV ECX,dword ptr [EBP + -0x60]
ADD ESI,0x1
MOV dword ptr [ECX + 0x4],ESI
JMP 0x00019203
TEST EAX,EAX
JZ 0x00019670
MOV ECX,dword ptr [EBP + -0x60]
ADD ESI,0x1
MOV dword ptr [ECX + 0x4],ESI
SUB ESP,0xc
PUSH EAX
CALL 0x000134e0
MOV dword ptr [ESP],ESI
MOV EDI,EAX
CALL 0x000134e0
LEA EAX,[EDI + EAX*0x1 + 0x2]
MOV dword ptr [ESP],EAX
CALL 0x000132e0
ADD ESP,0x10
MOV EDI,EAX
LEA EAX,[EAX + 0x1]
MOV dword ptr [EBP + -0x58],EAX
MOV EAX,dword ptr [EBP + -0x74]
MOV EAX,dword ptr [EAX + 0x4]
MOVZX EAX,byte ptr [EAX + 0x18]
MOV byte ptr [EDI],AL
JMP 0x00019230
MOV EAX,dword ptr [EBP + 0xffffff7c]
TEST EAX,EAX
JNZ 0x000194bc
TEST byte ptr [EBP + -0x68],0x82
JNZ 0x00019528
MOV EAX,dword ptr [EBP + -0x60]
MOV EAX,dword ptr [EAX + 0x10]
TEST byte ptr [EAX + 0x15],0x10
JNZ 0x00019528
MOV ESI,dword ptr [EBP + -0x60]
SUB ESP,0xc
PUSH ESI
CALL 0x000133f0
ADD ESP,0x10
CMP EAX,0x49
JZ 0x00019528
TEST byte ptr [EBP + -0x68],0x82
JNZ 0x00019996
MOV EAX,dword ptr [EBX + 0xffffffc8]
ADD EAX,0xa8
CMP dword ptr [EBP + -0x70],EAX
JZ 0x00019996
MOV EAX,dword ptr [ESI + 0x10]
TEST byte ptr [EAX + 0x15],0x10
JNZ 0x00019996
TEST byte ptr [EBP + -0x68],0x4
JZ 0x0001a0f8
MOV EAX,dword ptr [EBX + 0xb78]
SUB EAX,0x2
CMP EAX,0x1
JBE 0x000192f8
CMP dword ptr [EBX + 0xb28],0x0
JNZ 0x000192f8
LEA ESI,[ESI]
MOV EDX,dword ptr [EBX + 0xb0c]
MOV EAX,EDI
CALL 0x00017880
TEST EAX,EAX
JNZ 0x000192f8
JMP 0x000192e0
MOV ECX,dword ptr [EBP + -0x74]
MOV EAX,dword ptr [EBX + 0xad8]
MOV ECX,dword ptr [ECX + 0x4]
CMP byte ptr [ECX + 0x18],0x0
JZ 0x00019203
TEST DL,DL
JNZ 0x00019203
JMP 0x0001945b
MOV ESI,dword ptr [EBP + -0x50]
TEST dword ptr [EBP + -0x68],0x100
JZ 0x000191d7
MOV ESI,dword ptr [EBX + 0xba0]
TEST ESI,ESI
JZ 0x00019c58
MOV EDI,dword ptr [EBP + -0x50]
JMP 0x000195a3
MOV ESI,dword ptr [ESI + 0xc]
TEST ESI,ESI
JZ 0x00019c58
SUB ESP,0x8
PUSH EDI
PUSH dword ptr [ESI]
CALL 0x00013070
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x00019598
MOV ESI,dword ptr [ESI + 0x4]
JMP 0x000191d7
MOV EDX,dword ptr [EBX + 0xb0c]
MOV EAX,EDI
CALL 0x00017880
TEST EAX,EAX
JZ 0x0001931c
SUB ESP,0x4
LEA EAX,[EBX + 0xffff2968]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00013200
POP ESI
POP EDX
PUSH EDI
PUSH EAX
CALL 0x0002b6d0
ADD ESP,0x10
MOV dword ptr [EBX + 0xb88],0x1
JMP 0x0001931c
MOV EAX,dword ptr [EBX + 0xb18]
TEST EAX,EAX
JZ 0x000191fd
TEST byte ptr [EBP + -0x68],0x82
JNZ 0x0001962b
MOV ECX,dword ptr [EBP + 0xffffff68]
CMP dword ptr [EBP + -0x70],ECX
JNZ 0x00019d65
MOV EAX,dword ptr [EBX + 0xad8]
JMP 0x0001943c
SUB ESP,0x4
LEA EAX,[EBX + 0xffff26e4]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00013200
PUSH EAX
PUSH 0x0
PUSH 0x0
PUSH dword ptr [EDI + 0x8]
CALL 0x0002c160
ADD ESP,0x20
JMP 0x00018b49
MOV EAX,dword ptr [EBP + -0x60]
MOV byte ptr [ESI],DL
MOV EDI,ESI
MOV dword ptr [EAX + 0x4],ESI
JMP 0x0001926f
MOV dword ptr [EBP + -0x6c],EAX
MOV EAX,dword ptr [EBP + -0x5c]
MOV dword ptr [EBP + -0x58],EAX
MOV EAX,dword ptr [EBP + -0x7c]
MOV ECX,dword ptr [EBP + -0x6c]
MOV dword ptr [EAX + ECX*0x4],0x0
MOV EAX,dword ptr [EBX + 0xb28]
TEST EAX,EAX
JZ 0x00019852
MOV EAX,dword ptr [EBP + 0xffffff70]
TEST EAX,EAX
JZ 0x00019852
MOV EAX,dword ptr [EBP + -0x58]
MOV EDX,dword ptr [EAX + 0x4]
MOV EAX,dword ptr [EDX + 0x4]
CMP EAX,0x2
JZ 0x00019edb
CMP EAX,0x5
JZ 0x00019edb
SUB ESP,0x4
LEA EAX,[EBX + 0xffff27f8]
MOV ESI,dword ptr [EDX]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00013200
MOV dword ptr [ESP],ESI
PUSH EAX
PUSH 0x0
PUSH dword ptr [EBP + -0x58]
PUSH 0x0
CALL 0x0002c160
ADD ESP,0x20
MOV dword ptr [EBX + 0xb88],0x1
XOR EDX,EDX
JMP 0x00018853
SUB ESP,0x4
MOV ESI,dword ptr [ESI + 0x4]
MOV EDI,dword ptr [EBP + -0x58]
LEA EAX,[EBX + 0xfffef192]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00013200
MOV dword ptr [ESP],ESI
PUSH EAX
PUSH 0x0
PUSH EDI
PUSH 0x0
CALL 0x0002c160
ADD ESP,0x20
XOR EDX,EDX
JMP 0x00018853
SUB ESP,0x4
MOV ESI,dword ptr [ESI + 0x4]
MOV EDI,dword ptr [EBP + -0x58]
LEA EAX,[EBX + 0xfffef1a9]
PUSH 0x5
JMP 0x00019719
PUSH 0x0
PUSH dword ptr [ESI + 0x14]
MOV dword ptr [EBP + -0x4c],EAX
MOV EAX,dword ptr [EBP + -0x58]
PUSH EAX
PUSH 0x0
CALL 0x0002c160
ADD ESP,0x10
MOV EDX,dword ptr [EBP + -0x4c]
JMP 0x00018853
SUB ESP,0xc
PUSH dword ptr [EBX + 0xb04]
CALL 0x00013420
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x0001a0ed
SUB ESP,0xc
PUSH dword ptr [EBX + 0xb00]
CALL 0x00013420
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x0001a0ed
SUB ESP,0xc
PUSH dword ptr [EBX + 0xafc]
CALL 0x00013420
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x0001a0ed
SUB ESP,0xc
PUSH dword ptr [EBX + 0xaf8]
CALL 0x00013420
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x0001a0ed
SUB ESP,0xc
PUSH dword ptr [EBX + 0xaf4]
CALL 0x00013420
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x0001a0ed
SUB ESP,0xc
PUSH dword ptr [EBX + 0xaf0]
CALL 0x00013420
ADD ESP,0x10
CMP dword ptr [EBX + 0xad8],0x0
MOV EDX,EAX
JNZ 0x0001a0ed
CMP dword ptr [EBX + 0xba0],0x0
JNZ 0x0001a0ed
MOV EAX,dword ptr [EBX + 0xb6c]
OR EAX,dword ptr [EBX + 0xb68]
OR EAX,dword ptr [EBX + 0xb28]
OR EAX,dword ptr [EBX + 0xb1c]
OR EAX,dword ptr [EBX + 0xb18]
OR EAX,dword ptr [EBX + 0xae0]
OR EAX,dword ptr [EBX + 0xae4]
OR EAX,EDX
JNZ 0x0001a0ed
MOV ESI,dword ptr [EBP + -0x58]
SUB ESP,0x4
PUSH dword ptr [EBP + -0x6c]
PUSH dword ptr [EBX + 0xb98]
PUSH ESI
CALL 0x000133e0
MOV EDI,dword ptr [EBP + -0x4c]
ADD ESP,0xc
LEA EAX,[EBX + 0xfffd91d0]
PUSH ESI
PUSH EAX
PUSH EDI
CALL 0x00013850
ADD ESP,0xc
LEA EAX,[EBX + 0xfffd8e40]
PUSH ESI
PUSH EAX
PUSH EDI
CALL 0x00013850
MOV ESI,dword ptr [EBX + 0xb38]
ADD ESP,0x10
TEST ESI,ESI
JZ 0x000198ca
MOV EAX,dword ptr [EBP + -0x58]
MOV EDI,EAX
NOP
SUB ESP,0x8
PUSH dword ptr [ESI + 0xc]
PUSH 0x0
PUSH 0x0
PUSH dword ptr [ESI + 0x10]
PUSH dword ptr [ESI + 0x14]
PUSH EDI
CALL 0x00013290
ADD ESP,0x20
TEST EAX,EAX
JZ 0x00019c60
MOV ESI,dword ptr [ESI]
TEST ESI,ESI
JNZ 0x000198a0
MOV dword ptr [EBP + -0x58],EDI
MOV ESI,dword ptr [EBX + 0xb34]
TEST ESI,ESI
JZ 0x00019905
LEA ESI,[ESI]
MOV EAX,dword ptr [ESI + 0x14]
SUB ESP,0x8
MOV EDI,dword ptr [EAX + 0x3c]
PUSH dword ptr [ESI + 0xc]
PUSH 0x0
PUSH 0x0
PUSH dword ptr [ESI + 0x10]
PUSH EDI
PUSH dword ptr [EBP + -0x58]
CALL 0x00013290
ADD ESP,0x20
TEST EAX,EAX
JZ 0x00019988
MOV ESI,dword ptr [ESI]
TEST ESI,ESI
JNZ 0x000198d8
MOV EDX,dword ptr [EBX + 0xb84]
TEST EDX,EDX
JNZ 0x0001a055
MOV EAX,dword ptr [EBX + 0xb2c]
TEST EAX,EAX
JZ 0x0001993a
SUB ESP,0x4
PUSH EAX
PUSH dword ptr [EBP + 0xffffff6c]
PUSH dword ptr [EBP + -0x58]
CALL 0x000135a0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0001a228
MOV EAX,dword ptr [EBX + 0xb54]
OR EAX,dword ptr [EBX + 0xb4c]
JNZ 0x00019c6f
MOV ECX,dword ptr [EBP + -0x58]
SUB ESP,0x8
MOV EAX,dword ptr [ECX + 0x4]
PUSH ECX
PUSH dword ptr [EBP + -0x4c]
CALL dword ptr [EAX + 0xa8]
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0001a2b6
MOV EAX,dword ptr [EBX + 0xb44]
TEST EAX,EAX
JNZ 0x0001a1b9
MOV EDX,0x1
JMP 0x00018853
MOV dword ptr [EBP + -0x4c],EAX
MOV EAX,dword ptr [EBP + -0x58]
PUSH 0x0
PUSH EDI
JMP 0x00019763
CMP dword ptr [EBX + 0xb78],0x3
JNZ 0x00019528
JMP 0x000192f8
SUB ESP,0x4
MOV ESI,dword ptr [ESI + 0x4]
LEA EAX,[EBX + 0xffff23a0]
PUSH 0x5
JMP 0x00018bc8
MOV EDX,dword ptr [EBX + 0xafc]
MOV EAX,EDI
CALL 0x00017880
TEST EAX,EAX
JZ 0x00019374
MOV ECX,dword ptr [EBP + -0x60]
MOV EAX,dword ptr [ECX + 0xc]
MOV dword ptr [EBP + -0x58],EAX
AND EAX,0xfffffffe
OR EAX,0x2
MOV dword ptr [ECX + 0xc],EAX
JMP 0x00019374
MOV EDX,dword ptr [EBX + 0xb00]
MOV EAX,EDI
CALL 0x00017880
TEST EAX,EAX
JZ 0x00019e60
MOV ECX,dword ptr [EBP + -0x60]
MOV EAX,dword ptr [ECX + 0xc]
MOV dword ptr [EBP + -0x58],EAX
AND AL,0x7d
OR EAX,0x1
MOV dword ptr [ECX + 0xc],EAX
JMP 0x0001936a
MOV ESI,dword ptr [ECX]
MOV EDI,EDX
MOV ECX,0x4
CMPSB.REPE ES:EDI,ESI
SETA DL
SBB DL,0x0
TEST DL,DL
JNZ 0x00018dd7
MOV ECX,dword ptr [EBP + -0x4c]
LEA EDI,[EAX + 0x78]
MOV ECX,dword ptr [ECX + 0x9c]
LEA ESI,[ECX + 0x78]
MOV dword ptr [EBP + -0x50],ECX
MOV ECX,0x38
MOVSD.REP ES:EDI,ESI
JMP 0x00018dd7
MOV dword ptr [EBX + 0x288],0x1000
MOV ECX,0x1000
JMP 0x00018e34
MOV dword ptr [EBX + 0x298],0x200
MOV EDX,0x200
JMP 0x00018dec
MOV ESI,dword ptr [EBP + -0x4c]
SUB ESP,0x8
LEA EAX,[EBX + 0xfffef0bf]
PUSH EAX
PUSH ESI
CALL 0x00013350
ADD ESP,0x10
MOV dword ptr [EBP + -0x50],EAX
TEST EAX,EAX
JZ 0x00018aad
MOV EAX,dword ptr [EBX + 0xb84]
TEST EAX,EAX
JZ 0x00018aad
MOV EAX,dword ptr [ESI + 0x4]
CMP dword ptr [EAX + 0x4],0x5
JNZ 0x00018aad
MOV ESI,dword ptr [EBP + -0x50]
LEA EDX,[ESI + 0x8c]
MOV EAX,ESI
CALL 0x00017590
TEST EAX,EAX
JZ 0x00018aad
MOV EAX,dword ptr [ESI + 0x24]
MOV dword ptr [EBP + -0x74],EAX
TEST EAX,EAX
JNZ 0x0001a36a
PUSH EAX
LEA EAX,[EBX + 0xffff23c8]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00013200
PUSH EAX
PUSH ESI
PUSH dword ptr [EBP + -0x4c]
PUSH 0x0
CALL 0x0002c160
ADD ESP,0x20
MOV dword ptr [EBX + 0xb84],0x0
JMP 0x00018aad
MOV EDX,dword ptr [EBX + 0xaf4]
MOV EAX,EDI
CALL 0x00017880
TEST EAX,EAX
JNZ 0x0001933f
JMP 0x00019350
PUSH 0x0
PUSH dword ptr [EBP + -0x6c]
PUSH dword ptr [EBX + 0xb9c]
PUSH dword ptr [EBP + -0x4c]
CALL 0x0001c0f0
ADD ESP,0x10
MOV dword ptr [EBP + 0xffffff70],EAX
JMP 0x00019020
LEA EAX,[ESI*0x4 + 0x0]
SUB ESP,0xc
PUSH EAX
MOV dword ptr [EBP + -0x5c],EAX
CALL 0x000132e0
ADD ESP,0xc
MOV dword ptr [EBP + -0x58],EDI
MOV dword ptr [EBP + -0x80],EAX
MOV dword ptr [EBP + -0x2c],EAX
LEA EAX,[EBP + -0x2c]
PUSH EAX
LEA EAX,[EBX + 0xfffd7710]
PUSH EAX
PUSH EDI
CALL 0x00013850
LEA EAX,[EBX + 0xfffd7730]
PUSH EAX
PUSH 0x4
PUSH ESI
PUSH dword ptr [EBP + -0x80]
CALL 0x000137e0
MOV EDI,dword ptr [EBP + -0x5c]
ADD ESP,0x14
PUSH EDI
CALL 0x000132e0
ADD ESP,0xc
PUSH EDI
PUSH 0x0
PUSH EAX
MOV dword ptr [EBP + 0xffffff74],EAX
CALL 0x000135d0
MOV ECX,dword ptr [EBX + 0xb54]
ADD ESP,0x10
TEST ECX,ECX
JZ 0x00019d7a
SUB ESI,0x1
MOV dword ptr [EBP + -0x50],ESI
JZ 0x00019d7a
MOV EAX,dword ptr [EBP + -0x58]
MOV ESI,dword ptr [EBP + -0x80]
XOR EDI,EDI
MOV dword ptr [EBP + 0xffffff78],0x0
MOV dword ptr [EBP + -0x60],EAX
JMP 0x00019bec
ADD ESI,0x4
CMP dword ptr [EBP + -0x50],EDI
JZ 0x00019ed0
MOV EAX,dword ptr [ESI]
ADD EDI,0x1
MOV EDX,dword ptr [EAX + 0x14]
AND EDX,0x102
CMP EDX,0x102
JNZ 0x00019be0
MOV ECX,dword ptr [EAX + 0x24]
MOV EDX,dword ptr [EAX + 0x20]
ADD EDX,ECX
MOV dword ptr [EBP + -0x58],EDX
MOV EDX,dword ptr [ESI + 0x4]
MOV EDX,dword ptr [EDX + 0x20]
CMP dword ptr [EBP + -0x58],EDX
JNC 0x00019be0
SUB EDX,dword ptr [EBP + -0x58]
SUB ESP,0x4
ADD ECX,EDX
MOV dword ptr [EBP + -0x58],EDX
PUSH ECX
PUSH EAX
PUSH dword ptr [EBP + -0x60]
CALL 0x00013590
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0001a282
MOV EAX,dword ptr [EBP + -0x58]
MOV ECX,dword ptr [EBP + 0xffffff74]
MOV dword ptr [ECX + EDI*0x4 + -0x4],EAX
MOV ECX,dword ptr [EBP + 0xffffff78]
CMP ECX,EAX
CMOVNC EAX,ECX
MOV dword ptr [EBP + 0xffffff78],EAX
JMP 0x00019be0
MOV ESI,dword ptr [EBP + -0x50]
JMP 0x000191d7
MOV dword ptr [EBP + -0x4c],EAX
MOV EAX,EDI
PUSH 0x0
PUSH dword ptr [ESI + 0x14]
JMP 0x00019763
MOV EAX,dword ptr [EBP + 0xffffff78]
MOV ESI,0x2000
CMP EAX,0x2000
CMOVBE ESI,EAX
SUB ESP,0xc
PUSH ESI
CALL 0x000132e0
MOV ECX,EAX
MOV dword ptr [EBP + -0x60],EAX
MOVZX EAX,byte ptr [EBX + 0xb50]
IMUL EAX,EAX,0x1010101
CMP ESI,0x4
JNC 0x0001a034
TEST ESI,ESI
JZ 0x00019cb8
MOV byte ptr [ECX],AL
TEST ESI,0x2
JNZ 0x0001a6a1
MOV EAX,dword ptr [EBP + -0x58]
ADD ESP,0x10
MOV ECX,dword ptr [EAX + 0x68]
MOV dword ptr [EBP + -0x64],ECX
TEST ECX,ECX
JZ 0x0001994c
XOR EDI,EDI
MOV dword ptr [EBP + -0x5c],EAX
JMP 0x00019ce4
ADD EDI,0x1
CMP dword ptr [EBP + -0x64],EDI
JZ 0x0001a172
MOV EAX,dword ptr [EBP + 0xffffff74]
MOV ESI,dword ptr [EAX + EDI*0x4]
TEST ESI,ESI
JZ 0x00019cd8
MOV EAX,dword ptr [EBP + -0x80]
LEA ECX,[EAX + EDI*0x4]
MOV EAX,dword ptr [EAX + EDI*0x4]
MOV dword ptr [EBP + -0x68],ECX
XOR ECX,ECX
MOV EDX,dword ptr [EAX + 0x24]
MOV dword ptr [EBP + -0x54],ECX
SUB EDX,ESI
MOV dword ptr [EBP + -0x58],EDX
JMP 0x00019d22
XOR EDX,EDX
ADD dword ptr [EBP + -0x58],ECX
ADC dword ptr [EBP + -0x54],EDX
SUB ESI,ECX
JZ 0x00019cd8
MOV EAX,dword ptr [EBP + -0x80]
MOV EAX,dword ptr [EAX + EDI*0x4]
CMP ESI,0x2000
MOV ECX,0x2000
CMOVBE ECX,ESI
SUB ESP,0x8
PUSH ECX
PUSH dword ptr [EBP + -0x54]
PUSH dword ptr [EBP + -0x58]
PUSH dword ptr [EBP + -0x60]
PUSH EAX
PUSH dword ptr [EBP + -0x5c]
MOV dword ptr [EBP + -0x50],ECX
CALL 0x00013290
ADD ESP,0x20
MOV ECX,dword ptr [EBP + -0x50]
TEST EAX,EAX
JNZ 0x00019d10
MOV ECX,dword ptr [EBP + -0x68]
MOV dword ptr [EBP + -0x4c],EAX
PUSH 0x0
MOV EAX,dword ptr [EBP + -0x5c]
PUSH dword ptr [ECX]
JMP 0x00019763
MOV EAX,dword ptr [EBP + -0x60]
MOV EAX,dword ptr [EAX + 0x10]
TEST byte ptr [EAX + 0x15],0x10
JNZ 0x0001962b
JMP 0x000191fd
MOV dword ptr [EBP + 0xffffff78],0x0
MOV EAX,dword ptr [EBX + 0xb4c]
TEST EAX,EAX
JZ 0x00019008
MOV EAX,dword ptr [EBP + -0x80]
MOV ECX,dword ptr [EBP + -0x5c]
MOV EDX,dword ptr [EBX + 0xb48]
LEA ESI,[EAX + ECX*0x1 + -0x4]
MOV EAX,dword ptr [ESI]
MOV ECX,dword ptr [EAX + 0x20]
MOV EDI,dword ptr [EAX + 0x24]
ADD EDI,ECX
CMP EDI,EDX
JNC 0x00019008
SUB ESP,0x4
SUB EDX,ECX
PUSH EDX
PUSH EAX
PUSH dword ptr [EBP + -0x58]
CALL 0x00013590
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0001a2e2
MOV EAX,dword ptr [EBX + 0xb48]
MOV ECX,dword ptr [EBP + 0xffffff74]
MOV ESI,dword ptr [EBP + -0x5c]
SUB EAX,EDI
MOV dword ptr [ECX + ESI*0x1 + -0x4],EAX
MOV ECX,dword ptr [EBP + 0xffffff78]
CMP ECX,EAX
CMOVNC EAX,ECX
MOV dword ptr [EBP + 0xffffff78],EAX
JMP 0x00019008
SUB ESP,0x8
PUSH dword ptr [EBX + 0xb2c]
PUSH dword ptr [EBP + -0x58]
CALL 0x00013140
ADD ESP,0x10
MOV dword ptr [EBP + 0xffffff6c],EAX
TEST EAX,EAX
JZ 0x0001a32f
MOV EAX,dword ptr [EBP + -0x58]
MOV EAX,dword ptr [EAX + 0x4]
CMP dword ptr [EAX + 0x4],0x2
JNZ 0x00018fcb
MOV ECX,dword ptr [EBP + -0x58]
MOV EAX,dword ptr [ECX + 0x60]
TEST EAX,EAX
JNZ 0x00019e51
JMP 0x0001a360
CMP EDX,dword ptr [ESI + 0x1c]
CMOVA ESI,EAX
MOV EAX,dword ptr [EAX + 0xc]
TEST EAX,EAX
JZ 0x0001a17d
MOV EDX,dword ptr [EAX + 0x1c]
TEST EDX,EDX
JZ 0x00019e46
TEST ESI,ESI
JNZ 0x00019e40
MOV ESI,EAX
JMP 0x00019e46
SUB ESP,0xc
PUSH dword ptr [EBX + 0xaf8]
CALL 0x00013420
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x0001a158
MOV EAX,dword ptr [EBX + 0xb10]
TEST EAX,EAX
JZ 0x0001936a
MOV EAX,dword ptr [EBP + -0x60]
MOV EAX,dword ptr [EAX]
TEST EAX,EAX
JZ 0x0001936a
MOV EDX,dword ptr [EAX + 0x4]
CMP dword ptr [EDX + 0x4],0x5
JNZ 0x0001936a
CMP dword ptr [EAX + 0x9c],0x0
JZ 0x0001936a
MOV EAX,dword ptr [EBP + -0x60]
MOVZX EAX,byte ptr [EAX + 0x25]
AND EAX,0x3
SUB EAX,0x1
CMP EAX,0x1
JA 0x0001936a
JMP 0x000199fc
MOV EAX,dword ptr [EBP + -0x60]
MOV dword ptr [EBP + -0x58],EAX
JMP 0x00019d84
SUB ESP,0x8
LEA EAX,[EBP + -0x2c]
MOV EDI,dword ptr [EBP + -0x58]
PUSH EAX
LEA EAX,[EBP + -0x44]
PUSH EAX
LEA EAX,[EBP + -0x40]
PUSH EAX
LEA EAX,[EBP + -0x48]
PUSH EAX
PUSH dword ptr [EBP + 0xffffff70]
PUSH EDI
CALL 0x0002b050
ADD ESP,0x20
TEST EAX,EAX
JZ 0x000196f4
SUB ESP,0x4
LEA EAX,[EBX + 0xfffef217]
PUSH 0x2108
PUSH EAX
PUSH EDI
CALL 0x000130e0
ADD ESP,0xc
MOV dword ptr [EBP + -0x58],EDI
MOV ESI,EAX
LEA EAX,[EBX + 0xffff37f9]
PUSH 0x2108
PUSH EAX
PUSH EDI
CALL 0x000130e0
ADD ESP,0x10
MOV EDI,EAX
TEST ESI,ESI
JZ 0x0001a14a
TEST EAX,EAX
JZ 0x0001a14a
PUSH EAX
PUSH dword ptr [EBP + -0x40]
PUSH ESI
PUSH dword ptr [EBP + -0x58]
CALL 0x00013590
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0001a14a
PUSH EAX
PUSH dword ptr [EBP + -0x2c]
PUSH EDI
PUSH dword ptr [EBP + -0x58]
CALL 0x00013590
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0001a14a
MOV dword ptr [ESI + 0x40],0x2
MOV dword ptr [EDI + 0x40],0x0
PUSH EAX
PUSH EAX
PUSH dword ptr [EBP + -0x40]
PUSH 0x0
PUSH 0x0
PUSH dword ptr [EBP + -0x48]
PUSH ESI
PUSH dword ptr [EBP + -0x58]
CALL 0x00013290
ADD ESP,0x20
TEST EAX,EAX
JZ 0x00019fc6
PUSH ECX
PUSH ECX
PUSH dword ptr [EBP + -0x2c]
PUSH 0x0
PUSH 0x0
PUSH dword ptr [EBP + -0x44]
PUSH EDI
PUSH dword ptr [EBP + -0x58]
CALL 0x00013290
ADD ESP,0x20
TEST EAX,EAX
JNZ 0x00019852
PUSH EDI
LEA EAX,[EBX + 0xffff27b0]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00013200
PUSH EAX
PUSH 0x0
PUSH dword ptr [EBP + -0x58]
PUSH 0x0
CALL 0x0002c160
ADD ESP,0x20
JMP 0x000196f4
CALL 0x000135f0
SUB ESP,0xc
PUSH dword ptr [EAX]
CALL 0x00013400
ADD ESP,0xc
MOV ESI,dword ptr [EDI + 0x8]
MOV dword ptr [EBP + -0x4c],EAX
LEA EAX,[EBX + 0xffff2708]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00013200
ADD ESP,0xc
PUSH dword ptr [EBP + -0x4c]
PUSH ESI
PUSH EAX
CALL 0x0002b6d0
POP EDI
PUSH dword ptr [EBP + -0x2c]
CALL 0x00013948
ADD ESP,0x10
XOR EDX,EDX
JMP 0x00018853
MOV ECX,dword ptr [EBP + -0x60]
LEA EDI,[ECX + 0x4]
MOV dword ptr [ECX],EAX
AND EDI,0xfffffffc
MOV dword ptr [ECX + ESI*0x1 + -0x4],EAX
SUB ECX,EDI
MOV EDX,ECX
ADD EDX,ESI
MOV ECX,EDX
SHR ECX,0x2
STOSD.REP ES:EDI
JMP 0x00019cb8
MOV EDI,dword ptr [EBP + -0x58]
SUB ESP,0x8
LEA EAX,[EBX + 0xfffef0bf]
PUSH EAX
PUSH EDI
CALL 0x00013350
ADD ESP,0x10
MOV ESI,EAX
TEST EAX,EAX
JZ 0x0001a088
MOV EAX,dword ptr [EBX + 0xb84]
TEST EAX,EAX
JZ 0x0001a088
MOV EAX,dword ptr [EDI + 0x4]
CMP dword ptr [EAX + 0x4],0x5
JZ 0x0001a3cf
LEA EAX,[EBX + 0xba4]
MOV EAX,dword ptr [EAX]
TEST EAX,EAX
JZ 0x0001a25d
SUB ESP,0xc
PUSH dword ptr [EBX + 0xb80]
CALL 0x00013948
ADD ESP,0x10
MOV dword ptr [EBX + 0xb80],0x0
MOV dword ptr [EBX + 0xb84],0x0
JMP 0x00019913
MOV EAX,dword ptr [EBX + 0xb10]
OR EAX,dword ptr [EBX + 0xb74]
JNZ 0x00019037
SUB ESP,0xc
PUSH dword ptr [EBX + 0xb0c]
CALL 0x00013420
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00019776
MOV EAX,dword ptr [EBX + 0xb78]
JMP 0x00019032
MOV ECX,dword ptr [EBP + -0x4c]
MOV EDX,dword ptr [ECX + 0x4]
CMP dword ptr [EDX + 0x4],0x2
JZ 0x0001a312
CMP dword ptr [EBX + 0xb78],0x3
JZ 0x000192f8
MOV EAX,dword ptr [EBX + 0xb74]
CMP EAX,0x2
JZ 0x000192f8
SUB EAX,0x1
JNZ 0x00019528
PUSH EAX
PUSH EAX
PUSH dword ptr [EBP + -0x60]
PUSH dword ptr [EBP + -0x4c]
CALL 0x000138e0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00019528
JMP 0x000192f8
LEA EAX,[EBX + 0xffff27d8]
PUSH ESI
PUSH 0x5
JMP 0x00019fcf
MOV EDX,dword ptr [EBX + 0xaf8]
MOV EAX,EDI
CALL 0x00017880
TEST EAX,EAX
JZ 0x000199fc
JMP 0x00019e79
MOV EAX,dword ptr [EBP + -0x5c]
MOV dword ptr [EBP + -0x58],EAX
JMP 0x0001994c
MOV dword ptr [EBP + -0x58],ECX
TEST ESI,ESI
JZ 0x0001a360
MOV EAX,dword ptr [ESI + 0x24]
ADD EAX,dword ptr [ESI + 0x1c]
OR EDX,0xffffffff
CMP EAX,0xfffff000
JA 0x0001a1a4
ADD EAX,0xfff
AND EAX,0xfffff000
MOV EDX,EAX
MOV EAX,dword ptr [EBP + 0xffffff6c]
MOV dword ptr [EAX + 0x20],EDX
MOV dword ptr [EAX + 0x1c],EDX
OR byte ptr [EAX + 0x18],0x1
JMP 0x00018fcb
PUSH ESI
PUSH ESI
PUSH EAX
PUSH dword ptr [EBP + -0x58]
CALL 0x00013540
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x00019978
LEA EAX,[EBX + 0xffff28d0]
PUSH EDI
MOV ESI,dword ptr [EBX + 0xb44]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00013200
POP EDX
POP ECX
PUSH ESI
PUSH EAX
CALL 0x0002b6d0
MOV EAX,dword ptr [EBP + -0x58]
ADD ESP,0x10
MOV EAX,dword ptr [EAX + 0x4]
CMP dword ptr [EAX + 0x4],0x5
JZ 0x0001a6ae
LEA EAX,[EBX + 0xffff2948]
PUSH ECX
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00013200
MOV dword ptr [ESP],EAX
CALL 0x0002b6d0
ADD ESP,0x10
MOV EDX,0x1
JMP 0x00018853
MOV dword ptr [EBP + -0x4c],EAX
MOV ESI,dword ptr [EBX + 0xb2c]
PUSH EAX
LEA EAX,[EBX + 0xffff288c]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00013200
MOV dword ptr [ESP],ESI
PUSH EAX
PUSH 0x0
PUSH dword ptr [EBP + -0x58]
PUSH 0x0
CALL 0x0002c160
ADD ESP,0x20
MOV EDX,dword ptr [EBP + -0x4c]
JMP 0x00018853
PUSH EAX
LEA EAX,[EBX + 0xffff2860]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00013200
PUSH EAX
PUSH ESI
PUSH dword ptr [EBP + -0x58]
PUSH 0x0
CALL 0x0002c160
ADD ESP,0x20
JMP 0x0001a098
LEA EAX,[EBX + 0xfffef1d2]
PUSH EDX
MOV EDI,dword ptr [EBP + -0x60]
PUSH 0x5
PUSH EAX
PUSH 0x0
MOV dword ptr [EBP + -0x58],EDI
CALL 0x00013200
PUSH EAX
PUSH dword ptr [ESI]
PUSH EDI
PUSH 0x0
CALL 0x0002c160
ADD ESP,0x20
MOV dword ptr [EBX + 0xb88],0x1
JMP 0x00019d84
MOV dword ptr [EBP + -0x4c],EAX
LEA EAX,[EBX + 0xffff28b0]
PUSH EDI
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00013200
PUSH EAX
PUSH 0x0
PUSH dword ptr [EBP + -0x58]
PUSH 0x0
CALL 0x0002c160
ADD ESP,0x20
MOV EDX,dword ptr [EBP + -0x4c]
JMP 0x00018853
LEA EAX,[EBX + 0xfffef1ef]
PUSH EDI
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00013200
PUSH EAX
PUSH dword ptr [ESI]
PUSH dword ptr [EBP + -0x58]
PUSH 0x0
CALL 0x0002c160
ADD ESP,0x20
MOV dword ptr [EBX + 0xb88],0x1
JMP 0x00019008
MOV EAX,dword ptr [EAX + 0x8c]
TEST EAX,EAX
JZ 0x0001a108
CMP dword ptr [EAX + 0x24],0x0
JNZ 0x00019528
JMP 0x0001a108
LEA EAX,[EBX + 0xffff2788]
PUSH EDI
MOV ESI,dword ptr [EBX + 0xb2c]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00013200
MOV dword ptr [ESP],ESI
PUSH EAX
PUSH 0x0
PUSH dword ptr [EBP + -0x58]
PUSH 0x0
CALL 0x0002c160
ADD ESP,0x20
XOR EDX,EDX
JMP 0x00018853
MOV EDX,0x1000
JMP 0x0001a1a4
MOV EDI,dword ptr [EBP + -0x50]
MOV ESI,dword ptr [EBP + -0x4c]
PUSH EAX
LEA EAX,[EBX + 0xb80]
PUSH EAX
PUSH EDI
PUSH ESI
CALL 0x00013370
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x0001a425
PUSH EAX
LEA EAX,[EBX + 0xffff23e8]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00013200
PUSH EAX
PUSH EDI
PUSH ESI
PUSH 0x0
CALL 0x0002c160
ADD ESP,0x14
PUSH dword ptr [EBX + 0xb80]
CALL 0x00013948
ADD ESP,0x10
MOV dword ptr [EBX + 0xb80],0x0
MOV dword ptr [EBX + 0xb84],0x0
JMP 0x00018aad
LEA EDX,[ESI + 0x8c]
MOV EAX,ESI
CALL 0x00017590
TEST EAX,EAX
JZ 0x0001a088
PUSH EAX
PUSH EAX
PUSH dword ptr [EBX + 0xb7c]
PUSH 0x0
PUSH 0x0
PUSH dword ptr [EBX + 0xb80]
PUSH ESI
PUSH dword ptr [EBP + -0x58]
CALL 0x00013290
ADD ESP,0x20
TEST EAX,EAX
JNZ 0x0001a098
MOV dword ptr [EBP + -0x4c],EAX
PUSH EAX
LEA EAX,[EBX + 0xffff2830]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00013200
PUSH EAX
PUSH ESI
JMP 0x0001a2cd
PUSH EDI
MOV EAX,dword ptr [EBX + 0xb80]
PUSH EDI
PUSH dword ptr [EBP + -0x50]
PUSH dword ptr [EBP + -0x4c]
MOV dword ptr [EBP + 0xffffff7c],EAX
CALL 0x00013830
ADD ESP,0x10
TEST EAX,EAX
JLE 0x0001a478
SUB ESP,0xc
PUSH EAX
CALL 0x000132e0
PUSH dword ptr [EBX + 0xb9c]
PUSH EAX
MOV ESI,EAX
PUSH dword ptr [EBP + -0x50]
PUSH dword ptr [EBP + -0x4c]
CALL 0x000137c0
ADD ESP,0x14
PUSH ESI
MOV EDI,EAX
CALL 0x00013948
ADD ESP,0x10
TEST EDI,EDI
JNZ 0x0001a850
MOV EAX,dword ptr [EBP + -0x74]
MOV ECX,0xc
XOR EDX,EDX
PUSH ESI
PUSH ESI
DIV ECX
PUSH 0x24
PUSH EAX
CALL 0x00013958
MOV ECX,dword ptr [EBP + -0x74]
ADD ESP,0x10
MOV ESI,dword ptr [EBP + 0xffffff7c]
MOV dword ptr [EBP + -0x5c],EAX
MOV dword ptr [EBP + -0x70],ECX
MOV ECX,dword ptr [EBP + -0x4c]
MOV EDX,ESI
MOV dword ptr [EBP + 0xffffff74],0x0
MOV dword ptr [EBP + 0xffffff6c],0x0
MOV dword ptr [EBP + 0xffffff78],0x0
MOV dword ptr [EBP + 0xffffff70],0x0
MOV dword ptr [EBP + -0x68],0x0
MOV dword ptr [EBP + -0x80],0x0
MOV dword ptr [EBP + -0x7c],0x0
MOV dword ptr [EBP + -0x64],ECX
MOV dword ptr [EBP + -0x60],EAX
CMP dword ptr [EBP + -0x70],0xb
JBE 0x0001a897
MOV EDI,dword ptr [EBP + -0x64]
SUB ESP,0xc
MOV dword ptr [EBP + 0xffffff68],EDX
MOV EAX,dword ptr [EDI + 0x4]
PUSH EDX
CALL dword ptr [EAX + 0x28]
MOV ESI,dword ptr [EBP + -0x60]
MOV EDX,dword ptr [EBP + 0xffffff68]
MOV dword ptr [EBP + -0x64],EDI
ADD EAX,0x3
AND EAX,0xfffffffc
LEA ECX,[EDX + 0x4]
MOV dword ptr [ESI],EAX
MOV dword ptr [EBP + -0x78],EAX
MOV EAX,dword ptr [EDI + 0x4]
MOV dword ptr [ESP],ECX
CALL dword ptr [EAX + 0x28]
MOV EDX,dword ptr [EBP + 0xffffff68]
LEA EDI,[EAX + 0x3]
MOV EAX,dword ptr [EBP + -0x64]
LEA ECX,[EDX + 0x8]
AND EDI,0xfffffffc
MOV dword ptr [EBP + 0xffffff64],EDX
MOV EAX,dword ptr [EAX + 0x4]
MOV dword ptr [ESI + 0x4],EDI
MOV dword ptr [ESP],ECX
CALL dword ptr [EAX + 0x28]
ADD ESP,0x10
MOV EDX,dword ptr [EBP + 0xffffff64]
MOV dword ptr [EBP + 0xffffff68],EAX
MOV dword ptr [ESI + 0x8],EAX
SUB EAX,0x100
CMP EAX,0x1
JA 0x0001a837
MOV EAX,dword ptr [EBP + -0x78]
ADD EAX,EDI
LEA ECX,[EAX + 0xc]
MOV dword ptr [EBP + 0xffffff64],ECX
CMP ECX,dword ptr [EBP + -0x70]
JA 0x0001a79e
CMP dword ptr [EBP + -0x78],0x1
JBE 0x0001a719
MOV ESI,dword ptr [EBP + -0x60]
LEA ECX,[EDX + 0xc]
MOV dword ptr [ESI + 0xc],ECX
MOV ECX,dword ptr [EBP + -0x78]
LEA ECX,[EDX + ECX*0x1 + 0xc]
MOV dword ptr [ESI + 0x10],ECX
MOV ESI,0xfffffff4
SUB ESI,EAX
MOV EAX,dword ptr [EBP + 0xffffff64]
ADD dword ptr [EBP + -0x70],ESI
ADD EAX,EDX
MOV dword ptr [EBP + 0xffffff64],EAX
MOVZX EAX,byte ptr [EDX + 0xc]
CMP AL,0x24
JZ 0x0001a6fc
CMP dword ptr [EBP + -0x78],0x4
JBE 0x0001a5d2
CMP AL,0x47
JZ 0x0001a85c
CMP EDI,0x4
JZ 0x0001a6e2
JBE 0x0001a66c
CMP EDI,0x8
JZ 0x0001a803
CMP EDI,0x10
JNZ 0x0001a7ea
MOV ESI,dword ptr [EBP + -0x64]
SUB ESP,0xc
MOV dword ptr [EBP + -0x78],ECX
MOV EAX,dword ptr [ESI + 0x4]
PUSH ECX
CALL dword ptr [EAX + 0x1c]
MOV ECX,dword ptr [EBP + -0x78]
MOV EDI,EAX
MOV EAX,dword ptr [ESI + 0x4]
ADD ECX,0x8
MOV dword ptr [ESP],ECX
CALL dword ptr [EAX + 0x1c]
ADD ESP,0x10
CMP dword ptr [EBP + 0xffffff68],0x100
JZ 0x0001a678
TEST EDI,EDI
MOV ECX,dword ptr [EBP + -0x60]
CMOVZ EDI,dword ptr [EBP + 0xffffff70]
TEST EAX,EAX
CMOVZ EAX,dword ptr [EBP + 0xffffff6c]
MOV dword ptr [EBP + 0xffffff70],EDI
MOV dword ptr [ECX + 0x18],EDI
MOV dword ptr [EBP + 0xffffff6c],EAX
MOV dword ptr [ECX + 0x1c],EAX
MOV EAX,dword ptr [EBP + -0x60]
MOV EDX,dword ptr [EAX + 0xc]
MOV EAX,dword ptr [EAX]
CMP byte ptr [EDX + EAX*0x1 + -0x1],0x0
JNZ 0x0001a7b7
ADD dword ptr [EBP + -0x60],0x24
MOV EDX,dword ptr [EBP + 0xffffff64]
JMP 0x0001a4e8
TEST EDI,EDI
JNZ 0x0001a7ea
XOR EAX,EAX
JMP 0x0001a617
TEST EDI,EDI
MOV ECX,dword ptr [EBP + -0x60]
CMOVZ EDI,dword ptr [EBP + 0xffffff78]
TEST EAX,EAX
CMOVZ EAX,dword ptr [EBP + 0xffffff74]
MOV dword ptr [EBP + 0xffffff78],EDI
MOV dword ptr [ECX + 0x18],EDI
MOV dword ptr [EBP + 0xffffff74],EAX
MOV dword ptr [ECX + 0x1c],EAX
JMP 0x0001a64a
MOV ECX,dword ptr [EBP + -0x60]
MOV word ptr [ECX + ESI*0x1 + -0x2],AX
JMP 0x00019cb8
LEA EAX,[EBX + 0xffff290c]
PUSH ESI
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00013200
MOV dword ptr [ESP],EAX
CALL 0x0002b6d0
MOV EAX,dword ptr [EBP + -0x58]
MOV EDX,dword ptr [EBX + 0xb44]
ADD ESP,0x10
MOV EAX,dword ptr [EAX + 0x9c]
MOV word ptr [EAX + 0x26],DX
JMP 0x00019978
MOV EAX,dword ptr [EBP + -0x64]
SUB ESP,0xc
MOV EAX,dword ptr [EAX + 0x4]
PUSH ECX
CALL dword ptr [EAX + 0x28]
MOV EDI,EAX
ADD ESP,0x10
OR EAX,0xffffffff
JMP 0x0001a617
CMP byte ptr [EDX + 0xd],0x1
JNZ 0x0001a5d2
CMP byte ptr [EDX + 0xe],0x31
JNZ 0x0001a5d2
ADD dword ptr [EBP + -0x7c],0x1
JMP 0x0001a5d2
PUSH EAX
LEA EAX,[EBX + 0xffff2474]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00013200
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0001a75c
SUB ESP,0xc
MOV dword ptr [EBP + -0x60],EAX
PUSH 0x11
CALL 0x000132f0
MOV EAX,dword ptr [EBP + -0x60]
PUSH EAX
PUSH dword ptr [EBP + -0x50]
PUSH dword ptr [EBP + -0x4c]
PUSH 0x0
CALL 0x0002c160
ADD ESP,0x20
MOV dword ptr [EBX + 0xb88],0x1
SUB ESP,0xc
PUSH dword ptr [EBP + -0x5c]
CALL 0x00013948
ADD ESP,0x10
SUB ESP,0xc
PUSH dword ptr [EBX + 0xb80]
CALL 0x00013948
ADD ESP,0x10
MOV dword ptr [EBX + 0xb80],0x0
MOV dword ptr [EBX + 0xb84],0x0
MOV dword ptr [EBX + 0xb7c],0x0
JMP 0x00018aad
LEA EAX,[EBX + 0xffff2444]
PUSH EDX
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00013200
ADD ESP,0x10
JMP 0x0001a72d
PUSH EAX
LEA EAX,[EBX + 0xffff2518]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00013200
ADD ESP,0x10
JMP 0x0001a72d
PUSH EAX
LEA EAX,[EBX + 0xfffef201]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00013200
POP EDX
POP ECX
PUSH EDI
PUSH EAX
CALL 0x0002b6a0
PUSH EAX
LEA EAX,[EBX + 0xffff24e0]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00013200
ADD ESP,0x10
JMP 0x0001a72d
MOV ESI,dword ptr [EBP + -0x64]
MOV EAX,dword ptr [ESI + 0x4]
CMP dword ptr [EAX + 0x4],0x5
JNZ 0x0001aebc
MOV EDX,dword ptr [ESI + 0x9c]
CMP byte ptr [EDX + 0x4],0x2
JNZ 0x0001aebc
SUB ESP,0xc
PUSH ECX
CALL dword ptr [EAX + 0x1c]
MOV EDI,EAX
OR EAX,0xffffffff
ADD ESP,0x10
JMP 0x0001a617
LEA EAX,[EBX + 0xffff2410]
PUSH ECX
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00013200
ADD ESP,0x10
JMP 0x0001a72d
MOV dword ptr [EBP + -0x5c],0x0
JMP 0x0001a75c
CMP byte ptr [EDX + 0xd],0x41
JNZ 0x0001a5d2
CMP byte ptr [EDX + 0xe],0x24
JNZ 0x0001a5d2
CMP byte ptr [EDX + 0xf],0x1
JNZ 0x0001a5d2
MOVZX EAX,byte ptr [EDX + 0x10]
CMP AL,0x32
JZ 0x0001aee2
CMP AL,0x33
JNZ 0x0001aea3
ADD dword ptr [EBP + -0x68],0x1
JMP 0x0001a5d2
MOV EAX,dword ptr [EBP + -0x60]
CMP dword ptr [EBP + -0x70],0x0
MOV dword ptr [EBP + 0xffffff78],EAX
JNZ 0x0001a9f1
MOV ECX,dword ptr [EBP + -0x7c]
MOV EAX,dword ptr [EBP + -0x80]
OR EAX,dword ptr [EBP + -0x68]
OR ECX,EAX
JZ 0x0001a9d8
CMP dword ptr [EBP + -0x7c],0x0
JZ 0x0001a8c5
TEST EAX,EAX
JNZ 0x0001a8d1
CMP dword ptr [EBP + -0x80],0x0
JZ 0x0001a8ea
CMP dword ptr [EBP + -0x68],0x0
JZ 0x0001a8ea
LEA EAX,[EBX + 0xffff25c8]
PUSH EDI
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00013200
ADD ESP,0x10
JMP 0x0001a72d
MOV ECX,dword ptr [EBP + -0x7c]
CMP ECX,0x1
SETZ DL
CMP dword ptr [EBP + -0x80],0x1
SETZ AL
OR DL,AL
JNZ 0x0001a75c
CMP dword ptr [EBP + -0x68],0x1
JZ 0x0001a75c
CMP ECX,0x1
MOV EAX,dword ptr [EBP + -0x5c]
SBB ECX,ECX
AND ECX,0x2
MOV EAX,dword ptr [EAX + 0xc]
ADD ECX,0x1
CMP byte ptr [EAX + ECX*0x1],0x1
MOV dword ptr [EBP + -0x60],ECX
JNZ 0x0001adc9
MOV EAX,dword ptr [EBP + -0x5c]
MOV dword ptr [EBP + -0x7c],0x0
LEA EDI,[EAX + 0x24]
MOV EAX,dword ptr [EBP + -0x60]
MOV ESI,EDI
ADD EAX,0x1
MOV dword ptr [EBP + -0x80],EAX
MOV EAX,dword ptr [EBP + -0x58]
MOV dword ptr [EBP + 0xffffff5c],EAX
JMP 0x0001a954
MOV EAX,ESI
ADD EAX,0x24
MOV ESI,EAX
CMP dword ptr [EBP + 0xffffff78],ESI
JBE 0x0001ab15
CMP dword ptr [ESI + 0x8],0x100
JNZ 0x0001a94d
MOV ECX,dword ptr [ESI + 0xc]
MOV EAX,dword ptr [EBP + -0x60]
LEA EDI,[ESI + -0x24]
MOV dword ptr [EBP + -0x78],0x0
MOV dword ptr [EBP + -0x58],ESI
MOVZX EAX,byte ptr [ECX + EAX*0x1]
MOV dword ptr [EBP + 0xffffff70],ECX
ADD ECX,dword ptr [EBP + -0x80]
MOV byte ptr [EBP + 0xffffff6c],AL
MOV dword ptr [EBP + 0xffffff60],ECX
JMP 0x0001a9aa
CMP byte ptr [EBP + 0xffffff6c],AL
JNZ 0x0001a9a7
CMP EDX,0x100
JZ 0x0001aa14
SUB EDI,0x24
CMP dword ptr [EBP + -0x5c],EDI
JA 0x0001aa0a
MOV EAX,dword ptr [EDI + 0xc]
MOV ECX,dword ptr [EBP + -0x60]
CMP dword ptr [EBP + -0x78],0x0
MOV EDX,dword ptr [EDI + 0x8]
MOV dword ptr [EBP + -0x64],EAX
MOVZX EAX,byte ptr [EAX + ECX*0x1]
JNZ 0x0001a997
CMP dword ptr [EDI + 0x4],0x0
JZ 0x0001a997
CMP EDX,0x101
JZ 0x0001a9a7
MOV dword ptr [EBP + -0x78],EDI
JMP 0x0001a997
PUSH EAX
LEA EAX,[EBX + 0xffff258c]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00013200
ADD ESP,0x10
JMP 0x0001a72d
PUSH EAX
LEA EAX,[EBX + 0xffff2554]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00013200
ADD ESP,0x10
JMP 0x0001a72d
MOV EAX,dword ptr [EBP + -0x58]
MOV ESI,EAX
JMP 0x0001a94d
MOV ECX,dword ptr [EBP + -0x58]
MOV EDX,dword ptr [ECX]
CMP AL,0x4
JNZ 0x0001ade2
SUB EDX,dword ptr [EBP + -0x80]
XOR EAX,EAX
MOV dword ptr [EBP + 0xffffff74],ECX
MOV dword ptr [EBP + -0x58],EDX
XOR EDX,EDX
JMP 0x0001aa44
MOV ESI,dword ptr [EBP + 0xffffff60]
MOVZX ESI,byte ptr [ESI + EAX*0x1]
ADD EAX,0x1
SHL ESI,CL
OR EDX,ESI
LEA ECX,[EAX*0x8 + 0x0]
CMP dword ptr [EBP + -0x58],EAX
JNZ 0x0001aa33
MOV EAX,dword ptr [EDI]
MOV ECX,dword ptr [EBP + -0x80]
MOV dword ptr [EBP + -0x58],0x0
MOV ESI,dword ptr [EBP + 0xffffff74]
MOV dword ptr [EBP + 0xffffff68],EAX
SUB EAX,ECX
MOV dword ptr [EBP + 0xffffff64],EAX
MOV EAX,dword ptr [EBP + -0x64]
MOV dword ptr [EBP + 0xffffff58],ESI
ADD EAX,ECX
MOV dword ptr [EBP + 0xffffff74],EAX
XOR EAX,EAX
JMP 0x0001aa97
MOV ESI,dword ptr [EBP + 0xffffff74]
MOVZX ESI,byte ptr [ESI + EAX*0x1]
ADD EAX,0x1
SHL ESI,CL
OR dword ptr [EBP + -0x58],ESI
LEA ECX,[EAX*0x8 + 0x0]
CMP dword ptr [EBP + 0xffffff64],EAX
JNZ 0x0001aa85
MOV ESI,dword ptr [EBP + -0x58]
MOV ECX,dword ptr [EBP + 0xffffff58]
ADD ESI,EDX
MOV dword ptr [EBP + 0xffffff64],ECX
XOR EDX,EDX
MOV ECX,ESI
JMP 0x0001aac3
ADD EDX,0x1
SHR ECX,0x8
TEST ECX,ECX
JNZ 0x0001aabd
MOV ECX,dword ptr [EBP + 0xffffff64]
MOV dword ptr [EBP + -0x58],ECX
CMP EDX,EAX
JNC 0x0001a9a7
MOV EDI,dword ptr [EBP + 0xffffff68]
MOV EAX,dword ptr [EBP + -0x64]
MOV EDX,dword ptr [EBP + 0xffffff74]
ADD EAX,EDI
MOV EDI,ECX
MOV ECX,ESI
JMP 0x0001aafc
ADD EDX,0x1
MOV byte ptr [EDX + -0x1],CL
TEST ECX,ECX
JZ 0x0001ab00
SHR ECX,0x8
CMP EDX,EAX
JC 0x0001aaef
MOV ESI,EDI
MOV dword ptr [EDI + 0x8],0x0
MOV dword ptr [EBP + -0x7c],0x1
JMP 0x0001a94d
MOV EAX,dword ptr [EBP + 0xffffff5c]
CMP dword ptr [EBP + -0x7c],0x0
MOV dword ptr [EBP + -0x58],EAX
JZ 0x0001a75c
SUB ESP,0xc
PUSH dword ptr [EBP + -0x74]
CALL 0x000132e0
XOR EDX,EDX
ADD ESP,0x10
MOV ESI,dword ptr [EBP + -0x5c]
MOV dword ptr [EBP + 0xffffff68],EAX
MOV EDI,EAX
MOV EAX,dword ptr [EBP + 0xffffff7c]
MOV ECX,EDX
MOV dword ptr [EBP + -0x7c],EAX
MOV EAX,dword ptr [EBP + -0x58]
MOV dword ptr [EBP + 0xffffff64],EAX
MOV EAX,dword ptr [EBP + -0x4c]
MOV dword ptr [EBP + -0x58],EAX
JMP 0x0001ac7e
MOV EDX,dword ptr [ESI + 0x18]
MOV dword ptr [EBP + -0x68],EDX
MOV EDX,dword ptr [EBP + -0x58]
MOV EDX,dword ptr [EDX + 0x4]
MOV EDX,dword ptr [EDX + 0x30]
MOV dword ptr [EBP + -0x80],EDX
LEA EDX,[EDI + 0x4]
MOV dword ptr [EBP + 0xffffff70],EDX
LEA EDX,[EDI + 0x8]
MOV dword ptr [EBP + 0xffffff74],EDX
LEA EDX,[EDI + 0xc]
MOV dword ptr [EBP + 0xffffff6c],EDX
ADD EDX,EAX
MOV dword ptr [EBP + -0x60],EDX
MOV EDX,dword ptr [EBP + -0x68]
CMP EDX,dword ptr [EBP + -0x70]
JZ 0x0001ad47
MOV dword ptr [EBP + -0x70],EAX
PUSH ECX
PUSH ECX
PUSH EDI
PUSH EAX
MOV EAX,dword ptr [EBP + -0x80]
CALL EAX
MOV EAX,dword ptr [EBP + -0x58]
MOV EDX,0x8
MOV ECX,dword ptr [EAX + 0x4]
ADD ESP,0x10
MOV EAX,dword ptr [EBP + -0x70]
CMP dword ptr [ECX + 0x4],0x5
MOV EDI,dword ptr [ECX + 0x30]
JNZ 0x0001abe0
MOV ECX,dword ptr [EBP + -0x58]
MOV EDX,dword ptr [ECX + 0x9c]
CMP byte ptr [EDX + 0x4],0x2
SETZ DL
MOVZX EDX,DL
LEA EDX,[EDX*0x8 + 0x8]
MOV dword ptr [EBP + -0x70],EAX
PUSH EAX
PUSH EAX
PUSH dword ptr [EBP + 0xffffff70]
PUSH EDX
CALL EDI
MOV EDI,dword ptr [EBP + -0x58]
POP EAX
POP EDX
MOV EDX,dword ptr [EDI + 0x4]
PUSH dword ptr [EBP + 0xffffff74]
PUSH dword ptr [EBP + -0x78]
CALL dword ptr [EDX + 0x30]
MOV EDX,dword ptr [ESI + 0xc]
MOV EAX,dword ptr [EBP + -0x70]
ADD ESP,0xc
PUSH EAX
PUSH EDX
PUSH dword ptr [EBP + 0xffffff6c]
CALL 0x00013130
MOV ECX,dword ptr [EDI + 0x4]
MOV EDX,dword ptr [EBP + -0x60]
ADD ESP,0x10
MOV EAX,EDI
CMP dword ptr [ECX + 0x4],0x5
LEA EDI,[EDX + 0x8]
JNZ 0x0001ada1
MOV dword ptr [EBP + -0x58],EAX
MOV EAX,dword ptr [EAX + 0x9c]
CMP byte ptr [EAX + 0x4],0x2
JNZ 0x0001ada1
PUSH EAX
MOV EAX,dword ptr [EBP + -0x68]
PUSH EDX
XOR EDX,EDX
PUSH EDX
PUSH EAX
CALL dword ptr [ECX + 0x24]
MOV EAX,dword ptr [EBP + -0x58]
XOR EDX,EDX
MOV ECX,dword ptr [EAX + 0x4]
MOV EAX,dword ptr [ESI + 0x1c]
ADD ESP,0xc
PUSH EDI
PUSH EDX
PUSH EAX
CALL dword ptr [ECX + 0x24]
MOV EDI,dword ptr [EBP + -0x60]
ADD ESP,0x10
ADD EDI,0x10
MOV EAX,dword ptr [ESI + 0x18]
MOV ECX,dword ptr [ESI + 0x1c]
MOV dword ptr [EBP + -0x70],EAX
MOV EDX,dword ptr [EBP + -0x64]
ADD dword ptr [EBP + -0x7c],EDX
ADD ESI,0x24
CMP dword ptr [EBP + 0xffffff78],ESI
JBE 0x0001acbc
MOV EAX,dword ptr [ESI]
MOV EDX,dword ptr [ESI + 0x4]
ADD EDX,EAX
ADD EDX,0xc
MOV dword ptr [EBP + -0x64],EDX
MOV EDX,dword ptr [ESI + 0x8]
MOV dword ptr [EBP + -0x78],EDX
TEST EDX,EDX
JZ 0x0001ac75
CMP dword ptr [ESI + 0x20],0x0
JNZ 0x0001ab62
PUSH EAX
PUSH dword ptr [EBP + -0x64]
PUSH dword ptr [EBP + -0x7c]
PUSH EDI
CALL 0x00013130
ADD EDI,dword ptr [EBP + -0x64]
ADD ESP,0x10
JMP 0x0001ac6c
MOV ESI,EDI
MOV EDI,dword ptr [EBP + 0xffffff68]
MOV EAX,dword ptr [EBP + 0xffffff64]
SUB ESI,EDI
MOV dword ptr [EBP + -0x58],EAX
PUSH EAX
PUSH ESI
PUSH EDI
PUSH dword ptr [EBP + 0xffffff7c]
CALL 0x00013130
MOV dword ptr [ESP],EDI
CALL 0x00013948
POP EAX
PUSH dword ptr [EBP + -0x5c]
CALL 0x00013948
MOV dword ptr [EBX + 0xb7c],ESI
ADD ESP,0x10
CMP dword ptr [EBP + -0x74],ESI
JZ 0x0001a76a
MOV EAX,dword ptr [EBP + -0x50]
MOV EAX,dword ptr [EAX + 0x3c]
TEST EAX,EAX
JZ 0x0001ad20
PUSH EDX
PUSH ESI
PUSH EAX
PUSH dword ptr [EBP + -0x58]
CALL 0x00013590
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x00018aad
LEA EAX,[EBX + 0xffff2640]
PUSH ECX
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00013200
PUSH EAX
PUSH dword ptr [EBP + -0x50]
PUSH dword ptr [EBP + -0x58]
PUSH 0x0
CALL 0x0002c160
ADD ESP,0x14
JMP 0x0001a76d
CMP dword ptr [ESI + 0x1c],ECX
JNZ 0x0001aba0
MOV dword ptr [EBP + -0x68],EAX
PUSH EDX
PUSH EDX
PUSH EDI
PUSH EAX
MOV EAX,dword ptr [EBP + -0x80]
CALL EAX
POP ECX
POP EDI
MOV EDI,dword ptr [EBP + -0x58]
MOV EDX,dword ptr [EDI + 0x4]
PUSH dword ptr [EBP + 0xffffff70]
PUSH 0x0
CALL dword ptr [EDX + 0x30]
POP EAX
POP EDX
MOV EDX,dword ptr [EDI + 0x4]
PUSH dword ptr [EBP + 0xffffff74]
PUSH dword ptr [EBP + -0x78]
CALL dword ptr [EDX + 0x30]
MOV EDX,dword ptr [ESI + 0xc]
MOV EAX,dword ptr [EBP + -0x68]
ADD ESP,0xc
PUSH EAX
PUSH EDX
PUSH dword ptr [EBP + 0xffffff6c]
CALL 0x00013130
ADD ESP,0x10
MOV EDI,dword ptr [EBP + -0x60]
JMP 0x0001ac6c
PUSH EAX
PUSH EAX
PUSH dword ptr [EBP + -0x60]
PUSH dword ptr [EBP + -0x68]
CALL dword ptr [ECX + 0x30]
POP EAX
MOV EAX,dword ptr [EBP + -0x60]
MOV ECX,dword ptr [EBP + -0x58]
POP EDX
ADD EAX,0x4
MOV EDX,dword ptr [ECX + 0x4]
PUSH EAX
PUSH dword ptr [ESI + 0x1c]
CALL dword ptr [EDX + 0x30]
ADD ESP,0x10
JMP 0x0001ac6c
LEA EAX,[EBX + 0xffff2604]
PUSH ESI
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00013200
ADD ESP,0x10
JMP 0x0001a72d
MOV EAX,dword ptr [EBP + -0x58]
MOV ESI,EAX
MOV EAX,dword ptr [EDI]
CMP EAX,EDX
JZ 0x0001ae3f
CMP dword ptr [EBP + -0x68],0x0
JZ 0x0001ae14
MOV dword ptr [ESI + 0x20],0x1
MOV dword ptr [ESI + 0x8],0x101
MOV dword ptr [EDI + 0x20],0x1
MOV dword ptr [EDI + 0x8],0x101
JMP 0x0001a94d
CMP dword ptr [ESI + 0x4],0x0
JNZ 0x0001a94d
MOV EAX,dword ptr [EBP + -0x78]
TEST EAX,EAX
JZ 0x0001a94d
CMP dword ptr [EAX + 0x8],0x0
JNZ 0x0001a94d
MOV dword ptr [EAX + 0x8],0x100
JMP 0x0001a94d
PUSH ECX
PUSH EAX
PUSH dword ptr [EBP + 0xffffff70]
PUSH dword ptr [EBP + -0x64]
CALL 0x000131d0
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x0001aded
MOV EAX,dword ptr [EDI + 0x1c]
TEST EAX,EAX
JZ 0x0001aded
MOV ECX,dword ptr [ESI + 0x1c]
TEST ECX,ECX
JZ 0x0001aded
CMP EAX,-0x10
JA 0x0001ae78
LEA EDX,[EAX + 0xf]
AND EDX,0xfffffff0
CMP EDX,dword ptr [ESI + 0x18]
JC 0x0001aded
MOV dword ptr [ESI + 0x8],0x0
CMP EAX,ECX
JNC 0x0001ae86
MOV dword ptr [EDI + 0x1c],ECX
CMP dword ptr [EBP + -0x68],0x0
MOV dword ptr [EBP + -0x7c],0x1
JZ 0x0001a94d
MOV dword ptr [EDI + 0x20],0x1
JMP 0x0001a94d
PUSH EAX
LEA EAX,[EBX + 0xffff24a8]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00013200
ADD ESP,0x10
JMP 0x0001a72d
SUB ESP,0xc
MOV dword ptr [EBP + -0x78],ECX
PUSH ECX
CALL dword ptr [EAX + 0x28]
MOV ECX,dword ptr [EBP + -0x78]
MOV EDI,EAX
MOV EAX,dword ptr [EBP + -0x64]
ADD ECX,0x4
MOV EAX,dword ptr [EAX + 0x4]
MOV dword ptr [ESP],ECX
CALL dword ptr [EAX + 0x28]
ADD ESP,0x10
JMP 0x0001a617
ADD dword ptr [EBP + -0x80],0x1
JMP 0x0001a5d2
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Type propagation algorithm not settling */\n\nint __regparm3 FUN_000185f0(size_t *param_1,size_t *param_2,int param_3)\n\n{\n  void *__dest;\n  int *piVar1;\n  size_t sVar2;\n  int *piVar3;\n  undefined *puVar4;\n  size_t sVar5;\n  size_t *psVar6;\n  size_t *psVar7;\n  char cVar8;\n  int iVar9;\n  undefined4 uVar10;\n  undefined4 uVar11;\n  int iVar12;\n  FILE *__s;\n  undefined4 uVar13;\n  undefined4 uVar14;\n  int *piVar15;\n  undefined *puVar16;\n  size_t sVar17;\n  size_t sVar18;\n  int *piVar19;\n  size_t *psVar20;\n  int iVar21;\n  char *pcVar22;\n  size_t sVar23;\n  void *pvVar24;\n  size_t *psVar25;\n  undefined4 extraout_ECX;\n  uint uVar26;\n  undefined4 extraout_ECX_00;\n  undefined4 extraout_ECX_01;\n  uint uVar27;\n  undefined4 extraout_ECX_02;\n  undefined4 extraout_ECX_03;\n  uint uVar28;\n  undefined1 *puVar29;\n  void *pvVar30;\n  size_t __n;\n  undefined4 extraout_EDX;\n  int *piVar31;\n  byte *pbVar32;\n  undefined4 *puVar33;\n  size_t *psVar34;\n  uint uVar35;\n  byte *pbVar36;\n  undefined4 *puVar37;\n  size_t *psVar38;\n  uint uVar39;\n  bool bVar40;\n  bool bVar41;\n  byte bVar42;\n  undefined8 uVar43;\n  void *pvVar44;\n  size_t *psVar45;\n  size_t *psVar46;\n  size_t local_98;\n  size_t local_94;\n  void *local_90;\n  size_t local_8c;\n  int *local_84;\n  size_t *local_80;\n  size_t *local_7c;\n  uint local_74;\n  int local_70;\n  uint local_6c;\n  int *local_68;\n  size_t *local_64;\n  size_t *local_60;\n  int *local_5c;\n  int local_58;\n  int local_50;\n  undefined4 local_4c;\n  undefined4 local_48;\n  undefined4 local_44 [5];\n  int *local_30;\n  undefined4 local_2c;\n  undefined4 uStack_14;\n  \n  bVar42 = 0;\n  uStack_14 = 0x185fd;\n  if ((*(int *)(param_1[1] + 8) != *(int *)(param_2[1] + 8) && *(int *)(param_1[1] + 8) != 2) &&\n     (*(int *)(param_2[1] + 8) != 2)) {\n    uVar10 = dcgettext(0,"Unable to change endianness of input file(s)",5);\n    FUN_0002b6d0(uVar10);\n    return 0;\n  }\n  iVar9 = bfd_set_format(param_2,(byte)param_1[10] & 7);\n  if (iVar9 == 0) {\n    FUN_0002c160(0,param_2,0,0);\n    return 0;\n  }\n  if (param_1[0x18] == 0) {\n    uVar10 = FUN_0002c060(param_1);\n    pcVar22 = "error: the input file \'%s\' has no sections";\n    goto LAB_00018bc8;\n  }\n  if (((undefined4 *)param_1[1])[1] != 5) {\n    if ((DAT_0003fb24 != 1) && ((DAT_0003fb24 & 1) != 0)) {\n      uVar10 = FUN_0002c060(param_1);\n      pcVar22 = "--compress-debug-sections=[zlib|zlib-gnu|zlib-gabi] is unsupported on `%s\'";\nLAB_00018bc8:\n      uVar11 = dcgettext(0,pcVar22,5);\n      FUN_0002b6d0(uVar11,uVar10);\n      return 0;\n    }\n    if (DAT_0003fb20 != 0) {\n      uVar10 = FUN_0002c060(param_1);\n      pcVar22 = "--elf-stt-common=[yes|no] is unsupported on `%s\'";\n      goto LAB_00018bc8;\n    }\n  }\n  if (DAT_0003fb90 != 0) {\n    uVar10 = *(undefined4 *)param_1[1];\n    uVar11 = *(undefined4 *)param_2[1];\n    sVar17 = *param_2;\n    uVar13 = FUN_0002c060(param_1);\n    pcVar22 = (char *)dcgettext(0,"copy from `%s\' [%s] to `%s\' [%s]\n",5);\n    printf(pcVar22,uVar13,uVar10,sVar17,uVar11);\n  }\n  iVar9 = 0;\n  if (DAT_0003facc == 0) {\n    sVar17 = DAT_0003fb5c;\n    if (DAT_0003fb60 == 0) {\n      sVar17 = param_1[0x1c];\n    }\n    iVar9 = sVar17 + DAT_0003fb64;\n  }\n  if ((param_2[10] & 7) != 3) {\n    uVar35 = ~DAT_0003fb3c & *(uint *)(param_2[1] + 0x10) &\n             (param_1[10] >> 5 & 0xfffff | DAT_0003fb40);\n    if (DAT_0003fb78 == 7) {\n      uVar35 = uVar35 & 0xfffffffe;\n    }\n    iVar9 = bfd_set_start_address(param_2,iVar9);\n    if ((iVar9 == 0) || (iVar9 = bfd_set_file_flags(param_2,uVar35), iVar9 == 0)) goto LAB_00018840;\n  }\n  uVar10 = bfd_get_arch(param_1);\n  uVar11 = bfd_get_mach(param_1);\n  if (param_3 != 0) {\n    iVar9 = bfd_get_arch_info(param_1);\n    if ((iVar9 == 0) || (iVar9 = bfd_get_arch_info(param_1), *(int *)(iVar9 + 0xc) == 0)) {\n      uVar10 = *(undefined4 *)(param_3 + 0xc);\n      uVar11 = *(undefined4 *)(param_3 + 0x10);\n    }\n    else {\n      uVar13 = FUN_0002c060(param_1);\n      uVar14 = dcgettext(0,"Input file `%s\' ignores binary architecture parameter.",5);\n      FUN_0002b6d0(uVar14,uVar13);\n    }\n  }\n  iVar9 = (**(code **)(param_2[1] + 0x154))(param_2,uVar10,uVar11);\n  if (iVar9 == 0) {\n    if ((*(byte *)((int)param_1 + 0x2b) & 4) != 0) {\nLAB_000187e7:\n      iVar9 = bfd_get_arch(param_1);\n      if (iVar9 == 0) {\n        uVar10 = FUN_0002c060(param_1);\n        pcVar22 = "Unable to recognise the format of the input file `%s\'";\n      }\n      else {\n        uVar10 = bfd_get_mach(param_1);\n        uVar11 = bfd_get_arch(param_1);\n        uVar10 = bfd_printable_arch_mach(uVar11,uVar10);\n        pcVar22 = "Output file cannot represent architecture `%s\'";\n      }\n      uVar11 = dcgettext(0,pcVar22,5);\n      FUN_0002b6d0(uVar11,uVar10);\n      return 0;\n    }\n    iVar9 = bfd_get_arch(param_1);\n    iVar12 = bfd_get_arch(param_2);\n    if (iVar9 != iVar12) goto LAB_000187e7;\n  }\n  iVar9 = bfd_set_format(param_2,(byte)param_1[10] & 7);\n  if (iVar9 == 0) {\nLAB_00018840:\n    FUN_0002c160(0,param_1,0,0);\n    return 0;\n  }\n  uVar35 = ((undefined4 *)param_2[1])[1];\n  bVar40 = uVar35 < 2;\n  bVar41 = uVar35 == 2;\n  if (bVar41) {\n    iVar9 = 4;\n    pbVar32 = *(byte **)param_2[1];\n    pbVar36 = &DAT_0002e16a;\n    do {\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar40 = *pbVar32 < *pbVar36;\n      bVar41 = *pbVar32 == *pbVar36;\n      pbVar32 = pbVar32 + (uint)bVar42 * -2 + 1;\n      pbVar36 = pbVar36 + (uint)bVar42 * -2 + 1;\n    } while (bVar41);\n    if ((!bVar40 && !bVar41) == bVar40) {\n      sVar17 = param_2[0x27];\n      uVar35 = ((undefined4 *)param_1[1])[1];\n      bVar40 = uVar35 < 2;\n      bVar41 = uVar35 == 2;\n      if (bVar41) {\n        iVar9 = 4;\n        pbVar32 = *(byte **)param_1[1];\n        pbVar36 = &DAT_0002e16a;\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar40 = *pbVar32 < *pbVar36;\n          bVar41 = *pbVar32 == *pbVar36;\n          pbVar32 = pbVar32 + (uint)bVar42 * -2 + 1;\n          pbVar36 = pbVar36 + (uint)bVar42 * -2 + 1;\n        } while (bVar41);\n        if ((!bVar40 && !bVar41) == bVar40) {\n          puVar33 = (undefined4 *)(param_1[0x27] + 0x78);\n          puVar37 = (undefined4 *)(sVar17 + 0x78);\n          for (iVar9 = 0x38; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar37 = *puVar33;\n            puVar33 = puVar33 + (uint)bVar42 * -2 + 1;\n            puVar37 = puVar37 + (uint)bVar42 * -2 + 1;\n          }\n        }\n      }\n      uVar35 = DAT_0003f298;\n      if (DAT_0003f298 == 0xffffffff) {\n        DAT_0003f298 = 0x200;\n        uVar35 = 0x200;\n      }\n      else {\n        *(uint *)(sVar17 + 0x9c) = DAT_0003f298;\n      }\n      if (DAT_0003f294 != -1) {\n        *(int *)(sVar17 + 0xcc) = DAT_0003f294;\n      }\n      if (DAT_0003f290 != -1) {\n        *(int *)(sVar17 + 0xcc) = DAT_0003f290;\n      }\n      if (DAT_0003f28c != -1) {\n        *(int *)(sVar17 + 0x94) = DAT_0003f28c;\n      }\n      uVar26 = DAT_0003f288;\n      if (DAT_0003f288 == 0xffffffff) {\n        DAT_0003f288 = 0x1000;\n        uVar26 = 0x1000;\n      }\n      else {\n        *(uint *)(sVar17 + 0x98) = DAT_0003f288;\n      }\n      if (DAT_0003f284 != -1) {\n        *(int *)(sVar17 + 0xc4) = DAT_0003f284;\n      }\n      if (DAT_0003f280 != -1) {\n        *(int *)(sVar17 + 0xc4) = DAT_0003f280;\n      }\n      if (DAT_0003f27c != -1) {\n        *(short *)(sVar17 + 0xbc) = DAT_0003f27c;\n      }\n      if (DAT_0003f27a != -1) {\n        *(short *)(sVar17 + 0xa8) = DAT_0003f27a;\n      }\n      if (DAT_0003f278 != -1) {\n        *(short *)(sVar17 + 0xaa) = DAT_0003f278;\n      }\n      if (uVar26 < uVar35) {\n        sprintf((char *)local_44,"%08lx",uVar35);\n        sprintf((char *)&local_30,"%08lx",DAT_0003f288);\n        uVar10 = dcgettext(0,"warning: file alignment (0x%s) > section alignment (0x%s)",5);\n        FUN_0002b6d0(uVar10,local_44,&local_30);\n      }\n    }\n  }\n  piVar15 = DAT_0003fb9c;\n  if (DAT_0003fb9c != (int *)0x0) {\n    free(DAT_0003fb9c);\n  }\n  if (piVar15 != DAT_0003fb98) {\n    free(DAT_0003fb98);\n  }\n  DAT_0003fb9c = (int *)0x0;\n  DAT_0003fb98 = (int *)0x0;\n  iVar9 = (**(code **)(param_1[1] + 0x104))(param_1);\n  if (iVar9 < 0) goto LAB_00018840;\n  DAT_0003fb98 = (int *)xmalloc(iVar9);\n  DAT_0003fb9c = DAT_0003fb98;\n  local_70 = (**(code **)(param_1[1] + 0x108))(param_1,DAT_0003fb98);\n  if (local_70 < 0) goto LAB_00018840;\n  if (local_70 == 0) {\n    free(DAT_0003fb9c);\n    DAT_0003fb9c = (int *)0x0;\n    DAT_0003fb98 = (int *)0x0;\n  }\n  bfd_map_over_sections(param_1,FUN_000179b0,param_2);\n  puVar33 = DAT_0003fb38;\n  if ((DAT_0003facc == 0) &&\n     (iVar9 = (**(code **)(param_2[1] + 0xbc))(param_1,param_2), puVar33 = DAT_0003fb38, iVar9 == 0)\n     ) {\n    DAT_0003fb88 = 1;\n    uVar10 = dcgettext(0,"error in private header data",5);\n    FUN_0002c160(0,param_1,0,uVar10);\n    puVar33 = DAT_0003fb38;\n  }\n  for (; puVar37 = DAT_0003fb34, puVar33 != (undefined4 *)0x0; puVar33 = (undefined4 *)*puVar33) {\n    uVar35 = 0x128;\n    iVar9 = FUN_00016910();\n    if (iVar9 != 0) {\n      uVar35 = *(uint *)(iVar9 + 0x18) | 0x100;\n    }\n    iVar9 = bfd_get_section_by_name(param_2,puVar33[1]);\n    if (iVar9 != 0) {\n      uVar10 = puVar33[1];\n      pcVar22 = "can\'t add section \'%s\'";\nLAB_00019719:\n      uVar11 = dcgettext(0,pcVar22,5);\n      FUN_0002c160(0,param_2,0,uVar11,uVar10);\n      return 0;\n    }\n    iVar9 = bfd_make_section_with_flags(param_2,puVar33[1],uVar35 | 0x100000);\n    puVar33[5] = iVar9;\n    if (iVar9 == 0) {\n      uVar10 = puVar33[1];\n      pcVar22 = "can\'t create section `%s\'";\n      goto LAB_00019719;\n    }\n    iVar9 = bfd_set_section_size(param_2,iVar9,puVar33[3]);\n    if (iVar9 == 0) {\n      psVar38 = (size_t *)puVar33[5];\n      local_50 = 0;\n      goto LAB_00019763;\n    }\n    iVar9 = FUN_00016910();\n    if (iVar9 != 0) {\n      uVar10 = *(undefined4 *)(iVar9 + 0x10);\n      iVar9 = puVar33[5];\n      *(byte *)(iVar9 + 0x18) = *(byte *)(iVar9 + 0x18) | 1;\n      *(undefined4 *)(iVar9 + 0x20) = uVar10;\n      *(undefined4 *)(iVar9 + 0x1c) = uVar10;\n    }\n    iVar9 = FUN_00016910();\n    if (iVar9 != 0) {\n      *(undefined4 *)(puVar33[5] + 0x20) = *(undefined4 *)(iVar9 + 0x14);\n    }\n  }\n  for (; puVar37 != (undefined4 *)0x0; puVar37 = (undefined4 *)*puVar37) {\n    iVar9 = bfd_get_section_by_name(param_1,puVar37[1]);\n    puVar37[5] = iVar9;\n    if (iVar9 == 0) {\n      uVar10 = puVar37[1];\n      pcVar22 = "error: %s not found, can\'t be updated";\n      goto LAB_00018bc8;\n    }\n    psVar38 = *(size_t **)(iVar9 + 0x3c);\n    local_50 = bfd_set_section_size(param_2,psVar38,puVar37[3]);\n    if (local_50 == 0) goto LAB_00019763;\n  }\n  if ((((DAT_0003fb84 != 0) &&\n       (sVar17 = bfd_get_section_by_name(param_1,".gnu.build.attributes"), sVar17 != 0)) &&\n      (DAT_0003fb84 != 0)) &&\n     ((*(int *)(param_1[1] + 4) == 5 && (iVar9 = FUN_00017590(), iVar9 != 0)))) {\n    uVar35 = *(uint *)(sVar17 + 0x24);\n    if (uVar35 == 0) {\n      uVar10 = dcgettext(0,"warning: note section is empty",5,0);\n      FUN_0002c160(0,param_1,sVar17,uVar10);\n      DAT_0003fb84 = 0;\n    }\n    else {\n      iVar9 = bfd_get_full_section_contents(param_1,sVar17,&DAT_0003fb80,uVar35);\n      psVar38 = DAT_0003fb80;\n      if (iVar9 == 0) {\n        uVar10 = dcgettext(0,"warning: could not load note section",5,0);\n        FUN_0002c160(0,param_1,sVar17,uVar10);\n        free(DAT_0003fb80);\n        DAT_0003fb80 = (size_t *)0x0;\n        DAT_0003fb84 = 0;\n      }\n      else {\n        iVar9 = bfd_get_reloc_upper_bound(param_1,sVar17,sVar17,sVar17);\n        psVar20 = param_1;\n        sVar18 = sVar17;\n        if (0 < iVar9) {\n          psVar20 = (size_t *)xmalloc(iVar9);\n          sVar18 = bfd_canonicalize_reloc(param_1,sVar17,psVar20,DAT_0003fb9c);\n          free(psVar20);\n          if (sVar18 == 0) goto LAB_0001a478;\n          local_60 = (size_t *)0x0;\n          goto LAB_0001a75c;\n        }\nLAB_0001a478:\n        pvVar44 = (void *)0x24;\n        psVar46 = psVar20;\n        local_60 = (size_t *)xcalloc(uVar35 / 0xc,0x24,psVar20,psVar20);\n        local_90 = (void *)0x0;\n        local_98 = 0;\n        local_8c = 0;\n        local_94 = 0;\n        local_6c = 0;\n        local_84 = (int *)0x0;\n        local_80 = (size_t *)0x0;\n        psVar25 = psVar38;\n        psVar34 = psVar38;\n        local_74 = uVar35;\n        local_64 = local_60;\n        while (0xb < local_74) {\n          iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25);\n          uVar26 = iVar9 + 3U & 0xfffffffc;\n          *local_64 = uVar26;\n          iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25 + 1);\n          uVar39 = iVar9 + 3U & 0xfffffffc;\n          sVar18 = param_1[1];\n          local_64[1] = uVar39;\n          sVar23 = (**(code **)(sVar18 + 0x28))(psVar25 + 2);\n          local_64[2] = sVar23;\n          if (1 < sVar23 - 0x100) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: wrong note type",5,\n                              extraout_ECX_01);\n            goto LAB_0001a72d;\n          }\n          iVar9 = uVar26 + uVar39;\n          if (local_74 < iVar9 + 0xcU) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: note too big",5,psVar25);\n            goto LAB_0001a72d;\n          }\n          if (uVar26 < 2) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name too small",5,iVar9);\n            goto LAB_0001a72d;\n          }\n          local_64[3] = (size_t)(psVar25 + 3);\n          sVar2 = (int)psVar25 + uVar26 + 0xc;\n          local_64[4] = sVar2;\n          psVar34 = (size_t *)(-0xc - iVar9);\n          local_74 = local_74 + (int)psVar34;\n          cVar8 = (char)psVar25[3];\n          if (cVar8 == '$') {\n            if ((*(char *)((int)psVar25 + 0xd) == '\x01') && (*(char *)((int)psVar25 + 0xe) == '1'))\n            {\n              local_80 = (size_t *)((int)local_80 + 1);\n            }\n          }\n          else if ((((4 < uVar26) && (cVar8 == 'G')) && (*(char *)((int)psVar25 + 0xd) == 'A')) &&\n                  ((*(char *)((int)psVar25 + 0xe) == '$' &&\n                   (*(char *)((int)psVar25 + 0xf) == '\x01')))) {\n            cVar8 = (char)psVar25[4];\n            if (cVar8 == '2') {\n              local_84 = (int *)((int)local_84 + 1);\n            }\n            else {\n              if (cVar8 != '3') {\n                iVar9 = dcgettext(0,"corrupt GNU build attribute note: unsupported version",5,cVar8)\n                ;\n                goto LAB_0001a72d;\n              }\n              local_6c = local_6c + 1;\n            }\n          }\n          if (uVar39 == 4) {\n            sVar18 = (**(code **)(param_1[1] + 0x28))(sVar2);\n            pvVar24 = (void *)0xffffffff;\n          }\n          else if (uVar39 < 5) {\n            if (uVar39 != 0) {\nLAB_0001a7ea:\n              iVar9 = dcgettext(0,"corrupt GNU build attribute note: bad description size",5,cVar8);\n              goto LAB_0001a72d;\n            }\n            pvVar24 = (void *)0x0;\n            sVar18 = 0;\n          }\n          else {\n            psVar34 = param_1;\n            if (uVar39 == 8) {\n              sVar18 = param_1[1];\n              if ((*(int *)(sVar18 + 4) == 5) && (*(char *)(param_1[0x27] + 4) == '\x02')) {\n                sVar18 = (**(code **)(sVar18 + 0x1c))(sVar2);\n                pvVar24 = (void *)0xffffffff;\n              }\n              else {\n                sVar18 = (**(code **)(sVar18 + 0x28))(sVar2);\n                pvVar24 = (void *)(**(code **)(param_1[1] + 0x28))(sVar2 + 4);\n              }\n            }\n            else {\n              if (uVar39 != 0x10) goto LAB_0001a7ea;\n              sVar18 = (**(code **)(param_1[1] + 0x1c))(sVar2);\n              pvVar24 = (void *)(**(code **)(param_1[1] + 0x1c))(sVar2 + 8);\n            }\n          }\n          if (sVar23 == 0x100) {\n            if (sVar18 == 0) {\n              sVar18 = local_8c;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = local_90;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_90 = pvVar24;\n            local_8c = sVar18;\n          }\n          else {\n            if (sVar18 == 0) {\n              sVar18 = local_94;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = (void *)local_98;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_98 = (size_t)pvVar24;\n            local_94 = sVar18;\n          }\n          if (*(char *)((local_64[3] - 1) + *local_64) != '\0') {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name not NUL terminated",5,\n                              *local_64);\n            goto LAB_0001a72d;\n          }\n          local_64 = local_64 + 9;\n          psVar25 = (size_t *)(iVar9 + 0xcU + (int)psVar25);\n        }\n        if (local_74 == 0) {\n          uVar26 = (uint)local_84 | local_6c;\n          if (local_80 == (size_t *)0x0 && uVar26 == 0) {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: no known versions detected",5,uVar26\n                             );\n            goto LAB_0001a72d;\n          }\n          if (((local_80 != (size_t *)0x0) && (uVar26 != 0)) ||\n             ((local_84 != (int *)0x0 && (local_6c != 0)))) {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: multiple different versions",5,\n                              sVar18);\n            goto LAB_0001a72d;\n          }\n          if ((local_80 == (size_t *)0x1 || local_84 == (int *)0x1) || (local_6c == 1))\n          goto LAB_0001a75c;\n          uVar26 = -(uint)(local_80 == (size_t *)0x0) & 2;\n          iVar9 = uVar26 + 1;\n          if (*(char *)(local_60[3] + iVar9) != '\x01') {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: first note not version note",5,\n                              psVar34);\n            goto LAB_0001a72d;\n          }\n          bVar40 = false;\n          iVar12 = uVar26 + 2;\n          psVar25 = local_60;\nLAB_0001a954:\n          psVar34 = psVar25;\n          psVar25 = psVar34 + 9;\n          if (psVar25 < local_64) {\n            if (psVar34[0xb] == 0x100) {\n              pvVar24 = (void *)psVar34[0xc];\n              local_7c = (size_t *)0x0;\n              psVar45 = psVar25;\n              do {\n                do {\n                  psVar6 = psVar45;\n                  psVar45 = psVar6 + -9;\n                  if (psVar45 < local_60) goto LAB_0001a954;\n                  pvVar30 = (void *)psVar6[-6];\n                  psVar7 = local_7c;\n                } while ((((local_7c == (size_t *)0x0) && (psVar6[-8] != 0)) &&\n                         (psVar7 = psVar45, psVar6[-7] == 0x101)) ||\n                        ((local_7c = psVar7,\n                         *(char *)((int)pvVar24 + iVar9) != *(char *)((int)pvVar30 + iVar9) ||\n                         (psVar6[-7] != 0x100))));\n                if (*(char *)((int)pvVar30 + iVar9) != '\x04') {\n                  psVar45 = (size_t *)*psVar45;\n                  if ((((psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)) &&\n                      ((uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0))))\n                     && ((0xfffffff0 < uVar26 || (psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0))))) {\n                    psVar34[0xb] = 0;\n                    if (uVar26 < uVar39) {\n                      psVar6[-2] = uVar39;\n                    }\n                    bVar40 = true;\n                    if (local_6c != 0) {\n                      psVar6[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0)) {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    psVar34[0x11] = 1;\n                    psVar34[0xb] = 0x101;\n                    psVar6[-1] = 1;\n                    psVar6[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }\n                uVar26 = 0;\n                for (iVar21 = 0; (int)*psVar25 - iVar12 != iVar21; iVar21 = iVar21 + 1) {\n                  uVar26 = uVar26 | (uint)*(byte *)((int)pvVar24 + iVar21 + iVar12) <<\n                                    ((char)iVar21 * '\b' & 0x1fU);\n                }\n                sVar18 = *psVar45;\n                local_5c = (int *)0x0;\n                for (uVar39 = 0; sVar18 - iVar12 != uVar39; uVar39 = uVar39 + 1) {\n                  local_5c = (int *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39] <<\n                                    ((char)uVar39 * '\b' & 0x1fU));\n                }\n                uVar28 = 0;\n                uVar26 = (int)local_5c + uVar26;\n                for (uVar27 = uVar26; uVar27 != 0; uVar27 = uVar27 >> 8) {\n                  uVar28 = uVar28 + 1;\n                }\n              } while (uVar39 <= uVar28);\n              puVar29 = (undefined1 *)((int)pvVar30 + iVar12);\n              while (puVar29 < (undefined1 *)((int)pvVar30 + sVar18)) {\n                *puVar29 = (char)uVar26;\n                if (uVar26 == 0) break;\n                uVar26 = uVar26 >> 8;\n                puVar29 = puVar29 + 1;\n              }\n              psVar34[0xb] = 0;\n              bVar40 = true;\n            }\n            goto LAB_0001a954;\n          }\n          if (!bVar40) goto LAB_0001a75c;\n          pvVar24 = (void *)xmalloc(uVar35,pvVar44,psVar20,psVar46);\n          sVar18 = 0;\n          pvVar44 = pvVar24;\n          local_80 = psVar38;\n          for (psVar20 = local_60; psVar20 < local_64; psVar20 = psVar20 + 9) {\n            sVar23 = *psVar20;\n            __n = psVar20[1] + sVar23 + 0xc;\n            sVar2 = psVar20[2];\n            pvVar30 = pvVar44;\n            if (sVar2 != 0) {\n              if (psVar20[8] == 0) {\n                memcpy(pvVar44,local_80,__n);\n                pvVar30 = (void *)((int)pvVar44 + __n);\n              }\n              else {\n                sVar5 = psVar20[6];\n                __dest = (void *)((int)pvVar44 + 0xc);\n                pvVar30 = (void *)((int)__dest + sVar23);\n                if ((sVar5 == local_74) && (psVar20[7] == sVar18)) {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar5,sVar5);\n                  (**(code **)(param_1[1] + 0x30))(0,(int)pvVar44 + 4);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                }\n                else {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar18,sVar18);\n                  cVar8 = '\b';\n                  if (*(int *)(param_1[1] + 4) == 5) {\n                    cVar8 = (*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b';\n                  }\n                  (**(code **)(param_1[1] + 0x30))(cVar8,(int)pvVar44 + 4,sVar23,sVar23);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                  sVar18 = param_1[1];\n                  psVar25 = param_1;\n                  if ((*(int *)(sVar18 + 4) == 5) &&\n                     (psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02')) {\n                    (**(code **)(sVar18 + 0x24))(sVar5,0,pvVar30,psVar25);\n                    (**(code **)(param_1[1] + 0x24))(psVar20[7],0,(void *)((int)pvVar30 + 8));\n                    pvVar30 = (void *)((int)pvVar30 + 0x10);\n                  }\n                  else {\n                    (**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25);\n                    (**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4);\n                    pvVar30 = (void *)((int)pvVar30 + 8);\n                  }\n                }\n              }\n              local_74 = psVar20[6];\n              sVar18 = psVar20[7];\n            }\n            local_80 = (size_t *)((int)local_80 + __n);\n            pvVar44 = pvVar30;\n          }\n          sVar18 = (int)pvVar44 - (int)pvVar24;\n          memcpy(psVar38,pvVar24,sVar18);\n          free(pvVar24);\n          free(local_60);\n          DAT_0003fb7c = sVar18;\n          if (uVar35 != sVar18) {\n            uVar10 = extraout_ECX_02;\n            if ((*(int *)(sVar17 + 0x3c) != 0) &&\n               (iVar9 = bfd_set_section_size(param_2,*(int *)(sVar17 + 0x3c),sVar18,extraout_EDX),\n               uVar10 = extraout_ECX_03, iVar9 != 0)) goto LAB_00018aad;\n            uVar10 = dcgettext(0,"warning: failed to set merged notes size",5,uVar10);\n            FUN_0002c160(0,param_2,sVar17,uVar10);\n          }\n        }\n        else {\n          iVar9 = dcgettext(0,"corrupt GNU build attribute notes: excess data at end",5,local_64);\nLAB_0001a72d:\n          if (iVar9 != 0) {\n            bfd_set_error(0x11);\n            FUN_0002c160(0,param_1,sVar17,iVar9);\n            DAT_0003fb88 = 1;\n          }\nLAB_0001a75c:\n          free(local_60);\n        }\n        free(DAT_0003fb80);\n        DAT_0003fb80 = (size_t *)0x0;\n        DAT_0003fb84 = 0;\n        DAT_0003fb7c = 0;\n      }\n    }\n  }\nLAB_00018aad:\n  local_98 = DAT_0003fb2c;\n  for (puVar33 = DAT_0003fb30; DAT_0003fb2c = local_98, puVar33 != (undefined4 *)0x0;\n      puVar33 = (undefined4 *)*puVar33) {\n    iVar9 = bfd_get_section_by_name(param_1,puVar33[1]);\n    if (iVar9 == 0) {\n      uVar10 = puVar33[1];\n      uVar11 = dcgettext(0,"can\'t dump section \'%s\' - it does not exist",5);\n      FUN_0002c160(0,param_1,0,uVar11,uVar10);\n    }\n    else {\n      if ((*(byte *)(iVar9 + 0x15) & 1) == 0) {\n        pcVar22 = "can\'t dump section - it has no contents";\n      }\n      else {\n        sVar17 = *(size_t *)(iVar9 + 0x24);\n        if (sVar17 != 0) {\n          __s = fopen64((char *)puVar33[2],"w");\n          if (__s == (FILE *)0x0) {\n            uVar10 = dcgettext(0,"could not open section dump file",5);\n            FUN_0002c160(puVar33[2],0,0,uVar10);\n          }\n          else {\n            iVar12 = bfd_malloc_and_get_section(param_1,iVar9,&local_30);\n            if (iVar12 == 0) {\n              uVar10 = dcgettext(0,"could not retrieve section contents",5);\n              FUN_0002c160(0,param_1,iVar9,uVar10);\n            }\n            else {\n              sVar18 = fwrite(local_30,1,sVar17,__s);\n              if (sVar17 != sVar18) {\n                piVar15 = __errno_location();\n                pcVar22 = strerror(*piVar15);\n                uVar10 = puVar33[2];\n                uVar11 = dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                FUN_0002b6d0(uVar11,uVar10,pcVar22);\n                free(local_30);\n                return 0;\n              }\n            }\n            fclose(__s);\n            free(local_30);\n          }\n          goto LAB_00018b49;\n        }\n        pcVar22 = "can\'t dump section - it is empty";\n      }\n      uVar10 = dcgettext(0,pcVar22,5);\n      FUN_0002c160(0,param_1,iVar9,uVar10);\n    }\nLAB_00018b49:\n    local_98 = DAT_0003fb2c;\n  }\n  if (local_98 != 0) {\n    iVar9 = bfd_get_section_by_name(param_2,".gnu_debuglink");\n    if (iVar9 == 0) {\n      local_98 = bfd_create_gnu_debuglink_section(param_2,DAT_0003fb2c);\n      iVar9 = DAT_0003fb2c;\n      if (local_98 == 0) {\n        uVar10 = dcgettext(0,"cannot create debug link section `%s\'",5,param_2);\n        FUN_0002c160(0,param_2,0,uVar10,iVar9);\n        return 0;\n      }\n      if (*(int *)(param_2[1] + 4) == 2) {\n        sVar17 = param_2[0x18];\n        sVar18 = 0;\n        if (sVar17 == 0) {\nLAB_0001a360:\n          uVar26 = 0x1000;\n        }\n        else {\n          do {\n            sVar23 = sVar18;\n            if (((*(uint *)(sVar17 + 0x1c) != 0) && (sVar23 = sVar17, sVar18 != 0)) &&\n               (sVar23 = sVar18, *(uint *)(sVar18 + 0x1c) < *(uint *)(sVar17 + 0x1c))) {\n              sVar23 = sVar17;\n            }\n            sVar17 = *(size_t *)(sVar17 + 0xc);\n            sVar18 = sVar23;\n          } while (sVar17 != 0);\n          if (sVar23 == 0) goto LAB_0001a360;\n          uVar35 = *(int *)(sVar23 + 0x24) + *(int *)(sVar23 + 0x1c);\n          uVar26 = 0xffffffff;\n          if (uVar35 < 0xfffff001) {\n            uVar26 = uVar35 + 0xfff & 0xfffff000;\n          }\n        }\n        *(uint *)(local_98 + 0x20) = uVar26;\n        *(uint *)(local_98 + 0x1c) = uVar26;\n        *(byte *)(local_98 + 0x18) = *(byte *)(local_98 + 0x18) | 1;\n      }\n    }\n    else {\n      sVar17 = *param_2;\n      uVar10 = dcgettext(0,"%s: debuglink section already exists",5);\n      FUN_0002b6d0(uVar10,sVar17);\n      DAT_0003fb2c = 0;\n      local_98 = 0;\n    }\n  }\n  sVar17 = param_2[0x1a];\n  local_8c = sVar17;\n  if (sVar17 == 0) {\nLAB_00018ff7:\n    local_90 = (void *)0x0;\n    local_84 = (int *)0x0;\n    sVar18 = local_8c;\n  }\n  else {\n    if (DAT_0003fb54 == 0 && DAT_0003fb4c == 0) {\n      local_8c = 0;\n      goto LAB_00018ff7;\n    }\n    sVar23 = sVar17 * 4;\n    local_84 = (int *)xmalloc(sVar23);\n    local_30 = local_84;\n    bfd_map_over_sections(param_2,FUN_00016710,&local_30);\n    qsort(local_84,sVar17,4,FUN_00016730);\n    local_90 = (void *)xmalloc(sVar23);\n    memset(local_90,0,sVar23);\n    if ((DAT_0003fb54 == 0) || (sVar17 == 1)) {\n      local_8c = 0;\n    }\n    else {\n      iVar9 = 0;\n      local_8c = 0;\n      piVar15 = local_84;\n      do {\n        iVar12 = *piVar15;\n        iVar9 = iVar9 + 1;\n        sVar18 = local_8c;\n        if ((*(uint *)(iVar12 + 0x14) & 0x102) == 0x102) {\n          uVar35 = *(int *)(iVar12 + 0x20) + *(int *)(iVar12 + 0x24);\n          if (uVar35 < *(uint *)(piVar15[1] + 0x20)) {\n            sVar18 = *(uint *)(piVar15[1] + 0x20) - uVar35;\n            uVar43 = bfd_set_section_size(param_2,iVar12,*(int *)(iVar12 + 0x24) + sVar18);\n            if ((int)uVar43 == 0) {\n              uVar10 = dcgettext(0,"Can\'t fill gap after section",5,\n                                 (int)((ulonglong)uVar43 >> 0x20));\n              FUN_0002c160(0,param_2,*piVar15,uVar10);\n              DAT_0003fb88 = 1;\n              break;\n            }\n            *(size_t *)((int)local_90 + iVar9 * 4 + -4) = sVar18;\n            if (sVar18 <= local_8c) {\n              sVar18 = local_8c;\n            }\n          }\n        }\n        local_8c = sVar18;\n        piVar15 = piVar15 + 1;\n      } while (sVar17 - 1 != iVar9);\n    }\n    sVar18 = local_8c;\n    if (DAT_0003fb4c != 0) {\n      iVar9 = local_84[sVar17 - 1];\n      uVar35 = *(int *)(iVar9 + 0x24) + *(int *)(iVar9 + 0x20);\n      if (uVar35 < DAT_0003fb48) {\n        iVar9 = bfd_set_section_size(param_2,iVar9,DAT_0003fb48 - *(int *)(iVar9 + 0x20));\n        if (iVar9 == 0) {\n          uVar10 = dcgettext(0,"can\'t add padding",5,uVar35);\n          FUN_0002c160(0,param_2,local_84[sVar17 - 1],uVar10);\n          DAT_0003fb88 = 1;\n        }\n        else {\n          sVar18 = DAT_0003fb48 - uVar35;\n          *(size_t *)((int)local_90 + (sVar23 - 4)) = sVar18;\n          if (sVar18 <= local_8c) {\n            sVar18 = local_8c;\n          }\n        }\n      }\n    }\n  }\n  local_8c = sVar18;\n  local_94 = 0;\n  if (DAT_0003fb28 != 0) {\n    local_94 = FUN_0001c0f0(param_1,DAT_0003fb9c,local_70,0);\n  }\n  if (DAT_0003fb78 - 2U < 6) {\nLAB_00019032:\n    if (DAT_0003fb78 != 7) {\nLAB_00019037:\n      bfd_set_error(0);\n      bfd_map_over_sections(param_1,FUN_00018470,DAT_0003fb9c);\n      iVar9 = bfd_get_error();\n      if (iVar9 != 0) {\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n    }\n    piVar15 = (int *)xmalloc((DAT_0003fae4 + local_70) * 4 + 4);\n    local_68 = DAT_0003fb9c;\n    uVar35 = param_1[10];\n    DAT_0003fb98 = piVar15;\n    if (local_70 != 0) {\n      piVar1 = DAT_0003fb9c + local_70;\n      local_70 = 0;\n      puVar16 = PTR__bfd_std_section_0003efc8 + 0xa8;\n      do {\n        iVar9 = DAT_0003fae4;\n        piVar3 = (int *)*local_68;\n        uVar26 = piVar3[3];\n        piVar19 = (int *)piVar3[1];\n        puVar4 = (undefined *)piVar3[4];\n        if (((DAT_0003fae8 != (int *)0x0) && (0 < DAT_0003fae4)) &&\n           (pcVar22 = (char *)DAT_0003fae8[5], pcVar22 != (char *)0x0)) {\n          local_5c = (int *)0x0;\n          piVar31 = DAT_0003fae8;\n          while (iVar12 = strcmp(pcVar22,(char *)piVar19), iVar12 != 0) {\n            local_5c = (int *)((int)local_5c + 1);\n            piVar31 = (int *)*piVar31;\n            if ((local_5c == (int *)iVar9) || (pcVar22 = (char *)piVar31[5], pcVar22 == (char *)0x0)\n               ) goto LAB_00019180;\n          }\n          free(pcVar22);\n          piVar31[5] = (int)"";\n          piVar31 = piVar15 + local_70;\n          local_70 = local_70 + 1;\n          iVar9 = FUN_000177e0();\n          *piVar31 = iVar9;\n        }\nLAB_00019180:\n        iVar9 = htab_elements(DAT_0003faf0);\n        piVar31 = piVar19;\n        if ((iVar9 != 0) || (DAT_0003fba0 != (undefined4 *)0x0)) {\n          local_2c = 0;\n          local_30 = piVar19;\n          iVar9 = htab_find(DAT_0003faf0,&local_30);\n          if (((iVar9 == 0) || (piVar31 = *(int **)(iVar9 + 4), piVar19 == piVar31)) &&\n             (puVar33 = DAT_0003fba0, (uVar26 & 0x100) != 0)) {\n            for (; piVar31 = piVar19, puVar33 != (undefined4 *)0x0;\n                puVar33 = (undefined4 *)puVar33[3]) {\n              iVar9 = strcmp((char *)*puVar33,(char *)piVar19);\n              if (iVar9 == 0) {\n                piVar31 = (int *)puVar33[1];\n                break;\n              }\n            }\n          }\n          piVar3[1] = (int)piVar31;\n        }\n        pcVar22 = DAT_0003fad8;\n        if ((char)*piVar31 == *(char *)(param_1[1] + 0x18)) {\n          if (DAT_0003fb1c == 0) {\n            if ((DAT_0003fb18 == 0) ||\n               ((((uVar26 & 0x82) == 0 && (puVar4 != puVar16)) &&\n                ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)))) goto LAB_00019203;\nLAB_0001943c:\n            piVar31 = (int *)((int)piVar31 + 1);\n            piVar3[1] = (int)piVar31;\n            goto LAB_00019203;\n          }\n          if (*(char *)(param_2[1] + 0x18) == '\0') goto LAB_0001943c;\n          if (DAT_0003fad8 != (char *)0x0) {\n            piVar31 = (int *)((int)piVar31 + 1);\n            piVar3[1] = (int)piVar31;\n            goto LAB_0001945b;\n          }\n          *(char *)piVar31 = *(char *)(param_2[1] + 0x18);\n          piVar3[1] = (int)piVar31;\n        }\n        else {\n          if (((DAT_0003fb1c == 0) || (*(char *)(param_2[1] + 0x18) == '\0')) ||\n             (*(char *)(param_1[1] + 0x18) != '\0')) {\nLAB_00019203:\n            if (pcVar22 == (char *)0x0) goto LAB_0001926f;\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = piVar19;\n          }\n          else {\nLAB_0001945b:\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = (int *)((int)piVar19 + 1);\n            *(char *)piVar19 = *(char *)(param_2[1] + 0x18);\n          }\n          pcVar22 = DAT_0003fad8;\n          if (DAT_0003fad8 != (char *)0x0) {\n            strcpy((char *)local_5c,DAT_0003fad8);\n            sVar17 = strlen(pcVar22);\n            local_5c = (int *)((int)local_5c + sVar17);\n          }\n          strcpy((char *)local_5c,(char *)piVar31);\n          piVar3[1] = (int)piVar19;\n          piVar31 = piVar19;\n        }\nLAB_0001926f:\n        if (DAT_0003fb78 == 7) goto LAB_000192f8;\n        if ((uVar26 & 0x20) == 0) {\n          if (((uVar26 & 0x100) == 0) ||\n             ((*(byte *)(**(int **)(piVar3[4] + 0x9c) + 0xc) & 0x20) == 0)) {\n            if ((((uVar35 >> 5 & 0x42) == 0) &&\n                (((uVar26 & 0x82) != 0 || ((*(byte *)(piVar3[4] + 0x15) & 0x10) != 0)))) ||\n               (iVar9 = bfd_decode_symclass(piVar3), iVar9 == 0x49)) {\nLAB_00019528:\n              iVar9 = FUN_00017880();\n              if (iVar9 == 0) goto LAB_000192e0;\n            }\n            else if ((((uVar26 & 0x82) == 0) && (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8)) &&\n                    ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)) {\n              if ((uVar26 & 4) == 0) {\n                if (((*(int *)(param_1[1] + 4) != 2) ||\n                    (iVar9 = *(int *)(piVar3[4] + 0x8c), iVar9 == 0)) ||\n                   (*(int *)(iVar9 + 0x24) == 0)) {\n                  if ((DAT_0003fb78 == 3) || (DAT_0003fb74 == 2)) goto LAB_000192f8;\n                  if (DAT_0003fb74 == 1) {\n                    iVar9 = bfd_is_local_label(param_1,piVar3,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }\n                goto LAB_00019528;\n              }\n              iVar9 = DAT_0003fb28;\n              if (1 < DAT_0003fb78 - 2U) {\njoined_r0x0001a13f:\n                if (iVar9 == 0) goto LAB_00019528;\n              }\n            }\n            else if (DAT_0003fb78 != 3) goto LAB_00019528;\n          }\n          else {\n            iVar9 = FUN_00017880();\n            if (iVar9 != 0) {\n              uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",\n                                 5,iVar9);\n              FUN_0002b6d0(uVar10,piVar31);\n              DAT_0003fb88 = 1;\n            }\nLAB_000192e0:\n            iVar9 = FUN_00017880();\n            if (iVar9 == 0) goto LAB_0001931c;\n          }\nLAB_000192f8:\n          if (((DAT_0003fadc != 0) && ((uVar26 & 0x4000) != 0)) ||\n             (iVar9 = FUN_00017880(), iVar9 != 0)) goto LAB_0001931c;\n        }\n        else {\n          iVar9 = FUN_00017880();\n          if (iVar9 != 0) {\n            uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",5)\n            ;\n            FUN_0002b6d0(uVar10,piVar31);\n            DAT_0003fb88 = 1;\n          }\nLAB_0001931c:\n          iVar9 = FUN_000178f0();\n          if (iVar9 == 0) {\n            if (((uVar26 & 2) != 0) && ((DAT_0003fae0 != 0 || (iVar9 = FUN_00017880(), iVar9 != 0)))\n               ) {\n              piVar3[3] = piVar3[3] & 0xfffffffdU | 0x80;\n            }\n            if (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8) {\n              if (((uVar26 & 0x82) != 0) &&\n                 (((iVar9 = FUN_00017880(), iVar9 != 0 ||\n                   ((iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0)))) ||\n                  ((DAT_0003fb10 != 0 &&\n                   ((((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)\n                    ))))))) {\n                piVar3[3] = piVar3[3] & 0xffffff7dU | 1;\n              }\n              if (((uVar26 & 1) != 0) && (iVar9 = FUN_00017880(), iVar9 != 0)) {\n                piVar3[3] = piVar3[3] & 0xfffffffeU | 2;\n              }\n            }\n            piVar15[local_70] = (int)piVar3;\n            local_70 = local_70 + 1;\n          }\n        }\n        local_68 = local_68 + 1;\n      } while (piVar1 != local_68);\n    }\n    local_5c = DAT_0003fae8;\n    if ((DAT_0003fae8 != (int *)0x0) && (0 < DAT_0003fae4)) {\n      iVar9 = 0;\n      do {\n        pcVar22 = (char *)local_5c[5];\n        if (pcVar22 == (char *)0x0) {\n          iVar12 = FUN_000177e0();\n          piVar15[local_70] = iVar12;\n          local_70 = local_70 + 1;\n        }\n        else if (*pcVar22 != '\0') {\n          uVar10 = dcgettext(0,"\'before=%s\' not found",5,local_70);\n                    /* WARNING: Subroutine does not return */\n          FUN_0002b6a0(uVar10,pcVar22);\n        }\n        iVar9 = iVar9 + 1;\n        local_5c = (int *)*local_5c;\n      } while (iVar9 < DAT_0003fae4);\n    }\n    piVar15[local_70] = 0;\n    if ((DAT_0003fb28 != 0) && (local_94 != 0)) {\n      iVar9 = ((undefined4 *)param_2[1])[1];\n      if ((iVar9 != 2) && (iVar9 != 5)) {\n        uVar10 = *(undefined4 *)param_2[1];\n        uVar11 = dcgettext(0,"don\'t know how to write debugging information for %s",5);\n        FUN_0002c160(0,param_2,0,uVar11,uVar10);\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n      iVar9 = FUN_0002b050(param_2,local_94,&local_4c,local_44,&local_48,&local_30);\n      if (iVar9 == 0) {\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n      iVar9 = bfd_make_section_with_flags(param_2,".stab",0x2108);\n      iVar12 = bfd_make_section_with_flags(param_2,".stabstr",0x2108);\n      if ((((iVar9 == 0) || (iVar12 == 0)) ||\n          (iVar21 = bfd_set_section_size(param_2,iVar9,local_44[0],iVar12), iVar21 == 0)) ||\n         (iVar21 = bfd_set_section_size(param_2,iVar12,local_30,iVar21), iVar21 == 0)) {\n        pcVar22 = "can\'t create debugging section";\nLAB_00019fcf:\n        uVar10 = dcgettext(0,pcVar22,5,iVar9);\n        FUN_0002c160(0,param_2,0,uVar10);\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n      *(undefined4 *)(iVar9 + 0x40) = 2;\n      *(undefined4 *)(iVar12 + 0x40) = 0;\n      iVar9 = bfd_set_section_contents(param_2,iVar9,local_4c,0,0,local_44[0],iVar21,iVar21);\n      if ((iVar9 == 0) ||\n         (iVar9 = bfd_set_section_contents\n                            (param_2,iVar12,local_48,0,0,local_30,extraout_ECX,extraout_ECX),\n         iVar9 == 0)) {\n        pcVar22 = "can\'t set debugging section contents";\n        iVar9 = iVar12;\n        goto LAB_00019fcf;\n      }\n    }\n  }\n  else {\n    if (DAT_0003fb10 != 0 || DAT_0003fb74 != 0) goto LAB_00019037;\n    iVar9 = htab_elements(DAT_0003fb0c);\n    if (((iVar9 != 0) || (iVar9 = htab_elements(DAT_0003fb04), iVar9 != 0)) ||\n       ((iVar9 = htab_elements(DAT_0003fb00), iVar9 != 0 ||\n        (((((iVar9 = htab_elements(DAT_0003fafc), iVar9 != 0 ||\n            (iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0)) ||\n           (iVar9 = htab_elements(DAT_0003faf4), iVar9 != 0)) ||\n          ((iVar9 = htab_elements(DAT_0003faf0), DAT_0003fad8 != (char *)0x0 ||\n           (DAT_0003fba0 != (undefined4 *)0x0)))) ||\n         (((((((DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0) || DAT_0003fb1c != 0)\n            || DAT_0003fb18 != 0) || DAT_0003fae0 != 0) || DAT_0003fae4 != 0) || iVar9 != 0))))))\n    goto LAB_00019032;\n  }\n  bfd_set_symtab(param_2,DAT_0003fb98,local_70);\n  bfd_map_over_sections(param_1,FUN_000181d0,param_2);\n  bfd_map_over_sections(param_1,FUN_00017e40,param_2);\n  psVar38 = param_1;\n  for (puVar33 = DAT_0003fb38; puVar37 = DAT_0003fb34, puVar33 != (undefined4 *)0x0;\n      puVar33 = (undefined4 *)*puVar33) {\n    iVar9 = bfd_set_section_contents(param_2,puVar33[5],puVar33[4],0,0,puVar33[3]);\n    if (iVar9 == 0) {\n      psVar38 = (size_t *)puVar33[5];\n      local_50 = 0;\n      goto LAB_00019763;\n    }\n    psVar38 = param_2;\n  }\n  for (; puVar37 != (undefined4 *)0x0; puVar37 = (undefined4 *)*puVar37) {\n    psVar38 = *(size_t **)(puVar37[5] + 0x3c);\n    local_50 = bfd_set_section_contents(param_2,psVar38,puVar37[4],0,0,puVar37[3]);\n    if (local_50 == 0) {\nLAB_00019763:\n      FUN_0002c160(0,param_2,psVar38,0);\n      return local_50;\n    }\n  }\n  uVar35 = 0;\n  if (DAT_0003fb84 != 0) {\n    uVar35 = bfd_get_section_by_name(param_2,".gnu.build.attributes");\n    if (((uVar35 == 0) || (DAT_0003fb84 == 0)) ||\n       ((*(int *)(param_2[1] + 4) != 5 || (iVar9 = FUN_00017590(), iVar9 == 0)))) {\n      if (DAT_0003fba4 == 0) {\n        uVar10 = dcgettext(0,"could not find any mergeable note sections",5,0);\n        FUN_0002c160(0,param_2,uVar35,uVar10);\n      }\n    }\n    else {\n      iVar9 = bfd_set_section_contents(param_2,uVar35,DAT_0003fb80,0,0,DAT_0003fb7c,iVar9,iVar9);\n      if (iVar9 == 0) {\n        uVar10 = dcgettext(0,"error: failed to copy merged notes into output",5,0);\n        goto LAB_0001a2cd;\n      }\n    }\n    free(DAT_0003fb80);\n    DAT_0003fb80 = (size_t *)0x0;\n    DAT_0003fb84 = 0;\n    psVar38 = param_2;\n  }\n  if ((DAT_0003fb2c != 0) &&\n     (iVar12 = bfd_fill_in_gnu_debuglink_section(param_2,local_98,DAT_0003fb2c),\n     iVar9 = DAT_0003fb2c, iVar12 == 0)) {\n    uVar10 = dcgettext(0,"cannot fill debug link section `%s\'",5,0);\n    FUN_0002c160(0,param_2,0,uVar10,iVar9);\n    return 0;\n  }\n  if (DAT_0003fb54 != 0 || DAT_0003fb4c != 0) {\n    uVar35 = 0x2000;\n    if (local_8c < 0x2001) {\n      uVar35 = local_8c;\n    }\n    psVar20 = (size_t *)xmalloc(uVar35);\n    sVar17 = (uint)DAT_0003fb50 * 0x1010101;\n    if (uVar35 < 4) {\n      if ((uVar35 != 0) && (*(char *)psVar20 = (char)sVar17, (uVar35 & 2) != 0)) {\n        *(short *)((int)psVar20 + (uVar35 - 2)) = (short)sVar17;\n      }\n    }\n    else {\n      *psVar20 = sVar17;\n      *(size_t *)((int)(psVar20 + -1) + uVar35) = sVar17;\n      psVar38 = (size_t *)((uint)(psVar20 + 1) & 0xfffffffc);\n      for (uVar26 = (int)psVar20 + (uVar35 - (int)((uint)(psVar20 + 1) & 0xfffffffc)) >> 2;\n          uVar26 != 0; uVar26 = uVar26 - 1) {\n        *psVar38 = sVar17;\n        psVar38 = psVar38 + (uint)bVar42 * -2 + 1;\n      }\n    }\n    psVar25 = (size_t *)param_2[0x1a];\n    if (psVar25 != (size_t *)0x0) {\n      psVar38 = (size_t *)0x0;\n      do {\n        uVar35 = *(uint *)((int)local_90 + (int)psVar38 * 4);\n        if (uVar35 != 0) {\n          iVar9 = local_84[(int)psVar38];\n          local_58 = 0;\n          local_5c = (int *)(*(int *)(iVar9 + 0x24) - uVar35);\n          while( true ) {\n            uVar26 = 0x2000;\n            if (uVar35 < 0x2001) {\n              uVar26 = uVar35;\n            }\n            iVar9 = bfd_set_section_contents(param_2,iVar9,psVar20,local_5c,local_58,uVar26);\n            if (iVar9 == 0) {\n              psVar38 = (size_t *)local_84[(int)psVar38];\n              local_50 = 0;\n              goto LAB_00019763;\n            }\n            bVar40 = CARRY4((uint)local_5c,uVar26);\n            local_5c = (int *)((int)local_5c + uVar26);\n            local_58 = local_58 + (uint)bVar40;\n            uVar35 = uVar35 - uVar26;\n            if (uVar35 == 0) break;\n            iVar9 = local_84[(int)psVar38];\n          }\n        }\n        psVar38 = (size_t *)((int)psVar38 + 1);\n      } while (psVar25 != psVar38);\n    }\n  }\n  iVar9 = (**(code **)(param_2[1] + 0xa8))(param_1,param_2);\n  if (iVar9 != 0) {\n    if ((DAT_0003fb44 != 0) &&\n       (iVar12 = bfd_alt_mach_code(param_2,DAT_0003fb44,uVar35,uVar35), iVar9 = DAT_0003fb44,\n       iVar12 == 0)) {\n      uVar10 = dcgettext(0,"this target does not support %lu alternative machine codes",5,psVar38);\n      FUN_0002b6d0(uVar10,iVar9);\n      if (*(int *)(param_2[1] + 4) != 5) {\n        uVar10 = dcgettext(0,"ignoring the alternative value",5,extraout_ECX_00);\n        FUN_0002b6d0(uVar10);\n        return 1;\n      }\n      uVar10 = dcgettext(0,"treating that number as an absolute e_machine value instead",5,iVar9);\n      FUN_0002b6d0(uVar10);\n      *(short *)(param_2[0x27] + 0x26) = (short)DAT_0003fb44;\n    }\n    return 1;\n  }\n  uVar10 = dcgettext(0,"error copying private BFD data",5,psVar38);\n  uVar35 = 0;\nLAB_0001a2cd:\n  FUN_0002c160(0,param_2,uVar35,uVar10);\n  return 0;\n}\n\n" comment comment (function_definition "int __regparm3 FUN_000185f0(size_t *param_1,size_t *param_2,int param_3)\n\n{\n  void *__dest;\n  int *piVar1;\n  size_t sVar2;\n  int *piVar3;\n  undefined *puVar4;\n  size_t sVar5;\n  size_t *psVar6;\n  size_t *psVar7;\n  char cVar8;\n  int iVar9;\n  undefined4 uVar10;\n  undefined4 uVar11;\n  int iVar12;\n  FILE *__s;\n  undefined4 uVar13;\n  undefined4 uVar14;\n  int *piVar15;\n  undefined *puVar16;\n  size_t sVar17;\n  size_t sVar18;\n  int *piVar19;\n  size_t *psVar20;\n  int iVar21;\n  char *pcVar22;\n  size_t sVar23;\n  void *pvVar24;\n  size_t *psVar25;\n  undefined4 extraout_ECX;\n  uint uVar26;\n  undefined4 extraout_ECX_00;\n  undefined4 extraout_ECX_01;\n  uint uVar27;\n  undefined4 extraout_ECX_02;\n  undefined4 extraout_ECX_03;\n  uint uVar28;\n  undefined1 *puVar29;\n  void *pvVar30;\n  size_t __n;\n  undefined4 extraout_EDX;\n  int *piVar31;\n  byte *pbVar32;\n  undefined4 *puVar33;\n  size_t *psVar34;\n  uint uVar35;\n  byte *pbVar36;\n  undefined4 *puVar37;\n  size_t *psVar38;\n  uint uVar39;\n  bool bVar40;\n  bool bVar41;\n  byte bVar42;\n  undefined8 uVar43;\n  void *pvVar44;\n  size_t *psVar45;\n  size_t *psVar46;\n  size_t local_98;\n  size_t local_94;\n  void *local_90;\n  size_t local_8c;\n  int *local_84;\n  size_t *local_80;\n  size_t *local_7c;\n  uint local_74;\n  int local_70;\n  uint local_6c;\n  int *local_68;\n  size_t *local_64;\n  size_t *local_60;\n  int *local_5c;\n  int local_58;\n  int local_50;\n  undefined4 local_4c;\n  undefined4 local_48;\n  undefined4 local_44 [5];\n  int *local_30;\n  undefined4 local_2c;\n  undefined4 uStack_14;\n  \n  bVar42 = 0;\n  uStack_14 = 0x185fd;\n  if ((*(int *)(param_1[1] + 8) != *(int *)(param_2[1] + 8) && *(int *)(param_1[1] + 8) != 2) &&\n     (*(int *)(param_2[1] + 8) != 2)) {\n    uVar10 = dcgettext(0,"Unable to change endianness of input file(s)",5);\n    FUN_0002b6d0(uVar10);\n    return 0;\n  }\n  iVar9 = bfd_set_format(param_2,(byte)param_1[10] & 7);\n  if (iVar9 == 0) {\n    FUN_0002c160(0,param_2,0,0);\n    return 0;\n  }\n  if (param_1[0x18] == 0) {\n    uVar10 = FUN_0002c060(param_1);\n    pcVar22 = "error: the input file \'%s\' has no sections";\n    goto LAB_00018bc8;\n  }\n  if (((undefined4 *)param_1[1])[1] != 5) {\n    if ((DAT_0003fb24 != 1) && ((DAT_0003fb24 & 1) != 0)) {\n      uVar10 = FUN_0002c060(param_1);\n      pcVar22 = "--compress-debug-sections=[zlib|zlib-gnu|zlib-gabi] is unsupported on `%s\'";\nLAB_00018bc8:\n      uVar11 = dcgettext(0,pcVar22,5);\n      FUN_0002b6d0(uVar11,uVar10);\n      return 0;\n    }\n    if (DAT_0003fb20 != 0) {\n      uVar10 = FUN_0002c060(param_1);\n      pcVar22 = "--elf-stt-common=[yes|no] is unsupported on `%s\'";\n      goto LAB_00018bc8;\n    }\n  }\n  if (DAT_0003fb90 != 0) {\n    uVar10 = *(undefined4 *)param_1[1];\n    uVar11 = *(undefined4 *)param_2[1];\n    sVar17 = *param_2;\n    uVar13 = FUN_0002c060(param_1);\n    pcVar22 = (char *)dcgettext(0,"copy from `%s\' [%s] to `%s\' [%s]\n",5);\n    printf(pcVar22,uVar13,uVar10,sVar17,uVar11);\n  }\n  iVar9 = 0;\n  if (DAT_0003facc == 0) {\n    sVar17 = DAT_0003fb5c;\n    if (DAT_0003fb60 == 0) {\n      sVar17 = param_1[0x1c];\n    }\n    iVar9 = sVar17 + DAT_0003fb64;\n  }\n  if ((param_2[10] & 7) != 3) {\n    uVar35 = ~DAT_0003fb3c & *(uint *)(param_2[1] + 0x10) &\n             (param_1[10] >> 5 & 0xfffff | DAT_0003fb40);\n    if (DAT_0003fb78 == 7) {\n      uVar35 = uVar35 & 0xfffffffe;\n    }\n    iVar9 = bfd_set_start_address(param_2,iVar9);\n    if ((iVar9 == 0) || (iVar9 = bfd_set_file_flags(param_2,uVar35), iVar9 == 0)) goto LAB_00018840;\n  }\n  uVar10 = bfd_get_arch(param_1);\n  uVar11 = bfd_get_mach(param_1);\n  if (param_3 != 0) {\n    iVar9 = bfd_get_arch_info(param_1);\n    if ((iVar9 == 0) || (iVar9 = bfd_get_arch_info(param_1), *(int *)(iVar9 + 0xc) == 0)) {\n      uVar10 = *(undefined4 *)(param_3 + 0xc);\n      uVar11 = *(undefined4 *)(param_3 + 0x10);\n    }\n    else {\n      uVar13 = FUN_0002c060(param_1);\n      uVar14 = dcgettext(0,"Input file `%s\' ignores binary architecture parameter.",5);\n      FUN_0002b6d0(uVar14,uVar13);\n    }\n  }\n  iVar9 = (**(code **)(param_2[1] + 0x154))(param_2,uVar10,uVar11);\n  if (iVar9 == 0) {\n    if ((*(byte *)((int)param_1 + 0x2b) & 4) != 0) {\nLAB_000187e7:\n      iVar9 = bfd_get_arch(param_1);\n      if (iVar9 == 0) {\n        uVar10 = FUN_0002c060(param_1);\n        pcVar22 = "Unable to recognise the format of the input file `%s\'";\n      }\n      else {\n        uVar10 = bfd_get_mach(param_1);\n        uVar11 = bfd_get_arch(param_1);\n        uVar10 = bfd_printable_arch_mach(uVar11,uVar10);\n        pcVar22 = "Output file cannot represent architecture `%s\'";\n      }\n      uVar11 = dcgettext(0,pcVar22,5);\n      FUN_0002b6d0(uVar11,uVar10);\n      return 0;\n    }\n    iVar9 = bfd_get_arch(param_1);\n    iVar12 = bfd_get_arch(param_2);\n    if (iVar9 != iVar12) goto LAB_000187e7;\n  }\n  iVar9 = bfd_set_format(param_2,(byte)param_1[10] & 7);\n  if (iVar9 == 0) {\nLAB_00018840:\n    FUN_0002c160(0,param_1,0,0);\n    return 0;\n  }\n  uVar35 = ((undefined4 *)param_2[1])[1];\n  bVar40 = uVar35 < 2;\n  bVar41 = uVar35 == 2;\n  if (bVar41) {\n    iVar9 = 4;\n    pbVar32 = *(byte **)param_2[1];\n    pbVar36 = &DAT_0002e16a;\n    do {\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar40 = *pbVar32 < *pbVar36;\n      bVar41 = *pbVar32 == *pbVar36;\n      pbVar32 = pbVar32 + (uint)bVar42 * -2 + 1;\n      pbVar36 = pbVar36 + (uint)bVar42 * -2 + 1;\n    } while (bVar41);\n    if ((!bVar40 && !bVar41) == bVar40) {\n      sVar17 = param_2[0x27];\n      uVar35 = ((undefined4 *)param_1[1])[1];\n      bVar40 = uVar35 < 2;\n      bVar41 = uVar35 == 2;\n      if (bVar41) {\n        iVar9 = 4;\n        pbVar32 = *(byte **)param_1[1];\n        pbVar36 = &DAT_0002e16a;\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar40 = *pbVar32 < *pbVar36;\n          bVar41 = *pbVar32 == *pbVar36;\n          pbVar32 = pbVar32 + (uint)bVar42 * -2 + 1;\n          pbVar36 = pbVar36 + (uint)bVar42 * -2 + 1;\n        } while (bVar41);\n        if ((!bVar40 && !bVar41) == bVar40) {\n          puVar33 = (undefined4 *)(param_1[0x27] + 0x78);\n          puVar37 = (undefined4 *)(sVar17 + 0x78);\n          for (iVar9 = 0x38; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar37 = *puVar33;\n            puVar33 = puVar33 + (uint)bVar42 * -2 + 1;\n            puVar37 = puVar37 + (uint)bVar42 * -2 + 1;\n          }\n        }\n      }\n      uVar35 = DAT_0003f298;\n      if (DAT_0003f298 == 0xffffffff) {\n        DAT_0003f298 = 0x200;\n        uVar35 = 0x200;\n      }\n      else {\n        *(uint *)(sVar17 + 0x9c) = DAT_0003f298;\n      }\n      if (DAT_0003f294 != -1) {\n        *(int *)(sVar17 + 0xcc) = DAT_0003f294;\n      }\n      if (DAT_0003f290 != -1) {\n        *(int *)(sVar17 + 0xcc) = DAT_0003f290;\n      }\n      if (DAT_0003f28c != -1) {\n        *(int *)(sVar17 + 0x94) = DAT_0003f28c;\n      }\n      uVar26 = DAT_0003f288;\n      if (DAT_0003f288 == 0xffffffff) {\n        DAT_0003f288 = 0x1000;\n        uVar26 = 0x1000;\n      }\n      else {\n        *(uint *)(sVar17 + 0x98) = DAT_0003f288;\n      }\n      if (DAT_0003f284 != -1) {\n        *(int *)(sVar17 + 0xc4) = DAT_0003f284;\n      }\n      if (DAT_0003f280 != -1) {\n        *(int *)(sVar17 + 0xc4) = DAT_0003f280;\n      }\n      if (DAT_0003f27c != -1) {\n        *(short *)(sVar17 + 0xbc) = DAT_0003f27c;\n      }\n      if (DAT_0003f27a != -1) {\n        *(short *)(sVar17 + 0xa8) = DAT_0003f27a;\n      }\n      if (DAT_0003f278 != -1) {\n        *(short *)(sVar17 + 0xaa) = DAT_0003f278;\n      }\n      if (uVar26 < uVar35) {\n        sprintf((char *)local_44,"%08lx",uVar35);\n        sprintf((char *)&local_30,"%08lx",DAT_0003f288);\n        uVar10 = dcgettext(0,"warning: file alignment (0x%s) > section alignment (0x%s)",5);\n        FUN_0002b6d0(uVar10,local_44,&local_30);\n      }\n    }\n  }\n  piVar15 = DAT_0003fb9c;\n  if (DAT_0003fb9c != (int *)0x0) {\n    free(DAT_0003fb9c);\n  }\n  if (piVar15 != DAT_0003fb98) {\n    free(DAT_0003fb98);\n  }\n  DAT_0003fb9c = (int *)0x0;\n  DAT_0003fb98 = (int *)0x0;\n  iVar9 = (**(code **)(param_1[1] + 0x104))(param_1);\n  if (iVar9 < 0) goto LAB_00018840;\n  DAT_0003fb98 = (int *)xmalloc(iVar9);\n  DAT_0003fb9c = DAT_0003fb98;\n  local_70 = (**(code **)(param_1[1] + 0x108))(param_1,DAT_0003fb98);\n  if (local_70 < 0) goto LAB_00018840;\n  if (local_70 == 0) {\n    free(DAT_0003fb9c);\n    DAT_0003fb9c = (int *)0x0;\n    DAT_0003fb98 = (int *)0x0;\n  }\n  bfd_map_over_sections(param_1,FUN_000179b0,param_2);\n  puVar33 = DAT_0003fb38;\n  if ((DAT_0003facc == 0) &&\n     (iVar9 = (**(code **)(param_2[1] + 0xbc))(param_1,param_2), puVar33 = DAT_0003fb38, iVar9 == 0)\n     ) {\n    DAT_0003fb88 = 1;\n    uVar10 = dcgettext(0,"error in private header data",5);\n    FUN_0002c160(0,param_1,0,uVar10);\n    puVar33 = DAT_0003fb38;\n  }\n  for (; puVar37 = DAT_0003fb34, puVar33 != (undefined4 *)0x0; puVar33 = (undefined4 *)*puVar33) {\n    uVar35 = 0x128;\n    iVar9 = FUN_00016910();\n    if (iVar9 != 0) {\n      uVar35 = *(uint *)(iVar9 + 0x18) | 0x100;\n    }\n    iVar9 = bfd_get_section_by_name(param_2,puVar33[1]);\n    if (iVar9 != 0) {\n      uVar10 = puVar33[1];\n      pcVar22 = "can\'t add section \'%s\'";\nLAB_00019719:\n      uVar11 = dcgettext(0,pcVar22,5);\n      FUN_0002c160(0,param_2,0,uVar11,uVar10);\n      return 0;\n    }\n    iVar9 = bfd_make_section_with_flags(param_2,puVar33[1],uVar35 | 0x100000);\n    puVar33[5] = iVar9;\n    if (iVar9 == 0) {\n      uVar10 = puVar33[1];\n      pcVar22 = "can\'t create section `%s\'";\n      goto LAB_00019719;\n    }\n    iVar9 = bfd_set_section_size(param_2,iVar9,puVar33[3]);\n    if (iVar9 == 0) {\n      psVar38 = (size_t *)puVar33[5];\n      local_50 = 0;\n      goto LAB_00019763;\n    }\n    iVar9 = FUN_00016910();\n    if (iVar9 != 0) {\n      uVar10 = *(undefined4 *)(iVar9 + 0x10);\n      iVar9 = puVar33[5];\n      *(byte *)(iVar9 + 0x18) = *(byte *)(iVar9 + 0x18) | 1;\n      *(undefined4 *)(iVar9 + 0x20) = uVar10;\n      *(undefined4 *)(iVar9 + 0x1c) = uVar10;\n    }\n    iVar9 = FUN_00016910();\n    if (iVar9 != 0) {\n      *(undefined4 *)(puVar33[5] + 0x20) = *(undefined4 *)(iVar9 + 0x14);\n    }\n  }\n  for (; puVar37 != (undefined4 *)0x0; puVar37 = (undefined4 *)*puVar37) {\n    iVar9 = bfd_get_section_by_name(param_1,puVar37[1]);\n    puVar37[5] = iVar9;\n    if (iVar9 == 0) {\n      uVar10 = puVar37[1];\n      pcVar22 = "error: %s not found, can\'t be updated";\n      goto LAB_00018bc8;\n    }\n    psVar38 = *(size_t **)(iVar9 + 0x3c);\n    local_50 = bfd_set_section_size(param_2,psVar38,puVar37[3]);\n    if (local_50 == 0) goto LAB_00019763;\n  }\n  if ((((DAT_0003fb84 != 0) &&\n       (sVar17 = bfd_get_section_by_name(param_1,".gnu.build.attributes"), sVar17 != 0)) &&\n      (DAT_0003fb84 != 0)) &&\n     ((*(int *)(param_1[1] + 4) == 5 && (iVar9 = FUN_00017590(), iVar9 != 0)))) {\n    uVar35 = *(uint *)(sVar17 + 0x24);\n    if (uVar35 == 0) {\n      uVar10 = dcgettext(0,"warning: note section is empty",5,0);\n      FUN_0002c160(0,param_1,sVar17,uVar10);\n      DAT_0003fb84 = 0;\n    }\n    else {\n      iVar9 = bfd_get_full_section_contents(param_1,sVar17,&DAT_0003fb80,uVar35);\n      psVar38 = DAT_0003fb80;\n      if (iVar9 == 0) {\n        uVar10 = dcgettext(0,"warning: could not load note section",5,0);\n        FUN_0002c160(0,param_1,sVar17,uVar10);\n        free(DAT_0003fb80);\n        DAT_0003fb80 = (size_t *)0x0;\n        DAT_0003fb84 = 0;\n      }\n      else {\n        iVar9 = bfd_get_reloc_upper_bound(param_1,sVar17,sVar17,sVar17);\n        psVar20 = param_1;\n        sVar18 = sVar17;\n        if (0 < iVar9) {\n          psVar20 = (size_t *)xmalloc(iVar9);\n          sVar18 = bfd_canonicalize_reloc(param_1,sVar17,psVar20,DAT_0003fb9c);\n          free(psVar20);\n          if (sVar18 == 0) goto LAB_0001a478;\n          local_60 = (size_t *)0x0;\n          goto LAB_0001a75c;\n        }\nLAB_0001a478:\n        pvVar44 = (void *)0x24;\n        psVar46 = psVar20;\n        local_60 = (size_t *)xcalloc(uVar35 / 0xc,0x24,psVar20,psVar20);\n        local_90 = (void *)0x0;\n        local_98 = 0;\n        local_8c = 0;\n        local_94 = 0;\n        local_6c = 0;\n        local_84 = (int *)0x0;\n        local_80 = (size_t *)0x0;\n        psVar25 = psVar38;\n        psVar34 = psVar38;\n        local_74 = uVar35;\n        local_64 = local_60;\n        while (0xb < local_74) {\n          iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25);\n          uVar26 = iVar9 + 3U & 0xfffffffc;\n          *local_64 = uVar26;\n          iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25 + 1);\n          uVar39 = iVar9 + 3U & 0xfffffffc;\n          sVar18 = param_1[1];\n          local_64[1] = uVar39;\n          sVar23 = (**(code **)(sVar18 + 0x28))(psVar25 + 2);\n          local_64[2] = sVar23;\n          if (1 < sVar23 - 0x100) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: wrong note type",5,\n                              extraout_ECX_01);\n            goto LAB_0001a72d;\n          }\n          iVar9 = uVar26 + uVar39;\n          if (local_74 < iVar9 + 0xcU) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: note too big",5,psVar25);\n            goto LAB_0001a72d;\n          }\n          if (uVar26 < 2) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name too small",5,iVar9);\n            goto LAB_0001a72d;\n          }\n          local_64[3] = (size_t)(psVar25 + 3);\n          sVar2 = (int)psVar25 + uVar26 + 0xc;\n          local_64[4] = sVar2;\n          psVar34 = (size_t *)(-0xc - iVar9);\n          local_74 = local_74 + (int)psVar34;\n          cVar8 = (char)psVar25[3];\n          if (cVar8 == '$') {\n            if ((*(char *)((int)psVar25 + 0xd) == '\x01') && (*(char *)((int)psVar25 + 0xe) == '1'))\n            {\n              local_80 = (size_t *)((int)local_80 + 1);\n            }\n          }\n          else if ((((4 < uVar26) && (cVar8 == 'G')) && (*(char *)((int)psVar25 + 0xd) == 'A')) &&\n                  ((*(char *)((int)psVar25 + 0xe) == '$' &&\n                   (*(char *)((int)psVar25 + 0xf) == '\x01')))) {\n            cVar8 = (char)psVar25[4];\n            if (cVar8 == '2') {\n              local_84 = (int *)((int)local_84 + 1);\n            }\n            else {\n              if (cVar8 != '3') {\n                iVar9 = dcgettext(0,"corrupt GNU build attribute note: unsupported version",5,cVar8)\n                ;\n                goto LAB_0001a72d;\n              }\n              local_6c = local_6c + 1;\n            }\n          }\n          if (uVar39 == 4) {\n            sVar18 = (**(code **)(param_1[1] + 0x28))(sVar2);\n            pvVar24 = (void *)0xffffffff;\n          }\n          else if (uVar39 < 5) {\n            if (uVar39 != 0) {\nLAB_0001a7ea:\n              iVar9 = dcgettext(0,"corrupt GNU build attribute note: bad description size",5,cVar8);\n              goto LAB_0001a72d;\n            }\n            pvVar24 = (void *)0x0;\n            sVar18 = 0;\n          }\n          else {\n            psVar34 = param_1;\n            if (uVar39 == 8) {\n              sVar18 = param_1[1];\n              if ((*(int *)(sVar18 + 4) == 5) && (*(char *)(param_1[0x27] + 4) == '\x02')) {\n                sVar18 = (**(code **)(sVar18 + 0x1c))(sVar2);\n                pvVar24 = (void *)0xffffffff;\n              }\n              else {\n                sVar18 = (**(code **)(sVar18 + 0x28))(sVar2);\n                pvVar24 = (void *)(**(code **)(param_1[1] + 0x28))(sVar2 + 4);\n              }\n            }\n            else {\n              if (uVar39 != 0x10) goto LAB_0001a7ea;\n              sVar18 = (**(code **)(param_1[1] + 0x1c))(sVar2);\n              pvVar24 = (void *)(**(code **)(param_1[1] + 0x1c))(sVar2 + 8);\n            }\n          }\n          if (sVar23 == 0x100) {\n            if (sVar18 == 0) {\n              sVar18 = local_8c;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = local_90;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_90 = pvVar24;\n            local_8c = sVar18;\n          }\n          else {\n            if (sVar18 == 0) {\n              sVar18 = local_94;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = (void *)local_98;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_98 = (size_t)pvVar24;\n            local_94 = sVar18;\n          }\n          if (*(char *)((local_64[3] - 1) + *local_64) != '\0') {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name not NUL terminated",5,\n                              *local_64);\n            goto LAB_0001a72d;\n          }\n          local_64 = local_64 + 9;\n          psVar25 = (size_t *)(iVar9 + 0xcU + (int)psVar25);\n        }\n        if (local_74 == 0) {\n          uVar26 = (uint)local_84 | local_6c;\n          if (local_80 == (size_t *)0x0 && uVar26 == 0) {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: no known versions detected",5,uVar26\n                             );\n            goto LAB_0001a72d;\n          }\n          if (((local_80 != (size_t *)0x0) && (uVar26 != 0)) ||\n             ((local_84 != (int *)0x0 && (local_6c != 0)))) {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: multiple different versions",5,\n                              sVar18);\n            goto LAB_0001a72d;\n          }\n          if ((local_80 == (size_t *)0x1 || local_84 == (int *)0x1) || (local_6c == 1))\n          goto LAB_0001a75c;\n          uVar26 = -(uint)(local_80 == (size_t *)0x0) & 2;\n          iVar9 = uVar26 + 1;\n          if (*(char *)(local_60[3] + iVar9) != '\x01') {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: first note not version note",5,\n                              psVar34);\n            goto LAB_0001a72d;\n          }\n          bVar40 = false;\n          iVar12 = uVar26 + 2;\n          psVar25 = local_60;\nLAB_0001a954:\n          psVar34 = psVar25;\n          psVar25 = psVar34 + 9;\n          if (psVar25 < local_64) {\n            if (psVar34[0xb] == 0x100) {\n              pvVar24 = (void *)psVar34[0xc];\n              local_7c = (size_t *)0x0;\n              psVar45 = psVar25;\n              do {\n                do {\n                  psVar6 = psVar45;\n                  psVar45 = psVar6 + -9;\n                  if (psVar45 < local_60) goto LAB_0001a954;\n                  pvVar30 = (void *)psVar6[-6];\n                  psVar7 = local_7c;\n                } while ((((local_7c == (size_t *)0x0) && (psVar6[-8] != 0)) &&\n                         (psVar7 = psVar45, psVar6[-7] == 0x101)) ||\n                        ((local_7c = psVar7,\n                         *(char *)((int)pvVar24 + iVar9) != *(char *)((int)pvVar30 + iVar9) ||\n                         (psVar6[-7] != 0x100))));\n                if (*(char *)((int)pvVar30 + iVar9) != '\x04') {\n                  psVar45 = (size_t *)*psVar45;\n                  if ((((psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)) &&\n                      ((uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0))))\n                     && ((0xfffffff0 < uVar26 || (psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0))))) {\n                    psVar34[0xb] = 0;\n                    if (uVar26 < uVar39) {\n                      psVar6[-2] = uVar39;\n                    }\n                    bVar40 = true;\n                    if (local_6c != 0) {\n                      psVar6[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0)) {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    psVar34[0x11] = 1;\n                    psVar34[0xb] = 0x101;\n                    psVar6[-1] = 1;\n                    psVar6[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }\n                uVar26 = 0;\n                for (iVar21 = 0; (int)*psVar25 - iVar12 != iVar21; iVar21 = iVar21 + 1) {\n                  uVar26 = uVar26 | (uint)*(byte *)((int)pvVar24 + iVar21 + iVar12) <<\n                                    ((char)iVar21 * '\b' & 0x1fU);\n                }\n                sVar18 = *psVar45;\n                local_5c = (int *)0x0;\n                for (uVar39 = 0; sVar18 - iVar12 != uVar39; uVar39 = uVar39 + 1) {\n                  local_5c = (int *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39] <<\n                                    ((char)uVar39 * '\b' & 0x1fU));\n                }\n                uVar28 = 0;\n                uVar26 = (int)local_5c + uVar26;\n                for (uVar27 = uVar26; uVar27 != 0; uVar27 = uVar27 >> 8) {\n                  uVar28 = uVar28 + 1;\n                }\n              } while (uVar39 <= uVar28);\n              puVar29 = (undefined1 *)((int)pvVar30 + iVar12);\n              while (puVar29 < (undefined1 *)((int)pvVar30 + sVar18)) {\n                *puVar29 = (char)uVar26;\n                if (uVar26 == 0) break;\n                uVar26 = uVar26 >> 8;\n                puVar29 = puVar29 + 1;\n              }\n              psVar34[0xb] = 0;\n              bVar40 = true;\n            }\n            goto LAB_0001a954;\n          }\n          if (!bVar40) goto LAB_0001a75c;\n          pvVar24 = (void *)xmalloc(uVar35,pvVar44,psVar20,psVar46);\n          sVar18 = 0;\n          pvVar44 = pvVar24;\n          local_80 = psVar38;\n          for (psVar20 = local_60; psVar20 < local_64; psVar20 = psVar20 + 9) {\n            sVar23 = *psVar20;\n            __n = psVar20[1] + sVar23 + 0xc;\n            sVar2 = psVar20[2];\n            pvVar30 = pvVar44;\n            if (sVar2 != 0) {\n              if (psVar20[8] == 0) {\n                memcpy(pvVar44,local_80,__n);\n                pvVar30 = (void *)((int)pvVar44 + __n);\n              }\n              else {\n                sVar5 = psVar20[6];\n                __dest = (void *)((int)pvVar44 + 0xc);\n                pvVar30 = (void *)((int)__dest + sVar23);\n                if ((sVar5 == local_74) && (psVar20[7] == sVar18)) {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar5,sVar5);\n                  (**(code **)(param_1[1] + 0x30))(0,(int)pvVar44 + 4);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                }\n                else {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar18,sVar18);\n                  cVar8 = '\b';\n                  if (*(int *)(param_1[1] + 4) == 5) {\n                    cVar8 = (*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b';\n                  }\n                  (**(code **)(param_1[1] + 0x30))(cVar8,(int)pvVar44 + 4,sVar23,sVar23);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                  sVar18 = param_1[1];\n                  psVar25 = param_1;\n                  if ((*(int *)(sVar18 + 4) == 5) &&\n                     (psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02')) {\n                    (**(code **)(sVar18 + 0x24))(sVar5,0,pvVar30,psVar25);\n                    (**(code **)(param_1[1] + 0x24))(psVar20[7],0,(void *)((int)pvVar30 + 8));\n                    pvVar30 = (void *)((int)pvVar30 + 0x10);\n                  }\n                  else {\n                    (**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25);\n                    (**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4);\n                    pvVar30 = (void *)((int)pvVar30 + 8);\n                  }\n                }\n              }\n              local_74 = psVar20[6];\n              sVar18 = psVar20[7];\n            }\n            local_80 = (size_t *)((int)local_80 + __n);\n            pvVar44 = pvVar30;\n          }\n          sVar18 = (int)pvVar44 - (int)pvVar24;\n          memcpy(psVar38,pvVar24,sVar18);\n          free(pvVar24);\n          free(local_60);\n          DAT_0003fb7c = sVar18;\n          if (uVar35 != sVar18) {\n            uVar10 = extraout_ECX_02;\n            if ((*(int *)(sVar17 + 0x3c) != 0) &&\n               (iVar9 = bfd_set_section_size(param_2,*(int *)(sVar17 + 0x3c),sVar18,extraout_EDX),\n               uVar10 = extraout_ECX_03, iVar9 != 0)) goto LAB_00018aad;\n            uVar10 = dcgettext(0,"warning: failed to set merged notes size",5,uVar10);\n            FUN_0002c160(0,param_2,sVar17,uVar10);\n          }\n        }\n        else {\n          iVar9 = dcgettext(0,"corrupt GNU build attribute notes: excess data at end",5,local_64);\nLAB_0001a72d:\n          if (iVar9 != 0) {\n            bfd_set_error(0x11);\n            FUN_0002c160(0,param_1,sVar17,iVar9);\n            DAT_0003fb88 = 1;\n          }\nLAB_0001a75c:\n          free(local_60);\n        }\n        free(DAT_0003fb80);\n        DAT_0003fb80 = (size_t *)0x0;\n        DAT_0003fb84 = 0;\n        DAT_0003fb7c = 0;\n      }\n    }\n  }\nLAB_00018aad:\n  local_98 = DAT_0003fb2c;\n  for (puVar33 = DAT_0003fb30; DAT_0003fb2c = local_98, puVar33 != (undefined4 *)0x0;\n      puVar33 = (undefined4 *)*puVar33) {\n    iVar9 = bfd_get_section_by_name(param_1,puVar33[1]);\n    if (iVar9 == 0) {\n      uVar10 = puVar33[1];\n      uVar11 = dcgettext(0,"can\'t dump section \'%s\' - it does not exist",5);\n      FUN_0002c160(0,param_1,0,uVar11,uVar10);\n    }\n    else {\n      if ((*(byte *)(iVar9 + 0x15) & 1) == 0) {\n        pcVar22 = "can\'t dump section - it has no contents";\n      }\n      else {\n        sVar17 = *(size_t *)(iVar9 + 0x24);\n        if (sVar17 != 0) {\n          __s = fopen64((char *)puVar33[2],"w");\n          if (__s == (FILE *)0x0) {\n            uVar10 = dcgettext(0,"could not open section dump file",5);\n            FUN_0002c160(puVar33[2],0,0,uVar10);\n          }\n          else {\n            iVar12 = bfd_malloc_and_get_section(param_1,iVar9,&local_30);\n            if (iVar12 == 0) {\n              uVar10 = dcgettext(0,"could not retrieve section contents",5);\n              FUN_0002c160(0,param_1,iVar9,uVar10);\n            }\n            else {\n              sVar18 = fwrite(local_30,1,sVar17,__s);\n              if (sVar17 != sVar18) {\n                piVar15 = __errno_location();\n                pcVar22 = strerror(*piVar15);\n                uVar10 = puVar33[2];\n                uVar11 = dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                FUN_0002b6d0(uVar11,uVar10,pcVar22);\n                free(local_30);\n                return 0;\n              }\n            }\n            fclose(__s);\n            free(local_30);\n          }\n          goto LAB_00018b49;\n        }\n        pcVar22 = "can\'t dump section - it is empty";\n      }\n      uVar10 = dcgettext(0,pcVar22,5);\n      FUN_0002c160(0,param_1,iVar9,uVar10);\n    }\nLAB_00018b49:\n    local_98 = DAT_0003fb2c;\n  }\n  if (local_98 != 0) {\n    iVar9 = bfd_get_section_by_name(param_2,".gnu_debuglink");\n    if (iVar9 == 0) {\n      local_98 = bfd_create_gnu_debuglink_section(param_2,DAT_0003fb2c);\n      iVar9 = DAT_0003fb2c;\n      if (local_98 == 0) {\n        uVar10 = dcgettext(0,"cannot create debug link section `%s\'",5,param_2);\n        FUN_0002c160(0,param_2,0,uVar10,iVar9);\n        return 0;\n      }\n      if (*(int *)(param_2[1] + 4) == 2) {\n        sVar17 = param_2[0x18];\n        sVar18 = 0;\n        if (sVar17 == 0) {\nLAB_0001a360:\n          uVar26 = 0x1000;\n        }\n        else {\n          do {\n            sVar23 = sVar18;\n            if (((*(uint *)(sVar17 + 0x1c) != 0) && (sVar23 = sVar17, sVar18 != 0)) &&\n               (sVar23 = sVar18, *(uint *)(sVar18 + 0x1c) < *(uint *)(sVar17 + 0x1c))) {\n              sVar23 = sVar17;\n            }\n            sVar17 = *(size_t *)(sVar17 + 0xc);\n            sVar18 = sVar23;\n          } while (sVar17 != 0);\n          if (sVar23 == 0) goto LAB_0001a360;\n          uVar35 = *(int *)(sVar23 + 0x24) + *(int *)(sVar23 + 0x1c);\n          uVar26 = 0xffffffff;\n          if (uVar35 < 0xfffff001) {\n            uVar26 = uVar35 + 0xfff & 0xfffff000;\n          }\n        }\n        *(uint *)(local_98 + 0x20) = uVar26;\n        *(uint *)(local_98 + 0x1c) = uVar26;\n        *(byte *)(local_98 + 0x18) = *(byte *)(local_98 + 0x18) | 1;\n      }\n    }\n    else {\n      sVar17 = *param_2;\n      uVar10 = dcgettext(0,"%s: debuglink section already exists",5);\n      FUN_0002b6d0(uVar10,sVar17);\n      DAT_0003fb2c = 0;\n      local_98 = 0;\n    }\n  }\n  sVar17 = param_2[0x1a];\n  local_8c = sVar17;\n  if (sVar17 == 0) {\nLAB_00018ff7:\n    local_90 = (void *)0x0;\n    local_84 = (int *)0x0;\n    sVar18 = local_8c;\n  }\n  else {\n    if (DAT_0003fb54 == 0 && DAT_0003fb4c == 0) {\n      local_8c = 0;\n      goto LAB_00018ff7;\n    }\n    sVar23 = sVar17 * 4;\n    local_84 = (int *)xmalloc(sVar23);\n    local_30 = local_84;\n    bfd_map_over_sections(param_2,FUN_00016710,&local_30);\n    qsort(local_84,sVar17,4,FUN_00016730);\n    local_90 = (void *)xmalloc(sVar23);\n    memset(local_90,0,sVar23);\n    if ((DAT_0003fb54 == 0) || (sVar17 == 1)) {\n      local_8c = 0;\n    }\n    else {\n      iVar9 = 0;\n      local_8c = 0;\n      piVar15 = local_84;\n      do {\n        iVar12 = *piVar15;\n        iVar9 = iVar9 + 1;\n        sVar18 = local_8c;\n        if ((*(uint *)(iVar12 + 0x14) & 0x102) == 0x102) {\n          uVar35 = *(int *)(iVar12 + 0x20) + *(int *)(iVar12 + 0x24);\n          if (uVar35 < *(uint *)(piVar15[1] + 0x20)) {\n            sVar18 = *(uint *)(piVar15[1] + 0x20) - uVar35;\n            uVar43 = bfd_set_section_size(param_2,iVar12,*(int *)(iVar12 + 0x24) + sVar18);\n            if ((int)uVar43 == 0) {\n              uVar10 = dcgettext(0,"Can\'t fill gap after section",5,\n                                 (int)((ulonglong)uVar43 >> 0x20));\n              FUN_0002c160(0,param_2,*piVar15,uVar10);\n              DAT_0003fb88 = 1;\n              break;\n            }\n            *(size_t *)((int)local_90 + iVar9 * 4 + -4) = sVar18;\n            if (sVar18 <= local_8c) {\n              sVar18 = local_8c;\n            }\n          }\n        }\n        local_8c = sVar18;\n        piVar15 = piVar15 + 1;\n      } while (sVar17 - 1 != iVar9);\n    }\n    sVar18 = local_8c;\n    if (DAT_0003fb4c != 0) {\n      iVar9 = local_84[sVar17 - 1];\n      uVar35 = *(int *)(iVar9 + 0x24) + *(int *)(iVar9 + 0x20);\n      if (uVar35 < DAT_0003fb48) {\n        iVar9 = bfd_set_section_size(param_2,iVar9,DAT_0003fb48 - *(int *)(iVar9 + 0x20));\n        if (iVar9 == 0) {\n          uVar10 = dcgettext(0,"can\'t add padding",5,uVar35);\n          FUN_0002c160(0,param_2,local_84[sVar17 - 1],uVar10);\n          DAT_0003fb88 = 1;\n        }\n        else {\n          sVar18 = DAT_0003fb48 - uVar35;\n          *(size_t *)((int)local_90 + (sVar23 - 4)) = sVar18;\n          if (sVar18 <= local_8c) {\n            sVar18 = local_8c;\n          }\n        }\n      }\n    }\n  }\n  local_8c = sVar18;\n  local_94 = 0;\n  if (DAT_0003fb28 != 0) {\n    local_94 = FUN_0001c0f0(param_1,DAT_0003fb9c,local_70,0);\n  }\n  if (DAT_0003fb78 - 2U < 6) {\nLAB_00019032:\n    if (DAT_0003fb78 != 7) {\nLAB_00019037:\n      bfd_set_error(0);\n      bfd_map_over_sections(param_1,FUN_00018470,DAT_0003fb9c);\n      iVar9 = bfd_get_error();\n      if (iVar9 != 0) {\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n    }\n    piVar15 = (int *)xmalloc((DAT_0003fae4 + local_70) * 4 + 4);\n    local_68 = DAT_0003fb9c;\n    uVar35 = param_1[10];\n    DAT_0003fb98 = piVar15;\n    if (local_70 != 0) {\n      piVar1 = DAT_0003fb9c + local_70;\n      local_70 = 0;\n      puVar16 = PTR__bfd_std_section_0003efc8 + 0xa8;\n      do {\n        iVar9 = DAT_0003fae4;\n        piVar3 = (int *)*local_68;\n        uVar26 = piVar3[3];\n        piVar19 = (int *)piVar3[1];\n        puVar4 = (undefined *)piVar3[4];\n        if (((DAT_0003fae8 != (int *)0x0) && (0 < DAT_0003fae4)) &&\n           (pcVar22 = (char *)DAT_0003fae8[5], pcVar22 != (char *)0x0)) {\n          local_5c = (int *)0x0;\n          piVar31 = DAT_0003fae8;\n          while (iVar12 = strcmp(pcVar22,(char *)piVar19), iVar12 != 0) {\n            local_5c = (int *)((int)local_5c + 1);\n            piVar31 = (int *)*piVar31;\n            if ((local_5c == (int *)iVar9) || (pcVar22 = (char *)piVar31[5], pcVar22 == (char *)0x0)\n               ) goto LAB_00019180;\n          }\n          free(pcVar22);\n          piVar31[5] = (int)"";\n          piVar31 = piVar15 + local_70;\n          local_70 = local_70 + 1;\n          iVar9 = FUN_000177e0();\n          *piVar31 = iVar9;\n        }\nLAB_00019180:\n        iVar9 = htab_elements(DAT_0003faf0);\n        piVar31 = piVar19;\n        if ((iVar9 != 0) || (DAT_0003fba0 != (undefined4 *)0x0)) {\n          local_2c = 0;\n          local_30 = piVar19;\n          iVar9 = htab_find(DAT_0003faf0,&local_30);\n          if (((iVar9 == 0) || (piVar31 = *(int **)(iVar9 + 4), piVar19 == piVar31)) &&\n             (puVar33 = DAT_0003fba0, (uVar26 & 0x100) != 0)) {\n            for (; piVar31 = piVar19, puVar33 != (undefined4 *)0x0;\n                puVar33 = (undefined4 *)puVar33[3]) {\n              iVar9 = strcmp((char *)*puVar33,(char *)piVar19);\n              if (iVar9 == 0) {\n                piVar31 = (int *)puVar33[1];\n                break;\n              }\n            }\n          }\n          piVar3[1] = (int)piVar31;\n        }\n        pcVar22 = DAT_0003fad8;\n        if ((char)*piVar31 == *(char *)(param_1[1] + 0x18)) {\n          if (DAT_0003fb1c == 0) {\n            if ((DAT_0003fb18 == 0) ||\n               ((((uVar26 & 0x82) == 0 && (puVar4 != puVar16)) &&\n                ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)))) goto LAB_00019203;\nLAB_0001943c:\n            piVar31 = (int *)((int)piVar31 + 1);\n            piVar3[1] = (int)piVar31;\n            goto LAB_00019203;\n          }\n          if (*(char *)(param_2[1] + 0x18) == '\0') goto LAB_0001943c;\n          if (DAT_0003fad8 != (char *)0x0) {\n            piVar31 = (int *)((int)piVar31 + 1);\n            piVar3[1] = (int)piVar31;\n            goto LAB_0001945b;\n          }\n          *(char *)piVar31 = *(char *)(param_2[1] + 0x18);\n          piVar3[1] = (int)piVar31;\n        }\n        else {\n          if (((DAT_0003fb1c == 0) || (*(char *)(param_2[1] + 0x18) == '\0')) ||\n             (*(char *)(param_1[1] + 0x18) != '\0')) {\nLAB_00019203:\n            if (pcVar22 == (char *)0x0) goto LAB_0001926f;\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = piVar19;\n          }\n          else {\nLAB_0001945b:\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = (int *)((int)piVar19 + 1);\n            *(char *)piVar19 = *(char *)(param_2[1] + 0x18);\n          }\n          pcVar22 = DAT_0003fad8;\n          if (DAT_0003fad8 != (char *)0x0) {\n            strcpy((char *)local_5c,DAT_0003fad8);\n            sVar17 = strlen(pcVar22);\n            local_5c = (int *)((int)local_5c + sVar17);\n          }\n          strcpy((char *)local_5c,(char *)piVar31);\n          piVar3[1] = (int)piVar19;\n          piVar31 = piVar19;\n        }\nLAB_0001926f:\n        if (DAT_0003fb78 == 7) goto LAB_000192f8;\n        if ((uVar26 & 0x20) == 0) {\n          if (((uVar26 & 0x100) == 0) ||\n             ((*(byte *)(**(int **)(piVar3[4] + 0x9c) + 0xc) & 0x20) == 0)) {\n            if ((((uVar35 >> 5 & 0x42) == 0) &&\n                (((uVar26 & 0x82) != 0 || ((*(byte *)(piVar3[4] + 0x15) & 0x10) != 0)))) ||\n               (iVar9 = bfd_decode_symclass(piVar3), iVar9 == 0x49)) {\nLAB_00019528:\n              iVar9 = FUN_00017880();\n              if (iVar9 == 0) goto LAB_000192e0;\n            }\n            else if ((((uVar26 & 0x82) == 0) && (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8)) &&\n                    ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)) {\n              if ((uVar26 & 4) == 0) {\n                if (((*(int *)(param_1[1] + 4) != 2) ||\n                    (iVar9 = *(int *)(piVar3[4] + 0x8c), iVar9 == 0)) ||\n                   (*(int *)(iVar9 + 0x24) == 0)) {\n                  if ((DAT_0003fb78 == 3) || (DAT_0003fb74 == 2)) goto LAB_000192f8;\n                  if (DAT_0003fb74 == 1) {\n                    iVar9 = bfd_is_local_label(param_1,piVar3,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }\n                goto LAB_00019528;\n              }\n              iVar9 = DAT_0003fb28;\n              if (1 < DAT_0003fb78 - 2U) {\njoined_r0x0001a13f:\n                if (iVar9 == 0) goto LAB_00019528;\n              }\n            }\n            else if (DAT_0003fb78 != 3) goto LAB_00019528;\n          }\n          else {\n            iVar9 = FUN_00017880();\n            if (iVar9 != 0) {\n              uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",\n                                 5,iVar9);\n              FUN_0002b6d0(uVar10,piVar31);\n              DAT_0003fb88 = 1;\n            }\nLAB_000192e0:\n            iVar9 = FUN_00017880();\n            if (iVar9 == 0) goto LAB_0001931c;\n          }\nLAB_000192f8:\n          if (((DAT_0003fadc != 0) && ((uVar26 & 0x4000) != 0)) ||\n             (iVar9 = FUN_00017880(), iVar9 != 0)) goto LAB_0001931c;\n        }\n        else {\n          iVar9 = FUN_00017880();\n          if (iVar9 != 0) {\n            uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",5)\n            ;\n            FUN_0002b6d0(uVar10,piVar31);\n            DAT_0003fb88 = 1;\n          }\nLAB_0001931c:\n          iVar9 = FUN_000178f0();\n          if (iVar9 == 0) {\n            if (((uVar26 & 2) != 0) && ((DAT_0003fae0 != 0 || (iVar9 = FUN_00017880(), iVar9 != 0)))\n               ) {\n              piVar3[3] = piVar3[3] & 0xfffffffdU | 0x80;\n            }\n            if (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8) {\n              if (((uVar26 & 0x82) != 0) &&\n                 (((iVar9 = FUN_00017880(), iVar9 != 0 ||\n                   ((iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0)))) ||\n                  ((DAT_0003fb10 != 0 &&\n                   ((((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)\n                    ))))))) {\n                piVar3[3] = piVar3[3] & 0xffffff7dU | 1;\n              }\n              if (((uVar26 & 1) != 0) && (iVar9 = FUN_00017880(), iVar9 != 0)) {\n                piVar3[3] = piVar3[3] & 0xfffffffeU | 2;\n              }\n            }\n            piVar15[local_70] = (int)piVar3;\n            local_70 = local_70 + 1;\n          }\n        }\n        local_68 = local_68 + 1;\n      } while (piVar1 != local_68);\n    }\n    local_5c = DAT_0003fae8;\n    if ((DAT_0003fae8 != (int *)0x0) && (0 < DAT_0003fae4)) {\n      iVar9 = 0;\n      do {\n        pcVar22 = (char *)local_5c[5];\n        if (pcVar22 == (char *)0x0) {\n          iVar12 = FUN_000177e0();\n          piVar15[local_70] = iVar12;\n          local_70 = local_70 + 1;\n        }\n        else if (*pcVar22 != '\0') {\n          uVar10 = dcgettext(0,"\'before=%s\' not found",5,local_70);\n                    /* WARNING: Subroutine does not return */\n          FUN_0002b6a0(uVar10,pcVar22);\n        }\n        iVar9 = iVar9 + 1;\n        local_5c = (int *)*local_5c;\n      } while (iVar9 < DAT_0003fae4);\n    }\n    piVar15[local_70] = 0;\n    if ((DAT_0003fb28 != 0) && (local_94 != 0)) {\n      iVar9 = ((undefined4 *)param_2[1])[1];\n      if ((iVar9 != 2) && (iVar9 != 5)) {\n        uVar10 = *(undefined4 *)param_2[1];\n        uVar11 = dcgettext(0,"don\'t know how to write debugging information for %s",5);\n        FUN_0002c160(0,param_2,0,uVar11,uVar10);\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n      iVar9 = FUN_0002b050(param_2,local_94,&local_4c,local_44,&local_48,&local_30);\n      if (iVar9 == 0) {\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n      iVar9 = bfd_make_section_with_flags(param_2,".stab",0x2108);\n      iVar12 = bfd_make_section_with_flags(param_2,".stabstr",0x2108);\n      if ((((iVar9 == 0) || (iVar12 == 0)) ||\n          (iVar21 = bfd_set_section_size(param_2,iVar9,local_44[0],iVar12), iVar21 == 0)) ||\n         (iVar21 = bfd_set_section_size(param_2,iVar12,local_30,iVar21), iVar21 == 0)) {\n        pcVar22 = "can\'t create debugging section";\nLAB_00019fcf:\n        uVar10 = dcgettext(0,pcVar22,5,iVar9);\n        FUN_0002c160(0,param_2,0,uVar10);\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n      *(undefined4 *)(iVar9 + 0x40) = 2;\n      *(undefined4 *)(iVar12 + 0x40) = 0;\n      iVar9 = bfd_set_section_contents(param_2,iVar9,local_4c,0,0,local_44[0],iVar21,iVar21);\n      if ((iVar9 == 0) ||\n         (iVar9 = bfd_set_section_contents\n                            (param_2,iVar12,local_48,0,0,local_30,extraout_ECX,extraout_ECX),\n         iVar9 == 0)) {\n        pcVar22 = "can\'t set debugging section contents";\n        iVar9 = iVar12;\n        goto LAB_00019fcf;\n      }\n    }\n  }\n  else {\n    if (DAT_0003fb10 != 0 || DAT_0003fb74 != 0) goto LAB_00019037;\n    iVar9 = htab_elements(DAT_0003fb0c);\n    if (((iVar9 != 0) || (iVar9 = htab_elements(DAT_0003fb04), iVar9 != 0)) ||\n       ((iVar9 = htab_elements(DAT_0003fb00), iVar9 != 0 ||\n        (((((iVar9 = htab_elements(DAT_0003fafc), iVar9 != 0 ||\n            (iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0)) ||\n           (iVar9 = htab_elements(DAT_0003faf4), iVar9 != 0)) ||\n          ((iVar9 = htab_elements(DAT_0003faf0), DAT_0003fad8 != (char *)0x0 ||\n           (DAT_0003fba0 != (undefined4 *)0x0)))) ||\n         (((((((DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0) || DAT_0003fb1c != 0)\n            || DAT_0003fb18 != 0) || DAT_0003fae0 != 0) || DAT_0003fae4 != 0) || iVar9 != 0))))))\n    goto LAB_00019032;\n  }\n  bfd_set_symtab(param_2,DAT_0003fb98,local_70);\n  bfd_map_over_sections(param_1,FUN_000181d0,param_2);\n  bfd_map_over_sections(param_1,FUN_00017e40,param_2);\n  psVar38 = param_1;\n  for (puVar33 = DAT_0003fb38; puVar37 = DAT_0003fb34, puVar33 != (undefined4 *)0x0;\n      puVar33 = (undefined4 *)*puVar33) {\n    iVar9 = bfd_set_section_contents(param_2,puVar33[5],puVar33[4],0,0,puVar33[3]);\n    if (iVar9 == 0) {\n      psVar38 = (size_t *)puVar33[5];\n      local_50 = 0;\n      goto LAB_00019763;\n    }\n    psVar38 = param_2;\n  }\n  for (; puVar37 != (undefined4 *)0x0; puVar37 = (undefined4 *)*puVar37) {\n    psVar38 = *(size_t **)(puVar37[5] + 0x3c);\n    local_50 = bfd_set_section_contents(param_2,psVar38,puVar37[4],0,0,puVar37[3]);\n    if (local_50 == 0) {\nLAB_00019763:\n      FUN_0002c160(0,param_2,psVar38,0);\n      return local_50;\n    }\n  }\n  uVar35 = 0;\n  if (DAT_0003fb84 != 0) {\n    uVar35 = bfd_get_section_by_name(param_2,".gnu.build.attributes");\n    if (((uVar35 == 0) || (DAT_0003fb84 == 0)) ||\n       ((*(int *)(param_2[1] + 4) != 5 || (iVar9 = FUN_00017590(), iVar9 == 0)))) {\n      if (DAT_0003fba4 == 0) {\n        uVar10 = dcgettext(0,"could not find any mergeable note sections",5,0);\n        FUN_0002c160(0,param_2,uVar35,uVar10);\n      }\n    }\n    else {\n      iVar9 = bfd_set_section_contents(param_2,uVar35,DAT_0003fb80,0,0,DAT_0003fb7c,iVar9,iVar9);\n      if (iVar9 == 0) {\n        uVar10 = dcgettext(0,"error: failed to copy merged notes into output",5,0);\n        goto LAB_0001a2cd;\n      }\n    }\n    free(DAT_0003fb80);\n    DAT_0003fb80 = (size_t *)0x0;\n    DAT_0003fb84 = 0;\n    psVar38 = param_2;\n  }\n  if ((DAT_0003fb2c != 0) &&\n     (iVar12 = bfd_fill_in_gnu_debuglink_section(param_2,local_98,DAT_0003fb2c),\n     iVar9 = DAT_0003fb2c, iVar12 == 0)) {\n    uVar10 = dcgettext(0,"cannot fill debug link section `%s\'",5,0);\n    FUN_0002c160(0,param_2,0,uVar10,iVar9);\n    return 0;\n  }\n  if (DAT_0003fb54 != 0 || DAT_0003fb4c != 0) {\n    uVar35 = 0x2000;\n    if (local_8c < 0x2001) {\n      uVar35 = local_8c;\n    }\n    psVar20 = (size_t *)xmalloc(uVar35);\n    sVar17 = (uint)DAT_0003fb50 * 0x1010101;\n    if (uVar35 < 4) {\n      if ((uVar35 != 0) && (*(char *)psVar20 = (char)sVar17, (uVar35 & 2) != 0)) {\n        *(short *)((int)psVar20 + (uVar35 - 2)) = (short)sVar17;\n      }\n    }\n    else {\n      *psVar20 = sVar17;\n      *(size_t *)((int)(psVar20 + -1) + uVar35) = sVar17;\n      psVar38 = (size_t *)((uint)(psVar20 + 1) & 0xfffffffc);\n      for (uVar26 = (int)psVar20 + (uVar35 - (int)((uint)(psVar20 + 1) & 0xfffffffc)) >> 2;\n          uVar26 != 0; uVar26 = uVar26 - 1) {\n        *psVar38 = sVar17;\n        psVar38 = psVar38 + (uint)bVar42 * -2 + 1;\n      }\n    }\n    psVar25 = (size_t *)param_2[0x1a];\n    if (psVar25 != (size_t *)0x0) {\n      psVar38 = (size_t *)0x0;\n      do {\n        uVar35 = *(uint *)((int)local_90 + (int)psVar38 * 4);\n        if (uVar35 != 0) {\n          iVar9 = local_84[(int)psVar38];\n          local_58 = 0;\n          local_5c = (int *)(*(int *)(iVar9 + 0x24) - uVar35);\n          while( true ) {\n            uVar26 = 0x2000;\n            if (uVar35 < 0x2001) {\n              uVar26 = uVar35;\n            }\n            iVar9 = bfd_set_section_contents(param_2,iVar9,psVar20,local_5c,local_58,uVar26);\n            if (iVar9 == 0) {\n              psVar38 = (size_t *)local_84[(int)psVar38];\n              local_50 = 0;\n              goto LAB_00019763;\n            }\n            bVar40 = CARRY4((uint)local_5c,uVar26);\n            local_5c = (int *)((int)local_5c + uVar26);\n            local_58 = local_58 + (uint)bVar40;\n            uVar35 = uVar35 - uVar26;\n            if (uVar35 == 0) break;\n            iVar9 = local_84[(int)psVar38];\n          }\n        }\n        psVar38 = (size_t *)((int)psVar38 + 1);\n      } while (psVar25 != psVar38);\n    }\n  }\n  iVar9 = (**(code **)(param_2[1] + 0xa8))(param_1,param_2);\n  if (iVar9 != 0) {\n    if ((DAT_0003fb44 != 0) &&\n       (iVar12 = bfd_alt_mach_code(param_2,DAT_0003fb44,uVar35,uVar35), iVar9 = DAT_0003fb44,\n       iVar12 == 0)) {\n      uVar10 = dcgettext(0,"this target does not support %lu alternative machine codes",5,psVar38);\n      FUN_0002b6d0(uVar10,iVar9);\n      if (*(int *)(param_2[1] + 4) != 5) {\n        uVar10 = dcgettext(0,"ignoring the alternative value",5,extraout_ECX_00);\n        FUN_0002b6d0(uVar10);\n        return 1;\n      }\n      uVar10 = dcgettext(0,"treating that number as an absolute e_machine value instead",5,iVar9);\n      FUN_0002b6d0(uVar10);\n      *(short *)(param_2[0x27] + 0x26) = (short)DAT_0003fb44;\n    }\n    return 1;\n  }\n  uVar10 = dcgettext(0,"error copying private BFD data",5,psVar38);\n  uVar35 = 0;\nLAB_0001a2cd:\n  FUN_0002c160(0,param_2,uVar35,uVar10);\n  return 0;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_000185f0(size_t *param_1,size_t *param_2,int param_3)" identifier (parameter_list "(size_t *param_1,size_t *param_2,int param_3)" ( (parameter_declaration "size_t *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "size_t *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "int param_3" primitive_type identifier) ))) (compound_statement "{\n  void *__dest;\n  int *piVar1;\n  size_t sVar2;\n  int *piVar3;\n  undefined *puVar4;\n  size_t sVar5;\n  size_t *psVar6;\n  size_t *psVar7;\n  char cVar8;\n  int iVar9;\n  undefined4 uVar10;\n  undefined4 uVar11;\n  int iVar12;\n  FILE *__s;\n  undefined4 uVar13;\n  undefined4 uVar14;\n  int *piVar15;\n  undefined *puVar16;\n  size_t sVar17;\n  size_t sVar18;\n  int *piVar19;\n  size_t *psVar20;\n  int iVar21;\n  char *pcVar22;\n  size_t sVar23;\n  void *pvVar24;\n  size_t *psVar25;\n  undefined4 extraout_ECX;\n  uint uVar26;\n  undefined4 extraout_ECX_00;\n  undefined4 extraout_ECX_01;\n  uint uVar27;\n  undefined4 extraout_ECX_02;\n  undefined4 extraout_ECX_03;\n  uint uVar28;\n  undefined1 *puVar29;\n  void *pvVar30;\n  size_t __n;\n  undefined4 extraout_EDX;\n  int *piVar31;\n  byte *pbVar32;\n  undefined4 *puVar33;\n  size_t *psVar34;\n  uint uVar35;\n  byte *pbVar36;\n  undefined4 *puVar37;\n  size_t *psVar38;\n  uint uVar39;\n  bool bVar40;\n  bool bVar41;\n  byte bVar42;\n  undefined8 uVar43;\n  void *pvVar44;\n  size_t *psVar45;\n  size_t *psVar46;\n  size_t local_98;\n  size_t local_94;\n  void *local_90;\n  size_t local_8c;\n  int *local_84;\n  size_t *local_80;\n  size_t *local_7c;\n  uint local_74;\n  int local_70;\n  uint local_6c;\n  int *local_68;\n  size_t *local_64;\n  size_t *local_60;\n  int *local_5c;\n  int local_58;\n  int local_50;\n  undefined4 local_4c;\n  undefined4 local_48;\n  undefined4 local_44 [5];\n  int *local_30;\n  undefined4 local_2c;\n  undefined4 uStack_14;\n  \n  bVar42 = 0;\n  uStack_14 = 0x185fd;\n  if ((*(int *)(param_1[1] + 8) != *(int *)(param_2[1] + 8) && *(int *)(param_1[1] + 8) != 2) &&\n     (*(int *)(param_2[1] + 8) != 2)) {\n    uVar10 = dcgettext(0,"Unable to change endianness of input file(s)",5);\n    FUN_0002b6d0(uVar10);\n    return 0;\n  }\n  iVar9 = bfd_set_format(param_2,(byte)param_1[10] & 7);\n  if (iVar9 == 0) {\n    FUN_0002c160(0,param_2,0,0);\n    return 0;\n  }\n  if (param_1[0x18] == 0) {\n    uVar10 = FUN_0002c060(param_1);\n    pcVar22 = "error: the input file \'%s\' has no sections";\n    goto LAB_00018bc8;\n  }\n  if (((undefined4 *)param_1[1])[1] != 5) {\n    if ((DAT_0003fb24 != 1) && ((DAT_0003fb24 & 1) != 0)) {\n      uVar10 = FUN_0002c060(param_1);\n      pcVar22 = "--compress-debug-sections=[zlib|zlib-gnu|zlib-gabi] is unsupported on `%s\'";\nLAB_00018bc8:\n      uVar11 = dcgettext(0,pcVar22,5);\n      FUN_0002b6d0(uVar11,uVar10);\n      return 0;\n    }\n    if (DAT_0003fb20 != 0) {\n      uVar10 = FUN_0002c060(param_1);\n      pcVar22 = "--elf-stt-common=[yes|no] is unsupported on `%s\'";\n      goto LAB_00018bc8;\n    }\n  }\n  if (DAT_0003fb90 != 0) {\n    uVar10 = *(undefined4 *)param_1[1];\n    uVar11 = *(undefined4 *)param_2[1];\n    sVar17 = *param_2;\n    uVar13 = FUN_0002c060(param_1);\n    pcVar22 = (char *)dcgettext(0,"copy from `%s\' [%s] to `%s\' [%s]\n",5);\n    printf(pcVar22,uVar13,uVar10,sVar17,uVar11);\n  }\n  iVar9 = 0;\n  if (DAT_0003facc == 0) {\n    sVar17 = DAT_0003fb5c;\n    if (DAT_0003fb60 == 0) {\n      sVar17 = param_1[0x1c];\n    }\n    iVar9 = sVar17 + DAT_0003fb64;\n  }\n  if ((param_2[10] & 7) != 3) {\n    uVar35 = ~DAT_0003fb3c & *(uint *)(param_2[1] + 0x10) &\n             (param_1[10] >> 5 & 0xfffff | DAT_0003fb40);\n    if (DAT_0003fb78 == 7) {\n      uVar35 = uVar35 & 0xfffffffe;\n    }\n    iVar9 = bfd_set_start_address(param_2,iVar9);\n    if ((iVar9 == 0) || (iVar9 = bfd_set_file_flags(param_2,uVar35), iVar9 == 0)) goto LAB_00018840;\n  }\n  uVar10 = bfd_get_arch(param_1);\n  uVar11 = bfd_get_mach(param_1);\n  if (param_3 != 0) {\n    iVar9 = bfd_get_arch_info(param_1);\n    if ((iVar9 == 0) || (iVar9 = bfd_get_arch_info(param_1), *(int *)(iVar9 + 0xc) == 0)) {\n      uVar10 = *(undefined4 *)(param_3 + 0xc);\n      uVar11 = *(undefined4 *)(param_3 + 0x10);\n    }\n    else {\n      uVar13 = FUN_0002c060(param_1);\n      uVar14 = dcgettext(0,"Input file `%s\' ignores binary architecture parameter.",5);\n      FUN_0002b6d0(uVar14,uVar13);\n    }\n  }\n  iVar9 = (**(code **)(param_2[1] + 0x154))(param_2,uVar10,uVar11);\n  if (iVar9 == 0) {\n    if ((*(byte *)((int)param_1 + 0x2b) & 4) != 0) {\nLAB_000187e7:\n      iVar9 = bfd_get_arch(param_1);\n      if (iVar9 == 0) {\n        uVar10 = FUN_0002c060(param_1);\n        pcVar22 = "Unable to recognise the format of the input file `%s\'";\n      }\n      else {\n        uVar10 = bfd_get_mach(param_1);\n        uVar11 = bfd_get_arch(param_1);\n        uVar10 = bfd_printable_arch_mach(uVar11,uVar10);\n        pcVar22 = "Output file cannot represent architecture `%s\'";\n      }\n      uVar11 = dcgettext(0,pcVar22,5);\n      FUN_0002b6d0(uVar11,uVar10);\n      return 0;\n    }\n    iVar9 = bfd_get_arch(param_1);\n    iVar12 = bfd_get_arch(param_2);\n    if (iVar9 != iVar12) goto LAB_000187e7;\n  }\n  iVar9 = bfd_set_format(param_2,(byte)param_1[10] & 7);\n  if (iVar9 == 0) {\nLAB_00018840:\n    FUN_0002c160(0,param_1,0,0);\n    return 0;\n  }\n  uVar35 = ((undefined4 *)param_2[1])[1];\n  bVar40 = uVar35 < 2;\n  bVar41 = uVar35 == 2;\n  if (bVar41) {\n    iVar9 = 4;\n    pbVar32 = *(byte **)param_2[1];\n    pbVar36 = &DAT_0002e16a;\n    do {\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar40 = *pbVar32 < *pbVar36;\n      bVar41 = *pbVar32 == *pbVar36;\n      pbVar32 = pbVar32 + (uint)bVar42 * -2 + 1;\n      pbVar36 = pbVar36 + (uint)bVar42 * -2 + 1;\n    } while (bVar41);\n    if ((!bVar40 && !bVar41) == bVar40) {\n      sVar17 = param_2[0x27];\n      uVar35 = ((undefined4 *)param_1[1])[1];\n      bVar40 = uVar35 < 2;\n      bVar41 = uVar35 == 2;\n      if (bVar41) {\n        iVar9 = 4;\n        pbVar32 = *(byte **)param_1[1];\n        pbVar36 = &DAT_0002e16a;\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar40 = *pbVar32 < *pbVar36;\n          bVar41 = *pbVar32 == *pbVar36;\n          pbVar32 = pbVar32 + (uint)bVar42 * -2 + 1;\n          pbVar36 = pbVar36 + (uint)bVar42 * -2 + 1;\n        } while (bVar41);\n        if ((!bVar40 && !bVar41) == bVar40) {\n          puVar33 = (undefined4 *)(param_1[0x27] + 0x78);\n          puVar37 = (undefined4 *)(sVar17 + 0x78);\n          for (iVar9 = 0x38; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar37 = *puVar33;\n            puVar33 = puVar33 + (uint)bVar42 * -2 + 1;\n            puVar37 = puVar37 + (uint)bVar42 * -2 + 1;\n          }\n        }\n      }\n      uVar35 = DAT_0003f298;\n      if (DAT_0003f298 == 0xffffffff) {\n        DAT_0003f298 = 0x200;\n        uVar35 = 0x200;\n      }\n      else {\n        *(uint *)(sVar17 + 0x9c) = DAT_0003f298;\n      }\n      if (DAT_0003f294 != -1) {\n        *(int *)(sVar17 + 0xcc) = DAT_0003f294;\n      }\n      if (DAT_0003f290 != -1) {\n        *(int *)(sVar17 + 0xcc) = DAT_0003f290;\n      }\n      if (DAT_0003f28c != -1) {\n        *(int *)(sVar17 + 0x94) = DAT_0003f28c;\n      }\n      uVar26 = DAT_0003f288;\n      if (DAT_0003f288 == 0xffffffff) {\n        DAT_0003f288 = 0x1000;\n        uVar26 = 0x1000;\n      }\n      else {\n        *(uint *)(sVar17 + 0x98) = DAT_0003f288;\n      }\n      if (DAT_0003f284 != -1) {\n        *(int *)(sVar17 + 0xc4) = DAT_0003f284;\n      }\n      if (DAT_0003f280 != -1) {\n        *(int *)(sVar17 + 0xc4) = DAT_0003f280;\n      }\n      if (DAT_0003f27c != -1) {\n        *(short *)(sVar17 + 0xbc) = DAT_0003f27c;\n      }\n      if (DAT_0003f27a != -1) {\n        *(short *)(sVar17 + 0xa8) = DAT_0003f27a;\n      }\n      if (DAT_0003f278 != -1) {\n        *(short *)(sVar17 + 0xaa) = DAT_0003f278;\n      }\n      if (uVar26 < uVar35) {\n        sprintf((char *)local_44,"%08lx",uVar35);\n        sprintf((char *)&local_30,"%08lx",DAT_0003f288);\n        uVar10 = dcgettext(0,"warning: file alignment (0x%s) > section alignment (0x%s)",5);\n        FUN_0002b6d0(uVar10,local_44,&local_30);\n      }\n    }\n  }\n  piVar15 = DAT_0003fb9c;\n  if (DAT_0003fb9c != (int *)0x0) {\n    free(DAT_0003fb9c);\n  }\n  if (piVar15 != DAT_0003fb98) {\n    free(DAT_0003fb98);\n  }\n  DAT_0003fb9c = (int *)0x0;\n  DAT_0003fb98 = (int *)0x0;\n  iVar9 = (**(code **)(param_1[1] + 0x104))(param_1);\n  if (iVar9 < 0) goto LAB_00018840;\n  DAT_0003fb98 = (int *)xmalloc(iVar9);\n  DAT_0003fb9c = DAT_0003fb98;\n  local_70 = (**(code **)(param_1[1] + 0x108))(param_1,DAT_0003fb98);\n  if (local_70 < 0) goto LAB_00018840;\n  if (local_70 == 0) {\n    free(DAT_0003fb9c);\n    DAT_0003fb9c = (int *)0x0;\n    DAT_0003fb98 = (int *)0x0;\n  }\n  bfd_map_over_sections(param_1,FUN_000179b0,param_2);\n  puVar33 = DAT_0003fb38;\n  if ((DAT_0003facc == 0) &&\n     (iVar9 = (**(code **)(param_2[1] + 0xbc))(param_1,param_2), puVar33 = DAT_0003fb38, iVar9 == 0)\n     ) {\n    DAT_0003fb88 = 1;\n    uVar10 = dcgettext(0,"error in private header data",5);\n    FUN_0002c160(0,param_1,0,uVar10);\n    puVar33 = DAT_0003fb38;\n  }\n  for (; puVar37 = DAT_0003fb34, puVar33 != (undefined4 *)0x0; puVar33 = (undefined4 *)*puVar33) {\n    uVar35 = 0x128;\n    iVar9 = FUN_00016910();\n    if (iVar9 != 0) {\n      uVar35 = *(uint *)(iVar9 + 0x18) | 0x100;\n    }\n    iVar9 = bfd_get_section_by_name(param_2,puVar33[1]);\n    if (iVar9 != 0) {\n      uVar10 = puVar33[1];\n      pcVar22 = "can\'t add section \'%s\'";\nLAB_00019719:\n      uVar11 = dcgettext(0,pcVar22,5);\n      FUN_0002c160(0,param_2,0,uVar11,uVar10);\n      return 0;\n    }\n    iVar9 = bfd_make_section_with_flags(param_2,puVar33[1],uVar35 | 0x100000);\n    puVar33[5] = iVar9;\n    if (iVar9 == 0) {\n      uVar10 = puVar33[1];\n      pcVar22 = "can\'t create section `%s\'";\n      goto LAB_00019719;\n    }\n    iVar9 = bfd_set_section_size(param_2,iVar9,puVar33[3]);\n    if (iVar9 == 0) {\n      psVar38 = (size_t *)puVar33[5];\n      local_50 = 0;\n      goto LAB_00019763;\n    }\n    iVar9 = FUN_00016910();\n    if (iVar9 != 0) {\n      uVar10 = *(undefined4 *)(iVar9 + 0x10);\n      iVar9 = puVar33[5];\n      *(byte *)(iVar9 + 0x18) = *(byte *)(iVar9 + 0x18) | 1;\n      *(undefined4 *)(iVar9 + 0x20) = uVar10;\n      *(undefined4 *)(iVar9 + 0x1c) = uVar10;\n    }\n    iVar9 = FUN_00016910();\n    if (iVar9 != 0) {\n      *(undefined4 *)(puVar33[5] + 0x20) = *(undefined4 *)(iVar9 + 0x14);\n    }\n  }\n  for (; puVar37 != (undefined4 *)0x0; puVar37 = (undefined4 *)*puVar37) {\n    iVar9 = bfd_get_section_by_name(param_1,puVar37[1]);\n    puVar37[5] = iVar9;\n    if (iVar9 == 0) {\n      uVar10 = puVar37[1];\n      pcVar22 = "error: %s not found, can\'t be updated";\n      goto LAB_00018bc8;\n    }\n    psVar38 = *(size_t **)(iVar9 + 0x3c);\n    local_50 = bfd_set_section_size(param_2,psVar38,puVar37[3]);\n    if (local_50 == 0) goto LAB_00019763;\n  }\n  if ((((DAT_0003fb84 != 0) &&\n       (sVar17 = bfd_get_section_by_name(param_1,".gnu.build.attributes"), sVar17 != 0)) &&\n      (DAT_0003fb84 != 0)) &&\n     ((*(int *)(param_1[1] + 4) == 5 && (iVar9 = FUN_00017590(), iVar9 != 0)))) {\n    uVar35 = *(uint *)(sVar17 + 0x24);\n    if (uVar35 == 0) {\n      uVar10 = dcgettext(0,"warning: note section is empty",5,0);\n      FUN_0002c160(0,param_1,sVar17,uVar10);\n      DAT_0003fb84 = 0;\n    }\n    else {\n      iVar9 = bfd_get_full_section_contents(param_1,sVar17,&DAT_0003fb80,uVar35);\n      psVar38 = DAT_0003fb80;\n      if (iVar9 == 0) {\n        uVar10 = dcgettext(0,"warning: could not load note section",5,0);\n        FUN_0002c160(0,param_1,sVar17,uVar10);\n        free(DAT_0003fb80);\n        DAT_0003fb80 = (size_t *)0x0;\n        DAT_0003fb84 = 0;\n      }\n      else {\n        iVar9 = bfd_get_reloc_upper_bound(param_1,sVar17,sVar17,sVar17);\n        psVar20 = param_1;\n        sVar18 = sVar17;\n        if (0 < iVar9) {\n          psVar20 = (size_t *)xmalloc(iVar9);\n          sVar18 = bfd_canonicalize_reloc(param_1,sVar17,psVar20,DAT_0003fb9c);\n          free(psVar20);\n          if (sVar18 == 0) goto LAB_0001a478;\n          local_60 = (size_t *)0x0;\n          goto LAB_0001a75c;\n        }\nLAB_0001a478:\n        pvVar44 = (void *)0x24;\n        psVar46 = psVar20;\n        local_60 = (size_t *)xcalloc(uVar35 / 0xc,0x24,psVar20,psVar20);\n        local_90 = (void *)0x0;\n        local_98 = 0;\n        local_8c = 0;\n        local_94 = 0;\n        local_6c = 0;\n        local_84 = (int *)0x0;\n        local_80 = (size_t *)0x0;\n        psVar25 = psVar38;\n        psVar34 = psVar38;\n        local_74 = uVar35;\n        local_64 = local_60;\n        while (0xb < local_74) {\n          iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25);\n          uVar26 = iVar9 + 3U & 0xfffffffc;\n          *local_64 = uVar26;\n          iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25 + 1);\n          uVar39 = iVar9 + 3U & 0xfffffffc;\n          sVar18 = param_1[1];\n          local_64[1] = uVar39;\n          sVar23 = (**(code **)(sVar18 + 0x28))(psVar25 + 2);\n          local_64[2] = sVar23;\n          if (1 < sVar23 - 0x100) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: wrong note type",5,\n                              extraout_ECX_01);\n            goto LAB_0001a72d;\n          }\n          iVar9 = uVar26 + uVar39;\n          if (local_74 < iVar9 + 0xcU) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: note too big",5,psVar25);\n            goto LAB_0001a72d;\n          }\n          if (uVar26 < 2) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name too small",5,iVar9);\n            goto LAB_0001a72d;\n          }\n          local_64[3] = (size_t)(psVar25 + 3);\n          sVar2 = (int)psVar25 + uVar26 + 0xc;\n          local_64[4] = sVar2;\n          psVar34 = (size_t *)(-0xc - iVar9);\n          local_74 = local_74 + (int)psVar34;\n          cVar8 = (char)psVar25[3];\n          if (cVar8 == '$') {\n            if ((*(char *)((int)psVar25 + 0xd) == '\x01') && (*(char *)((int)psVar25 + 0xe) == '1'))\n            {\n              local_80 = (size_t *)((int)local_80 + 1);\n            }\n          }\n          else if ((((4 < uVar26) && (cVar8 == 'G')) && (*(char *)((int)psVar25 + 0xd) == 'A')) &&\n                  ((*(char *)((int)psVar25 + 0xe) == '$' &&\n                   (*(char *)((int)psVar25 + 0xf) == '\x01')))) {\n            cVar8 = (char)psVar25[4];\n            if (cVar8 == '2') {\n              local_84 = (int *)((int)local_84 + 1);\n            }\n            else {\n              if (cVar8 != '3') {\n                iVar9 = dcgettext(0,"corrupt GNU build attribute note: unsupported version",5,cVar8)\n                ;\n                goto LAB_0001a72d;\n              }\n              local_6c = local_6c + 1;\n            }\n          }\n          if (uVar39 == 4) {\n            sVar18 = (**(code **)(param_1[1] + 0x28))(sVar2);\n            pvVar24 = (void *)0xffffffff;\n          }\n          else if (uVar39 < 5) {\n            if (uVar39 != 0) {\nLAB_0001a7ea:\n              iVar9 = dcgettext(0,"corrupt GNU build attribute note: bad description size",5,cVar8);\n              goto LAB_0001a72d;\n            }\n            pvVar24 = (void *)0x0;\n            sVar18 = 0;\n          }\n          else {\n            psVar34 = param_1;\n            if (uVar39 == 8) {\n              sVar18 = param_1[1];\n              if ((*(int *)(sVar18 + 4) == 5) && (*(char *)(param_1[0x27] + 4) == '\x02')) {\n                sVar18 = (**(code **)(sVar18 + 0x1c))(sVar2);\n                pvVar24 = (void *)0xffffffff;\n              }\n              else {\n                sVar18 = (**(code **)(sVar18 + 0x28))(sVar2);\n                pvVar24 = (void *)(**(code **)(param_1[1] + 0x28))(sVar2 + 4);\n              }\n            }\n            else {\n              if (uVar39 != 0x10) goto LAB_0001a7ea;\n              sVar18 = (**(code **)(param_1[1] + 0x1c))(sVar2);\n              pvVar24 = (void *)(**(code **)(param_1[1] + 0x1c))(sVar2 + 8);\n            }\n          }\n          if (sVar23 == 0x100) {\n            if (sVar18 == 0) {\n              sVar18 = local_8c;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = local_90;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_90 = pvVar24;\n            local_8c = sVar18;\n          }\n          else {\n            if (sVar18 == 0) {\n              sVar18 = local_94;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = (void *)local_98;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_98 = (size_t)pvVar24;\n            local_94 = sVar18;\n          }\n          if (*(char *)((local_64[3] - 1) + *local_64) != '\0') {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name not NUL terminated",5,\n                              *local_64);\n            goto LAB_0001a72d;\n          }\n          local_64 = local_64 + 9;\n          psVar25 = (size_t *)(iVar9 + 0xcU + (int)psVar25);\n        }\n        if (local_74 == 0) {\n          uVar26 = (uint)local_84 | local_6c;\n          if (local_80 == (size_t *)0x0 && uVar26 == 0) {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: no known versions detected",5,uVar26\n                             );\n            goto LAB_0001a72d;\n          }\n          if (((local_80 != (size_t *)0x0) && (uVar26 != 0)) ||\n             ((local_84 != (int *)0x0 && (local_6c != 0)))) {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: multiple different versions",5,\n                              sVar18);\n            goto LAB_0001a72d;\n          }\n          if ((local_80 == (size_t *)0x1 || local_84 == (int *)0x1) || (local_6c == 1))\n          goto LAB_0001a75c;\n          uVar26 = -(uint)(local_80 == (size_t *)0x0) & 2;\n          iVar9 = uVar26 + 1;\n          if (*(char *)(local_60[3] + iVar9) != '\x01') {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: first note not version note",5,\n                              psVar34);\n            goto LAB_0001a72d;\n          }\n          bVar40 = false;\n          iVar12 = uVar26 + 2;\n          psVar25 = local_60;\nLAB_0001a954:\n          psVar34 = psVar25;\n          psVar25 = psVar34 + 9;\n          if (psVar25 < local_64) {\n            if (psVar34[0xb] == 0x100) {\n              pvVar24 = (void *)psVar34[0xc];\n              local_7c = (size_t *)0x0;\n              psVar45 = psVar25;\n              do {\n                do {\n                  psVar6 = psVar45;\n                  psVar45 = psVar6 + -9;\n                  if (psVar45 < local_60) goto LAB_0001a954;\n                  pvVar30 = (void *)psVar6[-6];\n                  psVar7 = local_7c;\n                } while ((((local_7c == (size_t *)0x0) && (psVar6[-8] != 0)) &&\n                         (psVar7 = psVar45, psVar6[-7] == 0x101)) ||\n                        ((local_7c = psVar7,\n                         *(char *)((int)pvVar24 + iVar9) != *(char *)((int)pvVar30 + iVar9) ||\n                         (psVar6[-7] != 0x100))));\n                if (*(char *)((int)pvVar30 + iVar9) != '\x04') {\n                  psVar45 = (size_t *)*psVar45;\n                  if ((((psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)) &&\n                      ((uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0))))\n                     && ((0xfffffff0 < uVar26 || (psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0))))) {\n                    psVar34[0xb] = 0;\n                    if (uVar26 < uVar39) {\n                      psVar6[-2] = uVar39;\n                    }\n                    bVar40 = true;\n                    if (local_6c != 0) {\n                      psVar6[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0)) {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    psVar34[0x11] = 1;\n                    psVar34[0xb] = 0x101;\n                    psVar6[-1] = 1;\n                    psVar6[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }\n                uVar26 = 0;\n                for (iVar21 = 0; (int)*psVar25 - iVar12 != iVar21; iVar21 = iVar21 + 1) {\n                  uVar26 = uVar26 | (uint)*(byte *)((int)pvVar24 + iVar21 + iVar12) <<\n                                    ((char)iVar21 * '\b' & 0x1fU);\n                }\n                sVar18 = *psVar45;\n                local_5c = (int *)0x0;\n                for (uVar39 = 0; sVar18 - iVar12 != uVar39; uVar39 = uVar39 + 1) {\n                  local_5c = (int *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39] <<\n                                    ((char)uVar39 * '\b' & 0x1fU));\n                }\n                uVar28 = 0;\n                uVar26 = (int)local_5c + uVar26;\n                for (uVar27 = uVar26; uVar27 != 0; uVar27 = uVar27 >> 8) {\n                  uVar28 = uVar28 + 1;\n                }\n              } while (uVar39 <= uVar28);\n              puVar29 = (undefined1 *)((int)pvVar30 + iVar12);\n              while (puVar29 < (undefined1 *)((int)pvVar30 + sVar18)) {\n                *puVar29 = (char)uVar26;\n                if (uVar26 == 0) break;\n                uVar26 = uVar26 >> 8;\n                puVar29 = puVar29 + 1;\n              }\n              psVar34[0xb] = 0;\n              bVar40 = true;\n            }\n            goto LAB_0001a954;\n          }\n          if (!bVar40) goto LAB_0001a75c;\n          pvVar24 = (void *)xmalloc(uVar35,pvVar44,psVar20,psVar46);\n          sVar18 = 0;\n          pvVar44 = pvVar24;\n          local_80 = psVar38;\n          for (psVar20 = local_60; psVar20 < local_64; psVar20 = psVar20 + 9) {\n            sVar23 = *psVar20;\n            __n = psVar20[1] + sVar23 + 0xc;\n            sVar2 = psVar20[2];\n            pvVar30 = pvVar44;\n            if (sVar2 != 0) {\n              if (psVar20[8] == 0) {\n                memcpy(pvVar44,local_80,__n);\n                pvVar30 = (void *)((int)pvVar44 + __n);\n              }\n              else {\n                sVar5 = psVar20[6];\n                __dest = (void *)((int)pvVar44 + 0xc);\n                pvVar30 = (void *)((int)__dest + sVar23);\n                if ((sVar5 == local_74) && (psVar20[7] == sVar18)) {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar5,sVar5);\n                  (**(code **)(param_1[1] + 0x30))(0,(int)pvVar44 + 4);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                }\n                else {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar18,sVar18);\n                  cVar8 = '\b';\n                  if (*(int *)(param_1[1] + 4) == 5) {\n                    cVar8 = (*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b';\n                  }\n                  (**(code **)(param_1[1] + 0x30))(cVar8,(int)pvVar44 + 4,sVar23,sVar23);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                  sVar18 = param_1[1];\n                  psVar25 = param_1;\n                  if ((*(int *)(sVar18 + 4) == 5) &&\n                     (psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02')) {\n                    (**(code **)(sVar18 + 0x24))(sVar5,0,pvVar30,psVar25);\n                    (**(code **)(param_1[1] + 0x24))(psVar20[7],0,(void *)((int)pvVar30 + 8));\n                    pvVar30 = (void *)((int)pvVar30 + 0x10);\n                  }\n                  else {\n                    (**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25);\n                    (**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4);\n                    pvVar30 = (void *)((int)pvVar30 + 8);\n                  }\n                }\n              }\n              local_74 = psVar20[6];\n              sVar18 = psVar20[7];\n            }\n            local_80 = (size_t *)((int)local_80 + __n);\n            pvVar44 = pvVar30;\n          }\n          sVar18 = (int)pvVar44 - (int)pvVar24;\n          memcpy(psVar38,pvVar24,sVar18);\n          free(pvVar24);\n          free(local_60);\n          DAT_0003fb7c = sVar18;\n          if (uVar35 != sVar18) {\n            uVar10 = extraout_ECX_02;\n            if ((*(int *)(sVar17 + 0x3c) != 0) &&\n               (iVar9 = bfd_set_section_size(param_2,*(int *)(sVar17 + 0x3c),sVar18,extraout_EDX),\n               uVar10 = extraout_ECX_03, iVar9 != 0)) goto LAB_00018aad;\n            uVar10 = dcgettext(0,"warning: failed to set merged notes size",5,uVar10);\n            FUN_0002c160(0,param_2,sVar17,uVar10);\n          }\n        }\n        else {\n          iVar9 = dcgettext(0,"corrupt GNU build attribute notes: excess data at end",5,local_64);\nLAB_0001a72d:\n          if (iVar9 != 0) {\n            bfd_set_error(0x11);\n            FUN_0002c160(0,param_1,sVar17,iVar9);\n            DAT_0003fb88 = 1;\n          }\nLAB_0001a75c:\n          free(local_60);\n        }\n        free(DAT_0003fb80);\n        DAT_0003fb80 = (size_t *)0x0;\n        DAT_0003fb84 = 0;\n        DAT_0003fb7c = 0;\n      }\n    }\n  }\nLAB_00018aad:\n  local_98 = DAT_0003fb2c;\n  for (puVar33 = DAT_0003fb30; DAT_0003fb2c = local_98, puVar33 != (undefined4 *)0x0;\n      puVar33 = (undefined4 *)*puVar33) {\n    iVar9 = bfd_get_section_by_name(param_1,puVar33[1]);\n    if (iVar9 == 0) {\n      uVar10 = puVar33[1];\n      uVar11 = dcgettext(0,"can\'t dump section \'%s\' - it does not exist",5);\n      FUN_0002c160(0,param_1,0,uVar11,uVar10);\n    }\n    else {\n      if ((*(byte *)(iVar9 + 0x15) & 1) == 0) {\n        pcVar22 = "can\'t dump section - it has no contents";\n      }\n      else {\n        sVar17 = *(size_t *)(iVar9 + 0x24);\n        if (sVar17 != 0) {\n          __s = fopen64((char *)puVar33[2],"w");\n          if (__s == (FILE *)0x0) {\n            uVar10 = dcgettext(0,"could not open section dump file",5);\n            FUN_0002c160(puVar33[2],0,0,uVar10);\n          }\n          else {\n            iVar12 = bfd_malloc_and_get_section(param_1,iVar9,&local_30);\n            if (iVar12 == 0) {\n              uVar10 = dcgettext(0,"could not retrieve section contents",5);\n              FUN_0002c160(0,param_1,iVar9,uVar10);\n            }\n            else {\n              sVar18 = fwrite(local_30,1,sVar17,__s);\n              if (sVar17 != sVar18) {\n                piVar15 = __errno_location();\n                pcVar22 = strerror(*piVar15);\n                uVar10 = puVar33[2];\n                uVar11 = dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                FUN_0002b6d0(uVar11,uVar10,pcVar22);\n                free(local_30);\n                return 0;\n              }\n            }\n            fclose(__s);\n            free(local_30);\n          }\n          goto LAB_00018b49;\n        }\n        pcVar22 = "can\'t dump section - it is empty";\n      }\n      uVar10 = dcgettext(0,pcVar22,5);\n      FUN_0002c160(0,param_1,iVar9,uVar10);\n    }\nLAB_00018b49:\n    local_98 = DAT_0003fb2c;\n  }\n  if (local_98 != 0) {\n    iVar9 = bfd_get_section_by_name(param_2,".gnu_debuglink");\n    if (iVar9 == 0) {\n      local_98 = bfd_create_gnu_debuglink_section(param_2,DAT_0003fb2c);\n      iVar9 = DAT_0003fb2c;\n      if (local_98 == 0) {\n        uVar10 = dcgettext(0,"cannot create debug link section `%s\'",5,param_2);\n        FUN_0002c160(0,param_2,0,uVar10,iVar9);\n        return 0;\n      }\n      if (*(int *)(param_2[1] + 4) == 2) {\n        sVar17 = param_2[0x18];\n        sVar18 = 0;\n        if (sVar17 == 0) {\nLAB_0001a360:\n          uVar26 = 0x1000;\n        }\n        else {\n          do {\n            sVar23 = sVar18;\n            if (((*(uint *)(sVar17 + 0x1c) != 0) && (sVar23 = sVar17, sVar18 != 0)) &&\n               (sVar23 = sVar18, *(uint *)(sVar18 + 0x1c) < *(uint *)(sVar17 + 0x1c))) {\n              sVar23 = sVar17;\n            }\n            sVar17 = *(size_t *)(sVar17 + 0xc);\n            sVar18 = sVar23;\n          } while (sVar17 != 0);\n          if (sVar23 == 0) goto LAB_0001a360;\n          uVar35 = *(int *)(sVar23 + 0x24) + *(int *)(sVar23 + 0x1c);\n          uVar26 = 0xffffffff;\n          if (uVar35 < 0xfffff001) {\n            uVar26 = uVar35 + 0xfff & 0xfffff000;\n          }\n        }\n        *(uint *)(local_98 + 0x20) = uVar26;\n        *(uint *)(local_98 + 0x1c) = uVar26;\n        *(byte *)(local_98 + 0x18) = *(byte *)(local_98 + 0x18) | 1;\n      }\n    }\n    else {\n      sVar17 = *param_2;\n      uVar10 = dcgettext(0,"%s: debuglink section already exists",5);\n      FUN_0002b6d0(uVar10,sVar17);\n      DAT_0003fb2c = 0;\n      local_98 = 0;\n    }\n  }\n  sVar17 = param_2[0x1a];\n  local_8c = sVar17;\n  if (sVar17 == 0) {\nLAB_00018ff7:\n    local_90 = (void *)0x0;\n    local_84 = (int *)0x0;\n    sVar18 = local_8c;\n  }\n  else {\n    if (DAT_0003fb54 == 0 && DAT_0003fb4c == 0) {\n      local_8c = 0;\n      goto LAB_00018ff7;\n    }\n    sVar23 = sVar17 * 4;\n    local_84 = (int *)xmalloc(sVar23);\n    local_30 = local_84;\n    bfd_map_over_sections(param_2,FUN_00016710,&local_30);\n    qsort(local_84,sVar17,4,FUN_00016730);\n    local_90 = (void *)xmalloc(sVar23);\n    memset(local_90,0,sVar23);\n    if ((DAT_0003fb54 == 0) || (sVar17 == 1)) {\n      local_8c = 0;\n    }\n    else {\n      iVar9 = 0;\n      local_8c = 0;\n      piVar15 = local_84;\n      do {\n        iVar12 = *piVar15;\n        iVar9 = iVar9 + 1;\n        sVar18 = local_8c;\n        if ((*(uint *)(iVar12 + 0x14) & 0x102) == 0x102) {\n          uVar35 = *(int *)(iVar12 + 0x20) + *(int *)(iVar12 + 0x24);\n          if (uVar35 < *(uint *)(piVar15[1] + 0x20)) {\n            sVar18 = *(uint *)(piVar15[1] + 0x20) - uVar35;\n            uVar43 = bfd_set_section_size(param_2,iVar12,*(int *)(iVar12 + 0x24) + sVar18);\n            if ((int)uVar43 == 0) {\n              uVar10 = dcgettext(0,"Can\'t fill gap after section",5,\n                                 (int)((ulonglong)uVar43 >> 0x20));\n              FUN_0002c160(0,param_2,*piVar15,uVar10);\n              DAT_0003fb88 = 1;\n              break;\n            }\n            *(size_t *)((int)local_90 + iVar9 * 4 + -4) = sVar18;\n            if (sVar18 <= local_8c) {\n              sVar18 = local_8c;\n            }\n          }\n        }\n        local_8c = sVar18;\n        piVar15 = piVar15 + 1;\n      } while (sVar17 - 1 != iVar9);\n    }\n    sVar18 = local_8c;\n    if (DAT_0003fb4c != 0) {\n      iVar9 = local_84[sVar17 - 1];\n      uVar35 = *(int *)(iVar9 + 0x24) + *(int *)(iVar9 + 0x20);\n      if (uVar35 < DAT_0003fb48) {\n        iVar9 = bfd_set_section_size(param_2,iVar9,DAT_0003fb48 - *(int *)(iVar9 + 0x20));\n        if (iVar9 == 0) {\n          uVar10 = dcgettext(0,"can\'t add padding",5,uVar35);\n          FUN_0002c160(0,param_2,local_84[sVar17 - 1],uVar10);\n          DAT_0003fb88 = 1;\n        }\n        else {\n          sVar18 = DAT_0003fb48 - uVar35;\n          *(size_t *)((int)local_90 + (sVar23 - 4)) = sVar18;\n          if (sVar18 <= local_8c) {\n            sVar18 = local_8c;\n          }\n        }\n      }\n    }\n  }\n  local_8c = sVar18;\n  local_94 = 0;\n  if (DAT_0003fb28 != 0) {\n    local_94 = FUN_0001c0f0(param_1,DAT_0003fb9c,local_70,0);\n  }\n  if (DAT_0003fb78 - 2U < 6) {\nLAB_00019032:\n    if (DAT_0003fb78 != 7) {\nLAB_00019037:\n      bfd_set_error(0);\n      bfd_map_over_sections(param_1,FUN_00018470,DAT_0003fb9c);\n      iVar9 = bfd_get_error();\n      if (iVar9 != 0) {\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n    }\n    piVar15 = (int *)xmalloc((DAT_0003fae4 + local_70) * 4 + 4);\n    local_68 = DAT_0003fb9c;\n    uVar35 = param_1[10];\n    DAT_0003fb98 = piVar15;\n    if (local_70 != 0) {\n      piVar1 = DAT_0003fb9c + local_70;\n      local_70 = 0;\n      puVar16 = PTR__bfd_std_section_0003efc8 + 0xa8;\n      do {\n        iVar9 = DAT_0003fae4;\n        piVar3 = (int *)*local_68;\n        uVar26 = piVar3[3];\n        piVar19 = (int *)piVar3[1];\n        puVar4 = (undefined *)piVar3[4];\n        if (((DAT_0003fae8 != (int *)0x0) && (0 < DAT_0003fae4)) &&\n           (pcVar22 = (char *)DAT_0003fae8[5], pcVar22 != (char *)0x0)) {\n          local_5c = (int *)0x0;\n          piVar31 = DAT_0003fae8;\n          while (iVar12 = strcmp(pcVar22,(char *)piVar19), iVar12 != 0) {\n            local_5c = (int *)((int)local_5c + 1);\n            piVar31 = (int *)*piVar31;\n            if ((local_5c == (int *)iVar9) || (pcVar22 = (char *)piVar31[5], pcVar22 == (char *)0x0)\n               ) goto LAB_00019180;\n          }\n          free(pcVar22);\n          piVar31[5] = (int)"";\n          piVar31 = piVar15 + local_70;\n          local_70 = local_70 + 1;\n          iVar9 = FUN_000177e0();\n          *piVar31 = iVar9;\n        }\nLAB_00019180:\n        iVar9 = htab_elements(DAT_0003faf0);\n        piVar31 = piVar19;\n        if ((iVar9 != 0) || (DAT_0003fba0 != (undefined4 *)0x0)) {\n          local_2c = 0;\n          local_30 = piVar19;\n          iVar9 = htab_find(DAT_0003faf0,&local_30);\n          if (((iVar9 == 0) || (piVar31 = *(int **)(iVar9 + 4), piVar19 == piVar31)) &&\n             (puVar33 = DAT_0003fba0, (uVar26 & 0x100) != 0)) {\n            for (; piVar31 = piVar19, puVar33 != (undefined4 *)0x0;\n                puVar33 = (undefined4 *)puVar33[3]) {\n              iVar9 = strcmp((char *)*puVar33,(char *)piVar19);\n              if (iVar9 == 0) {\n                piVar31 = (int *)puVar33[1];\n                break;\n              }\n            }\n          }\n          piVar3[1] = (int)piVar31;\n        }\n        pcVar22 = DAT_0003fad8;\n        if ((char)*piVar31 == *(char *)(param_1[1] + 0x18)) {\n          if (DAT_0003fb1c == 0) {\n            if ((DAT_0003fb18 == 0) ||\n               ((((uVar26 & 0x82) == 0 && (puVar4 != puVar16)) &&\n                ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)))) goto LAB_00019203;\nLAB_0001943c:\n            piVar31 = (int *)((int)piVar31 + 1);\n            piVar3[1] = (int)piVar31;\n            goto LAB_00019203;\n          }\n          if (*(char *)(param_2[1] + 0x18) == '\0') goto LAB_0001943c;\n          if (DAT_0003fad8 != (char *)0x0) {\n            piVar31 = (int *)((int)piVar31 + 1);\n            piVar3[1] = (int)piVar31;\n            goto LAB_0001945b;\n          }\n          *(char *)piVar31 = *(char *)(param_2[1] + 0x18);\n          piVar3[1] = (int)piVar31;\n        }\n        else {\n          if (((DAT_0003fb1c == 0) || (*(char *)(param_2[1] + 0x18) == '\0')) ||\n             (*(char *)(param_1[1] + 0x18) != '\0')) {\nLAB_00019203:\n            if (pcVar22 == (char *)0x0) goto LAB_0001926f;\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = piVar19;\n          }\n          else {\nLAB_0001945b:\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = (int *)((int)piVar19 + 1);\n            *(char *)piVar19 = *(char *)(param_2[1] + 0x18);\n          }\n          pcVar22 = DAT_0003fad8;\n          if (DAT_0003fad8 != (char *)0x0) {\n            strcpy((char *)local_5c,DAT_0003fad8);\n            sVar17 = strlen(pcVar22);\n            local_5c = (int *)((int)local_5c + sVar17);\n          }\n          strcpy((char *)local_5c,(char *)piVar31);\n          piVar3[1] = (int)piVar19;\n          piVar31 = piVar19;\n        }\nLAB_0001926f:\n        if (DAT_0003fb78 == 7) goto LAB_000192f8;\n        if ((uVar26 & 0x20) == 0) {\n          if (((uVar26 & 0x100) == 0) ||\n             ((*(byte *)(**(int **)(piVar3[4] + 0x9c) + 0xc) & 0x20) == 0)) {\n            if ((((uVar35 >> 5 & 0x42) == 0) &&\n                (((uVar26 & 0x82) != 0 || ((*(byte *)(piVar3[4] + 0x15) & 0x10) != 0)))) ||\n               (iVar9 = bfd_decode_symclass(piVar3), iVar9 == 0x49)) {\nLAB_00019528:\n              iVar9 = FUN_00017880();\n              if (iVar9 == 0) goto LAB_000192e0;\n            }\n            else if ((((uVar26 & 0x82) == 0) && (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8)) &&\n                    ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)) {\n              if ((uVar26 & 4) == 0) {\n                if (((*(int *)(param_1[1] + 4) != 2) ||\n                    (iVar9 = *(int *)(piVar3[4] + 0x8c), iVar9 == 0)) ||\n                   (*(int *)(iVar9 + 0x24) == 0)) {\n                  if ((DAT_0003fb78 == 3) || (DAT_0003fb74 == 2)) goto LAB_000192f8;\n                  if (DAT_0003fb74 == 1) {\n                    iVar9 = bfd_is_local_label(param_1,piVar3,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }\n                goto LAB_00019528;\n              }\n              iVar9 = DAT_0003fb28;\n              if (1 < DAT_0003fb78 - 2U) {\njoined_r0x0001a13f:\n                if (iVar9 == 0) goto LAB_00019528;\n              }\n            }\n            else if (DAT_0003fb78 != 3) goto LAB_00019528;\n          }\n          else {\n            iVar9 = FUN_00017880();\n            if (iVar9 != 0) {\n              uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",\n                                 5,iVar9);\n              FUN_0002b6d0(uVar10,piVar31);\n              DAT_0003fb88 = 1;\n            }\nLAB_000192e0:\n            iVar9 = FUN_00017880();\n            if (iVar9 == 0) goto LAB_0001931c;\n          }\nLAB_000192f8:\n          if (((DAT_0003fadc != 0) && ((uVar26 & 0x4000) != 0)) ||\n             (iVar9 = FUN_00017880(), iVar9 != 0)) goto LAB_0001931c;\n        }\n        else {\n          iVar9 = FUN_00017880();\n          if (iVar9 != 0) {\n            uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",5)\n            ;\n            FUN_0002b6d0(uVar10,piVar31);\n            DAT_0003fb88 = 1;\n          }\nLAB_0001931c:\n          iVar9 = FUN_000178f0();\n          if (iVar9 == 0) {\n            if (((uVar26 & 2) != 0) && ((DAT_0003fae0 != 0 || (iVar9 = FUN_00017880(), iVar9 != 0)))\n               ) {\n              piVar3[3] = piVar3[3] & 0xfffffffdU | 0x80;\n            }\n            if (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8) {\n              if (((uVar26 & 0x82) != 0) &&\n                 (((iVar9 = FUN_00017880(), iVar9 != 0 ||\n                   ((iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0)))) ||\n                  ((DAT_0003fb10 != 0 &&\n                   ((((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)\n                    ))))))) {\n                piVar3[3] = piVar3[3] & 0xffffff7dU | 1;\n              }\n              if (((uVar26 & 1) != 0) && (iVar9 = FUN_00017880(), iVar9 != 0)) {\n                piVar3[3] = piVar3[3] & 0xfffffffeU | 2;\n              }\n            }\n            piVar15[local_70] = (int)piVar3;\n            local_70 = local_70 + 1;\n          }\n        }\n        local_68 = local_68 + 1;\n      } while (piVar1 != local_68);\n    }\n    local_5c = DAT_0003fae8;\n    if ((DAT_0003fae8 != (int *)0x0) && (0 < DAT_0003fae4)) {\n      iVar9 = 0;\n      do {\n        pcVar22 = (char *)local_5c[5];\n        if (pcVar22 == (char *)0x0) {\n          iVar12 = FUN_000177e0();\n          piVar15[local_70] = iVar12;\n          local_70 = local_70 + 1;\n        }\n        else if (*pcVar22 != '\0') {\n          uVar10 = dcgettext(0,"\'before=%s\' not found",5,local_70);\n                    /* WARNING: Subroutine does not return */\n          FUN_0002b6a0(uVar10,pcVar22);\n        }\n        iVar9 = iVar9 + 1;\n        local_5c = (int *)*local_5c;\n      } while (iVar9 < DAT_0003fae4);\n    }\n    piVar15[local_70] = 0;\n    if ((DAT_0003fb28 != 0) && (local_94 != 0)) {\n      iVar9 = ((undefined4 *)param_2[1])[1];\n      if ((iVar9 != 2) && (iVar9 != 5)) {\n        uVar10 = *(undefined4 *)param_2[1];\n        uVar11 = dcgettext(0,"don\'t know how to write debugging information for %s",5);\n        FUN_0002c160(0,param_2,0,uVar11,uVar10);\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n      iVar9 = FUN_0002b050(param_2,local_94,&local_4c,local_44,&local_48,&local_30);\n      if (iVar9 == 0) {\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n      iVar9 = bfd_make_section_with_flags(param_2,".stab",0x2108);\n      iVar12 = bfd_make_section_with_flags(param_2,".stabstr",0x2108);\n      if ((((iVar9 == 0) || (iVar12 == 0)) ||\n          (iVar21 = bfd_set_section_size(param_2,iVar9,local_44[0],iVar12), iVar21 == 0)) ||\n         (iVar21 = bfd_set_section_size(param_2,iVar12,local_30,iVar21), iVar21 == 0)) {\n        pcVar22 = "can\'t create debugging section";\nLAB_00019fcf:\n        uVar10 = dcgettext(0,pcVar22,5,iVar9);\n        FUN_0002c160(0,param_2,0,uVar10);\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n      *(undefined4 *)(iVar9 + 0x40) = 2;\n      *(undefined4 *)(iVar12 + 0x40) = 0;\n      iVar9 = bfd_set_section_contents(param_2,iVar9,local_4c,0,0,local_44[0],iVar21,iVar21);\n      if ((iVar9 == 0) ||\n         (iVar9 = bfd_set_section_contents\n                            (param_2,iVar12,local_48,0,0,local_30,extraout_ECX,extraout_ECX),\n         iVar9 == 0)) {\n        pcVar22 = "can\'t set debugging section contents";\n        iVar9 = iVar12;\n        goto LAB_00019fcf;\n      }\n    }\n  }\n  else {\n    if (DAT_0003fb10 != 0 || DAT_0003fb74 != 0) goto LAB_00019037;\n    iVar9 = htab_elements(DAT_0003fb0c);\n    if (((iVar9 != 0) || (iVar9 = htab_elements(DAT_0003fb04), iVar9 != 0)) ||\n       ((iVar9 = htab_elements(DAT_0003fb00), iVar9 != 0 ||\n        (((((iVar9 = htab_elements(DAT_0003fafc), iVar9 != 0 ||\n            (iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0)) ||\n           (iVar9 = htab_elements(DAT_0003faf4), iVar9 != 0)) ||\n          ((iVar9 = htab_elements(DAT_0003faf0), DAT_0003fad8 != (char *)0x0 ||\n           (DAT_0003fba0 != (undefined4 *)0x0)))) ||\n         (((((((DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0) || DAT_0003fb1c != 0)\n            || DAT_0003fb18 != 0) || DAT_0003fae0 != 0) || DAT_0003fae4 != 0) || iVar9 != 0))))))\n    goto LAB_00019032;\n  }\n  bfd_set_symtab(param_2,DAT_0003fb98,local_70);\n  bfd_map_over_sections(param_1,FUN_000181d0,param_2);\n  bfd_map_over_sections(param_1,FUN_00017e40,param_2);\n  psVar38 = param_1;\n  for (puVar33 = DAT_0003fb38; puVar37 = DAT_0003fb34, puVar33 != (undefined4 *)0x0;\n      puVar33 = (undefined4 *)*puVar33) {\n    iVar9 = bfd_set_section_contents(param_2,puVar33[5],puVar33[4],0,0,puVar33[3]);\n    if (iVar9 == 0) {\n      psVar38 = (size_t *)puVar33[5];\n      local_50 = 0;\n      goto LAB_00019763;\n    }\n    psVar38 = param_2;\n  }\n  for (; puVar37 != (undefined4 *)0x0; puVar37 = (undefined4 *)*puVar37) {\n    psVar38 = *(size_t **)(puVar37[5] + 0x3c);\n    local_50 = bfd_set_section_contents(param_2,psVar38,puVar37[4],0,0,puVar37[3]);\n    if (local_50 == 0) {\nLAB_00019763:\n      FUN_0002c160(0,param_2,psVar38,0);\n      return local_50;\n    }\n  }\n  uVar35 = 0;\n  if (DAT_0003fb84 != 0) {\n    uVar35 = bfd_get_section_by_name(param_2,".gnu.build.attributes");\n    if (((uVar35 == 0) || (DAT_0003fb84 == 0)) ||\n       ((*(int *)(param_2[1] + 4) != 5 || (iVar9 = FUN_00017590(), iVar9 == 0)))) {\n      if (DAT_0003fba4 == 0) {\n        uVar10 = dcgettext(0,"could not find any mergeable note sections",5,0);\n        FUN_0002c160(0,param_2,uVar35,uVar10);\n      }\n    }\n    else {\n      iVar9 = bfd_set_section_contents(param_2,uVar35,DAT_0003fb80,0,0,DAT_0003fb7c,iVar9,iVar9);\n      if (iVar9 == 0) {\n        uVar10 = dcgettext(0,"error: failed to copy merged notes into output",5,0);\n        goto LAB_0001a2cd;\n      }\n    }\n    free(DAT_0003fb80);\n    DAT_0003fb80 = (size_t *)0x0;\n    DAT_0003fb84 = 0;\n    psVar38 = param_2;\n  }\n  if ((DAT_0003fb2c != 0) &&\n     (iVar12 = bfd_fill_in_gnu_debuglink_section(param_2,local_98,DAT_0003fb2c),\n     iVar9 = DAT_0003fb2c, iVar12 == 0)) {\n    uVar10 = dcgettext(0,"cannot fill debug link section `%s\'",5,0);\n    FUN_0002c160(0,param_2,0,uVar10,iVar9);\n    return 0;\n  }\n  if (DAT_0003fb54 != 0 || DAT_0003fb4c != 0) {\n    uVar35 = 0x2000;\n    if (local_8c < 0x2001) {\n      uVar35 = local_8c;\n    }\n    psVar20 = (size_t *)xmalloc(uVar35);\n    sVar17 = (uint)DAT_0003fb50 * 0x1010101;\n    if (uVar35 < 4) {\n      if ((uVar35 != 0) && (*(char *)psVar20 = (char)sVar17, (uVar35 & 2) != 0)) {\n        *(short *)((int)psVar20 + (uVar35 - 2)) = (short)sVar17;\n      }\n    }\n    else {\n      *psVar20 = sVar17;\n      *(size_t *)((int)(psVar20 + -1) + uVar35) = sVar17;\n      psVar38 = (size_t *)((uint)(psVar20 + 1) & 0xfffffffc);\n      for (uVar26 = (int)psVar20 + (uVar35 - (int)((uint)(psVar20 + 1) & 0xfffffffc)) >> 2;\n          uVar26 != 0; uVar26 = uVar26 - 1) {\n        *psVar38 = sVar17;\n        psVar38 = psVar38 + (uint)bVar42 * -2 + 1;\n      }\n    }\n    psVar25 = (size_t *)param_2[0x1a];\n    if (psVar25 != (size_t *)0x0) {\n      psVar38 = (size_t *)0x0;\n      do {\n        uVar35 = *(uint *)((int)local_90 + (int)psVar38 * 4);\n        if (uVar35 != 0) {\n          iVar9 = local_84[(int)psVar38];\n          local_58 = 0;\n          local_5c = (int *)(*(int *)(iVar9 + 0x24) - uVar35);\n          while( true ) {\n            uVar26 = 0x2000;\n            if (uVar35 < 0x2001) {\n              uVar26 = uVar35;\n            }\n            iVar9 = bfd_set_section_contents(param_2,iVar9,psVar20,local_5c,local_58,uVar26);\n            if (iVar9 == 0) {\n              psVar38 = (size_t *)local_84[(int)psVar38];\n              local_50 = 0;\n              goto LAB_00019763;\n            }\n            bVar40 = CARRY4((uint)local_5c,uVar26);\n            local_5c = (int *)((int)local_5c + uVar26);\n            local_58 = local_58 + (uint)bVar40;\n            uVar35 = uVar35 - uVar26;\n            if (uVar35 == 0) break;\n            iVar9 = local_84[(int)psVar38];\n          }\n        }\n        psVar38 = (size_t *)((int)psVar38 + 1);\n      } while (psVar25 != psVar38);\n    }\n  }\n  iVar9 = (**(code **)(param_2[1] + 0xa8))(param_1,param_2);\n  if (iVar9 != 0) {\n    if ((DAT_0003fb44 != 0) &&\n       (iVar12 = bfd_alt_mach_code(param_2,DAT_0003fb44,uVar35,uVar35), iVar9 = DAT_0003fb44,\n       iVar12 == 0)) {\n      uVar10 = dcgettext(0,"this target does not support %lu alternative machine codes",5,psVar38);\n      FUN_0002b6d0(uVar10,iVar9);\n      if (*(int *)(param_2[1] + 4) != 5) {\n        uVar10 = dcgettext(0,"ignoring the alternative value",5,extraout_ECX_00);\n        FUN_0002b6d0(uVar10);\n        return 1;\n      }\n      uVar10 = dcgettext(0,"treating that number as an absolute e_machine value instead",5,iVar9);\n      FUN_0002b6d0(uVar10);\n      *(short *)(param_2[0x27] + 0x26) = (short)DAT_0003fb44;\n    }\n    return 1;\n  }\n  uVar10 = dcgettext(0,"error copying private BFD data",5,psVar38);\n  uVar35 = 0;\nLAB_0001a2cd:\n  FUN_0002c160(0,param_2,uVar35,uVar10);\n  return 0;\n}" { (declaration "void *__dest;" primitive_type (pointer_declarator "*__dest" * identifier) ;) (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "size_t sVar2;" primitive_type identifier ;) (declaration "int *piVar3;" primitive_type (pointer_declarator "*piVar3" * identifier) ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "size_t sVar5;" primitive_type identifier ;) (declaration "size_t *psVar6;" primitive_type (pointer_declarator "*psVar6" * identifier) ;) (declaration "size_t *psVar7;" primitive_type (pointer_declarator "*psVar7" * identifier) ;) (declaration "char cVar8;" primitive_type identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "undefined4 uVar10;" type_identifier identifier ;) (declaration "undefined4 uVar11;" type_identifier identifier ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "FILE *__s;" type_identifier (pointer_declarator "*__s" * identifier) ;) (declaration "undefined4 uVar13;" type_identifier identifier ;) (declaration "undefined4 uVar14;" type_identifier identifier ;) (declaration "int *piVar15;" primitive_type (pointer_declarator "*piVar15" * identifier) ;) (declaration "undefined *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "size_t sVar17;" primitive_type identifier ;) (declaration "size_t sVar18;" primitive_type identifier ;) (declaration "int *piVar19;" primitive_type (pointer_declarator "*piVar19" * identifier) ;) (declaration "size_t *psVar20;" primitive_type (pointer_declarator "*psVar20" * identifier) ;) (declaration "int iVar21;" primitive_type identifier ;) (declaration "char *pcVar22;" primitive_type (pointer_declarator "*pcVar22" * identifier) ;) (declaration "size_t sVar23;" primitive_type identifier ;) (declaration "void *pvVar24;" primitive_type (pointer_declarator "*pvVar24" * identifier) ;) (declaration "size_t *psVar25;" primitive_type (pointer_declarator "*psVar25" * identifier) ;) (declaration "undefined4 extraout_ECX;" type_identifier identifier ;) (declaration "uint uVar26;" type_identifier identifier ;) (declaration "undefined4 extraout_ECX_00;" type_identifier identifier ;) (declaration "undefined4 extraout_ECX_01;" type_identifier identifier ;) (declaration "uint uVar27;" type_identifier identifier ;) (declaration "undefined4 extraout_ECX_02;" type_identifier identifier ;) (declaration "undefined4 extraout_ECX_03;" type_identifier identifier ;) (declaration "uint uVar28;" type_identifier identifier ;) (declaration "undefined1 *puVar29;" type_identifier (pointer_declarator "*puVar29" * identifier) ;) (declaration "void *pvVar30;" primitive_type (pointer_declarator "*pvVar30" * identifier) ;) (declaration "size_t __n;" primitive_type identifier ;) (declaration "undefined4 extraout_EDX;" type_identifier identifier ;) (declaration "int *piVar31;" primitive_type (pointer_declarator "*piVar31" * identifier) ;) (declaration "byte *pbVar32;" type_identifier (pointer_declarator "*pbVar32" * identifier) ;) (declaration "undefined4 *puVar33;" type_identifier (pointer_declarator "*puVar33" * identifier) ;) (declaration "size_t *psVar34;" primitive_type (pointer_declarator "*psVar34" * identifier) ;) (declaration "uint uVar35;" type_identifier identifier ;) (declaration "byte *pbVar36;" type_identifier (pointer_declarator "*pbVar36" * identifier) ;) (declaration "undefined4 *puVar37;" type_identifier (pointer_declarator "*puVar37" * identifier) ;) (declaration "size_t *psVar38;" primitive_type (pointer_declarator "*psVar38" * identifier) ;) (declaration "uint uVar39;" type_identifier identifier ;) (declaration "bool bVar40;" primitive_type identifier ;) (declaration "bool bVar41;" primitive_type identifier ;) (declaration "byte bVar42;" type_identifier identifier ;) (declaration "undefined8 uVar43;" type_identifier identifier ;) (declaration "void *pvVar44;" primitive_type (pointer_declarator "*pvVar44" * identifier) ;) (declaration "size_t *psVar45;" primitive_type (pointer_declarator "*psVar45" * identifier) ;) (declaration "size_t *psVar46;" primitive_type (pointer_declarator "*psVar46" * identifier) ;) (declaration "size_t local_98;" primitive_type identifier ;) (declaration "size_t local_94;" primitive_type identifier ;) (declaration "void *local_90;" primitive_type (pointer_declarator "*local_90" * identifier) ;) (declaration "size_t local_8c;" primitive_type identifier ;) (declaration "int *local_84;" primitive_type (pointer_declarator "*local_84" * identifier) ;) (declaration "size_t *local_80;" primitive_type (pointer_declarator "*local_80" * identifier) ;) (declaration "size_t *local_7c;" primitive_type (pointer_declarator "*local_7c" * identifier) ;) (declaration "uint local_74;" type_identifier identifier ;) (declaration "int local_70;" primitive_type identifier ;) (declaration "uint local_6c;" type_identifier identifier ;) (declaration "int *local_68;" primitive_type (pointer_declarator "*local_68" * identifier) ;) (declaration "size_t *local_64;" primitive_type (pointer_declarator "*local_64" * identifier) ;) (declaration "size_t *local_60;" primitive_type (pointer_declarator "*local_60" * identifier) ;) (declaration "int *local_5c;" primitive_type (pointer_declarator "*local_5c" * identifier) ;) (declaration "int local_58;" primitive_type identifier ;) (declaration "int local_50;" primitive_type identifier ;) (declaration "undefined4 local_4c;" type_identifier identifier ;) (declaration "undefined4 local_48;" type_identifier identifier ;) (declaration "undefined4 local_44 [5];" type_identifier (array_declarator "local_44 [5]" identifier [ number_literal ]) ;) (declaration "int *local_30;" primitive_type (pointer_declarator "*local_30" * identifier) ;) (declaration "undefined4 local_2c;" type_identifier identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "bVar42 = 0;" (assignment_expression "bVar42 = 0" identifier = number_literal) ;) (expression_statement "uStack_14 = 0x185fd;" (assignment_expression "uStack_14 = 0x185fd" identifier = number_literal) ;) (if_statement "if ((*(int *)(param_1[1] + 8) != *(int *)(param_2[1] + 8) && *(int *)(param_1[1] + 8) != 2) &&\n     (*(int *)(param_2[1] + 8) != 2)) {\n    uVar10 = dcgettext(0,"Unable to change endianness of input file(s)",5);\n    FUN_0002b6d0(uVar10);\n    return 0;\n  }" if (parenthesized_expression "((*(int *)(param_1[1] + 8) != *(int *)(param_2[1] + 8) && *(int *)(param_1[1] + 8) != 2) &&\n     (*(int *)(param_2[1] + 8) != 2))" ( (binary_expression "(*(int *)(param_1[1] + 8) != *(int *)(param_2[1] + 8) && *(int *)(param_1[1] + 8) != 2) &&\n     (*(int *)(param_2[1] + 8) != 2)" (parenthesized_expression "(*(int *)(param_1[1] + 8) != *(int *)(param_2[1] + 8) && *(int *)(param_1[1] + 8) != 2)" ( (binary_expression "*(int *)(param_1[1] + 8) != *(int *)(param_2[1] + 8) && *(int *)(param_1[1] + 8) != 2" (binary_expression "*(int *)(param_1[1] + 8) != *(int *)(param_2[1] + 8)" (pointer_expression "*(int *)(param_1[1] + 8)" * (cast_expression "(int *)(param_1[1] + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[1] + 8)" ( (binary_expression "param_1[1] + 8" (subscript_expression "param_1[1]" identifier [ number_literal ]) + number_literal) )))) != (pointer_expression "*(int *)(param_2[1] + 8)" * (cast_expression "(int *)(param_2[1] + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2[1] + 8)" ( (binary_expression "param_2[1] + 8" (subscript_expression "param_2[1]" identifier [ number_literal ]) + number_literal) ))))) && (binary_expression "*(int *)(param_1[1] + 8) != 2" (pointer_expression "*(int *)(param_1[1] + 8)" * (cast_expression "(int *)(param_1[1] + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[1] + 8)" ( (binary_expression "param_1[1] + 8" (subscript_expression "param_1[1]" identifier [ number_literal ]) + number_literal) )))) != number_literal)) )) && (parenthesized_expression "(*(int *)(param_2[1] + 8) != 2)" ( (binary_expression "*(int *)(param_2[1] + 8) != 2" (pointer_expression "*(int *)(param_2[1] + 8)" * (cast_expression "(int *)(param_2[1] + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2[1] + 8)" ( (binary_expression "param_2[1] + 8" (subscript_expression "param_2[1]" identifier [ number_literal ]) + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n    uVar10 = dcgettext(0,"Unable to change endianness of input file(s)",5);\n    FUN_0002b6d0(uVar10);\n    return 0;\n  }" { (expression_statement "uVar10 = dcgettext(0,"Unable to change endianness of input file(s)",5);" (assignment_expression "uVar10 = dcgettext(0,"Unable to change endianness of input file(s)",5)" identifier = (call_expression "dcgettext(0,"Unable to change endianness of input file(s)",5)" identifier (argument_list "(0,"Unable to change endianness of input file(s)",5)" ( number_literal , (string_literal ""Unable to change endianness of input file(s)"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0002b6d0(uVar10);" (call_expression "FUN_0002b6d0(uVar10)" identifier (argument_list "(uVar10)" ( identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "iVar9 = bfd_set_format(param_2,(byte)param_1[10] & 7);" (assignment_expression "iVar9 = bfd_set_format(param_2,(byte)param_1[10] & 7)" identifier = (call_expression "bfd_set_format(param_2,(byte)param_1[10] & 7)" identifier (argument_list "(param_2,(byte)param_1[10] & 7)" ( identifier , (binary_expression "(byte)param_1[10] & 7" (cast_expression "(byte)param_1[10]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "param_1[10]" identifier [ number_literal ])) & number_literal) )))) ;) (if_statement "if (iVar9 == 0) {\n    FUN_0002c160(0,param_2,0,0);\n    return 0;\n  }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n    FUN_0002c160(0,param_2,0,0);\n    return 0;\n  }" { (expression_statement "FUN_0002c160(0,param_2,0,0);" (call_expression "FUN_0002c160(0,param_2,0,0)" identifier (argument_list "(0,param_2,0,0)" ( number_literal , identifier , number_literal , number_literal ))) ;) (return_statement "return 0;" return number_literal ;) })) (if_statement "if (param_1[0x18] == 0) {\n    uVar10 = FUN_0002c060(param_1);\n    pcVar22 = "error: the input file \'%s\' has no sections";\n    goto LAB_00018bc8;\n  }" if (parenthesized_expression "(param_1[0x18] == 0)" ( (binary_expression "param_1[0x18] == 0" (subscript_expression "param_1[0x18]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n    uVar10 = FUN_0002c060(param_1);\n    pcVar22 = "error: the input file \'%s\' has no sections";\n    goto LAB_00018bc8;\n  }" { (expression_statement "uVar10 = FUN_0002c060(param_1);" (assignment_expression "uVar10 = FUN_0002c060(param_1)" identifier = (call_expression "FUN_0002c060(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "pcVar22 = "error: the input file \'%s\' has no sections";" (assignment_expression "pcVar22 = "error: the input file \'%s\' has no sections"" identifier = (string_literal ""error: the input file \'%s\' has no sections"" " string_content escape_sequence string_content escape_sequence string_content ")) ;) (goto_statement "goto LAB_00018bc8;" goto statement_identifier ;) })) (if_statement "if (((undefined4 *)param_1[1])[1] != 5) {\n    if ((DAT_0003fb24 != 1) && ((DAT_0003fb24 & 1) != 0)) {\n      uVar10 = FUN_0002c060(param_1);\n      pcVar22 = "--compress-debug-sections=[zlib|zlib-gnu|zlib-gabi] is unsupported on `%s\'";\nLAB_00018bc8:\n      uVar11 = dcgettext(0,pcVar22,5);\n      FUN_0002b6d0(uVar11,uVar10);\n      return 0;\n    }\n    if (DAT_0003fb20 != 0) {\n      uVar10 = FUN_0002c060(param_1);\n      pcVar22 = "--elf-stt-common=[yes|no] is unsupported on `%s\'";\n      goto LAB_00018bc8;\n    }\n  }" if (parenthesized_expression "(((undefined4 *)param_1[1])[1] != 5)" ( (binary_expression "((undefined4 *)param_1[1])[1] != 5" (subscript_expression "((undefined4 *)param_1[1])[1]" (parenthesized_expression "((undefined4 *)param_1[1])" ( (cast_expression "(undefined4 *)param_1[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[1]" identifier [ number_literal ])) )) [ number_literal ]) != number_literal) )) (compound_statement "{\n    if ((DAT_0003fb24 != 1) && ((DAT_0003fb24 & 1) != 0)) {\n      uVar10 = FUN_0002c060(param_1);\n      pcVar22 = "--compress-debug-sections=[zlib|zlib-gnu|zlib-gabi] is unsupported on `%s\'";\nLAB_00018bc8:\n      uVar11 = dcgettext(0,pcVar22,5);\n      FUN_0002b6d0(uVar11,uVar10);\n      return 0;\n    }\n    if (DAT_0003fb20 != 0) {\n      uVar10 = FUN_0002c060(param_1);\n      pcVar22 = "--elf-stt-common=[yes|no] is unsupported on `%s\'";\n      goto LAB_00018bc8;\n    }\n  }" { (if_statement "if ((DAT_0003fb24 != 1) && ((DAT_0003fb24 & 1) != 0)) {\n      uVar10 = FUN_0002c060(param_1);\n      pcVar22 = "--compress-debug-sections=[zlib|zlib-gnu|zlib-gabi] is unsupported on `%s\'";\nLAB_00018bc8:\n      uVar11 = dcgettext(0,pcVar22,5);\n      FUN_0002b6d0(uVar11,uVar10);\n      return 0;\n    }" if (parenthesized_expression "((DAT_0003fb24 != 1) && ((DAT_0003fb24 & 1) != 0))" ( (binary_expression "(DAT_0003fb24 != 1) && ((DAT_0003fb24 & 1) != 0)" (parenthesized_expression "(DAT_0003fb24 != 1)" ( (binary_expression "DAT_0003fb24 != 1" identifier != number_literal) )) && (parenthesized_expression "((DAT_0003fb24 & 1) != 0)" ( (binary_expression "(DAT_0003fb24 & 1) != 0" (parenthesized_expression "(DAT_0003fb24 & 1)" ( (binary_expression "DAT_0003fb24 & 1" identifier & number_literal) )) != number_literal) ))) )) (compound_statement "{\n      uVar10 = FUN_0002c060(param_1);\n      pcVar22 = "--compress-debug-sections=[zlib|zlib-gnu|zlib-gabi] is unsupported on `%s\'";\nLAB_00018bc8:\n      uVar11 = dcgettext(0,pcVar22,5);\n      FUN_0002b6d0(uVar11,uVar10);\n      return 0;\n    }" { (expression_statement "uVar10 = FUN_0002c060(param_1);" (assignment_expression "uVar10 = FUN_0002c060(param_1)" identifier = (call_expression "FUN_0002c060(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "pcVar22 = "--compress-debug-sections=[zlib|zlib-gnu|zlib-gabi] is unsupported on `%s\'";" (assignment_expression "pcVar22 = "--compress-debug-sections=[zlib|zlib-gnu|zlib-gabi] is unsupported on `%s\'"" identifier = (string_literal ""--compress-debug-sections=[zlib|zlib-gnu|zlib-gabi] is unsupported on `%s\'"" " string_content escape_sequence ")) ;) (labeled_statement "LAB_00018bc8:\n      uVar11 = dcgettext(0,pcVar22,5);" statement_identifier : (expression_statement "uVar11 = dcgettext(0,pcVar22,5);" (assignment_expression "uVar11 = dcgettext(0,pcVar22,5)" identifier = (call_expression "dcgettext(0,pcVar22,5)" identifier (argument_list "(0,pcVar22,5)" ( number_literal , identifier , number_literal )))) ;)) (expression_statement "FUN_0002b6d0(uVar11,uVar10);" (call_expression "FUN_0002b6d0(uVar11,uVar10)" identifier (argument_list "(uVar11,uVar10)" ( identifier , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (if_statement "if (DAT_0003fb20 != 0) {\n      uVar10 = FUN_0002c060(param_1);\n      pcVar22 = "--elf-stt-common=[yes|no] is unsupported on `%s\'";\n      goto LAB_00018bc8;\n    }" if (parenthesized_expression "(DAT_0003fb20 != 0)" ( (binary_expression "DAT_0003fb20 != 0" identifier != number_literal) )) (compound_statement "{\n      uVar10 = FUN_0002c060(param_1);\n      pcVar22 = "--elf-stt-common=[yes|no] is unsupported on `%s\'";\n      goto LAB_00018bc8;\n    }" { (expression_statement "uVar10 = FUN_0002c060(param_1);" (assignment_expression "uVar10 = FUN_0002c060(param_1)" identifier = (call_expression "FUN_0002c060(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "pcVar22 = "--elf-stt-common=[yes|no] is unsupported on `%s\'";" (assignment_expression "pcVar22 = "--elf-stt-common=[yes|no] is unsupported on `%s\'"" identifier = (string_literal ""--elf-stt-common=[yes|no] is unsupported on `%s\'"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_00018bc8;" goto statement_identifier ;) })) })) (if_statement "if (DAT_0003fb90 != 0) {\n    uVar10 = *(undefined4 *)param_1[1];\n    uVar11 = *(undefined4 *)param_2[1];\n    sVar17 = *param_2;\n    uVar13 = FUN_0002c060(param_1);\n    pcVar22 = (char *)dcgettext(0,"copy from `%s\' [%s] to `%s\' [%s]\n",5);\n    printf(pcVar22,uVar13,uVar10,sVar17,uVar11);\n  }" if (parenthesized_expression "(DAT_0003fb90 != 0)" ( (binary_expression "DAT_0003fb90 != 0" identifier != number_literal) )) (compound_statement "{\n    uVar10 = *(undefined4 *)param_1[1];\n    uVar11 = *(undefined4 *)param_2[1];\n    sVar17 = *param_2;\n    uVar13 = FUN_0002c060(param_1);\n    pcVar22 = (char *)dcgettext(0,"copy from `%s\' [%s] to `%s\' [%s]\n",5);\n    printf(pcVar22,uVar13,uVar10,sVar17,uVar11);\n  }" { (expression_statement "uVar10 = *(undefined4 *)param_1[1];" (assignment_expression "uVar10 = *(undefined4 *)param_1[1]" identifier = (pointer_expression "*(undefined4 *)param_1[1]" * (cast_expression "(undefined4 *)param_1[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[1]" identifier [ number_literal ])))) ;) (expression_statement "uVar11 = *(undefined4 *)param_2[1];" (assignment_expression "uVar11 = *(undefined4 *)param_2[1]" identifier = (pointer_expression "*(undefined4 *)param_2[1]" * (cast_expression "(undefined4 *)param_2[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[1]" identifier [ number_literal ])))) ;) (expression_statement "sVar17 = *param_2;" (assignment_expression "sVar17 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "uVar13 = FUN_0002c060(param_1);" (assignment_expression "uVar13 = FUN_0002c060(param_1)" identifier = (call_expression "FUN_0002c060(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "pcVar22 = (char *)dcgettext(0,"copy from `%s\' [%s] to `%s\' [%s]\n",5);" (assignment_expression "pcVar22 = (char *)dcgettext(0,"copy from `%s\' [%s] to `%s\' [%s]\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"copy from `%s\' [%s] to `%s\' [%s]\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"copy from `%s\' [%s] to `%s\' [%s]\n",5)" identifier (argument_list "(0,"copy from `%s\' [%s] to `%s\' [%s]\n",5)" ( number_literal , (string_literal ""copy from `%s\' [%s] to `%s\' [%s]\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar22,uVar13,uVar10,sVar17,uVar11);" (call_expression "printf(pcVar22,uVar13,uVar10,sVar17,uVar11)" identifier (argument_list "(pcVar22,uVar13,uVar10,sVar17,uVar11)" ( identifier , identifier , identifier , identifier , identifier ))) ;) })) (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" identifier = number_literal) ;) (if_statement "if (DAT_0003facc == 0) {\n    sVar17 = DAT_0003fb5c;\n    if (DAT_0003fb60 == 0) {\n      sVar17 = param_1[0x1c];\n    }\n    iVar9 = sVar17 + DAT_0003fb64;\n  }" if (parenthesized_expression "(DAT_0003facc == 0)" ( (binary_expression "DAT_0003facc == 0" identifier == number_literal) )) (compound_statement "{\n    sVar17 = DAT_0003fb5c;\n    if (DAT_0003fb60 == 0) {\n      sVar17 = param_1[0x1c];\n    }\n    iVar9 = sVar17 + DAT_0003fb64;\n  }" { (expression_statement "sVar17 = DAT_0003fb5c;" (assignment_expression "sVar17 = DAT_0003fb5c" identifier = identifier) ;) (if_statement "if (DAT_0003fb60 == 0) {\n      sVar17 = param_1[0x1c];\n    }" if (parenthesized_expression "(DAT_0003fb60 == 0)" ( (binary_expression "DAT_0003fb60 == 0" identifier == number_literal) )) (compound_statement "{\n      sVar17 = param_1[0x1c];\n    }" { (expression_statement "sVar17 = param_1[0x1c];" (assignment_expression "sVar17 = param_1[0x1c]" identifier = (subscript_expression "param_1[0x1c]" identifier [ number_literal ])) ;) })) (expression_statement "iVar9 = sVar17 + DAT_0003fb64;" (assignment_expression "iVar9 = sVar17 + DAT_0003fb64" identifier = (binary_expression "sVar17 + DAT_0003fb64" identifier + identifier)) ;) })) (if_statement "if ((param_2[10] & 7) != 3) {\n    uVar35 = ~DAT_0003fb3c & *(uint *)(param_2[1] + 0x10) &\n             (param_1[10] >> 5 & 0xfffff | DAT_0003fb40);\n    if (DAT_0003fb78 == 7) {\n      uVar35 = uVar35 & 0xfffffffe;\n    }\n    iVar9 = bfd_set_start_address(param_2,iVar9);\n    if ((iVar9 == 0) || (iVar9 = bfd_set_file_flags(param_2,uVar35), iVar9 == 0)) goto LAB_00018840;\n  }" if (parenthesized_expression "((param_2[10] & 7) != 3)" ( (binary_expression "(param_2[10] & 7) != 3" (parenthesized_expression "(param_2[10] & 7)" ( (binary_expression "param_2[10] & 7" (subscript_expression "param_2[10]" identifier [ number_literal ]) & number_literal) )) != number_literal) )) (compound_statement "{\n    uVar35 = ~DAT_0003fb3c & *(uint *)(param_2[1] + 0x10) &\n             (param_1[10] >> 5 & 0xfffff | DAT_0003fb40);\n    if (DAT_0003fb78 == 7) {\n      uVar35 = uVar35 & 0xfffffffe;\n    }\n    iVar9 = bfd_set_start_address(param_2,iVar9);\n    if ((iVar9 == 0) || (iVar9 = bfd_set_file_flags(param_2,uVar35), iVar9 == 0)) goto LAB_00018840;\n  }" { (expression_statement "uVar35 = ~DAT_0003fb3c & *(uint *)(param_2[1] + 0x10) &\n             (param_1[10] >> 5 & 0xfffff | DAT_0003fb40);" (assignment_expression "uVar35 = ~DAT_0003fb3c & *(uint *)(param_2[1] + 0x10) &\n             (param_1[10] >> 5 & 0xfffff | DAT_0003fb40)" identifier = (binary_expression "~DAT_0003fb3c & *(uint *)(param_2[1] + 0x10) &\n             (param_1[10] >> 5 & 0xfffff | DAT_0003fb40)" (binary_expression "~DAT_0003fb3c & *(uint *)(param_2[1] + 0x10)" (unary_expression "~DAT_0003fb3c" ~ identifier) & (pointer_expression "*(uint *)(param_2[1] + 0x10)" * (cast_expression "(uint *)(param_2[1] + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2[1] + 0x10)" ( (binary_expression "param_2[1] + 0x10" (subscript_expression "param_2[1]" identifier [ number_literal ]) + number_literal) ))))) & (parenthesized_expression "(param_1[10] >> 5 & 0xfffff | DAT_0003fb40)" ( (binary_expression "param_1[10] >> 5 & 0xfffff | DAT_0003fb40" (binary_expression "param_1[10] >> 5 & 0xfffff" (binary_expression "param_1[10] >> 5" (subscript_expression "param_1[10]" identifier [ number_literal ]) >> number_literal) & number_literal) | identifier) )))) ;) (if_statement "if (DAT_0003fb78 == 7) {\n      uVar35 = uVar35 & 0xfffffffe;\n    }" if (parenthesized_expression "(DAT_0003fb78 == 7)" ( (binary_expression "DAT_0003fb78 == 7" identifier == number_literal) )) (compound_statement "{\n      uVar35 = uVar35 & 0xfffffffe;\n    }" { (expression_statement "uVar35 = uVar35 & 0xfffffffe;" (assignment_expression "uVar35 = uVar35 & 0xfffffffe" identifier = (binary_expression "uVar35 & 0xfffffffe" identifier & number_literal)) ;) })) (expression_statement "iVar9 = bfd_set_start_address(param_2,iVar9);" (assignment_expression "iVar9 = bfd_set_start_address(param_2,iVar9)" identifier = (call_expression "bfd_set_start_address(param_2,iVar9)" identifier (argument_list "(param_2,iVar9)" ( identifier , identifier )))) ;) (if_statement "if ((iVar9 == 0) || (iVar9 = bfd_set_file_flags(param_2,uVar35), iVar9 == 0)) goto LAB_00018840;" if (parenthesized_expression "((iVar9 == 0) || (iVar9 = bfd_set_file_flags(param_2,uVar35), iVar9 == 0))" ( (binary_expression "(iVar9 == 0) || (iVar9 = bfd_set_file_flags(param_2,uVar35), iVar9 == 0)" (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar9 = bfd_set_file_flags(param_2,uVar35), iVar9 == 0)" ( (comma_expression "iVar9 = bfd_set_file_flags(param_2,uVar35), iVar9 == 0" (assignment_expression "iVar9 = bfd_set_file_flags(param_2,uVar35)" identifier = (call_expression "bfd_set_file_flags(param_2,uVar35)" identifier (argument_list "(param_2,uVar35)" ( identifier , identifier )))) , (binary_expression "iVar9 == 0" identifier == number_literal)) ))) )) (goto_statement "goto LAB_00018840;" goto statement_identifier ;)) })) (expression_statement "uVar10 = bfd_get_arch(param_1);" (assignment_expression "uVar10 = bfd_get_arch(param_1)" identifier = (call_expression "bfd_get_arch(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "uVar11 = bfd_get_mach(param_1);" (assignment_expression "uVar11 = bfd_get_mach(param_1)" identifier = (call_expression "bfd_get_mach(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (if_statement "if (param_3 != 0) {\n    iVar9 = bfd_get_arch_info(param_1);\n    if ((iVar9 == 0) || (iVar9 = bfd_get_arch_info(param_1), *(int *)(iVar9 + 0xc) == 0)) {\n      uVar10 = *(undefined4 *)(param_3 + 0xc);\n      uVar11 = *(undefined4 *)(param_3 + 0x10);\n    }\n    else {\n      uVar13 = FUN_0002c060(param_1);\n      uVar14 = dcgettext(0,"Input file `%s\' ignores binary architecture parameter.",5);\n      FUN_0002b6d0(uVar14,uVar13);\n    }\n  }" if (parenthesized_expression "(param_3 != 0)" ( (binary_expression "param_3 != 0" identifier != number_literal) )) (compound_statement "{\n    iVar9 = bfd_get_arch_info(param_1);\n    if ((iVar9 == 0) || (iVar9 = bfd_get_arch_info(param_1), *(int *)(iVar9 + 0xc) == 0)) {\n      uVar10 = *(undefined4 *)(param_3 + 0xc);\n      uVar11 = *(undefined4 *)(param_3 + 0x10);\n    }\n    else {\n      uVar13 = FUN_0002c060(param_1);\n      uVar14 = dcgettext(0,"Input file `%s\' ignores binary architecture parameter.",5);\n      FUN_0002b6d0(uVar14,uVar13);\n    }\n  }" { (expression_statement "iVar9 = bfd_get_arch_info(param_1);" (assignment_expression "iVar9 = bfd_get_arch_info(param_1)" identifier = (call_expression "bfd_get_arch_info(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (if_statement "if ((iVar9 == 0) || (iVar9 = bfd_get_arch_info(param_1), *(int *)(iVar9 + 0xc) == 0)) {\n      uVar10 = *(undefined4 *)(param_3 + 0xc);\n      uVar11 = *(undefined4 *)(param_3 + 0x10);\n    }\n    else {\n      uVar13 = FUN_0002c060(param_1);\n      uVar14 = dcgettext(0,"Input file `%s\' ignores binary architecture parameter.",5);\n      FUN_0002b6d0(uVar14,uVar13);\n    }" if (parenthesized_expression "((iVar9 == 0) || (iVar9 = bfd_get_arch_info(param_1), *(int *)(iVar9 + 0xc) == 0))" ( (binary_expression "(iVar9 == 0) || (iVar9 = bfd_get_arch_info(param_1), *(int *)(iVar9 + 0xc) == 0)" (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar9 = bfd_get_arch_info(param_1), *(int *)(iVar9 + 0xc) == 0)" ( (comma_expression "iVar9 = bfd_get_arch_info(param_1), *(int *)(iVar9 + 0xc) == 0" (assignment_expression "iVar9 = bfd_get_arch_info(param_1)" identifier = (call_expression "bfd_get_arch_info(param_1)" identifier (argument_list "(param_1)" ( identifier )))) , (binary_expression "*(int *)(iVar9 + 0xc) == 0" (pointer_expression "*(int *)(iVar9 + 0xc)" * (cast_expression "(int *)(iVar9 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xc)" ( (binary_expression "iVar9 + 0xc" identifier + number_literal) )))) == number_literal)) ))) )) (compound_statement "{\n      uVar10 = *(undefined4 *)(param_3 + 0xc);\n      uVar11 = *(undefined4 *)(param_3 + 0x10);\n    }" { (expression_statement "uVar10 = *(undefined4 *)(param_3 + 0xc);" (assignment_expression "uVar10 = *(undefined4 *)(param_3 + 0xc)" identifier = (pointer_expression "*(undefined4 *)(param_3 + 0xc)" * (cast_expression "(undefined4 *)(param_3 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xc)" ( (binary_expression "param_3 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "uVar11 = *(undefined4 *)(param_3 + 0x10);" (assignment_expression "uVar11 = *(undefined4 *)(param_3 + 0x10)" identifier = (pointer_expression "*(undefined4 *)(param_3 + 0x10)" * (cast_expression "(undefined4 *)(param_3 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x10)" ( (binary_expression "param_3 + 0x10" identifier + number_literal) ))))) ;) }) (else_clause "else {\n      uVar13 = FUN_0002c060(param_1);\n      uVar14 = dcgettext(0,"Input file `%s\' ignores binary architecture parameter.",5);\n      FUN_0002b6d0(uVar14,uVar13);\n    }" else (compound_statement "{\n      uVar13 = FUN_0002c060(param_1);\n      uVar14 = dcgettext(0,"Input file `%s\' ignores binary architecture parameter.",5);\n      FUN_0002b6d0(uVar14,uVar13);\n    }" { (expression_statement "uVar13 = FUN_0002c060(param_1);" (assignment_expression "uVar13 = FUN_0002c060(param_1)" identifier = (call_expression "FUN_0002c060(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "uVar14 = dcgettext(0,"Input file `%s\' ignores binary architecture parameter.",5);" (assignment_expression "uVar14 = dcgettext(0,"Input file `%s\' ignores binary architecture parameter.",5)" identifier = (call_expression "dcgettext(0,"Input file `%s\' ignores binary architecture parameter.",5)" identifier (argument_list "(0,"Input file `%s\' ignores binary architecture parameter.",5)" ( number_literal , (string_literal ""Input file `%s\' ignores binary architecture parameter."" " string_content escape_sequence string_content ") , number_literal )))) ;) (expression_statement "FUN_0002b6d0(uVar14,uVar13);" (call_expression "FUN_0002b6d0(uVar14,uVar13)" identifier (argument_list "(uVar14,uVar13)" ( identifier , identifier ))) ;) }))) })) (expression_statement "iVar9 = (**(code **)(param_2[1] + 0x154))(param_2,uVar10,uVar11);" (assignment_expression "iVar9 = (**(code **)(param_2[1] + 0x154))(param_2,uVar10,uVar11)" identifier = (call_expression "(**(code **)(param_2[1] + 0x154))(param_2,uVar10,uVar11)" (parenthesized_expression "(**(code **)(param_2[1] + 0x154))" ( (pointer_expression "**(code **)(param_2[1] + 0x154)" * (pointer_expression "*(code **)(param_2[1] + 0x154)" * (cast_expression "(code **)(param_2[1] + 0x154)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2[1] + 0x154)" ( (binary_expression "param_2[1] + 0x154" (subscript_expression "param_2[1]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(param_2,uVar10,uVar11)" ( identifier , identifier , identifier )))) ;) (if_statement "if (iVar9 == 0) {\n    if ((*(byte *)((int)param_1 + 0x2b) & 4) != 0) {\nLAB_000187e7:\n      iVar9 = bfd_get_arch(param_1);\n      if (iVar9 == 0) {\n        uVar10 = FUN_0002c060(param_1);\n        pcVar22 = "Unable to recognise the format of the input file `%s\'";\n      }\n      else {\n        uVar10 = bfd_get_mach(param_1);\n        uVar11 = bfd_get_arch(param_1);\n        uVar10 = bfd_printable_arch_mach(uVar11,uVar10);\n        pcVar22 = "Output file cannot represent architecture `%s\'";\n      }\n      uVar11 = dcgettext(0,pcVar22,5);\n      FUN_0002b6d0(uVar11,uVar10);\n      return 0;\n    }\n    iVar9 = bfd_get_arch(param_1);\n    iVar12 = bfd_get_arch(param_2);\n    if (iVar9 != iVar12) goto LAB_000187e7;\n  }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n    if ((*(byte *)((int)param_1 + 0x2b) & 4) != 0) {\nLAB_000187e7:\n      iVar9 = bfd_get_arch(param_1);\n      if (iVar9 == 0) {\n        uVar10 = FUN_0002c060(param_1);\n        pcVar22 = "Unable to recognise the format of the input file `%s\'";\n      }\n      else {\n        uVar10 = bfd_get_mach(param_1);\n        uVar11 = bfd_get_arch(param_1);\n        uVar10 = bfd_printable_arch_mach(uVar11,uVar10);\n        pcVar22 = "Output file cannot represent architecture `%s\'";\n      }\n      uVar11 = dcgettext(0,pcVar22,5);\n      FUN_0002b6d0(uVar11,uVar10);\n      return 0;\n    }\n    iVar9 = bfd_get_arch(param_1);\n    iVar12 = bfd_get_arch(param_2);\n    if (iVar9 != iVar12) goto LAB_000187e7;\n  }" { (if_statement "if ((*(byte *)((int)param_1 + 0x2b) & 4) != 0) {\nLAB_000187e7:\n      iVar9 = bfd_get_arch(param_1);\n      if (iVar9 == 0) {\n        uVar10 = FUN_0002c060(param_1);\n        pcVar22 = "Unable to recognise the format of the input file `%s\'";\n      }\n      else {\n        uVar10 = bfd_get_mach(param_1);\n        uVar11 = bfd_get_arch(param_1);\n        uVar10 = bfd_printable_arch_mach(uVar11,uVar10);\n        pcVar22 = "Output file cannot represent architecture `%s\'";\n      }\n      uVar11 = dcgettext(0,pcVar22,5);\n      FUN_0002b6d0(uVar11,uVar10);\n      return 0;\n    }" if (parenthesized_expression "((*(byte *)((int)param_1 + 0x2b) & 4) != 0)" ( (binary_expression "(*(byte *)((int)param_1 + 0x2b) & 4) != 0" (parenthesized_expression "(*(byte *)((int)param_1 + 0x2b) & 4)" ( (binary_expression "*(byte *)((int)param_1 + 0x2b) & 4" (pointer_expression "*(byte *)((int)param_1 + 0x2b)" * (cast_expression "(byte *)((int)param_1 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x2b)" ( (binary_expression "(int)param_1 + 0x2b" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_000187e7:\n      iVar9 = bfd_get_arch(param_1);\n      if (iVar9 == 0) {\n        uVar10 = FUN_0002c060(param_1);\n        pcVar22 = "Unable to recognise the format of the input file `%s\'";\n      }\n      else {\n        uVar10 = bfd_get_mach(param_1);\n        uVar11 = bfd_get_arch(param_1);\n        uVar10 = bfd_printable_arch_mach(uVar11,uVar10);\n        pcVar22 = "Output file cannot represent architecture `%s\'";\n      }\n      uVar11 = dcgettext(0,pcVar22,5);\n      FUN_0002b6d0(uVar11,uVar10);\n      return 0;\n    }" { (labeled_statement "LAB_000187e7:\n      iVar9 = bfd_get_arch(param_1);" statement_identifier : (expression_statement "iVar9 = bfd_get_arch(param_1);" (assignment_expression "iVar9 = bfd_get_arch(param_1)" identifier = (call_expression "bfd_get_arch(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;)) (if_statement "if (iVar9 == 0) {\n        uVar10 = FUN_0002c060(param_1);\n        pcVar22 = "Unable to recognise the format of the input file `%s\'";\n      }\n      else {\n        uVar10 = bfd_get_mach(param_1);\n        uVar11 = bfd_get_arch(param_1);\n        uVar10 = bfd_printable_arch_mach(uVar11,uVar10);\n        pcVar22 = "Output file cannot represent architecture `%s\'";\n      }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar10 = FUN_0002c060(param_1);\n        pcVar22 = "Unable to recognise the format of the input file `%s\'";\n      }" { (expression_statement "uVar10 = FUN_0002c060(param_1);" (assignment_expression "uVar10 = FUN_0002c060(param_1)" identifier = (call_expression "FUN_0002c060(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "pcVar22 = "Unable to recognise the format of the input file `%s\'";" (assignment_expression "pcVar22 = "Unable to recognise the format of the input file `%s\'"" identifier = (string_literal ""Unable to recognise the format of the input file `%s\'"" " string_content escape_sequence ")) ;) }) (else_clause "else {\n        uVar10 = bfd_get_mach(param_1);\n        uVar11 = bfd_get_arch(param_1);\n        uVar10 = bfd_printable_arch_mach(uVar11,uVar10);\n        pcVar22 = "Output file cannot represent architecture `%s\'";\n      }" else (compound_statement "{\n        uVar10 = bfd_get_mach(param_1);\n        uVar11 = bfd_get_arch(param_1);\n        uVar10 = bfd_printable_arch_mach(uVar11,uVar10);\n        pcVar22 = "Output file cannot represent architecture `%s\'";\n      }" { (expression_statement "uVar10 = bfd_get_mach(param_1);" (assignment_expression "uVar10 = bfd_get_mach(param_1)" identifier = (call_expression "bfd_get_mach(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "uVar11 = bfd_get_arch(param_1);" (assignment_expression "uVar11 = bfd_get_arch(param_1)" identifier = (call_expression "bfd_get_arch(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "uVar10 = bfd_printable_arch_mach(uVar11,uVar10);" (assignment_expression "uVar10 = bfd_printable_arch_mach(uVar11,uVar10)" identifier = (call_expression "bfd_printable_arch_mach(uVar11,uVar10)" identifier (argument_list "(uVar11,uVar10)" ( identifier , identifier )))) ;) (expression_statement "pcVar22 = "Output file cannot represent architecture `%s\'";" (assignment_expression "pcVar22 = "Output file cannot represent architecture `%s\'"" identifier = (string_literal ""Output file cannot represent architecture `%s\'"" " string_content escape_sequence ")) ;) }))) (expression_statement "uVar11 = dcgettext(0,pcVar22,5);" (assignment_expression "uVar11 = dcgettext(0,pcVar22,5)" identifier = (call_expression "dcgettext(0,pcVar22,5)" identifier (argument_list "(0,pcVar22,5)" ( number_literal , identifier , number_literal )))) ;) (expression_statement "FUN_0002b6d0(uVar11,uVar10);" (call_expression "FUN_0002b6d0(uVar11,uVar10)" identifier (argument_list "(uVar11,uVar10)" ( identifier , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "iVar9 = bfd_get_arch(param_1);" (assignment_expression "iVar9 = bfd_get_arch(param_1)" identifier = (call_expression "bfd_get_arch(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "iVar12 = bfd_get_arch(param_2);" (assignment_expression "iVar12 = bfd_get_arch(param_2)" identifier = (call_expression "bfd_get_arch(param_2)" identifier (argument_list "(param_2)" ( identifier )))) ;) (if_statement "if (iVar9 != iVar12) goto LAB_000187e7;" if (parenthesized_expression "(iVar9 != iVar12)" ( (binary_expression "iVar9 != iVar12" identifier != identifier) )) (goto_statement "goto LAB_000187e7;" goto statement_identifier ;)) })) (expression_statement "iVar9 = bfd_set_format(param_2,(byte)param_1[10] & 7);" (assignment_expression "iVar9 = bfd_set_format(param_2,(byte)param_1[10] & 7)" identifier = (call_expression "bfd_set_format(param_2,(byte)param_1[10] & 7)" identifier (argument_list "(param_2,(byte)param_1[10] & 7)" ( identifier , (binary_expression "(byte)param_1[10] & 7" (cast_expression "(byte)param_1[10]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "param_1[10]" identifier [ number_literal ])) & number_literal) )))) ;) (if_statement "if (iVar9 == 0) {\nLAB_00018840:\n    FUN_0002c160(0,param_1,0,0);\n    return 0;\n  }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00018840:\n    FUN_0002c160(0,param_1,0,0);\n    return 0;\n  }" { (labeled_statement "LAB_00018840:\n    FUN_0002c160(0,param_1,0,0);" statement_identifier : (expression_statement "FUN_0002c160(0,param_1,0,0);" (call_expression "FUN_0002c160(0,param_1,0,0)" identifier (argument_list "(0,param_1,0,0)" ( number_literal , identifier , number_literal , number_literal ))) ;)) (return_statement "return 0;" return number_literal ;) })) (expression_statement "uVar35 = ((undefined4 *)param_2[1])[1];" (assignment_expression "uVar35 = ((undefined4 *)param_2[1])[1]" identifier = (subscript_expression "((undefined4 *)param_2[1])[1]" (parenthesized_expression "((undefined4 *)param_2[1])" ( (cast_expression "(undefined4 *)param_2[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[1]" identifier [ number_literal ])) )) [ number_literal ])) ;) (expression_statement "bVar40 = uVar35 < 2;" (assignment_expression "bVar40 = uVar35 < 2" identifier = (binary_expression "uVar35 < 2" identifier < number_literal)) ;) (expression_statement "bVar41 = uVar35 == 2;" (assignment_expression "bVar41 = uVar35 == 2" identifier = (binary_expression "uVar35 == 2" identifier == number_literal)) ;) (if_statement "if (bVar41) {\n    iVar9 = 4;\n    pbVar32 = *(byte **)param_2[1];\n    pbVar36 = &DAT_0002e16a;\n    do {\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar40 = *pbVar32 < *pbVar36;\n      bVar41 = *pbVar32 == *pbVar36;\n      pbVar32 = pbVar32 + (uint)bVar42 * -2 + 1;\n      pbVar36 = pbVar36 + (uint)bVar42 * -2 + 1;\n    } while (bVar41);\n    if ((!bVar40 && !bVar41) == bVar40) {\n      sVar17 = param_2[0x27];\n      uVar35 = ((undefined4 *)param_1[1])[1];\n      bVar40 = uVar35 < 2;\n      bVar41 = uVar35 == 2;\n      if (bVar41) {\n        iVar9 = 4;\n        pbVar32 = *(byte **)param_1[1];\n        pbVar36 = &DAT_0002e16a;\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar40 = *pbVar32 < *pbVar36;\n          bVar41 = *pbVar32 == *pbVar36;\n          pbVar32 = pbVar32 + (uint)bVar42 * -2 + 1;\n          pbVar36 = pbVar36 + (uint)bVar42 * -2 + 1;\n        } while (bVar41);\n        if ((!bVar40 && !bVar41) == bVar40) {\n          puVar33 = (undefined4 *)(param_1[0x27] + 0x78);\n          puVar37 = (undefined4 *)(sVar17 + 0x78);\n          for (iVar9 = 0x38; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar37 = *puVar33;\n            puVar33 = puVar33 + (uint)bVar42 * -2 + 1;\n            puVar37 = puVar37 + (uint)bVar42 * -2 + 1;\n          }\n        }\n      }\n      uVar35 = DAT_0003f298;\n      if (DAT_0003f298 == 0xffffffff) {\n        DAT_0003f298 = 0x200;\n        uVar35 = 0x200;\n      }\n      else {\n        *(uint *)(sVar17 + 0x9c) = DAT_0003f298;\n      }\n      if (DAT_0003f294 != -1) {\n        *(int *)(sVar17 + 0xcc) = DAT_0003f294;\n      }\n      if (DAT_0003f290 != -1) {\n        *(int *)(sVar17 + 0xcc) = DAT_0003f290;\n      }\n      if (DAT_0003f28c != -1) {\n        *(int *)(sVar17 + 0x94) = DAT_0003f28c;\n      }\n      uVar26 = DAT_0003f288;\n      if (DAT_0003f288 == 0xffffffff) {\n        DAT_0003f288 = 0x1000;\n        uVar26 = 0x1000;\n      }\n      else {\n        *(uint *)(sVar17 + 0x98) = DAT_0003f288;\n      }\n      if (DAT_0003f284 != -1) {\n        *(int *)(sVar17 + 0xc4) = DAT_0003f284;\n      }\n      if (DAT_0003f280 != -1) {\n        *(int *)(sVar17 + 0xc4) = DAT_0003f280;\n      }\n      if (DAT_0003f27c != -1) {\n        *(short *)(sVar17 + 0xbc) = DAT_0003f27c;\n      }\n      if (DAT_0003f27a != -1) {\n        *(short *)(sVar17 + 0xa8) = DAT_0003f27a;\n      }\n      if (DAT_0003f278 != -1) {\n        *(short *)(sVar17 + 0xaa) = DAT_0003f278;\n      }\n      if (uVar26 < uVar35) {\n        sprintf((char *)local_44,"%08lx",uVar35);\n        sprintf((char *)&local_30,"%08lx",DAT_0003f288);\n        uVar10 = dcgettext(0,"warning: file alignment (0x%s) > section alignment (0x%s)",5);\n        FUN_0002b6d0(uVar10,local_44,&local_30);\n      }\n    }\n  }" if (parenthesized_expression "(bVar41)" ( identifier )) (compound_statement "{\n    iVar9 = 4;\n    pbVar32 = *(byte **)param_2[1];\n    pbVar36 = &DAT_0002e16a;\n    do {\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar40 = *pbVar32 < *pbVar36;\n      bVar41 = *pbVar32 == *pbVar36;\n      pbVar32 = pbVar32 + (uint)bVar42 * -2 + 1;\n      pbVar36 = pbVar36 + (uint)bVar42 * -2 + 1;\n    } while (bVar41);\n    if ((!bVar40 && !bVar41) == bVar40) {\n      sVar17 = param_2[0x27];\n      uVar35 = ((undefined4 *)param_1[1])[1];\n      bVar40 = uVar35 < 2;\n      bVar41 = uVar35 == 2;\n      if (bVar41) {\n        iVar9 = 4;\n        pbVar32 = *(byte **)param_1[1];\n        pbVar36 = &DAT_0002e16a;\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar40 = *pbVar32 < *pbVar36;\n          bVar41 = *pbVar32 == *pbVar36;\n          pbVar32 = pbVar32 + (uint)bVar42 * -2 + 1;\n          pbVar36 = pbVar36 + (uint)bVar42 * -2 + 1;\n        } while (bVar41);\n        if ((!bVar40 && !bVar41) == bVar40) {\n          puVar33 = (undefined4 *)(param_1[0x27] + 0x78);\n          puVar37 = (undefined4 *)(sVar17 + 0x78);\n          for (iVar9 = 0x38; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar37 = *puVar33;\n            puVar33 = puVar33 + (uint)bVar42 * -2 + 1;\n            puVar37 = puVar37 + (uint)bVar42 * -2 + 1;\n          }\n        }\n      }\n      uVar35 = DAT_0003f298;\n      if (DAT_0003f298 == 0xffffffff) {\n        DAT_0003f298 = 0x200;\n        uVar35 = 0x200;\n      }\n      else {\n        *(uint *)(sVar17 + 0x9c) = DAT_0003f298;\n      }\n      if (DAT_0003f294 != -1) {\n        *(int *)(sVar17 + 0xcc) = DAT_0003f294;\n      }\n      if (DAT_0003f290 != -1) {\n        *(int *)(sVar17 + 0xcc) = DAT_0003f290;\n      }\n      if (DAT_0003f28c != -1) {\n        *(int *)(sVar17 + 0x94) = DAT_0003f28c;\n      }\n      uVar26 = DAT_0003f288;\n      if (DAT_0003f288 == 0xffffffff) {\n        DAT_0003f288 = 0x1000;\n        uVar26 = 0x1000;\n      }\n      else {\n        *(uint *)(sVar17 + 0x98) = DAT_0003f288;\n      }\n      if (DAT_0003f284 != -1) {\n        *(int *)(sVar17 + 0xc4) = DAT_0003f284;\n      }\n      if (DAT_0003f280 != -1) {\n        *(int *)(sVar17 + 0xc4) = DAT_0003f280;\n      }\n      if (DAT_0003f27c != -1) {\n        *(short *)(sVar17 + 0xbc) = DAT_0003f27c;\n      }\n      if (DAT_0003f27a != -1) {\n        *(short *)(sVar17 + 0xa8) = DAT_0003f27a;\n      }\n      if (DAT_0003f278 != -1) {\n        *(short *)(sVar17 + 0xaa) = DAT_0003f278;\n      }\n      if (uVar26 < uVar35) {\n        sprintf((char *)local_44,"%08lx",uVar35);\n        sprintf((char *)&local_30,"%08lx",DAT_0003f288);\n        uVar10 = dcgettext(0,"warning: file alignment (0x%s) > section alignment (0x%s)",5);\n        FUN_0002b6d0(uVar10,local_44,&local_30);\n      }\n    }\n  }" { (expression_statement "iVar9 = 4;" (assignment_expression "iVar9 = 4" identifier = number_literal) ;) (expression_statement "pbVar32 = *(byte **)param_2[1];" (assignment_expression "pbVar32 = *(byte **)param_2[1]" identifier = (pointer_expression "*(byte **)param_2[1]" * (cast_expression "(byte **)param_2[1]" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "param_2[1]" identifier [ number_literal ])))) ;) (expression_statement "pbVar36 = &DAT_0002e16a;" (assignment_expression "pbVar36 = &DAT_0002e16a" identifier = (pointer_expression "&DAT_0002e16a" & identifier)) ;) (do_statement "do {\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar40 = *pbVar32 < *pbVar36;\n      bVar41 = *pbVar32 == *pbVar36;\n      pbVar32 = pbVar32 + (uint)bVar42 * -2 + 1;\n      pbVar36 = pbVar36 + (uint)bVar42 * -2 + 1;\n    } while (bVar41);" do (compound_statement "{\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar40 = *pbVar32 < *pbVar36;\n      bVar41 = *pbVar32 == *pbVar36;\n      pbVar32 = pbVar32 + (uint)bVar42 * -2 + 1;\n      pbVar36 = pbVar36 + (uint)bVar42 * -2 + 1;\n    }" { (if_statement "if (iVar9 == 0) break;" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar9 = iVar9 + -1;" (assignment_expression "iVar9 = iVar9 + -1" identifier = (binary_expression "iVar9 + -1" identifier + number_literal)) ;) (expression_statement "bVar40 = *pbVar32 < *pbVar36;" (assignment_expression "bVar40 = *pbVar32 < *pbVar36" identifier = (binary_expression "*pbVar32 < *pbVar36" (pointer_expression "*pbVar32" * identifier) < (pointer_expression "*pbVar36" * identifier))) ;) (expression_statement "bVar41 = *pbVar32 == *pbVar36;" (assignment_expression "bVar41 = *pbVar32 == *pbVar36" identifier = (binary_expression "*pbVar32 == *pbVar36" (pointer_expression "*pbVar32" * identifier) == (pointer_expression "*pbVar36" * identifier))) ;) (expression_statement "pbVar32 = pbVar32 + (uint)bVar42 * -2 + 1;" (assignment_expression "pbVar32 = pbVar32 + (uint)bVar42 * -2 + 1" identifier = (binary_expression "pbVar32 + (uint)bVar42 * -2 + 1" (binary_expression "pbVar32 + (uint)bVar42 * -2" identifier + (binary_expression "(uint)bVar42 * -2" (cast_expression "(uint)bVar42" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar36 = pbVar36 + (uint)bVar42 * -2 + 1;" (assignment_expression "pbVar36 = pbVar36 + (uint)bVar42 * -2 + 1" identifier = (binary_expression "pbVar36 + (uint)bVar42 * -2 + 1" (binary_expression "pbVar36 + (uint)bVar42 * -2" identifier + (binary_expression "(uint)bVar42 * -2" (cast_expression "(uint)bVar42" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar41)" ( identifier )) ;) (if_statement "if ((!bVar40 && !bVar41) == bVar40) {\n      sVar17 = param_2[0x27];\n      uVar35 = ((undefined4 *)param_1[1])[1];\n      bVar40 = uVar35 < 2;\n      bVar41 = uVar35 == 2;\n      if (bVar41) {\n        iVar9 = 4;\n        pbVar32 = *(byte **)param_1[1];\n        pbVar36 = &DAT_0002e16a;\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar40 = *pbVar32 < *pbVar36;\n          bVar41 = *pbVar32 == *pbVar36;\n          pbVar32 = pbVar32 + (uint)bVar42 * -2 + 1;\n          pbVar36 = pbVar36 + (uint)bVar42 * -2 + 1;\n        } while (bVar41);\n        if ((!bVar40 && !bVar41) == bVar40) {\n          puVar33 = (undefined4 *)(param_1[0x27] + 0x78);\n          puVar37 = (undefined4 *)(sVar17 + 0x78);\n          for (iVar9 = 0x38; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar37 = *puVar33;\n            puVar33 = puVar33 + (uint)bVar42 * -2 + 1;\n            puVar37 = puVar37 + (uint)bVar42 * -2 + 1;\n          }\n        }\n      }\n      uVar35 = DAT_0003f298;\n      if (DAT_0003f298 == 0xffffffff) {\n        DAT_0003f298 = 0x200;\n        uVar35 = 0x200;\n      }\n      else {\n        *(uint *)(sVar17 + 0x9c) = DAT_0003f298;\n      }\n      if (DAT_0003f294 != -1) {\n        *(int *)(sVar17 + 0xcc) = DAT_0003f294;\n      }\n      if (DAT_0003f290 != -1) {\n        *(int *)(sVar17 + 0xcc) = DAT_0003f290;\n      }\n      if (DAT_0003f28c != -1) {\n        *(int *)(sVar17 + 0x94) = DAT_0003f28c;\n      }\n      uVar26 = DAT_0003f288;\n      if (DAT_0003f288 == 0xffffffff) {\n        DAT_0003f288 = 0x1000;\n        uVar26 = 0x1000;\n      }\n      else {\n        *(uint *)(sVar17 + 0x98) = DAT_0003f288;\n      }\n      if (DAT_0003f284 != -1) {\n        *(int *)(sVar17 + 0xc4) = DAT_0003f284;\n      }\n      if (DAT_0003f280 != -1) {\n        *(int *)(sVar17 + 0xc4) = DAT_0003f280;\n      }\n      if (DAT_0003f27c != -1) {\n        *(short *)(sVar17 + 0xbc) = DAT_0003f27c;\n      }\n      if (DAT_0003f27a != -1) {\n        *(short *)(sVar17 + 0xa8) = DAT_0003f27a;\n      }\n      if (DAT_0003f278 != -1) {\n        *(short *)(sVar17 + 0xaa) = DAT_0003f278;\n      }\n      if (uVar26 < uVar35) {\n        sprintf((char *)local_44,"%08lx",uVar35);\n        sprintf((char *)&local_30,"%08lx",DAT_0003f288);\n        uVar10 = dcgettext(0,"warning: file alignment (0x%s) > section alignment (0x%s)",5);\n        FUN_0002b6d0(uVar10,local_44,&local_30);\n      }\n    }" if (parenthesized_expression "((!bVar40 && !bVar41) == bVar40)" ( (binary_expression "(!bVar40 && !bVar41) == bVar40" (parenthesized_expression "(!bVar40 && !bVar41)" ( (binary_expression "!bVar40 && !bVar41" (unary_expression "!bVar40" ! identifier) && (unary_expression "!bVar41" ! identifier)) )) == identifier) )) (compound_statement "{\n      sVar17 = param_2[0x27];\n      uVar35 = ((undefined4 *)param_1[1])[1];\n      bVar40 = uVar35 < 2;\n      bVar41 = uVar35 == 2;\n      if (bVar41) {\n        iVar9 = 4;\n        pbVar32 = *(byte **)param_1[1];\n        pbVar36 = &DAT_0002e16a;\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar40 = *pbVar32 < *pbVar36;\n          bVar41 = *pbVar32 == *pbVar36;\n          pbVar32 = pbVar32 + (uint)bVar42 * -2 + 1;\n          pbVar36 = pbVar36 + (uint)bVar42 * -2 + 1;\n        } while (bVar41);\n        if ((!bVar40 && !bVar41) == bVar40) {\n          puVar33 = (undefined4 *)(param_1[0x27] + 0x78);\n          puVar37 = (undefined4 *)(sVar17 + 0x78);\n          for (iVar9 = 0x38; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar37 = *puVar33;\n            puVar33 = puVar33 + (uint)bVar42 * -2 + 1;\n            puVar37 = puVar37 + (uint)bVar42 * -2 + 1;\n          }\n        }\n      }\n      uVar35 = DAT_0003f298;\n      if (DAT_0003f298 == 0xffffffff) {\n        DAT_0003f298 = 0x200;\n        uVar35 = 0x200;\n      }\n      else {\n        *(uint *)(sVar17 + 0x9c) = DAT_0003f298;\n      }\n      if (DAT_0003f294 != -1) {\n        *(int *)(sVar17 + 0xcc) = DAT_0003f294;\n      }\n      if (DAT_0003f290 != -1) {\n        *(int *)(sVar17 + 0xcc) = DAT_0003f290;\n      }\n      if (DAT_0003f28c != -1) {\n        *(int *)(sVar17 + 0x94) = DAT_0003f28c;\n      }\n      uVar26 = DAT_0003f288;\n      if (DAT_0003f288 == 0xffffffff) {\n        DAT_0003f288 = 0x1000;\n        uVar26 = 0x1000;\n      }\n      else {\n        *(uint *)(sVar17 + 0x98) = DAT_0003f288;\n      }\n      if (DAT_0003f284 != -1) {\n        *(int *)(sVar17 + 0xc4) = DAT_0003f284;\n      }\n      if (DAT_0003f280 != -1) {\n        *(int *)(sVar17 + 0xc4) = DAT_0003f280;\n      }\n      if (DAT_0003f27c != -1) {\n        *(short *)(sVar17 + 0xbc) = DAT_0003f27c;\n      }\n      if (DAT_0003f27a != -1) {\n        *(short *)(sVar17 + 0xa8) = DAT_0003f27a;\n      }\n      if (DAT_0003f278 != -1) {\n        *(short *)(sVar17 + 0xaa) = DAT_0003f278;\n      }\n      if (uVar26 < uVar35) {\n        sprintf((char *)local_44,"%08lx",uVar35);\n        sprintf((char *)&local_30,"%08lx",DAT_0003f288);\n        uVar10 = dcgettext(0,"warning: file alignment (0x%s) > section alignment (0x%s)",5);\n        FUN_0002b6d0(uVar10,local_44,&local_30);\n      }\n    }" { (expression_statement "sVar17 = param_2[0x27];" (assignment_expression "sVar17 = param_2[0x27]" identifier = (subscript_expression "param_2[0x27]" identifier [ number_literal ])) ;) (expression_statement "uVar35 = ((undefined4 *)param_1[1])[1];" (assignment_expression "uVar35 = ((undefined4 *)param_1[1])[1]" identifier = (subscript_expression "((undefined4 *)param_1[1])[1]" (parenthesized_expression "((undefined4 *)param_1[1])" ( (cast_expression "(undefined4 *)param_1[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[1]" identifier [ number_literal ])) )) [ number_literal ])) ;) (expression_statement "bVar40 = uVar35 < 2;" (assignment_expression "bVar40 = uVar35 < 2" identifier = (binary_expression "uVar35 < 2" identifier < number_literal)) ;) (expression_statement "bVar41 = uVar35 == 2;" (assignment_expression "bVar41 = uVar35 == 2" identifier = (binary_expression "uVar35 == 2" identifier == number_literal)) ;) (if_statement "if (bVar41) {\n        iVar9 = 4;\n        pbVar32 = *(byte **)param_1[1];\n        pbVar36 = &DAT_0002e16a;\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar40 = *pbVar32 < *pbVar36;\n          bVar41 = *pbVar32 == *pbVar36;\n          pbVar32 = pbVar32 + (uint)bVar42 * -2 + 1;\n          pbVar36 = pbVar36 + (uint)bVar42 * -2 + 1;\n        } while (bVar41);\n        if ((!bVar40 && !bVar41) == bVar40) {\n          puVar33 = (undefined4 *)(param_1[0x27] + 0x78);\n          puVar37 = (undefined4 *)(sVar17 + 0x78);\n          for (iVar9 = 0x38; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar37 = *puVar33;\n            puVar33 = puVar33 + (uint)bVar42 * -2 + 1;\n            puVar37 = puVar37 + (uint)bVar42 * -2 + 1;\n          }\n        }\n      }" if (parenthesized_expression "(bVar41)" ( identifier )) (compound_statement "{\n        iVar9 = 4;\n        pbVar32 = *(byte **)param_1[1];\n        pbVar36 = &DAT_0002e16a;\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar40 = *pbVar32 < *pbVar36;\n          bVar41 = *pbVar32 == *pbVar36;\n          pbVar32 = pbVar32 + (uint)bVar42 * -2 + 1;\n          pbVar36 = pbVar36 + (uint)bVar42 * -2 + 1;\n        } while (bVar41);\n        if ((!bVar40 && !bVar41) == bVar40) {\n          puVar33 = (undefined4 *)(param_1[0x27] + 0x78);\n          puVar37 = (undefined4 *)(sVar17 + 0x78);\n          for (iVar9 = 0x38; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar37 = *puVar33;\n            puVar33 = puVar33 + (uint)bVar42 * -2 + 1;\n            puVar37 = puVar37 + (uint)bVar42 * -2 + 1;\n          }\n        }\n      }" { (expression_statement "iVar9 = 4;" (assignment_expression "iVar9 = 4" identifier = number_literal) ;) (expression_statement "pbVar32 = *(byte **)param_1[1];" (assignment_expression "pbVar32 = *(byte **)param_1[1]" identifier = (pointer_expression "*(byte **)param_1[1]" * (cast_expression "(byte **)param_1[1]" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "param_1[1]" identifier [ number_literal ])))) ;) (expression_statement "pbVar36 = &DAT_0002e16a;" (assignment_expression "pbVar36 = &DAT_0002e16a" identifier = (pointer_expression "&DAT_0002e16a" & identifier)) ;) (do_statement "do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar40 = *pbVar32 < *pbVar36;\n          bVar41 = *pbVar32 == *pbVar36;\n          pbVar32 = pbVar32 + (uint)bVar42 * -2 + 1;\n          pbVar36 = pbVar36 + (uint)bVar42 * -2 + 1;\n        } while (bVar41);" do (compound_statement "{\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar40 = *pbVar32 < *pbVar36;\n          bVar41 = *pbVar32 == *pbVar36;\n          pbVar32 = pbVar32 + (uint)bVar42 * -2 + 1;\n          pbVar36 = pbVar36 + (uint)bVar42 * -2 + 1;\n        }" { (if_statement "if (iVar9 == 0) break;" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar9 = iVar9 + -1;" (assignment_expression "iVar9 = iVar9 + -1" identifier = (binary_expression "iVar9 + -1" identifier + number_literal)) ;) (expression_statement "bVar40 = *pbVar32 < *pbVar36;" (assignment_expression "bVar40 = *pbVar32 < *pbVar36" identifier = (binary_expression "*pbVar32 < *pbVar36" (pointer_expression "*pbVar32" * identifier) < (pointer_expression "*pbVar36" * identifier))) ;) (expression_statement "bVar41 = *pbVar32 == *pbVar36;" (assignment_expression "bVar41 = *pbVar32 == *pbVar36" identifier = (binary_expression "*pbVar32 == *pbVar36" (pointer_expression "*pbVar32" * identifier) == (pointer_expression "*pbVar36" * identifier))) ;) (expression_statement "pbVar32 = pbVar32 + (uint)bVar42 * -2 + 1;" (assignment_expression "pbVar32 = pbVar32 + (uint)bVar42 * -2 + 1" identifier = (binary_expression "pbVar32 + (uint)bVar42 * -2 + 1" (binary_expression "pbVar32 + (uint)bVar42 * -2" identifier + (binary_expression "(uint)bVar42 * -2" (cast_expression "(uint)bVar42" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar36 = pbVar36 + (uint)bVar42 * -2 + 1;" (assignment_expression "pbVar36 = pbVar36 + (uint)bVar42 * -2 + 1" identifier = (binary_expression "pbVar36 + (uint)bVar42 * -2 + 1" (binary_expression "pbVar36 + (uint)bVar42 * -2" identifier + (binary_expression "(uint)bVar42 * -2" (cast_expression "(uint)bVar42" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar41)" ( identifier )) ;) (if_statement "if ((!bVar40 && !bVar41) == bVar40) {\n          puVar33 = (undefined4 *)(param_1[0x27] + 0x78);\n          puVar37 = (undefined4 *)(sVar17 + 0x78);\n          for (iVar9 = 0x38; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar37 = *puVar33;\n            puVar33 = puVar33 + (uint)bVar42 * -2 + 1;\n            puVar37 = puVar37 + (uint)bVar42 * -2 + 1;\n          }\n        }" if (parenthesized_expression "((!bVar40 && !bVar41) == bVar40)" ( (binary_expression "(!bVar40 && !bVar41) == bVar40" (parenthesized_expression "(!bVar40 && !bVar41)" ( (binary_expression "!bVar40 && !bVar41" (unary_expression "!bVar40" ! identifier) && (unary_expression "!bVar41" ! identifier)) )) == identifier) )) (compound_statement "{\n          puVar33 = (undefined4 *)(param_1[0x27] + 0x78);\n          puVar37 = (undefined4 *)(sVar17 + 0x78);\n          for (iVar9 = 0x38; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar37 = *puVar33;\n            puVar33 = puVar33 + (uint)bVar42 * -2 + 1;\n            puVar37 = puVar37 + (uint)bVar42 * -2 + 1;\n          }\n        }" { (expression_statement "puVar33 = (undefined4 *)(param_1[0x27] + 0x78);" (assignment_expression "puVar33 = (undefined4 *)(param_1[0x27] + 0x78)" identifier = (cast_expression "(undefined4 *)(param_1[0x27] + 0x78)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x27] + 0x78)" ( (binary_expression "param_1[0x27] + 0x78" (subscript_expression "param_1[0x27]" identifier [ number_literal ]) + number_literal) )))) ;) (expression_statement "puVar37 = (undefined4 *)(sVar17 + 0x78);" (assignment_expression "puVar37 = (undefined4 *)(sVar17 + 0x78)" identifier = (cast_expression "(undefined4 *)(sVar17 + 0x78)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar17 + 0x78)" ( (binary_expression "sVar17 + 0x78" identifier + number_literal) )))) ;) (for_statement "for (iVar9 = 0x38; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar37 = *puVar33;\n            puVar33 = puVar33 + (uint)bVar42 * -2 + 1;\n            puVar37 = puVar37 + (uint)bVar42 * -2 + 1;\n          }" for ( (assignment_expression "iVar9 = 0x38" identifier = number_literal) ; (binary_expression "iVar9 != 0" identifier != number_literal) ; (assignment_expression "iVar9 = iVar9 + -1" identifier = (binary_expression "iVar9 + -1" identifier + number_literal)) ) (compound_statement "{\n            *puVar37 = *puVar33;\n            puVar33 = puVar33 + (uint)bVar42 * -2 + 1;\n            puVar37 = puVar37 + (uint)bVar42 * -2 + 1;\n          }" { (expression_statement "*puVar37 = *puVar33;" (assignment_expression "*puVar37 = *puVar33" (pointer_expression "*puVar37" * identifier) = (pointer_expression "*puVar33" * identifier)) ;) (expression_statement "puVar33 = puVar33 + (uint)bVar42 * -2 + 1;" (assignment_expression "puVar33 = puVar33 + (uint)bVar42 * -2 + 1" identifier = (binary_expression "puVar33 + (uint)bVar42 * -2 + 1" (binary_expression "puVar33 + (uint)bVar42 * -2" identifier + (binary_expression "(uint)bVar42 * -2" (cast_expression "(uint)bVar42" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "puVar37 = puVar37 + (uint)bVar42 * -2 + 1;" (assignment_expression "puVar37 = puVar37 + (uint)bVar42 * -2 + 1" identifier = (binary_expression "puVar37 + (uint)bVar42 * -2 + 1" (binary_expression "puVar37 + (uint)bVar42 * -2" identifier + (binary_expression "(uint)bVar42 * -2" (cast_expression "(uint)bVar42" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) })) })) (expression_statement "uVar35 = DAT_0003f298;" (assignment_expression "uVar35 = DAT_0003f298" identifier = identifier) ;) (if_statement "if (DAT_0003f298 == 0xffffffff) {\n        DAT_0003f298 = 0x200;\n        uVar35 = 0x200;\n      }\n      else {\n        *(uint *)(sVar17 + 0x9c) = DAT_0003f298;\n      }" if (parenthesized_expression "(DAT_0003f298 == 0xffffffff)" ( (binary_expression "DAT_0003f298 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n        DAT_0003f298 = 0x200;\n        uVar35 = 0x200;\n      }" { (expression_statement "DAT_0003f298 = 0x200;" (assignment_expression "DAT_0003f298 = 0x200" identifier = number_literal) ;) (expression_statement "uVar35 = 0x200;" (assignment_expression "uVar35 = 0x200" identifier = number_literal) ;) }) (else_clause "else {\n        *(uint *)(sVar17 + 0x9c) = DAT_0003f298;\n      }" else (compound_statement "{\n        *(uint *)(sVar17 + 0x9c) = DAT_0003f298;\n      }" { (expression_statement "*(uint *)(sVar17 + 0x9c) = DAT_0003f298;" (assignment_expression "*(uint *)(sVar17 + 0x9c) = DAT_0003f298" (pointer_expression "*(uint *)(sVar17 + 0x9c)" * (cast_expression "(uint *)(sVar17 + 0x9c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar17 + 0x9c)" ( (binary_expression "sVar17 + 0x9c" identifier + number_literal) )))) = identifier) ;) }))) (if_statement "if (DAT_0003f294 != -1) {\n        *(int *)(sVar17 + 0xcc) = DAT_0003f294;\n      }" if (parenthesized_expression "(DAT_0003f294 != -1)" ( (binary_expression "DAT_0003f294 != -1" identifier != number_literal) )) (compound_statement "{\n        *(int *)(sVar17 + 0xcc) = DAT_0003f294;\n      }" { (expression_statement "*(int *)(sVar17 + 0xcc) = DAT_0003f294;" (assignment_expression "*(int *)(sVar17 + 0xcc) = DAT_0003f294" (pointer_expression "*(int *)(sVar17 + 0xcc)" * (cast_expression "(int *)(sVar17 + 0xcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar17 + 0xcc)" ( (binary_expression "sVar17 + 0xcc" identifier + number_literal) )))) = identifier) ;) })) (if_statement "if (DAT_0003f290 != -1) {\n        *(int *)(sVar17 + 0xcc) = DAT_0003f290;\n      }" if (parenthesized_expression "(DAT_0003f290 != -1)" ( (binary_expression "DAT_0003f290 != -1" identifier != number_literal) )) (compound_statement "{\n        *(int *)(sVar17 + 0xcc) = DAT_0003f290;\n      }" { (expression_statement "*(int *)(sVar17 + 0xcc) = DAT_0003f290;" (assignment_expression "*(int *)(sVar17 + 0xcc) = DAT_0003f290" (pointer_expression "*(int *)(sVar17 + 0xcc)" * (cast_expression "(int *)(sVar17 + 0xcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar17 + 0xcc)" ( (binary_expression "sVar17 + 0xcc" identifier + number_literal) )))) = identifier) ;) })) (if_statement "if (DAT_0003f28c != -1) {\n        *(int *)(sVar17 + 0x94) = DAT_0003f28c;\n      }" if (parenthesized_expression "(DAT_0003f28c != -1)" ( (binary_expression "DAT_0003f28c != -1" identifier != number_literal) )) (compound_statement "{\n        *(int *)(sVar17 + 0x94) = DAT_0003f28c;\n      }" { (expression_statement "*(int *)(sVar17 + 0x94) = DAT_0003f28c;" (assignment_expression "*(int *)(sVar17 + 0x94) = DAT_0003f28c" (pointer_expression "*(int *)(sVar17 + 0x94)" * (cast_expression "(int *)(sVar17 + 0x94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar17 + 0x94)" ( (binary_expression "sVar17 + 0x94" identifier + number_literal) )))) = identifier) ;) })) (expression_statement "uVar26 = DAT_0003f288;" (assignment_expression "uVar26 = DAT_0003f288" identifier = identifier) ;) (if_statement "if (DAT_0003f288 == 0xffffffff) {\n        DAT_0003f288 = 0x1000;\n        uVar26 = 0x1000;\n      }\n      else {\n        *(uint *)(sVar17 + 0x98) = DAT_0003f288;\n      }" if (parenthesized_expression "(DAT_0003f288 == 0xffffffff)" ( (binary_expression "DAT_0003f288 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n        DAT_0003f288 = 0x1000;\n        uVar26 = 0x1000;\n      }" { (expression_statement "DAT_0003f288 = 0x1000;" (assignment_expression "DAT_0003f288 = 0x1000" identifier = number_literal) ;) (expression_statement "uVar26 = 0x1000;" (assignment_expression "uVar26 = 0x1000" identifier = number_literal) ;) }) (else_clause "else {\n        *(uint *)(sVar17 + 0x98) = DAT_0003f288;\n      }" else (compound_statement "{\n        *(uint *)(sVar17 + 0x98) = DAT_0003f288;\n      }" { (expression_statement "*(uint *)(sVar17 + 0x98) = DAT_0003f288;" (assignment_expression "*(uint *)(sVar17 + 0x98) = DAT_0003f288" (pointer_expression "*(uint *)(sVar17 + 0x98)" * (cast_expression "(uint *)(sVar17 + 0x98)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar17 + 0x98)" ( (binary_expression "sVar17 + 0x98" identifier + number_literal) )))) = identifier) ;) }))) (if_statement "if (DAT_0003f284 != -1) {\n        *(int *)(sVar17 + 0xc4) = DAT_0003f284;\n      }" if (parenthesized_expression "(DAT_0003f284 != -1)" ( (binary_expression "DAT_0003f284 != -1" identifier != number_literal) )) (compound_statement "{\n        *(int *)(sVar17 + 0xc4) = DAT_0003f284;\n      }" { (expression_statement "*(int *)(sVar17 + 0xc4) = DAT_0003f284;" (assignment_expression "*(int *)(sVar17 + 0xc4) = DAT_0003f284" (pointer_expression "*(int *)(sVar17 + 0xc4)" * (cast_expression "(int *)(sVar17 + 0xc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar17 + 0xc4)" ( (binary_expression "sVar17 + 0xc4" identifier + number_literal) )))) = identifier) ;) })) (if_statement "if (DAT_0003f280 != -1) {\n        *(int *)(sVar17 + 0xc4) = DAT_0003f280;\n      }" if (parenthesized_expression "(DAT_0003f280 != -1)" ( (binary_expression "DAT_0003f280 != -1" identifier != number_literal) )) (compound_statement "{\n        *(int *)(sVar17 + 0xc4) = DAT_0003f280;\n      }" { (expression_statement "*(int *)(sVar17 + 0xc4) = DAT_0003f280;" (assignment_expression "*(int *)(sVar17 + 0xc4) = DAT_0003f280" (pointer_expression "*(int *)(sVar17 + 0xc4)" * (cast_expression "(int *)(sVar17 + 0xc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar17 + 0xc4)" ( (binary_expression "sVar17 + 0xc4" identifier + number_literal) )))) = identifier) ;) })) (if_statement "if (DAT_0003f27c != -1) {\n        *(short *)(sVar17 + 0xbc) = DAT_0003f27c;\n      }" if (parenthesized_expression "(DAT_0003f27c != -1)" ( (binary_expression "DAT_0003f27c != -1" identifier != number_literal) )) (compound_statement "{\n        *(short *)(sVar17 + 0xbc) = DAT_0003f27c;\n      }" { (expression_statement "*(short *)(sVar17 + 0xbc) = DAT_0003f27c;" (assignment_expression "*(short *)(sVar17 + 0xbc) = DAT_0003f27c" (pointer_expression "*(short *)(sVar17 + 0xbc)" * (cast_expression "(short *)(sVar17 + 0xbc)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar17 + 0xbc)" ( (binary_expression "sVar17 + 0xbc" identifier + number_literal) )))) = identifier) ;) })) (if_statement "if (DAT_0003f27a != -1) {\n        *(short *)(sVar17 + 0xa8) = DAT_0003f27a;\n      }" if (parenthesized_expression "(DAT_0003f27a != -1)" ( (binary_expression "DAT_0003f27a != -1" identifier != number_literal) )) (compound_statement "{\n        *(short *)(sVar17 + 0xa8) = DAT_0003f27a;\n      }" { (expression_statement "*(short *)(sVar17 + 0xa8) = DAT_0003f27a;" (assignment_expression "*(short *)(sVar17 + 0xa8) = DAT_0003f27a" (pointer_expression "*(short *)(sVar17 + 0xa8)" * (cast_expression "(short *)(sVar17 + 0xa8)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar17 + 0xa8)" ( (binary_expression "sVar17 + 0xa8" identifier + number_literal) )))) = identifier) ;) })) (if_statement "if (DAT_0003f278 != -1) {\n        *(short *)(sVar17 + 0xaa) = DAT_0003f278;\n      }" if (parenthesized_expression "(DAT_0003f278 != -1)" ( (binary_expression "DAT_0003f278 != -1" identifier != number_literal) )) (compound_statement "{\n        *(short *)(sVar17 + 0xaa) = DAT_0003f278;\n      }" { (expression_statement "*(short *)(sVar17 + 0xaa) = DAT_0003f278;" (assignment_expression "*(short *)(sVar17 + 0xaa) = DAT_0003f278" (pointer_expression "*(short *)(sVar17 + 0xaa)" * (cast_expression "(short *)(sVar17 + 0xaa)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar17 + 0xaa)" ( (binary_expression "sVar17 + 0xaa" identifier + number_literal) )))) = identifier) ;) })) (if_statement "if (uVar26 < uVar35) {\n        sprintf((char *)local_44,"%08lx",uVar35);\n        sprintf((char *)&local_30,"%08lx",DAT_0003f288);\n        uVar10 = dcgettext(0,"warning: file alignment (0x%s) > section alignment (0x%s)",5);\n        FUN_0002b6d0(uVar10,local_44,&local_30);\n      }" if (parenthesized_expression "(uVar26 < uVar35)" ( (binary_expression "uVar26 < uVar35" identifier < identifier) )) (compound_statement "{\n        sprintf((char *)local_44,"%08lx",uVar35);\n        sprintf((char *)&local_30,"%08lx",DAT_0003f288);\n        uVar10 = dcgettext(0,"warning: file alignment (0x%s) > section alignment (0x%s)",5);\n        FUN_0002b6d0(uVar10,local_44,&local_30);\n      }" { (expression_statement "sprintf((char *)local_44,"%08lx",uVar35);" (call_expression "sprintf((char *)local_44,"%08lx",uVar35)" identifier (argument_list "((char *)local_44,"%08lx",uVar35)" ( (cast_expression "(char *)local_44" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""%08lx"" " string_content ") , identifier ))) ;) (expression_statement "sprintf((char *)&local_30,"%08lx",DAT_0003f288);" (call_expression "sprintf((char *)&local_30,"%08lx",DAT_0003f288)" identifier (argument_list "((char *)&local_30,"%08lx",DAT_0003f288)" ( (cast_expression "(char *)&local_30" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_30" & identifier)) , (string_literal ""%08lx"" " string_content ") , identifier ))) ;) (expression_statement "uVar10 = dcgettext(0,"warning: file alignment (0x%s) > section alignment (0x%s)",5);" (assignment_expression "uVar10 = dcgettext(0,"warning: file alignment (0x%s) > section alignment (0x%s)",5)" identifier = (call_expression "dcgettext(0,"warning: file alignment (0x%s) > section alignment (0x%s)",5)" identifier (argument_list "(0,"warning: file alignment (0x%s) > section alignment (0x%s)",5)" ( number_literal , (string_literal ""warning: file alignment (0x%s) > section alignment (0x%s)"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0002b6d0(uVar10,local_44,&local_30);" (call_expression "FUN_0002b6d0(uVar10,local_44,&local_30)" identifier (argument_list "(uVar10,local_44,&local_30)" ( identifier , identifier , (pointer_expression "&local_30" & identifier) ))) ;) })) })) })) (expression_statement "piVar15 = DAT_0003fb9c;" (assignment_expression "piVar15 = DAT_0003fb9c" identifier = identifier) ;) (if_statement "if (DAT_0003fb9c != (int *)0x0) {\n    free(DAT_0003fb9c);\n  }" if (parenthesized_expression "(DAT_0003fb9c != (int *)0x0)" ( (binary_expression "DAT_0003fb9c != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    free(DAT_0003fb9c);\n  }" { (expression_statement "free(DAT_0003fb9c);" (call_expression "free(DAT_0003fb9c)" identifier (argument_list "(DAT_0003fb9c)" ( identifier ))) ;) })) (if_statement "if (piVar15 != DAT_0003fb98) {\n    free(DAT_0003fb98);\n  }" if (parenthesized_expression "(piVar15 != DAT_0003fb98)" ( (binary_expression "piVar15 != DAT_0003fb98" identifier != identifier) )) (compound_statement "{\n    free(DAT_0003fb98);\n  }" { (expression_statement "free(DAT_0003fb98);" (call_expression "free(DAT_0003fb98)" identifier (argument_list "(DAT_0003fb98)" ( identifier ))) ;) })) (expression_statement "DAT_0003fb9c = (int *)0x0;" (assignment_expression "DAT_0003fb9c = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "DAT_0003fb98 = (int *)0x0;" (assignment_expression "DAT_0003fb98 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar9 = (**(code **)(param_1[1] + 0x104))(param_1);" (assignment_expression "iVar9 = (**(code **)(param_1[1] + 0x104))(param_1)" identifier = (call_expression "(**(code **)(param_1[1] + 0x104))(param_1)" (parenthesized_expression "(**(code **)(param_1[1] + 0x104))" ( (pointer_expression "**(code **)(param_1[1] + 0x104)" * (pointer_expression "*(code **)(param_1[1] + 0x104)" * (cast_expression "(code **)(param_1[1] + 0x104)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1[1] + 0x104)" ( (binary_expression "param_1[1] + 0x104" (subscript_expression "param_1[1]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(param_1)" ( identifier )))) ;) (if_statement "if (iVar9 < 0) goto LAB_00018840;" if (parenthesized_expression "(iVar9 < 0)" ( (binary_expression "iVar9 < 0" identifier < number_literal) )) (goto_statement "goto LAB_00018840;" goto statement_identifier ;)) (expression_statement "DAT_0003fb98 = (int *)xmalloc(iVar9);" (assignment_expression "DAT_0003fb98 = (int *)xmalloc(iVar9)" identifier = (cast_expression "(int *)xmalloc(iVar9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(iVar9)" identifier (argument_list "(iVar9)" ( identifier ))))) ;) (expression_statement "DAT_0003fb9c = DAT_0003fb98;" (assignment_expression "DAT_0003fb9c = DAT_0003fb98" identifier = identifier) ;) (expression_statement "local_70 = (**(code **)(param_1[1] + 0x108))(param_1,DAT_0003fb98);" (assignment_expression "local_70 = (**(code **)(param_1[1] + 0x108))(param_1,DAT_0003fb98)" identifier = (call_expression "(**(code **)(param_1[1] + 0x108))(param_1,DAT_0003fb98)" (parenthesized_expression "(**(code **)(param_1[1] + 0x108))" ( (pointer_expression "**(code **)(param_1[1] + 0x108)" * (pointer_expression "*(code **)(param_1[1] + 0x108)" * (cast_expression "(code **)(param_1[1] + 0x108)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1[1] + 0x108)" ( (binary_expression "param_1[1] + 0x108" (subscript_expression "param_1[1]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(param_1,DAT_0003fb98)" ( identifier , identifier )))) ;) (if_statement "if (local_70 < 0) goto LAB_00018840;" if (parenthesized_expression "(local_70 < 0)" ( (binary_expression "local_70 < 0" identifier < number_literal) )) (goto_statement "goto LAB_00018840;" goto statement_identifier ;)) (if_statement "if (local_70 == 0) {\n    free(DAT_0003fb9c);\n    DAT_0003fb9c = (int *)0x0;\n    DAT_0003fb98 = (int *)0x0;\n  }" if (parenthesized_expression "(local_70 == 0)" ( (binary_expression "local_70 == 0" identifier == number_literal) )) (compound_statement "{\n    free(DAT_0003fb9c);\n    DAT_0003fb9c = (int *)0x0;\n    DAT_0003fb98 = (int *)0x0;\n  }" { (expression_statement "free(DAT_0003fb9c);" (call_expression "free(DAT_0003fb9c)" identifier (argument_list "(DAT_0003fb9c)" ( identifier ))) ;) (expression_statement "DAT_0003fb9c = (int *)0x0;" (assignment_expression "DAT_0003fb9c = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "DAT_0003fb98 = (int *)0x0;" (assignment_expression "DAT_0003fb98 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) (expression_statement "bfd_map_over_sections(param_1,FUN_000179b0,param_2);" (call_expression "bfd_map_over_sections(param_1,FUN_000179b0,param_2)" identifier (argument_list "(param_1,FUN_000179b0,param_2)" ( identifier , identifier , identifier ))) ;) (expression_statement "puVar33 = DAT_0003fb38;" (assignment_expression "puVar33 = DAT_0003fb38" identifier = identifier) ;) (if_statement "if ((DAT_0003facc == 0) &&\n     (iVar9 = (**(code **)(param_2[1] + 0xbc))(param_1,param_2), puVar33 = DAT_0003fb38, iVar9 == 0)\n     ) {\n    DAT_0003fb88 = 1;\n    uVar10 = dcgettext(0,"error in private header data",5);\n    FUN_0002c160(0,param_1,0,uVar10);\n    puVar33 = DAT_0003fb38;\n  }" if (parenthesized_expression "((DAT_0003facc == 0) &&\n     (iVar9 = (**(code **)(param_2[1] + 0xbc))(param_1,param_2), puVar33 = DAT_0003fb38, iVar9 == 0)\n     )" ( (binary_expression "(DAT_0003facc == 0) &&\n     (iVar9 = (**(code **)(param_2[1] + 0xbc))(param_1,param_2), puVar33 = DAT_0003fb38, iVar9 == 0)" (parenthesized_expression "(DAT_0003facc == 0)" ( (binary_expression "DAT_0003facc == 0" identifier == number_literal) )) && (parenthesized_expression "(iVar9 = (**(code **)(param_2[1] + 0xbc))(param_1,param_2), puVar33 = DAT_0003fb38, iVar9 == 0)" ( (comma_expression "iVar9 = (**(code **)(param_2[1] + 0xbc))(param_1,param_2), puVar33 = DAT_0003fb38, iVar9 == 0" (assignment_expression "iVar9 = (**(code **)(param_2[1] + 0xbc))(param_1,param_2)" identifier = (call_expression "(**(code **)(param_2[1] + 0xbc))(param_1,param_2)" (parenthesized_expression "(**(code **)(param_2[1] + 0xbc))" ( (pointer_expression "**(code **)(param_2[1] + 0xbc)" * (pointer_expression "*(code **)(param_2[1] + 0xbc)" * (cast_expression "(code **)(param_2[1] + 0xbc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2[1] + 0xbc)" ( (binary_expression "param_2[1] + 0xbc" (subscript_expression "param_2[1]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(param_1,param_2)" ( identifier , identifier )))) , (comma_expression "puVar33 = DAT_0003fb38, iVar9 == 0" (assignment_expression "puVar33 = DAT_0003fb38" identifier = identifier) , (binary_expression "iVar9 == 0" identifier == number_literal))) ))) )) (compound_statement "{\n    DAT_0003fb88 = 1;\n    uVar10 = dcgettext(0,"error in private header data",5);\n    FUN_0002c160(0,param_1,0,uVar10);\n    puVar33 = DAT_0003fb38;\n  }" { (expression_statement "DAT_0003fb88 = 1;" (assignment_expression "DAT_0003fb88 = 1" identifier = number_literal) ;) (expression_statement "uVar10 = dcgettext(0,"error in private header data",5);" (assignment_expression "uVar10 = dcgettext(0,"error in private header data",5)" identifier = (call_expression "dcgettext(0,"error in private header data",5)" identifier (argument_list "(0,"error in private header data",5)" ( number_literal , (string_literal ""error in private header data"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0002c160(0,param_1,0,uVar10);" (call_expression "FUN_0002c160(0,param_1,0,uVar10)" identifier (argument_list "(0,param_1,0,uVar10)" ( number_literal , identifier , number_literal , identifier ))) ;) (expression_statement "puVar33 = DAT_0003fb38;" (assignment_expression "puVar33 = DAT_0003fb38" identifier = identifier) ;) })) (for_statement "for (; puVar37 = DAT_0003fb34, puVar33 != (undefined4 *)0x0; puVar33 = (undefined4 *)*puVar33) {\n    uVar35 = 0x128;\n    iVar9 = FUN_00016910();\n    if (iVar9 != 0) {\n      uVar35 = *(uint *)(iVar9 + 0x18) | 0x100;\n    }\n    iVar9 = bfd_get_section_by_name(param_2,puVar33[1]);\n    if (iVar9 != 0) {\n      uVar10 = puVar33[1];\n      pcVar22 = "can\'t add section \'%s\'";\nLAB_00019719:\n      uVar11 = dcgettext(0,pcVar22,5);\n      FUN_0002c160(0,param_2,0,uVar11,uVar10);\n      return 0;\n    }\n    iVar9 = bfd_make_section_with_flags(param_2,puVar33[1],uVar35 | 0x100000);\n    puVar33[5] = iVar9;\n    if (iVar9 == 0) {\n      uVar10 = puVar33[1];\n      pcVar22 = "can\'t create section `%s\'";\n      goto LAB_00019719;\n    }\n    iVar9 = bfd_set_section_size(param_2,iVar9,puVar33[3]);\n    if (iVar9 == 0) {\n      psVar38 = (size_t *)puVar33[5];\n      local_50 = 0;\n      goto LAB_00019763;\n    }\n    iVar9 = FUN_00016910();\n    if (iVar9 != 0) {\n      uVar10 = *(undefined4 *)(iVar9 + 0x10);\n      iVar9 = puVar33[5];\n      *(byte *)(iVar9 + 0x18) = *(byte *)(iVar9 + 0x18) | 1;\n      *(undefined4 *)(iVar9 + 0x20) = uVar10;\n      *(undefined4 *)(iVar9 + 0x1c) = uVar10;\n    }\n    iVar9 = FUN_00016910();\n    if (iVar9 != 0) {\n      *(undefined4 *)(puVar33[5] + 0x20) = *(undefined4 *)(iVar9 + 0x14);\n    }\n  }" for ( ; (comma_expression "puVar37 = DAT_0003fb34, puVar33 != (undefined4 *)0x0" (assignment_expression "puVar37 = DAT_0003fb34" identifier = identifier) , (binary_expression "puVar33 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ; (assignment_expression "puVar33 = (undefined4 *)*puVar33" identifier = (cast_expression "(undefined4 *)*puVar33" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar33" * identifier))) ) (compound_statement "{\n    uVar35 = 0x128;\n    iVar9 = FUN_00016910();\n    if (iVar9 != 0) {\n      uVar35 = *(uint *)(iVar9 + 0x18) | 0x100;\n    }\n    iVar9 = bfd_get_section_by_name(param_2,puVar33[1]);\n    if (iVar9 != 0) {\n      uVar10 = puVar33[1];\n      pcVar22 = "can\'t add section \'%s\'";\nLAB_00019719:\n      uVar11 = dcgettext(0,pcVar22,5);\n      FUN_0002c160(0,param_2,0,uVar11,uVar10);\n      return 0;\n    }\n    iVar9 = bfd_make_section_with_flags(param_2,puVar33[1],uVar35 | 0x100000);\n    puVar33[5] = iVar9;\n    if (iVar9 == 0) {\n      uVar10 = puVar33[1];\n      pcVar22 = "can\'t create section `%s\'";\n      goto LAB_00019719;\n    }\n    iVar9 = bfd_set_section_size(param_2,iVar9,puVar33[3]);\n    if (iVar9 == 0) {\n      psVar38 = (size_t *)puVar33[5];\n      local_50 = 0;\n      goto LAB_00019763;\n    }\n    iVar9 = FUN_00016910();\n    if (iVar9 != 0) {\n      uVar10 = *(undefined4 *)(iVar9 + 0x10);\n      iVar9 = puVar33[5];\n      *(byte *)(iVar9 + 0x18) = *(byte *)(iVar9 + 0x18) | 1;\n      *(undefined4 *)(iVar9 + 0x20) = uVar10;\n      *(undefined4 *)(iVar9 + 0x1c) = uVar10;\n    }\n    iVar9 = FUN_00016910();\n    if (iVar9 != 0) {\n      *(undefined4 *)(puVar33[5] + 0x20) = *(undefined4 *)(iVar9 + 0x14);\n    }\n  }" { (expression_statement "uVar35 = 0x128;" (assignment_expression "uVar35 = 0x128" identifier = number_literal) ;) (expression_statement "iVar9 = FUN_00016910();" (assignment_expression "iVar9 = FUN_00016910()" identifier = (call_expression "FUN_00016910()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar9 != 0) {\n      uVar35 = *(uint *)(iVar9 + 0x18) | 0x100;\n    }" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (compound_statement "{\n      uVar35 = *(uint *)(iVar9 + 0x18) | 0x100;\n    }" { (expression_statement "uVar35 = *(uint *)(iVar9 + 0x18) | 0x100;" (assignment_expression "uVar35 = *(uint *)(iVar9 + 0x18) | 0x100" identifier = (binary_expression "*(uint *)(iVar9 + 0x18) | 0x100" (pointer_expression "*(uint *)(iVar9 + 0x18)" * (cast_expression "(uint *)(iVar9 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x18)" ( (binary_expression "iVar9 + 0x18" identifier + number_literal) )))) | number_literal)) ;) })) (expression_statement "iVar9 = bfd_get_section_by_name(param_2,puVar33[1]);" (assignment_expression "iVar9 = bfd_get_section_by_name(param_2,puVar33[1])" identifier = (call_expression "bfd_get_section_by_name(param_2,puVar33[1])" identifier (argument_list "(param_2,puVar33[1])" ( identifier , (subscript_expression "puVar33[1]" identifier [ number_literal ]) )))) ;) (if_statement "if (iVar9 != 0) {\n      uVar10 = puVar33[1];\n      pcVar22 = "can\'t add section \'%s\'";\nLAB_00019719:\n      uVar11 = dcgettext(0,pcVar22,5);\n      FUN_0002c160(0,param_2,0,uVar11,uVar10);\n      return 0;\n    }" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (compound_statement "{\n      uVar10 = puVar33[1];\n      pcVar22 = "can\'t add section \'%s\'";\nLAB_00019719:\n      uVar11 = dcgettext(0,pcVar22,5);\n      FUN_0002c160(0,param_2,0,uVar11,uVar10);\n      return 0;\n    }" { (expression_statement "uVar10 = puVar33[1];" (assignment_expression "uVar10 = puVar33[1]" identifier = (subscript_expression "puVar33[1]" identifier [ number_literal ])) ;) (expression_statement "pcVar22 = "can\'t add section \'%s\'";" (assignment_expression "pcVar22 = "can\'t add section \'%s\'"" identifier = (string_literal ""can\'t add section \'%s\'"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ")) ;) (labeled_statement "LAB_00019719:\n      uVar11 = dcgettext(0,pcVar22,5);" statement_identifier : (expression_statement "uVar11 = dcgettext(0,pcVar22,5);" (assignment_expression "uVar11 = dcgettext(0,pcVar22,5)" identifier = (call_expression "dcgettext(0,pcVar22,5)" identifier (argument_list "(0,pcVar22,5)" ( number_literal , identifier , number_literal )))) ;)) (expression_statement "FUN_0002c160(0,param_2,0,uVar11,uVar10);" (call_expression "FUN_0002c160(0,param_2,0,uVar11,uVar10)" identifier (argument_list "(0,param_2,0,uVar11,uVar10)" ( number_literal , identifier , number_literal , identifier , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "iVar9 = bfd_make_section_with_flags(param_2,puVar33[1],uVar35 | 0x100000);" (assignment_expression "iVar9 = bfd_make_section_with_flags(param_2,puVar33[1],uVar35 | 0x100000)" identifier = (call_expression "bfd_make_section_with_flags(param_2,puVar33[1],uVar35 | 0x100000)" identifier (argument_list "(param_2,puVar33[1],uVar35 | 0x100000)" ( identifier , (subscript_expression "puVar33[1]" identifier [ number_literal ]) , (binary_expression "uVar35 | 0x100000" identifier | number_literal) )))) ;) (expression_statement "puVar33[5] = iVar9;" (assignment_expression "puVar33[5] = iVar9" (subscript_expression "puVar33[5]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar9 == 0) {\n      uVar10 = puVar33[1];\n      pcVar22 = "can\'t create section `%s\'";\n      goto LAB_00019719;\n    }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n      uVar10 = puVar33[1];\n      pcVar22 = "can\'t create section `%s\'";\n      goto LAB_00019719;\n    }" { (expression_statement "uVar10 = puVar33[1];" (assignment_expression "uVar10 = puVar33[1]" identifier = (subscript_expression "puVar33[1]" identifier [ number_literal ])) ;) (expression_statement "pcVar22 = "can\'t create section `%s\'";" (assignment_expression "pcVar22 = "can\'t create section `%s\'"" identifier = (string_literal ""can\'t create section `%s\'"" " string_content escape_sequence string_content escape_sequence ")) ;) (goto_statement "goto LAB_00019719;" goto statement_identifier ;) })) (expression_statement "iVar9 = bfd_set_section_size(param_2,iVar9,puVar33[3]);" (assignment_expression "iVar9 = bfd_set_section_size(param_2,iVar9,puVar33[3])" identifier = (call_expression "bfd_set_section_size(param_2,iVar9,puVar33[3])" identifier (argument_list "(param_2,iVar9,puVar33[3])" ( identifier , identifier , (subscript_expression "puVar33[3]" identifier [ number_literal ]) )))) ;) (if_statement "if (iVar9 == 0) {\n      psVar38 = (size_t *)puVar33[5];\n      local_50 = 0;\n      goto LAB_00019763;\n    }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n      psVar38 = (size_t *)puVar33[5];\n      local_50 = 0;\n      goto LAB_00019763;\n    }" { (expression_statement "psVar38 = (size_t *)puVar33[5];" (assignment_expression "psVar38 = (size_t *)puVar33[5]" identifier = (cast_expression "(size_t *)puVar33[5]" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar33[5]" identifier [ number_literal ]))) ;) (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_00019763;" goto statement_identifier ;) })) (expression_statement "iVar9 = FUN_00016910();" (assignment_expression "iVar9 = FUN_00016910()" identifier = (call_expression "FUN_00016910()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar9 != 0) {\n      uVar10 = *(undefined4 *)(iVar9 + 0x10);\n      iVar9 = puVar33[5];\n      *(byte *)(iVar9 + 0x18) = *(byte *)(iVar9 + 0x18) | 1;\n      *(undefined4 *)(iVar9 + 0x20) = uVar10;\n      *(undefined4 *)(iVar9 + 0x1c) = uVar10;\n    }" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (compound_statement "{\n      uVar10 = *(undefined4 *)(iVar9 + 0x10);\n      iVar9 = puVar33[5];\n      *(byte *)(iVar9 + 0x18) = *(byte *)(iVar9 + 0x18) | 1;\n      *(undefined4 *)(iVar9 + 0x20) = uVar10;\n      *(undefined4 *)(iVar9 + 0x1c) = uVar10;\n    }" { (expression_statement "uVar10 = *(undefined4 *)(iVar9 + 0x10);" (assignment_expression "uVar10 = *(undefined4 *)(iVar9 + 0x10)" identifier = (pointer_expression "*(undefined4 *)(iVar9 + 0x10)" * (cast_expression "(undefined4 *)(iVar9 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x10)" ( (binary_expression "iVar9 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "iVar9 = puVar33[5];" (assignment_expression "iVar9 = puVar33[5]" identifier = (subscript_expression "puVar33[5]" identifier [ number_literal ])) ;) (expression_statement "*(byte *)(iVar9 + 0x18) = *(byte *)(iVar9 + 0x18) | 1;" (assignment_expression "*(byte *)(iVar9 + 0x18) = *(byte *)(iVar9 + 0x18) | 1" (pointer_expression "*(byte *)(iVar9 + 0x18)" * (cast_expression "(byte *)(iVar9 + 0x18)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x18)" ( (binary_expression "iVar9 + 0x18" identifier + number_literal) )))) = (binary_expression "*(byte *)(iVar9 + 0x18) | 1" (pointer_expression "*(byte *)(iVar9 + 0x18)" * (cast_expression "(byte *)(iVar9 + 0x18)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x18)" ( (binary_expression "iVar9 + 0x18" identifier + number_literal) )))) | number_literal)) ;) (expression_statement "*(undefined4 *)(iVar9 + 0x20) = uVar10;" (assignment_expression "*(undefined4 *)(iVar9 + 0x20) = uVar10" (pointer_expression "*(undefined4 *)(iVar9 + 0x20)" * (cast_expression "(undefined4 *)(iVar9 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x20)" ( (binary_expression "iVar9 + 0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(iVar9 + 0x1c) = uVar10;" (assignment_expression "*(undefined4 *)(iVar9 + 0x1c) = uVar10" (pointer_expression "*(undefined4 *)(iVar9 + 0x1c)" * (cast_expression "(undefined4 *)(iVar9 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x1c)" ( (binary_expression "iVar9 + 0x1c" identifier + number_literal) )))) = identifier) ;) })) (expression_statement "iVar9 = FUN_00016910();" (assignment_expression "iVar9 = FUN_00016910()" identifier = (call_expression "FUN_00016910()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar9 != 0) {\n      *(undefined4 *)(puVar33[5] + 0x20) = *(undefined4 *)(iVar9 + 0x14);\n    }" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (compound_statement "{\n      *(undefined4 *)(puVar33[5] + 0x20) = *(undefined4 *)(iVar9 + 0x14);\n    }" { (expression_statement "*(undefined4 *)(puVar33[5] + 0x20) = *(undefined4 *)(iVar9 + 0x14);" (assignment_expression "*(undefined4 *)(puVar33[5] + 0x20) = *(undefined4 *)(iVar9 + 0x14)" (pointer_expression "*(undefined4 *)(puVar33[5] + 0x20)" * (cast_expression "(undefined4 *)(puVar33[5] + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar33[5] + 0x20)" ( (binary_expression "puVar33[5] + 0x20" (subscript_expression "puVar33[5]" identifier [ number_literal ]) + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar9 + 0x14)" * (cast_expression "(undefined4 *)(iVar9 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x14)" ( (binary_expression "iVar9 + 0x14" identifier + number_literal) ))))) ;) })) })) (for_statement "for (; puVar37 != (undefined4 *)0x0; puVar37 = (undefined4 *)*puVar37) {\n    iVar9 = bfd_get_section_by_name(param_1,puVar37[1]);\n    puVar37[5] = iVar9;\n    if (iVar9 == 0) {\n      uVar10 = puVar37[1];\n      pcVar22 = "error: %s not found, can\'t be updated";\n      goto LAB_00018bc8;\n    }\n    psVar38 = *(size_t **)(iVar9 + 0x3c);\n    local_50 = bfd_set_section_size(param_2,psVar38,puVar37[3]);\n    if (local_50 == 0) goto LAB_00019763;\n  }" for ( ; (binary_expression "puVar37 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "puVar37 = (undefined4 *)*puVar37" identifier = (cast_expression "(undefined4 *)*puVar37" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar37" * identifier))) ) (compound_statement "{\n    iVar9 = bfd_get_section_by_name(param_1,puVar37[1]);\n    puVar37[5] = iVar9;\n    if (iVar9 == 0) {\n      uVar10 = puVar37[1];\n      pcVar22 = "error: %s not found, can\'t be updated";\n      goto LAB_00018bc8;\n    }\n    psVar38 = *(size_t **)(iVar9 + 0x3c);\n    local_50 = bfd_set_section_size(param_2,psVar38,puVar37[3]);\n    if (local_50 == 0) goto LAB_00019763;\n  }" { (expression_statement "iVar9 = bfd_get_section_by_name(param_1,puVar37[1]);" (assignment_expression "iVar9 = bfd_get_section_by_name(param_1,puVar37[1])" identifier = (call_expression "bfd_get_section_by_name(param_1,puVar37[1])" identifier (argument_list "(param_1,puVar37[1])" ( identifier , (subscript_expression "puVar37[1]" identifier [ number_literal ]) )))) ;) (expression_statement "puVar37[5] = iVar9;" (assignment_expression "puVar37[5] = iVar9" (subscript_expression "puVar37[5]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar9 == 0) {\n      uVar10 = puVar37[1];\n      pcVar22 = "error: %s not found, can\'t be updated";\n      goto LAB_00018bc8;\n    }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n      uVar10 = puVar37[1];\n      pcVar22 = "error: %s not found, can\'t be updated";\n      goto LAB_00018bc8;\n    }" { (expression_statement "uVar10 = puVar37[1];" (assignment_expression "uVar10 = puVar37[1]" identifier = (subscript_expression "puVar37[1]" identifier [ number_literal ])) ;) (expression_statement "pcVar22 = "error: %s not found, can\'t be updated";" (assignment_expression "pcVar22 = "error: %s not found, can\'t be updated"" identifier = (string_literal ""error: %s not found, can\'t be updated"" " string_content escape_sequence string_content ")) ;) (goto_statement "goto LAB_00018bc8;" goto statement_identifier ;) })) (expression_statement "psVar38 = *(size_t **)(iVar9 + 0x3c);" (assignment_expression "psVar38 = *(size_t **)(iVar9 + 0x3c)" identifier = (pointer_expression "*(size_t **)(iVar9 + 0x3c)" * (cast_expression "(size_t **)(iVar9 + 0x3c)" ( (type_descriptor "size_t **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar9 + 0x3c)" ( (binary_expression "iVar9 + 0x3c" identifier + number_literal) ))))) ;) (expression_statement "local_50 = bfd_set_section_size(param_2,psVar38,puVar37[3]);" (assignment_expression "local_50 = bfd_set_section_size(param_2,psVar38,puVar37[3])" identifier = (call_expression "bfd_set_section_size(param_2,psVar38,puVar37[3])" identifier (argument_list "(param_2,psVar38,puVar37[3])" ( identifier , identifier , (subscript_expression "puVar37[3]" identifier [ number_literal ]) )))) ;) (if_statement "if (local_50 == 0) goto LAB_00019763;" if (parenthesized_expression "(local_50 == 0)" ( (binary_expression "local_50 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00019763;" goto statement_identifier ;)) })) (if_statement "if ((((DAT_0003fb84 != 0) &&\n       (sVar17 = bfd_get_section_by_name(param_1,".gnu.build.attributes"), sVar17 != 0)) &&\n      (DAT_0003fb84 != 0)) &&\n     ((*(int *)(param_1[1] + 4) == 5 && (iVar9 = FUN_00017590(), iVar9 != 0)))) {\n    uVar35 = *(uint *)(sVar17 + 0x24);\n    if (uVar35 == 0) {\n      uVar10 = dcgettext(0,"warning: note section is empty",5,0);\n      FUN_0002c160(0,param_1,sVar17,uVar10);\n      DAT_0003fb84 = 0;\n    }\n    else {\n      iVar9 = bfd_get_full_section_contents(param_1,sVar17,&DAT_0003fb80,uVar35);\n      psVar38 = DAT_0003fb80;\n      if (iVar9 == 0) {\n        uVar10 = dcgettext(0,"warning: could not load note section",5,0);\n        FUN_0002c160(0,param_1,sVar17,uVar10);\n        free(DAT_0003fb80);\n        DAT_0003fb80 = (size_t *)0x0;\n        DAT_0003fb84 = 0;\n      }\n      else {\n        iVar9 = bfd_get_reloc_upper_bound(param_1,sVar17,sVar17,sVar17);\n        psVar20 = param_1;\n        sVar18 = sVar17;\n        if (0 < iVar9) {\n          psVar20 = (size_t *)xmalloc(iVar9);\n          sVar18 = bfd_canonicalize_reloc(param_1,sVar17,psVar20,DAT_0003fb9c);\n          free(psVar20);\n          if (sVar18 == 0) goto LAB_0001a478;\n          local_60 = (size_t *)0x0;\n          goto LAB_0001a75c;\n        }\nLAB_0001a478:\n        pvVar44 = (void *)0x24;\n        psVar46 = psVar20;\n        local_60 = (size_t *)xcalloc(uVar35 / 0xc,0x24,psVar20,psVar20);\n        local_90 = (void *)0x0;\n        local_98 = 0;\n        local_8c = 0;\n        local_94 = 0;\n        local_6c = 0;\n        local_84 = (int *)0x0;\n        local_80 = (size_t *)0x0;\n        psVar25 = psVar38;\n        psVar34 = psVar38;\n        local_74 = uVar35;\n        local_64 = local_60;\n        while (0xb < local_74) {\n          iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25);\n          uVar26 = iVar9 + 3U & 0xfffffffc;\n          *local_64 = uVar26;\n          iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25 + 1);\n          uVar39 = iVar9 + 3U & 0xfffffffc;\n          sVar18 = param_1[1];\n          local_64[1] = uVar39;\n          sVar23 = (**(code **)(sVar18 + 0x28))(psVar25 + 2);\n          local_64[2] = sVar23;\n          if (1 < sVar23 - 0x100) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: wrong note type",5,\n                              extraout_ECX_01);\n            goto LAB_0001a72d;\n          }\n          iVar9 = uVar26 + uVar39;\n          if (local_74 < iVar9 + 0xcU) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: note too big",5,psVar25);\n            goto LAB_0001a72d;\n          }\n          if (uVar26 < 2) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name too small",5,iVar9);\n            goto LAB_0001a72d;\n          }\n          local_64[3] = (size_t)(psVar25 + 3);\n          sVar2 = (int)psVar25 + uVar26 + 0xc;\n          local_64[4] = sVar2;\n          psVar34 = (size_t *)(-0xc - iVar9);\n          local_74 = local_74 + (int)psVar34;\n          cVar8 = (char)psVar25[3];\n          if (cVar8 == '$') {\n            if ((*(char *)((int)psVar25 + 0xd) == '\x01') && (*(char *)((int)psVar25 + 0xe) == '1'))\n            {\n              local_80 = (size_t *)((int)local_80 + 1);\n            }\n          }\n          else if ((((4 < uVar26) && (cVar8 == 'G')) && (*(char *)((int)psVar25 + 0xd) == 'A')) &&\n                  ((*(char *)((int)psVar25 + 0xe) == '$' &&\n                   (*(char *)((int)psVar25 + 0xf) == '\x01')))) {\n            cVar8 = (char)psVar25[4];\n            if (cVar8 == '2') {\n              local_84 = (int *)((int)local_84 + 1);\n            }\n            else {\n              if (cVar8 != '3') {\n                iVar9 = dcgettext(0,"corrupt GNU build attribute note: unsupported version",5,cVar8)\n                ;\n                goto LAB_0001a72d;\n              }\n              local_6c = local_6c + 1;\n            }\n          }\n          if (uVar39 == 4) {\n            sVar18 = (**(code **)(param_1[1] + 0x28))(sVar2);\n            pvVar24 = (void *)0xffffffff;\n          }\n          else if (uVar39 < 5) {\n            if (uVar39 != 0) {\nLAB_0001a7ea:\n              iVar9 = dcgettext(0,"corrupt GNU build attribute note: bad description size",5,cVar8);\n              goto LAB_0001a72d;\n            }\n            pvVar24 = (void *)0x0;\n            sVar18 = 0;\n          }\n          else {\n            psVar34 = param_1;\n            if (uVar39 == 8) {\n              sVar18 = param_1[1];\n              if ((*(int *)(sVar18 + 4) == 5) && (*(char *)(param_1[0x27] + 4) == '\x02')) {\n                sVar18 = (**(code **)(sVar18 + 0x1c))(sVar2);\n                pvVar24 = (void *)0xffffffff;\n              }\n              else {\n                sVar18 = (**(code **)(sVar18 + 0x28))(sVar2);\n                pvVar24 = (void *)(**(code **)(param_1[1] + 0x28))(sVar2 + 4);\n              }\n            }\n            else {\n              if (uVar39 != 0x10) goto LAB_0001a7ea;\n              sVar18 = (**(code **)(param_1[1] + 0x1c))(sVar2);\n              pvVar24 = (void *)(**(code **)(param_1[1] + 0x1c))(sVar2 + 8);\n            }\n          }\n          if (sVar23 == 0x100) {\n            if (sVar18 == 0) {\n              sVar18 = local_8c;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = local_90;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_90 = pvVar24;\n            local_8c = sVar18;\n          }\n          else {\n            if (sVar18 == 0) {\n              sVar18 = local_94;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = (void *)local_98;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_98 = (size_t)pvVar24;\n            local_94 = sVar18;\n          }\n          if (*(char *)((local_64[3] - 1) + *local_64) != '\0') {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name not NUL terminated",5,\n                              *local_64);\n            goto LAB_0001a72d;\n          }\n          local_64 = local_64 + 9;\n          psVar25 = (size_t *)(iVar9 + 0xcU + (int)psVar25);\n        }\n        if (local_74 == 0) {\n          uVar26 = (uint)local_84 | local_6c;\n          if (local_80 == (size_t *)0x0 && uVar26 == 0) {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: no known versions detected",5,uVar26\n                             );\n            goto LAB_0001a72d;\n          }\n          if (((local_80 != (size_t *)0x0) && (uVar26 != 0)) ||\n             ((local_84 != (int *)0x0 && (local_6c != 0)))) {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: multiple different versions",5,\n                              sVar18);\n            goto LAB_0001a72d;\n          }\n          if ((local_80 == (size_t *)0x1 || local_84 == (int *)0x1) || (local_6c == 1))\n          goto LAB_0001a75c;\n          uVar26 = -(uint)(local_80 == (size_t *)0x0) & 2;\n          iVar9 = uVar26 + 1;\n          if (*(char *)(local_60[3] + iVar9) != '\x01') {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: first note not version note",5,\n                              psVar34);\n            goto LAB_0001a72d;\n          }\n          bVar40 = false;\n          iVar12 = uVar26 + 2;\n          psVar25 = local_60;\nLAB_0001a954:\n          psVar34 = psVar25;\n          psVar25 = psVar34 + 9;\n          if (psVar25 < local_64) {\n            if (psVar34[0xb] == 0x100) {\n              pvVar24 = (void *)psVar34[0xc];\n              local_7c = (size_t *)0x0;\n              psVar45 = psVar25;\n              do {\n                do {\n                  psVar6 = psVar45;\n                  psVar45 = psVar6 + -9;\n                  if (psVar45 < local_60) goto LAB_0001a954;\n                  pvVar30 = (void *)psVar6[-6];\n                  psVar7 = local_7c;\n                } while ((((local_7c == (size_t *)0x0) && (psVar6[-8] != 0)) &&\n                         (psVar7 = psVar45, psVar6[-7] == 0x101)) ||\n                        ((local_7c = psVar7,\n                         *(char *)((int)pvVar24 + iVar9) != *(char *)((int)pvVar30 + iVar9) ||\n                         (psVar6[-7] != 0x100))));\n                if (*(char *)((int)pvVar30 + iVar9) != '\x04') {\n                  psVar45 = (size_t *)*psVar45;\n                  if ((((psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)) &&\n                      ((uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0))))\n                     && ((0xfffffff0 < uVar26 || (psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0))))) {\n                    psVar34[0xb] = 0;\n                    if (uVar26 < uVar39) {\n                      psVar6[-2] = uVar39;\n                    }\n                    bVar40 = true;\n                    if (local_6c != 0) {\n                      psVar6[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0)) {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    psVar34[0x11] = 1;\n                    psVar34[0xb] = 0x101;\n                    psVar6[-1] = 1;\n                    psVar6[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }\n                uVar26 = 0;\n                for (iVar21 = 0; (int)*psVar25 - iVar12 != iVar21; iVar21 = iVar21 + 1) {\n                  uVar26 = uVar26 | (uint)*(byte *)((int)pvVar24 + iVar21 + iVar12) <<\n                                    ((char)iVar21 * '\b' & 0x1fU);\n                }\n                sVar18 = *psVar45;\n                local_5c = (int *)0x0;\n                for (uVar39 = 0; sVar18 - iVar12 != uVar39; uVar39 = uVar39 + 1) {\n                  local_5c = (int *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39] <<\n                                    ((char)uVar39 * '\b' & 0x1fU));\n                }\n                uVar28 = 0;\n                uVar26 = (int)local_5c + uVar26;\n                for (uVar27 = uVar26; uVar27 != 0; uVar27 = uVar27 >> 8) {\n                  uVar28 = uVar28 + 1;\n                }\n              } while (uVar39 <= uVar28);\n              puVar29 = (undefined1 *)((int)pvVar30 + iVar12);\n              while (puVar29 < (undefined1 *)((int)pvVar30 + sVar18)) {\n                *puVar29 = (char)uVar26;\n                if (uVar26 == 0) break;\n                uVar26 = uVar26 >> 8;\n                puVar29 = puVar29 + 1;\n              }\n              psVar34[0xb] = 0;\n              bVar40 = true;\n            }\n            goto LAB_0001a954;\n          }\n          if (!bVar40) goto LAB_0001a75c;\n          pvVar24 = (void *)xmalloc(uVar35,pvVar44,psVar20,psVar46);\n          sVar18 = 0;\n          pvVar44 = pvVar24;\n          local_80 = psVar38;\n          for (psVar20 = local_60; psVar20 < local_64; psVar20 = psVar20 + 9) {\n            sVar23 = *psVar20;\n            __n = psVar20[1] + sVar23 + 0xc;\n            sVar2 = psVar20[2];\n            pvVar30 = pvVar44;\n            if (sVar2 != 0) {\n              if (psVar20[8] == 0) {\n                memcpy(pvVar44,local_80,__n);\n                pvVar30 = (void *)((int)pvVar44 + __n);\n              }\n              else {\n                sVar5 = psVar20[6];\n                __dest = (void *)((int)pvVar44 + 0xc);\n                pvVar30 = (void *)((int)__dest + sVar23);\n                if ((sVar5 == local_74) && (psVar20[7] == sVar18)) {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar5,sVar5);\n                  (**(code **)(param_1[1] + 0x30))(0,(int)pvVar44 + 4);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                }\n                else {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar18,sVar18);\n                  cVar8 = '\b';\n                  if (*(int *)(param_1[1] + 4) == 5) {\n                    cVar8 = (*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b';\n                  }\n                  (**(code **)(param_1[1] + 0x30))(cVar8,(int)pvVar44 + 4,sVar23,sVar23);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                  sVar18 = param_1[1];\n                  psVar25 = param_1;\n                  if ((*(int *)(sVar18 + 4) == 5) &&\n                     (psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02')) {\n                    (**(code **)(sVar18 + 0x24))(sVar5,0,pvVar30,psVar25);\n                    (**(code **)(param_1[1] + 0x24))(psVar20[7],0,(void *)((int)pvVar30 + 8));\n                    pvVar30 = (void *)((int)pvVar30 + 0x10);\n                  }\n                  else {\n                    (**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25);\n                    (**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4);\n                    pvVar30 = (void *)((int)pvVar30 + 8);\n                  }\n                }\n              }\n              local_74 = psVar20[6];\n              sVar18 = psVar20[7];\n            }\n            local_80 = (size_t *)((int)local_80 + __n);\n            pvVar44 = pvVar30;\n          }\n          sVar18 = (int)pvVar44 - (int)pvVar24;\n          memcpy(psVar38,pvVar24,sVar18);\n          free(pvVar24);\n          free(local_60);\n          DAT_0003fb7c = sVar18;\n          if (uVar35 != sVar18) {\n            uVar10 = extraout_ECX_02;\n            if ((*(int *)(sVar17 + 0x3c) != 0) &&\n               (iVar9 = bfd_set_section_size(param_2,*(int *)(sVar17 + 0x3c),sVar18,extraout_EDX),\n               uVar10 = extraout_ECX_03, iVar9 != 0)) goto LAB_00018aad;\n            uVar10 = dcgettext(0,"warning: failed to set merged notes size",5,uVar10);\n            FUN_0002c160(0,param_2,sVar17,uVar10);\n          }\n        }\n        else {\n          iVar9 = dcgettext(0,"corrupt GNU build attribute notes: excess data at end",5,local_64);\nLAB_0001a72d:\n          if (iVar9 != 0) {\n            bfd_set_error(0x11);\n            FUN_0002c160(0,param_1,sVar17,iVar9);\n            DAT_0003fb88 = 1;\n          }\nLAB_0001a75c:\n          free(local_60);\n        }\n        free(DAT_0003fb80);\n        DAT_0003fb80 = (size_t *)0x0;\n        DAT_0003fb84 = 0;\n        DAT_0003fb7c = 0;\n      }\n    }\n  }" if (parenthesized_expression "((((DAT_0003fb84 != 0) &&\n       (sVar17 = bfd_get_section_by_name(param_1,".gnu.build.attributes"), sVar17 != 0)) &&\n      (DAT_0003fb84 != 0)) &&\n     ((*(int *)(param_1[1] + 4) == 5 && (iVar9 = FUN_00017590(), iVar9 != 0))))" ( (binary_expression "(((DAT_0003fb84 != 0) &&\n       (sVar17 = bfd_get_section_by_name(param_1,".gnu.build.attributes"), sVar17 != 0)) &&\n      (DAT_0003fb84 != 0)) &&\n     ((*(int *)(param_1[1] + 4) == 5 && (iVar9 = FUN_00017590(), iVar9 != 0)))" (parenthesized_expression "(((DAT_0003fb84 != 0) &&\n       (sVar17 = bfd_get_section_by_name(param_1,".gnu.build.attributes"), sVar17 != 0)) &&\n      (DAT_0003fb84 != 0))" ( (binary_expression "((DAT_0003fb84 != 0) &&\n       (sVar17 = bfd_get_section_by_name(param_1,".gnu.build.attributes"), sVar17 != 0)) &&\n      (DAT_0003fb84 != 0)" (parenthesized_expression "((DAT_0003fb84 != 0) &&\n       (sVar17 = bfd_get_section_by_name(param_1,".gnu.build.attributes"), sVar17 != 0))" ( (binary_expression "(DAT_0003fb84 != 0) &&\n       (sVar17 = bfd_get_section_by_name(param_1,".gnu.build.attributes"), sVar17 != 0)" (parenthesized_expression "(DAT_0003fb84 != 0)" ( (binary_expression "DAT_0003fb84 != 0" identifier != number_literal) )) && (parenthesized_expression "(sVar17 = bfd_get_section_by_name(param_1,".gnu.build.attributes"), sVar17 != 0)" ( (comma_expression "sVar17 = bfd_get_section_by_name(param_1,".gnu.build.attributes"), sVar17 != 0" (assignment_expression "sVar17 = bfd_get_section_by_name(param_1,".gnu.build.attributes")" identifier = (call_expression "bfd_get_section_by_name(param_1,".gnu.build.attributes")" identifier (argument_list "(param_1,".gnu.build.attributes")" ( identifier , (string_literal "".gnu.build.attributes"" " string_content ") )))) , (binary_expression "sVar17 != 0" identifier != number_literal)) ))) )) && (parenthesized_expression "(DAT_0003fb84 != 0)" ( (binary_expression "DAT_0003fb84 != 0" identifier != number_literal) ))) )) && (parenthesized_expression "((*(int *)(param_1[1] + 4) == 5 && (iVar9 = FUN_00017590(), iVar9 != 0)))" ( (parenthesized_expression "(*(int *)(param_1[1] + 4) == 5 && (iVar9 = FUN_00017590(), iVar9 != 0))" ( (binary_expression "*(int *)(param_1[1] + 4) == 5 && (iVar9 = FUN_00017590(), iVar9 != 0)" (binary_expression "*(int *)(param_1[1] + 4) == 5" (pointer_expression "*(int *)(param_1[1] + 4)" * (cast_expression "(int *)(param_1[1] + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[1] + 4)" ( (binary_expression "param_1[1] + 4" (subscript_expression "param_1[1]" identifier [ number_literal ]) + number_literal) )))) == number_literal) && (parenthesized_expression "(iVar9 = FUN_00017590(), iVar9 != 0)" ( (comma_expression "iVar9 = FUN_00017590(), iVar9 != 0" (assignment_expression "iVar9 = FUN_00017590()" identifier = (call_expression "FUN_00017590()" identifier (argument_list "()" ( )))) , (binary_expression "iVar9 != 0" identifier != number_literal)) ))) )) ))) )) (compound_statement "{\n    uVar35 = *(uint *)(sVar17 + 0x24);\n    if (uVar35 == 0) {\n      uVar10 = dcgettext(0,"warning: note section is empty",5,0);\n      FUN_0002c160(0,param_1,sVar17,uVar10);\n      DAT_0003fb84 = 0;\n    }\n    else {\n      iVar9 = bfd_get_full_section_contents(param_1,sVar17,&DAT_0003fb80,uVar35);\n      psVar38 = DAT_0003fb80;\n      if (iVar9 == 0) {\n        uVar10 = dcgettext(0,"warning: could not load note section",5,0);\n        FUN_0002c160(0,param_1,sVar17,uVar10);\n        free(DAT_0003fb80);\n        DAT_0003fb80 = (size_t *)0x0;\n        DAT_0003fb84 = 0;\n      }\n      else {\n        iVar9 = bfd_get_reloc_upper_bound(param_1,sVar17,sVar17,sVar17);\n        psVar20 = param_1;\n        sVar18 = sVar17;\n        if (0 < iVar9) {\n          psVar20 = (size_t *)xmalloc(iVar9);\n          sVar18 = bfd_canonicalize_reloc(param_1,sVar17,psVar20,DAT_0003fb9c);\n          free(psVar20);\n          if (sVar18 == 0) goto LAB_0001a478;\n          local_60 = (size_t *)0x0;\n          goto LAB_0001a75c;\n        }\nLAB_0001a478:\n        pvVar44 = (void *)0x24;\n        psVar46 = psVar20;\n        local_60 = (size_t *)xcalloc(uVar35 / 0xc,0x24,psVar20,psVar20);\n        local_90 = (void *)0x0;\n        local_98 = 0;\n        local_8c = 0;\n        local_94 = 0;\n        local_6c = 0;\n        local_84 = (int *)0x0;\n        local_80 = (size_t *)0x0;\n        psVar25 = psVar38;\n        psVar34 = psVar38;\n        local_74 = uVar35;\n        local_64 = local_60;\n        while (0xb < local_74) {\n          iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25);\n          uVar26 = iVar9 + 3U & 0xfffffffc;\n          *local_64 = uVar26;\n          iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25 + 1);\n          uVar39 = iVar9 + 3U & 0xfffffffc;\n          sVar18 = param_1[1];\n          local_64[1] = uVar39;\n          sVar23 = (**(code **)(sVar18 + 0x28))(psVar25 + 2);\n          local_64[2] = sVar23;\n          if (1 < sVar23 - 0x100) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: wrong note type",5,\n                              extraout_ECX_01);\n            goto LAB_0001a72d;\n          }\n          iVar9 = uVar26 + uVar39;\n          if (local_74 < iVar9 + 0xcU) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: note too big",5,psVar25);\n            goto LAB_0001a72d;\n          }\n          if (uVar26 < 2) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name too small",5,iVar9);\n            goto LAB_0001a72d;\n          }\n          local_64[3] = (size_t)(psVar25 + 3);\n          sVar2 = (int)psVar25 + uVar26 + 0xc;\n          local_64[4] = sVar2;\n          psVar34 = (size_t *)(-0xc - iVar9);\n          local_74 = local_74 + (int)psVar34;\n          cVar8 = (char)psVar25[3];\n          if (cVar8 == '$') {\n            if ((*(char *)((int)psVar25 + 0xd) == '\x01') && (*(char *)((int)psVar25 + 0xe) == '1'))\n            {\n              local_80 = (size_t *)((int)local_80 + 1);\n            }\n          }\n          else if ((((4 < uVar26) && (cVar8 == 'G')) && (*(char *)((int)psVar25 + 0xd) == 'A')) &&\n                  ((*(char *)((int)psVar25 + 0xe) == '$' &&\n                   (*(char *)((int)psVar25 + 0xf) == '\x01')))) {\n            cVar8 = (char)psVar25[4];\n            if (cVar8 == '2') {\n              local_84 = (int *)((int)local_84 + 1);\n            }\n            else {\n              if (cVar8 != '3') {\n                iVar9 = dcgettext(0,"corrupt GNU build attribute note: unsupported version",5,cVar8)\n                ;\n                goto LAB_0001a72d;\n              }\n              local_6c = local_6c + 1;\n            }\n          }\n          if (uVar39 == 4) {\n            sVar18 = (**(code **)(param_1[1] + 0x28))(sVar2);\n            pvVar24 = (void *)0xffffffff;\n          }\n          else if (uVar39 < 5) {\n            if (uVar39 != 0) {\nLAB_0001a7ea:\n              iVar9 = dcgettext(0,"corrupt GNU build attribute note: bad description size",5,cVar8);\n              goto LAB_0001a72d;\n            }\n            pvVar24 = (void *)0x0;\n            sVar18 = 0;\n          }\n          else {\n            psVar34 = param_1;\n            if (uVar39 == 8) {\n              sVar18 = param_1[1];\n              if ((*(int *)(sVar18 + 4) == 5) && (*(char *)(param_1[0x27] + 4) == '\x02')) {\n                sVar18 = (**(code **)(sVar18 + 0x1c))(sVar2);\n                pvVar24 = (void *)0xffffffff;\n              }\n              else {\n                sVar18 = (**(code **)(sVar18 + 0x28))(sVar2);\n                pvVar24 = (void *)(**(code **)(param_1[1] + 0x28))(sVar2 + 4);\n              }\n            }\n            else {\n              if (uVar39 != 0x10) goto LAB_0001a7ea;\n              sVar18 = (**(code **)(param_1[1] + 0x1c))(sVar2);\n              pvVar24 = (void *)(**(code **)(param_1[1] + 0x1c))(sVar2 + 8);\n            }\n          }\n          if (sVar23 == 0x100) {\n            if (sVar18 == 0) {\n              sVar18 = local_8c;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = local_90;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_90 = pvVar24;\n            local_8c = sVar18;\n          }\n          else {\n            if (sVar18 == 0) {\n              sVar18 = local_94;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = (void *)local_98;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_98 = (size_t)pvVar24;\n            local_94 = sVar18;\n          }\n          if (*(char *)((local_64[3] - 1) + *local_64) != '\0') {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name not NUL terminated",5,\n                              *local_64);\n            goto LAB_0001a72d;\n          }\n          local_64 = local_64 + 9;\n          psVar25 = (size_t *)(iVar9 + 0xcU + (int)psVar25);\n        }\n        if (local_74 == 0) {\n          uVar26 = (uint)local_84 | local_6c;\n          if (local_80 == (size_t *)0x0 && uVar26 == 0) {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: no known versions detected",5,uVar26\n                             );\n            goto LAB_0001a72d;\n          }\n          if (((local_80 != (size_t *)0x0) && (uVar26 != 0)) ||\n             ((local_84 != (int *)0x0 && (local_6c != 0)))) {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: multiple different versions",5,\n                              sVar18);\n            goto LAB_0001a72d;\n          }\n          if ((local_80 == (size_t *)0x1 || local_84 == (int *)0x1) || (local_6c == 1))\n          goto LAB_0001a75c;\n          uVar26 = -(uint)(local_80 == (size_t *)0x0) & 2;\n          iVar9 = uVar26 + 1;\n          if (*(char *)(local_60[3] + iVar9) != '\x01') {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: first note not version note",5,\n                              psVar34);\n            goto LAB_0001a72d;\n          }\n          bVar40 = false;\n          iVar12 = uVar26 + 2;\n          psVar25 = local_60;\nLAB_0001a954:\n          psVar34 = psVar25;\n          psVar25 = psVar34 + 9;\n          if (psVar25 < local_64) {\n            if (psVar34[0xb] == 0x100) {\n              pvVar24 = (void *)psVar34[0xc];\n              local_7c = (size_t *)0x0;\n              psVar45 = psVar25;\n              do {\n                do {\n                  psVar6 = psVar45;\n                  psVar45 = psVar6 + -9;\n                  if (psVar45 < local_60) goto LAB_0001a954;\n                  pvVar30 = (void *)psVar6[-6];\n                  psVar7 = local_7c;\n                } while ((((local_7c == (size_t *)0x0) && (psVar6[-8] != 0)) &&\n                         (psVar7 = psVar45, psVar6[-7] == 0x101)) ||\n                        ((local_7c = psVar7,\n                         *(char *)((int)pvVar24 + iVar9) != *(char *)((int)pvVar30 + iVar9) ||\n                         (psVar6[-7] != 0x100))));\n                if (*(char *)((int)pvVar30 + iVar9) != '\x04') {\n                  psVar45 = (size_t *)*psVar45;\n                  if ((((psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)) &&\n                      ((uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0))))\n                     && ((0xfffffff0 < uVar26 || (psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0))))) {\n                    psVar34[0xb] = 0;\n                    if (uVar26 < uVar39) {\n                      psVar6[-2] = uVar39;\n                    }\n                    bVar40 = true;\n                    if (local_6c != 0) {\n                      psVar6[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0)) {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    psVar34[0x11] = 1;\n                    psVar34[0xb] = 0x101;\n                    psVar6[-1] = 1;\n                    psVar6[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }\n                uVar26 = 0;\n                for (iVar21 = 0; (int)*psVar25 - iVar12 != iVar21; iVar21 = iVar21 + 1) {\n                  uVar26 = uVar26 | (uint)*(byte *)((int)pvVar24 + iVar21 + iVar12) <<\n                                    ((char)iVar21 * '\b' & 0x1fU);\n                }\n                sVar18 = *psVar45;\n                local_5c = (int *)0x0;\n                for (uVar39 = 0; sVar18 - iVar12 != uVar39; uVar39 = uVar39 + 1) {\n                  local_5c = (int *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39] <<\n                                    ((char)uVar39 * '\b' & 0x1fU));\n                }\n                uVar28 = 0;\n                uVar26 = (int)local_5c + uVar26;\n                for (uVar27 = uVar26; uVar27 != 0; uVar27 = uVar27 >> 8) {\n                  uVar28 = uVar28 + 1;\n                }\n              } while (uVar39 <= uVar28);\n              puVar29 = (undefined1 *)((int)pvVar30 + iVar12);\n              while (puVar29 < (undefined1 *)((int)pvVar30 + sVar18)) {\n                *puVar29 = (char)uVar26;\n                if (uVar26 == 0) break;\n                uVar26 = uVar26 >> 8;\n                puVar29 = puVar29 + 1;\n              }\n              psVar34[0xb] = 0;\n              bVar40 = true;\n            }\n            goto LAB_0001a954;\n          }\n          if (!bVar40) goto LAB_0001a75c;\n          pvVar24 = (void *)xmalloc(uVar35,pvVar44,psVar20,psVar46);\n          sVar18 = 0;\n          pvVar44 = pvVar24;\n          local_80 = psVar38;\n          for (psVar20 = local_60; psVar20 < local_64; psVar20 = psVar20 + 9) {\n            sVar23 = *psVar20;\n            __n = psVar20[1] + sVar23 + 0xc;\n            sVar2 = psVar20[2];\n            pvVar30 = pvVar44;\n            if (sVar2 != 0) {\n              if (psVar20[8] == 0) {\n                memcpy(pvVar44,local_80,__n);\n                pvVar30 = (void *)((int)pvVar44 + __n);\n              }\n              else {\n                sVar5 = psVar20[6];\n                __dest = (void *)((int)pvVar44 + 0xc);\n                pvVar30 = (void *)((int)__dest + sVar23);\n                if ((sVar5 == local_74) && (psVar20[7] == sVar18)) {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar5,sVar5);\n                  (**(code **)(param_1[1] + 0x30))(0,(int)pvVar44 + 4);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                }\n                else {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar18,sVar18);\n                  cVar8 = '\b';\n                  if (*(int *)(param_1[1] + 4) == 5) {\n                    cVar8 = (*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b';\n                  }\n                  (**(code **)(param_1[1] + 0x30))(cVar8,(int)pvVar44 + 4,sVar23,sVar23);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                  sVar18 = param_1[1];\n                  psVar25 = param_1;\n                  if ((*(int *)(sVar18 + 4) == 5) &&\n                     (psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02')) {\n                    (**(code **)(sVar18 + 0x24))(sVar5,0,pvVar30,psVar25);\n                    (**(code **)(param_1[1] + 0x24))(psVar20[7],0,(void *)((int)pvVar30 + 8));\n                    pvVar30 = (void *)((int)pvVar30 + 0x10);\n                  }\n                  else {\n                    (**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25);\n                    (**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4);\n                    pvVar30 = (void *)((int)pvVar30 + 8);\n                  }\n                }\n              }\n              local_74 = psVar20[6];\n              sVar18 = psVar20[7];\n            }\n            local_80 = (size_t *)((int)local_80 + __n);\n            pvVar44 = pvVar30;\n          }\n          sVar18 = (int)pvVar44 - (int)pvVar24;\n          memcpy(psVar38,pvVar24,sVar18);\n          free(pvVar24);\n          free(local_60);\n          DAT_0003fb7c = sVar18;\n          if (uVar35 != sVar18) {\n            uVar10 = extraout_ECX_02;\n            if ((*(int *)(sVar17 + 0x3c) != 0) &&\n               (iVar9 = bfd_set_section_size(param_2,*(int *)(sVar17 + 0x3c),sVar18,extraout_EDX),\n               uVar10 = extraout_ECX_03, iVar9 != 0)) goto LAB_00018aad;\n            uVar10 = dcgettext(0,"warning: failed to set merged notes size",5,uVar10);\n            FUN_0002c160(0,param_2,sVar17,uVar10);\n          }\n        }\n        else {\n          iVar9 = dcgettext(0,"corrupt GNU build attribute notes: excess data at end",5,local_64);\nLAB_0001a72d:\n          if (iVar9 != 0) {\n            bfd_set_error(0x11);\n            FUN_0002c160(0,param_1,sVar17,iVar9);\n            DAT_0003fb88 = 1;\n          }\nLAB_0001a75c:\n          free(local_60);\n        }\n        free(DAT_0003fb80);\n        DAT_0003fb80 = (size_t *)0x0;\n        DAT_0003fb84 = 0;\n        DAT_0003fb7c = 0;\n      }\n    }\n  }" { (expression_statement "uVar35 = *(uint *)(sVar17 + 0x24);" (assignment_expression "uVar35 = *(uint *)(sVar17 + 0x24)" identifier = (pointer_expression "*(uint *)(sVar17 + 0x24)" * (cast_expression "(uint *)(sVar17 + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar17 + 0x24)" ( (binary_expression "sVar17 + 0x24" identifier + number_literal) ))))) ;) (if_statement "if (uVar35 == 0) {\n      uVar10 = dcgettext(0,"warning: note section is empty",5,0);\n      FUN_0002c160(0,param_1,sVar17,uVar10);\n      DAT_0003fb84 = 0;\n    }\n    else {\n      iVar9 = bfd_get_full_section_contents(param_1,sVar17,&DAT_0003fb80,uVar35);\n      psVar38 = DAT_0003fb80;\n      if (iVar9 == 0) {\n        uVar10 = dcgettext(0,"warning: could not load note section",5,0);\n        FUN_0002c160(0,param_1,sVar17,uVar10);\n        free(DAT_0003fb80);\n        DAT_0003fb80 = (size_t *)0x0;\n        DAT_0003fb84 = 0;\n      }\n      else {\n        iVar9 = bfd_get_reloc_upper_bound(param_1,sVar17,sVar17,sVar17);\n        psVar20 = param_1;\n        sVar18 = sVar17;\n        if (0 < iVar9) {\n          psVar20 = (size_t *)xmalloc(iVar9);\n          sVar18 = bfd_canonicalize_reloc(param_1,sVar17,psVar20,DAT_0003fb9c);\n          free(psVar20);\n          if (sVar18 == 0) goto LAB_0001a478;\n          local_60 = (size_t *)0x0;\n          goto LAB_0001a75c;\n        }\nLAB_0001a478:\n        pvVar44 = (void *)0x24;\n        psVar46 = psVar20;\n        local_60 = (size_t *)xcalloc(uVar35 / 0xc,0x24,psVar20,psVar20);\n        local_90 = (void *)0x0;\n        local_98 = 0;\n        local_8c = 0;\n        local_94 = 0;\n        local_6c = 0;\n        local_84 = (int *)0x0;\n        local_80 = (size_t *)0x0;\n        psVar25 = psVar38;\n        psVar34 = psVar38;\n        local_74 = uVar35;\n        local_64 = local_60;\n        while (0xb < local_74) {\n          iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25);\n          uVar26 = iVar9 + 3U & 0xfffffffc;\n          *local_64 = uVar26;\n          iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25 + 1);\n          uVar39 = iVar9 + 3U & 0xfffffffc;\n          sVar18 = param_1[1];\n          local_64[1] = uVar39;\n          sVar23 = (**(code **)(sVar18 + 0x28))(psVar25 + 2);\n          local_64[2] = sVar23;\n          if (1 < sVar23 - 0x100) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: wrong note type",5,\n                              extraout_ECX_01);\n            goto LAB_0001a72d;\n          }\n          iVar9 = uVar26 + uVar39;\n          if (local_74 < iVar9 + 0xcU) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: note too big",5,psVar25);\n            goto LAB_0001a72d;\n          }\n          if (uVar26 < 2) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name too small",5,iVar9);\n            goto LAB_0001a72d;\n          }\n          local_64[3] = (size_t)(psVar25 + 3);\n          sVar2 = (int)psVar25 + uVar26 + 0xc;\n          local_64[4] = sVar2;\n          psVar34 = (size_t *)(-0xc - iVar9);\n          local_74 = local_74 + (int)psVar34;\n          cVar8 = (char)psVar25[3];\n          if (cVar8 == '$') {\n            if ((*(char *)((int)psVar25 + 0xd) == '\x01') && (*(char *)((int)psVar25 + 0xe) == '1'))\n            {\n              local_80 = (size_t *)((int)local_80 + 1);\n            }\n          }\n          else if ((((4 < uVar26) && (cVar8 == 'G')) && (*(char *)((int)psVar25 + 0xd) == 'A')) &&\n                  ((*(char *)((int)psVar25 + 0xe) == '$' &&\n                   (*(char *)((int)psVar25 + 0xf) == '\x01')))) {\n            cVar8 = (char)psVar25[4];\n            if (cVar8 == '2') {\n              local_84 = (int *)((int)local_84 + 1);\n            }\n            else {\n              if (cVar8 != '3') {\n                iVar9 = dcgettext(0,"corrupt GNU build attribute note: unsupported version",5,cVar8)\n                ;\n                goto LAB_0001a72d;\n              }\n              local_6c = local_6c + 1;\n            }\n          }\n          if (uVar39 == 4) {\n            sVar18 = (**(code **)(param_1[1] + 0x28))(sVar2);\n            pvVar24 = (void *)0xffffffff;\n          }\n          else if (uVar39 < 5) {\n            if (uVar39 != 0) {\nLAB_0001a7ea:\n              iVar9 = dcgettext(0,"corrupt GNU build attribute note: bad description size",5,cVar8);\n              goto LAB_0001a72d;\n            }\n            pvVar24 = (void *)0x0;\n            sVar18 = 0;\n          }\n          else {\n            psVar34 = param_1;\n            if (uVar39 == 8) {\n              sVar18 = param_1[1];\n              if ((*(int *)(sVar18 + 4) == 5) && (*(char *)(param_1[0x27] + 4) == '\x02')) {\n                sVar18 = (**(code **)(sVar18 + 0x1c))(sVar2);\n                pvVar24 = (void *)0xffffffff;\n              }\n              else {\n                sVar18 = (**(code **)(sVar18 + 0x28))(sVar2);\n                pvVar24 = (void *)(**(code **)(param_1[1] + 0x28))(sVar2 + 4);\n              }\n            }\n            else {\n              if (uVar39 != 0x10) goto LAB_0001a7ea;\n              sVar18 = (**(code **)(param_1[1] + 0x1c))(sVar2);\n              pvVar24 = (void *)(**(code **)(param_1[1] + 0x1c))(sVar2 + 8);\n            }\n          }\n          if (sVar23 == 0x100) {\n            if (sVar18 == 0) {\n              sVar18 = local_8c;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = local_90;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_90 = pvVar24;\n            local_8c = sVar18;\n          }\n          else {\n            if (sVar18 == 0) {\n              sVar18 = local_94;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = (void *)local_98;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_98 = (size_t)pvVar24;\n            local_94 = sVar18;\n          }\n          if (*(char *)((local_64[3] - 1) + *local_64) != '\0') {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name not NUL terminated",5,\n                              *local_64);\n            goto LAB_0001a72d;\n          }\n          local_64 = local_64 + 9;\n          psVar25 = (size_t *)(iVar9 + 0xcU + (int)psVar25);\n        }\n        if (local_74 == 0) {\n          uVar26 = (uint)local_84 | local_6c;\n          if (local_80 == (size_t *)0x0 && uVar26 == 0) {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: no known versions detected",5,uVar26\n                             );\n            goto LAB_0001a72d;\n          }\n          if (((local_80 != (size_t *)0x0) && (uVar26 != 0)) ||\n             ((local_84 != (int *)0x0 && (local_6c != 0)))) {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: multiple different versions",5,\n                              sVar18);\n            goto LAB_0001a72d;\n          }\n          if ((local_80 == (size_t *)0x1 || local_84 == (int *)0x1) || (local_6c == 1))\n          goto LAB_0001a75c;\n          uVar26 = -(uint)(local_80 == (size_t *)0x0) & 2;\n          iVar9 = uVar26 + 1;\n          if (*(char *)(local_60[3] + iVar9) != '\x01') {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: first note not version note",5,\n                              psVar34);\n            goto LAB_0001a72d;\n          }\n          bVar40 = false;\n          iVar12 = uVar26 + 2;\n          psVar25 = local_60;\nLAB_0001a954:\n          psVar34 = psVar25;\n          psVar25 = psVar34 + 9;\n          if (psVar25 < local_64) {\n            if (psVar34[0xb] == 0x100) {\n              pvVar24 = (void *)psVar34[0xc];\n              local_7c = (size_t *)0x0;\n              psVar45 = psVar25;\n              do {\n                do {\n                  psVar6 = psVar45;\n                  psVar45 = psVar6 + -9;\n                  if (psVar45 < local_60) goto LAB_0001a954;\n                  pvVar30 = (void *)psVar6[-6];\n                  psVar7 = local_7c;\n                } while ((((local_7c == (size_t *)0x0) && (psVar6[-8] != 0)) &&\n                         (psVar7 = psVar45, psVar6[-7] == 0x101)) ||\n                        ((local_7c = psVar7,\n                         *(char *)((int)pvVar24 + iVar9) != *(char *)((int)pvVar30 + iVar9) ||\n                         (psVar6[-7] != 0x100))));\n                if (*(char *)((int)pvVar30 + iVar9) != '\x04') {\n                  psVar45 = (size_t *)*psVar45;\n                  if ((((psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)) &&\n                      ((uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0))))\n                     && ((0xfffffff0 < uVar26 || (psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0))))) {\n                    psVar34[0xb] = 0;\n                    if (uVar26 < uVar39) {\n                      psVar6[-2] = uVar39;\n                    }\n                    bVar40 = true;\n                    if (local_6c != 0) {\n                      psVar6[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0)) {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    psVar34[0x11] = 1;\n                    psVar34[0xb] = 0x101;\n                    psVar6[-1] = 1;\n                    psVar6[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }\n                uVar26 = 0;\n                for (iVar21 = 0; (int)*psVar25 - iVar12 != iVar21; iVar21 = iVar21 + 1) {\n                  uVar26 = uVar26 | (uint)*(byte *)((int)pvVar24 + iVar21 + iVar12) <<\n                                    ((char)iVar21 * '\b' & 0x1fU);\n                }\n                sVar18 = *psVar45;\n                local_5c = (int *)0x0;\n                for (uVar39 = 0; sVar18 - iVar12 != uVar39; uVar39 = uVar39 + 1) {\n                  local_5c = (int *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39] <<\n                                    ((char)uVar39 * '\b' & 0x1fU));\n                }\n                uVar28 = 0;\n                uVar26 = (int)local_5c + uVar26;\n                for (uVar27 = uVar26; uVar27 != 0; uVar27 = uVar27 >> 8) {\n                  uVar28 = uVar28 + 1;\n                }\n              } while (uVar39 <= uVar28);\n              puVar29 = (undefined1 *)((int)pvVar30 + iVar12);\n              while (puVar29 < (undefined1 *)((int)pvVar30 + sVar18)) {\n                *puVar29 = (char)uVar26;\n                if (uVar26 == 0) break;\n                uVar26 = uVar26 >> 8;\n                puVar29 = puVar29 + 1;\n              }\n              psVar34[0xb] = 0;\n              bVar40 = true;\n            }\n            goto LAB_0001a954;\n          }\n          if (!bVar40) goto LAB_0001a75c;\n          pvVar24 = (void *)xmalloc(uVar35,pvVar44,psVar20,psVar46);\n          sVar18 = 0;\n          pvVar44 = pvVar24;\n          local_80 = psVar38;\n          for (psVar20 = local_60; psVar20 < local_64; psVar20 = psVar20 + 9) {\n            sVar23 = *psVar20;\n            __n = psVar20[1] + sVar23 + 0xc;\n            sVar2 = psVar20[2];\n            pvVar30 = pvVar44;\n            if (sVar2 != 0) {\n              if (psVar20[8] == 0) {\n                memcpy(pvVar44,local_80,__n);\n                pvVar30 = (void *)((int)pvVar44 + __n);\n              }\n              else {\n                sVar5 = psVar20[6];\n                __dest = (void *)((int)pvVar44 + 0xc);\n                pvVar30 = (void *)((int)__dest + sVar23);\n                if ((sVar5 == local_74) && (psVar20[7] == sVar18)) {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar5,sVar5);\n                  (**(code **)(param_1[1] + 0x30))(0,(int)pvVar44 + 4);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                }\n                else {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar18,sVar18);\n                  cVar8 = '\b';\n                  if (*(int *)(param_1[1] + 4) == 5) {\n                    cVar8 = (*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b';\n                  }\n                  (**(code **)(param_1[1] + 0x30))(cVar8,(int)pvVar44 + 4,sVar23,sVar23);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                  sVar18 = param_1[1];\n                  psVar25 = param_1;\n                  if ((*(int *)(sVar18 + 4) == 5) &&\n                     (psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02')) {\n                    (**(code **)(sVar18 + 0x24))(sVar5,0,pvVar30,psVar25);\n                    (**(code **)(param_1[1] + 0x24))(psVar20[7],0,(void *)((int)pvVar30 + 8));\n                    pvVar30 = (void *)((int)pvVar30 + 0x10);\n                  }\n                  else {\n                    (**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25);\n                    (**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4);\n                    pvVar30 = (void *)((int)pvVar30 + 8);\n                  }\n                }\n              }\n              local_74 = psVar20[6];\n              sVar18 = psVar20[7];\n            }\n            local_80 = (size_t *)((int)local_80 + __n);\n            pvVar44 = pvVar30;\n          }\n          sVar18 = (int)pvVar44 - (int)pvVar24;\n          memcpy(psVar38,pvVar24,sVar18);\n          free(pvVar24);\n          free(local_60);\n          DAT_0003fb7c = sVar18;\n          if (uVar35 != sVar18) {\n            uVar10 = extraout_ECX_02;\n            if ((*(int *)(sVar17 + 0x3c) != 0) &&\n               (iVar9 = bfd_set_section_size(param_2,*(int *)(sVar17 + 0x3c),sVar18,extraout_EDX),\n               uVar10 = extraout_ECX_03, iVar9 != 0)) goto LAB_00018aad;\n            uVar10 = dcgettext(0,"warning: failed to set merged notes size",5,uVar10);\n            FUN_0002c160(0,param_2,sVar17,uVar10);\n          }\n        }\n        else {\n          iVar9 = dcgettext(0,"corrupt GNU build attribute notes: excess data at end",5,local_64);\nLAB_0001a72d:\n          if (iVar9 != 0) {\n            bfd_set_error(0x11);\n            FUN_0002c160(0,param_1,sVar17,iVar9);\n            DAT_0003fb88 = 1;\n          }\nLAB_0001a75c:\n          free(local_60);\n        }\n        free(DAT_0003fb80);\n        DAT_0003fb80 = (size_t *)0x0;\n        DAT_0003fb84 = 0;\n        DAT_0003fb7c = 0;\n      }\n    }" if (parenthesized_expression "(uVar35 == 0)" ( (binary_expression "uVar35 == 0" identifier == number_literal) )) (compound_statement "{\n      uVar10 = dcgettext(0,"warning: note section is empty",5,0);\n      FUN_0002c160(0,param_1,sVar17,uVar10);\n      DAT_0003fb84 = 0;\n    }" { (expression_statement "uVar10 = dcgettext(0,"warning: note section is empty",5,0);" (assignment_expression "uVar10 = dcgettext(0,"warning: note section is empty",5,0)" identifier = (call_expression "dcgettext(0,"warning: note section is empty",5,0)" identifier (argument_list "(0,"warning: note section is empty",5,0)" ( number_literal , (string_literal ""warning: note section is empty"" " string_content ") , number_literal , number_literal )))) ;) (expression_statement "FUN_0002c160(0,param_1,sVar17,uVar10);" (call_expression "FUN_0002c160(0,param_1,sVar17,uVar10)" identifier (argument_list "(0,param_1,sVar17,uVar10)" ( number_literal , identifier , identifier , identifier ))) ;) (expression_statement "DAT_0003fb84 = 0;" (assignment_expression "DAT_0003fb84 = 0" identifier = number_literal) ;) }) (else_clause "else {\n      iVar9 = bfd_get_full_section_contents(param_1,sVar17,&DAT_0003fb80,uVar35);\n      psVar38 = DAT_0003fb80;\n      if (iVar9 == 0) {\n        uVar10 = dcgettext(0,"warning: could not load note section",5,0);\n        FUN_0002c160(0,param_1,sVar17,uVar10);\n        free(DAT_0003fb80);\n        DAT_0003fb80 = (size_t *)0x0;\n        DAT_0003fb84 = 0;\n      }\n      else {\n        iVar9 = bfd_get_reloc_upper_bound(param_1,sVar17,sVar17,sVar17);\n        psVar20 = param_1;\n        sVar18 = sVar17;\n        if (0 < iVar9) {\n          psVar20 = (size_t *)xmalloc(iVar9);\n          sVar18 = bfd_canonicalize_reloc(param_1,sVar17,psVar20,DAT_0003fb9c);\n          free(psVar20);\n          if (sVar18 == 0) goto LAB_0001a478;\n          local_60 = (size_t *)0x0;\n          goto LAB_0001a75c;\n        }\nLAB_0001a478:\n        pvVar44 = (void *)0x24;\n        psVar46 = psVar20;\n        local_60 = (size_t *)xcalloc(uVar35 / 0xc,0x24,psVar20,psVar20);\n        local_90 = (void *)0x0;\n        local_98 = 0;\n        local_8c = 0;\n        local_94 = 0;\n        local_6c = 0;\n        local_84 = (int *)0x0;\n        local_80 = (size_t *)0x0;\n        psVar25 = psVar38;\n        psVar34 = psVar38;\n        local_74 = uVar35;\n        local_64 = local_60;\n        while (0xb < local_74) {\n          iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25);\n          uVar26 = iVar9 + 3U & 0xfffffffc;\n          *local_64 = uVar26;\n          iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25 + 1);\n          uVar39 = iVar9 + 3U & 0xfffffffc;\n          sVar18 = param_1[1];\n          local_64[1] = uVar39;\n          sVar23 = (**(code **)(sVar18 + 0x28))(psVar25 + 2);\n          local_64[2] = sVar23;\n          if (1 < sVar23 - 0x100) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: wrong note type",5,\n                              extraout_ECX_01);\n            goto LAB_0001a72d;\n          }\n          iVar9 = uVar26 + uVar39;\n          if (local_74 < iVar9 + 0xcU) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: note too big",5,psVar25);\n            goto LAB_0001a72d;\n          }\n          if (uVar26 < 2) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name too small",5,iVar9);\n            goto LAB_0001a72d;\n          }\n          local_64[3] = (size_t)(psVar25 + 3);\n          sVar2 = (int)psVar25 + uVar26 + 0xc;\n          local_64[4] = sVar2;\n          psVar34 = (size_t *)(-0xc - iVar9);\n          local_74 = local_74 + (int)psVar34;\n          cVar8 = (char)psVar25[3];\n          if (cVar8 == '$') {\n            if ((*(char *)((int)psVar25 + 0xd) == '\x01') && (*(char *)((int)psVar25 + 0xe) == '1'))\n            {\n              local_80 = (size_t *)((int)local_80 + 1);\n            }\n          }\n          else if ((((4 < uVar26) && (cVar8 == 'G')) && (*(char *)((int)psVar25 + 0xd) == 'A')) &&\n                  ((*(char *)((int)psVar25 + 0xe) == '$' &&\n                   (*(char *)((int)psVar25 + 0xf) == '\x01')))) {\n            cVar8 = (char)psVar25[4];\n            if (cVar8 == '2') {\n              local_84 = (int *)((int)local_84 + 1);\n            }\n            else {\n              if (cVar8 != '3') {\n                iVar9 = dcgettext(0,"corrupt GNU build attribute note: unsupported version",5,cVar8)\n                ;\n                goto LAB_0001a72d;\n              }\n              local_6c = local_6c + 1;\n            }\n          }\n          if (uVar39 == 4) {\n            sVar18 = (**(code **)(param_1[1] + 0x28))(sVar2);\n            pvVar24 = (void *)0xffffffff;\n          }\n          else if (uVar39 < 5) {\n            if (uVar39 != 0) {\nLAB_0001a7ea:\n              iVar9 = dcgettext(0,"corrupt GNU build attribute note: bad description size",5,cVar8);\n              goto LAB_0001a72d;\n            }\n            pvVar24 = (void *)0x0;\n            sVar18 = 0;\n          }\n          else {\n            psVar34 = param_1;\n            if (uVar39 == 8) {\n              sVar18 = param_1[1];\n              if ((*(int *)(sVar18 + 4) == 5) && (*(char *)(param_1[0x27] + 4) == '\x02')) {\n                sVar18 = (**(code **)(sVar18 + 0x1c))(sVar2);\n                pvVar24 = (void *)0xffffffff;\n              }\n              else {\n                sVar18 = (**(code **)(sVar18 + 0x28))(sVar2);\n                pvVar24 = (void *)(**(code **)(param_1[1] + 0x28))(sVar2 + 4);\n              }\n            }\n            else {\n              if (uVar39 != 0x10) goto LAB_0001a7ea;\n              sVar18 = (**(code **)(param_1[1] + 0x1c))(sVar2);\n              pvVar24 = (void *)(**(code **)(param_1[1] + 0x1c))(sVar2 + 8);\n            }\n          }\n          if (sVar23 == 0x100) {\n            if (sVar18 == 0) {\n              sVar18 = local_8c;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = local_90;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_90 = pvVar24;\n            local_8c = sVar18;\n          }\n          else {\n            if (sVar18 == 0) {\n              sVar18 = local_94;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = (void *)local_98;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_98 = (size_t)pvVar24;\n            local_94 = sVar18;\n          }\n          if (*(char *)((local_64[3] - 1) + *local_64) != '\0') {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name not NUL terminated",5,\n                              *local_64);\n            goto LAB_0001a72d;\n          }\n          local_64 = local_64 + 9;\n          psVar25 = (size_t *)(iVar9 + 0xcU + (int)psVar25);\n        }\n        if (local_74 == 0) {\n          uVar26 = (uint)local_84 | local_6c;\n          if (local_80 == (size_t *)0x0 && uVar26 == 0) {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: no known versions detected",5,uVar26\n                             );\n            goto LAB_0001a72d;\n          }\n          if (((local_80 != (size_t *)0x0) && (uVar26 != 0)) ||\n             ((local_84 != (int *)0x0 && (local_6c != 0)))) {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: multiple different versions",5,\n                              sVar18);\n            goto LAB_0001a72d;\n          }\n          if ((local_80 == (size_t *)0x1 || local_84 == (int *)0x1) || (local_6c == 1))\n          goto LAB_0001a75c;\n          uVar26 = -(uint)(local_80 == (size_t *)0x0) & 2;\n          iVar9 = uVar26 + 1;\n          if (*(char *)(local_60[3] + iVar9) != '\x01') {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: first note not version note",5,\n                              psVar34);\n            goto LAB_0001a72d;\n          }\n          bVar40 = false;\n          iVar12 = uVar26 + 2;\n          psVar25 = local_60;\nLAB_0001a954:\n          psVar34 = psVar25;\n          psVar25 = psVar34 + 9;\n          if (psVar25 < local_64) {\n            if (psVar34[0xb] == 0x100) {\n              pvVar24 = (void *)psVar34[0xc];\n              local_7c = (size_t *)0x0;\n              psVar45 = psVar25;\n              do {\n                do {\n                  psVar6 = psVar45;\n                  psVar45 = psVar6 + -9;\n                  if (psVar45 < local_60) goto LAB_0001a954;\n                  pvVar30 = (void *)psVar6[-6];\n                  psVar7 = local_7c;\n                } while ((((local_7c == (size_t *)0x0) && (psVar6[-8] != 0)) &&\n                         (psVar7 = psVar45, psVar6[-7] == 0x101)) ||\n                        ((local_7c = psVar7,\n                         *(char *)((int)pvVar24 + iVar9) != *(char *)((int)pvVar30 + iVar9) ||\n                         (psVar6[-7] != 0x100))));\n                if (*(char *)((int)pvVar30 + iVar9) != '\x04') {\n                  psVar45 = (size_t *)*psVar45;\n                  if ((((psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)) &&\n                      ((uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0))))\n                     && ((0xfffffff0 < uVar26 || (psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0))))) {\n                    psVar34[0xb] = 0;\n                    if (uVar26 < uVar39) {\n                      psVar6[-2] = uVar39;\n                    }\n                    bVar40 = true;\n                    if (local_6c != 0) {\n                      psVar6[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0)) {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    psVar34[0x11] = 1;\n                    psVar34[0xb] = 0x101;\n                    psVar6[-1] = 1;\n                    psVar6[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }\n                uVar26 = 0;\n                for (iVar21 = 0; (int)*psVar25 - iVar12 != iVar21; iVar21 = iVar21 + 1) {\n                  uVar26 = uVar26 | (uint)*(byte *)((int)pvVar24 + iVar21 + iVar12) <<\n                                    ((char)iVar21 * '\b' & 0x1fU);\n                }\n                sVar18 = *psVar45;\n                local_5c = (int *)0x0;\n                for (uVar39 = 0; sVar18 - iVar12 != uVar39; uVar39 = uVar39 + 1) {\n                  local_5c = (int *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39] <<\n                                    ((char)uVar39 * '\b' & 0x1fU));\n                }\n                uVar28 = 0;\n                uVar26 = (int)local_5c + uVar26;\n                for (uVar27 = uVar26; uVar27 != 0; uVar27 = uVar27 >> 8) {\n                  uVar28 = uVar28 + 1;\n                }\n              } while (uVar39 <= uVar28);\n              puVar29 = (undefined1 *)((int)pvVar30 + iVar12);\n              while (puVar29 < (undefined1 *)((int)pvVar30 + sVar18)) {\n                *puVar29 = (char)uVar26;\n                if (uVar26 == 0) break;\n                uVar26 = uVar26 >> 8;\n                puVar29 = puVar29 + 1;\n              }\n              psVar34[0xb] = 0;\n              bVar40 = true;\n            }\n            goto LAB_0001a954;\n          }\n          if (!bVar40) goto LAB_0001a75c;\n          pvVar24 = (void *)xmalloc(uVar35,pvVar44,psVar20,psVar46);\n          sVar18 = 0;\n          pvVar44 = pvVar24;\n          local_80 = psVar38;\n          for (psVar20 = local_60; psVar20 < local_64; psVar20 = psVar20 + 9) {\n            sVar23 = *psVar20;\n            __n = psVar20[1] + sVar23 + 0xc;\n            sVar2 = psVar20[2];\n            pvVar30 = pvVar44;\n            if (sVar2 != 0) {\n              if (psVar20[8] == 0) {\n                memcpy(pvVar44,local_80,__n);\n                pvVar30 = (void *)((int)pvVar44 + __n);\n              }\n              else {\n                sVar5 = psVar20[6];\n                __dest = (void *)((int)pvVar44 + 0xc);\n                pvVar30 = (void *)((int)__dest + sVar23);\n                if ((sVar5 == local_74) && (psVar20[7] == sVar18)) {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar5,sVar5);\n                  (**(code **)(param_1[1] + 0x30))(0,(int)pvVar44 + 4);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                }\n                else {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar18,sVar18);\n                  cVar8 = '\b';\n                  if (*(int *)(param_1[1] + 4) == 5) {\n                    cVar8 = (*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b';\n                  }\n                  (**(code **)(param_1[1] + 0x30))(cVar8,(int)pvVar44 + 4,sVar23,sVar23);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                  sVar18 = param_1[1];\n                  psVar25 = param_1;\n                  if ((*(int *)(sVar18 + 4) == 5) &&\n                     (psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02')) {\n                    (**(code **)(sVar18 + 0x24))(sVar5,0,pvVar30,psVar25);\n                    (**(code **)(param_1[1] + 0x24))(psVar20[7],0,(void *)((int)pvVar30 + 8));\n                    pvVar30 = (void *)((int)pvVar30 + 0x10);\n                  }\n                  else {\n                    (**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25);\n                    (**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4);\n                    pvVar30 = (void *)((int)pvVar30 + 8);\n                  }\n                }\n              }\n              local_74 = psVar20[6];\n              sVar18 = psVar20[7];\n            }\n            local_80 = (size_t *)((int)local_80 + __n);\n            pvVar44 = pvVar30;\n          }\n          sVar18 = (int)pvVar44 - (int)pvVar24;\n          memcpy(psVar38,pvVar24,sVar18);\n          free(pvVar24);\n          free(local_60);\n          DAT_0003fb7c = sVar18;\n          if (uVar35 != sVar18) {\n            uVar10 = extraout_ECX_02;\n            if ((*(int *)(sVar17 + 0x3c) != 0) &&\n               (iVar9 = bfd_set_section_size(param_2,*(int *)(sVar17 + 0x3c),sVar18,extraout_EDX),\n               uVar10 = extraout_ECX_03, iVar9 != 0)) goto LAB_00018aad;\n            uVar10 = dcgettext(0,"warning: failed to set merged notes size",5,uVar10);\n            FUN_0002c160(0,param_2,sVar17,uVar10);\n          }\n        }\n        else {\n          iVar9 = dcgettext(0,"corrupt GNU build attribute notes: excess data at end",5,local_64);\nLAB_0001a72d:\n          if (iVar9 != 0) {\n            bfd_set_error(0x11);\n            FUN_0002c160(0,param_1,sVar17,iVar9);\n            DAT_0003fb88 = 1;\n          }\nLAB_0001a75c:\n          free(local_60);\n        }\n        free(DAT_0003fb80);\n        DAT_0003fb80 = (size_t *)0x0;\n        DAT_0003fb84 = 0;\n        DAT_0003fb7c = 0;\n      }\n    }" else (compound_statement "{\n      iVar9 = bfd_get_full_section_contents(param_1,sVar17,&DAT_0003fb80,uVar35);\n      psVar38 = DAT_0003fb80;\n      if (iVar9 == 0) {\n        uVar10 = dcgettext(0,"warning: could not load note section",5,0);\n        FUN_0002c160(0,param_1,sVar17,uVar10);\n        free(DAT_0003fb80);\n        DAT_0003fb80 = (size_t *)0x0;\n        DAT_0003fb84 = 0;\n      }\n      else {\n        iVar9 = bfd_get_reloc_upper_bound(param_1,sVar17,sVar17,sVar17);\n        psVar20 = param_1;\n        sVar18 = sVar17;\n        if (0 < iVar9) {\n          psVar20 = (size_t *)xmalloc(iVar9);\n          sVar18 = bfd_canonicalize_reloc(param_1,sVar17,psVar20,DAT_0003fb9c);\n          free(psVar20);\n          if (sVar18 == 0) goto LAB_0001a478;\n          local_60 = (size_t *)0x0;\n          goto LAB_0001a75c;\n        }\nLAB_0001a478:\n        pvVar44 = (void *)0x24;\n        psVar46 = psVar20;\n        local_60 = (size_t *)xcalloc(uVar35 / 0xc,0x24,psVar20,psVar20);\n        local_90 = (void *)0x0;\n        local_98 = 0;\n        local_8c = 0;\n        local_94 = 0;\n        local_6c = 0;\n        local_84 = (int *)0x0;\n        local_80 = (size_t *)0x0;\n        psVar25 = psVar38;\n        psVar34 = psVar38;\n        local_74 = uVar35;\n        local_64 = local_60;\n        while (0xb < local_74) {\n          iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25);\n          uVar26 = iVar9 + 3U & 0xfffffffc;\n          *local_64 = uVar26;\n          iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25 + 1);\n          uVar39 = iVar9 + 3U & 0xfffffffc;\n          sVar18 = param_1[1];\n          local_64[1] = uVar39;\n          sVar23 = (**(code **)(sVar18 + 0x28))(psVar25 + 2);\n          local_64[2] = sVar23;\n          if (1 < sVar23 - 0x100) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: wrong note type",5,\n                              extraout_ECX_01);\n            goto LAB_0001a72d;\n          }\n          iVar9 = uVar26 + uVar39;\n          if (local_74 < iVar9 + 0xcU) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: note too big",5,psVar25);\n            goto LAB_0001a72d;\n          }\n          if (uVar26 < 2) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name too small",5,iVar9);\n            goto LAB_0001a72d;\n          }\n          local_64[3] = (size_t)(psVar25 + 3);\n          sVar2 = (int)psVar25 + uVar26 + 0xc;\n          local_64[4] = sVar2;\n          psVar34 = (size_t *)(-0xc - iVar9);\n          local_74 = local_74 + (int)psVar34;\n          cVar8 = (char)psVar25[3];\n          if (cVar8 == '$') {\n            if ((*(char *)((int)psVar25 + 0xd) == '\x01') && (*(char *)((int)psVar25 + 0xe) == '1'))\n            {\n              local_80 = (size_t *)((int)local_80 + 1);\n            }\n          }\n          else if ((((4 < uVar26) && (cVar8 == 'G')) && (*(char *)((int)psVar25 + 0xd) == 'A')) &&\n                  ((*(char *)((int)psVar25 + 0xe) == '$' &&\n                   (*(char *)((int)psVar25 + 0xf) == '\x01')))) {\n            cVar8 = (char)psVar25[4];\n            if (cVar8 == '2') {\n              local_84 = (int *)((int)local_84 + 1);\n            }\n            else {\n              if (cVar8 != '3') {\n                iVar9 = dcgettext(0,"corrupt GNU build attribute note: unsupported version",5,cVar8)\n                ;\n                goto LAB_0001a72d;\n              }\n              local_6c = local_6c + 1;\n            }\n          }\n          if (uVar39 == 4) {\n            sVar18 = (**(code **)(param_1[1] + 0x28))(sVar2);\n            pvVar24 = (void *)0xffffffff;\n          }\n          else if (uVar39 < 5) {\n            if (uVar39 != 0) {\nLAB_0001a7ea:\n              iVar9 = dcgettext(0,"corrupt GNU build attribute note: bad description size",5,cVar8);\n              goto LAB_0001a72d;\n            }\n            pvVar24 = (void *)0x0;\n            sVar18 = 0;\n          }\n          else {\n            psVar34 = param_1;\n            if (uVar39 == 8) {\n              sVar18 = param_1[1];\n              if ((*(int *)(sVar18 + 4) == 5) && (*(char *)(param_1[0x27] + 4) == '\x02')) {\n                sVar18 = (**(code **)(sVar18 + 0x1c))(sVar2);\n                pvVar24 = (void *)0xffffffff;\n              }\n              else {\n                sVar18 = (**(code **)(sVar18 + 0x28))(sVar2);\n                pvVar24 = (void *)(**(code **)(param_1[1] + 0x28))(sVar2 + 4);\n              }\n            }\n            else {\n              if (uVar39 != 0x10) goto LAB_0001a7ea;\n              sVar18 = (**(code **)(param_1[1] + 0x1c))(sVar2);\n              pvVar24 = (void *)(**(code **)(param_1[1] + 0x1c))(sVar2 + 8);\n            }\n          }\n          if (sVar23 == 0x100) {\n            if (sVar18 == 0) {\n              sVar18 = local_8c;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = local_90;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_90 = pvVar24;\n            local_8c = sVar18;\n          }\n          else {\n            if (sVar18 == 0) {\n              sVar18 = local_94;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = (void *)local_98;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_98 = (size_t)pvVar24;\n            local_94 = sVar18;\n          }\n          if (*(char *)((local_64[3] - 1) + *local_64) != '\0') {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name not NUL terminated",5,\n                              *local_64);\n            goto LAB_0001a72d;\n          }\n          local_64 = local_64 + 9;\n          psVar25 = (size_t *)(iVar9 + 0xcU + (int)psVar25);\n        }\n        if (local_74 == 0) {\n          uVar26 = (uint)local_84 | local_6c;\n          if (local_80 == (size_t *)0x0 && uVar26 == 0) {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: no known versions detected",5,uVar26\n                             );\n            goto LAB_0001a72d;\n          }\n          if (((local_80 != (size_t *)0x0) && (uVar26 != 0)) ||\n             ((local_84 != (int *)0x0 && (local_6c != 0)))) {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: multiple different versions",5,\n                              sVar18);\n            goto LAB_0001a72d;\n          }\n          if ((local_80 == (size_t *)0x1 || local_84 == (int *)0x1) || (local_6c == 1))\n          goto LAB_0001a75c;\n          uVar26 = -(uint)(local_80 == (size_t *)0x0) & 2;\n          iVar9 = uVar26 + 1;\n          if (*(char *)(local_60[3] + iVar9) != '\x01') {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: first note not version note",5,\n                              psVar34);\n            goto LAB_0001a72d;\n          }\n          bVar40 = false;\n          iVar12 = uVar26 + 2;\n          psVar25 = local_60;\nLAB_0001a954:\n          psVar34 = psVar25;\n          psVar25 = psVar34 + 9;\n          if (psVar25 < local_64) {\n            if (psVar34[0xb] == 0x100) {\n              pvVar24 = (void *)psVar34[0xc];\n              local_7c = (size_t *)0x0;\n              psVar45 = psVar25;\n              do {\n                do {\n                  psVar6 = psVar45;\n                  psVar45 = psVar6 + -9;\n                  if (psVar45 < local_60) goto LAB_0001a954;\n                  pvVar30 = (void *)psVar6[-6];\n                  psVar7 = local_7c;\n                } while ((((local_7c == (size_t *)0x0) && (psVar6[-8] != 0)) &&\n                         (psVar7 = psVar45, psVar6[-7] == 0x101)) ||\n                        ((local_7c = psVar7,\n                         *(char *)((int)pvVar24 + iVar9) != *(char *)((int)pvVar30 + iVar9) ||\n                         (psVar6[-7] != 0x100))));\n                if (*(char *)((int)pvVar30 + iVar9) != '\x04') {\n                  psVar45 = (size_t *)*psVar45;\n                  if ((((psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)) &&\n                      ((uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0))))\n                     && ((0xfffffff0 < uVar26 || (psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0))))) {\n                    psVar34[0xb] = 0;\n                    if (uVar26 < uVar39) {\n                      psVar6[-2] = uVar39;\n                    }\n                    bVar40 = true;\n                    if (local_6c != 0) {\n                      psVar6[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0)) {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    psVar34[0x11] = 1;\n                    psVar34[0xb] = 0x101;\n                    psVar6[-1] = 1;\n                    psVar6[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }\n                uVar26 = 0;\n                for (iVar21 = 0; (int)*psVar25 - iVar12 != iVar21; iVar21 = iVar21 + 1) {\n                  uVar26 = uVar26 | (uint)*(byte *)((int)pvVar24 + iVar21 + iVar12) <<\n                                    ((char)iVar21 * '\b' & 0x1fU);\n                }\n                sVar18 = *psVar45;\n                local_5c = (int *)0x0;\n                for (uVar39 = 0; sVar18 - iVar12 != uVar39; uVar39 = uVar39 + 1) {\n                  local_5c = (int *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39] <<\n                                    ((char)uVar39 * '\b' & 0x1fU));\n                }\n                uVar28 = 0;\n                uVar26 = (int)local_5c + uVar26;\n                for (uVar27 = uVar26; uVar27 != 0; uVar27 = uVar27 >> 8) {\n                  uVar28 = uVar28 + 1;\n                }\n              } while (uVar39 <= uVar28);\n              puVar29 = (undefined1 *)((int)pvVar30 + iVar12);\n              while (puVar29 < (undefined1 *)((int)pvVar30 + sVar18)) {\n                *puVar29 = (char)uVar26;\n                if (uVar26 == 0) break;\n                uVar26 = uVar26 >> 8;\n                puVar29 = puVar29 + 1;\n              }\n              psVar34[0xb] = 0;\n              bVar40 = true;\n            }\n            goto LAB_0001a954;\n          }\n          if (!bVar40) goto LAB_0001a75c;\n          pvVar24 = (void *)xmalloc(uVar35,pvVar44,psVar20,psVar46);\n          sVar18 = 0;\n          pvVar44 = pvVar24;\n          local_80 = psVar38;\n          for (psVar20 = local_60; psVar20 < local_64; psVar20 = psVar20 + 9) {\n            sVar23 = *psVar20;\n            __n = psVar20[1] + sVar23 + 0xc;\n            sVar2 = psVar20[2];\n            pvVar30 = pvVar44;\n            if (sVar2 != 0) {\n              if (psVar20[8] == 0) {\n                memcpy(pvVar44,local_80,__n);\n                pvVar30 = (void *)((int)pvVar44 + __n);\n              }\n              else {\n                sVar5 = psVar20[6];\n                __dest = (void *)((int)pvVar44 + 0xc);\n                pvVar30 = (void *)((int)__dest + sVar23);\n                if ((sVar5 == local_74) && (psVar20[7] == sVar18)) {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar5,sVar5);\n                  (**(code **)(param_1[1] + 0x30))(0,(int)pvVar44 + 4);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                }\n                else {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar18,sVar18);\n                  cVar8 = '\b';\n                  if (*(int *)(param_1[1] + 4) == 5) {\n                    cVar8 = (*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b';\n                  }\n                  (**(code **)(param_1[1] + 0x30))(cVar8,(int)pvVar44 + 4,sVar23,sVar23);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                  sVar18 = param_1[1];\n                  psVar25 = param_1;\n                  if ((*(int *)(sVar18 + 4) == 5) &&\n                     (psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02')) {\n                    (**(code **)(sVar18 + 0x24))(sVar5,0,pvVar30,psVar25);\n                    (**(code **)(param_1[1] + 0x24))(psVar20[7],0,(void *)((int)pvVar30 + 8));\n                    pvVar30 = (void *)((int)pvVar30 + 0x10);\n                  }\n                  else {\n                    (**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25);\n                    (**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4);\n                    pvVar30 = (void *)((int)pvVar30 + 8);\n                  }\n                }\n              }\n              local_74 = psVar20[6];\n              sVar18 = psVar20[7];\n            }\n            local_80 = (size_t *)((int)local_80 + __n);\n            pvVar44 = pvVar30;\n          }\n          sVar18 = (int)pvVar44 - (int)pvVar24;\n          memcpy(psVar38,pvVar24,sVar18);\n          free(pvVar24);\n          free(local_60);\n          DAT_0003fb7c = sVar18;\n          if (uVar35 != sVar18) {\n            uVar10 = extraout_ECX_02;\n            if ((*(int *)(sVar17 + 0x3c) != 0) &&\n               (iVar9 = bfd_set_section_size(param_2,*(int *)(sVar17 + 0x3c),sVar18,extraout_EDX),\n               uVar10 = extraout_ECX_03, iVar9 != 0)) goto LAB_00018aad;\n            uVar10 = dcgettext(0,"warning: failed to set merged notes size",5,uVar10);\n            FUN_0002c160(0,param_2,sVar17,uVar10);\n          }\n        }\n        else {\n          iVar9 = dcgettext(0,"corrupt GNU build attribute notes: excess data at end",5,local_64);\nLAB_0001a72d:\n          if (iVar9 != 0) {\n            bfd_set_error(0x11);\n            FUN_0002c160(0,param_1,sVar17,iVar9);\n            DAT_0003fb88 = 1;\n          }\nLAB_0001a75c:\n          free(local_60);\n        }\n        free(DAT_0003fb80);\n        DAT_0003fb80 = (size_t *)0x0;\n        DAT_0003fb84 = 0;\n        DAT_0003fb7c = 0;\n      }\n    }" { (expression_statement "iVar9 = bfd_get_full_section_contents(param_1,sVar17,&DAT_0003fb80,uVar35);" (assignment_expression "iVar9 = bfd_get_full_section_contents(param_1,sVar17,&DAT_0003fb80,uVar35)" identifier = (call_expression "bfd_get_full_section_contents(param_1,sVar17,&DAT_0003fb80,uVar35)" identifier (argument_list "(param_1,sVar17,&DAT_0003fb80,uVar35)" ( identifier , identifier , (pointer_expression "&DAT_0003fb80" & identifier) , identifier )))) ;) (expression_statement "psVar38 = DAT_0003fb80;" (assignment_expression "psVar38 = DAT_0003fb80" identifier = identifier) ;) (if_statement "if (iVar9 == 0) {\n        uVar10 = dcgettext(0,"warning: could not load note section",5,0);\n        FUN_0002c160(0,param_1,sVar17,uVar10);\n        free(DAT_0003fb80);\n        DAT_0003fb80 = (size_t *)0x0;\n        DAT_0003fb84 = 0;\n      }\n      else {\n        iVar9 = bfd_get_reloc_upper_bound(param_1,sVar17,sVar17,sVar17);\n        psVar20 = param_1;\n        sVar18 = sVar17;\n        if (0 < iVar9) {\n          psVar20 = (size_t *)xmalloc(iVar9);\n          sVar18 = bfd_canonicalize_reloc(param_1,sVar17,psVar20,DAT_0003fb9c);\n          free(psVar20);\n          if (sVar18 == 0) goto LAB_0001a478;\n          local_60 = (size_t *)0x0;\n          goto LAB_0001a75c;\n        }\nLAB_0001a478:\n        pvVar44 = (void *)0x24;\n        psVar46 = psVar20;\n        local_60 = (size_t *)xcalloc(uVar35 / 0xc,0x24,psVar20,psVar20);\n        local_90 = (void *)0x0;\n        local_98 = 0;\n        local_8c = 0;\n        local_94 = 0;\n        local_6c = 0;\n        local_84 = (int *)0x0;\n        local_80 = (size_t *)0x0;\n        psVar25 = psVar38;\n        psVar34 = psVar38;\n        local_74 = uVar35;\n        local_64 = local_60;\n        while (0xb < local_74) {\n          iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25);\n          uVar26 = iVar9 + 3U & 0xfffffffc;\n          *local_64 = uVar26;\n          iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25 + 1);\n          uVar39 = iVar9 + 3U & 0xfffffffc;\n          sVar18 = param_1[1];\n          local_64[1] = uVar39;\n          sVar23 = (**(code **)(sVar18 + 0x28))(psVar25 + 2);\n          local_64[2] = sVar23;\n          if (1 < sVar23 - 0x100) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: wrong note type",5,\n                              extraout_ECX_01);\n            goto LAB_0001a72d;\n          }\n          iVar9 = uVar26 + uVar39;\n          if (local_74 < iVar9 + 0xcU) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: note too big",5,psVar25);\n            goto LAB_0001a72d;\n          }\n          if (uVar26 < 2) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name too small",5,iVar9);\n            goto LAB_0001a72d;\n          }\n          local_64[3] = (size_t)(psVar25 + 3);\n          sVar2 = (int)psVar25 + uVar26 + 0xc;\n          local_64[4] = sVar2;\n          psVar34 = (size_t *)(-0xc - iVar9);\n          local_74 = local_74 + (int)psVar34;\n          cVar8 = (char)psVar25[3];\n          if (cVar8 == '$') {\n            if ((*(char *)((int)psVar25 + 0xd) == '\x01') && (*(char *)((int)psVar25 + 0xe) == '1'))\n            {\n              local_80 = (size_t *)((int)local_80 + 1);\n            }\n          }\n          else if ((((4 < uVar26) && (cVar8 == 'G')) && (*(char *)((int)psVar25 + 0xd) == 'A')) &&\n                  ((*(char *)((int)psVar25 + 0xe) == '$' &&\n                   (*(char *)((int)psVar25 + 0xf) == '\x01')))) {\n            cVar8 = (char)psVar25[4];\n            if (cVar8 == '2') {\n              local_84 = (int *)((int)local_84 + 1);\n            }\n            else {\n              if (cVar8 != '3') {\n                iVar9 = dcgettext(0,"corrupt GNU build attribute note: unsupported version",5,cVar8)\n                ;\n                goto LAB_0001a72d;\n              }\n              local_6c = local_6c + 1;\n            }\n          }\n          if (uVar39 == 4) {\n            sVar18 = (**(code **)(param_1[1] + 0x28))(sVar2);\n            pvVar24 = (void *)0xffffffff;\n          }\n          else if (uVar39 < 5) {\n            if (uVar39 != 0) {\nLAB_0001a7ea:\n              iVar9 = dcgettext(0,"corrupt GNU build attribute note: bad description size",5,cVar8);\n              goto LAB_0001a72d;\n            }\n            pvVar24 = (void *)0x0;\n            sVar18 = 0;\n          }\n          else {\n            psVar34 = param_1;\n            if (uVar39 == 8) {\n              sVar18 = param_1[1];\n              if ((*(int *)(sVar18 + 4) == 5) && (*(char *)(param_1[0x27] + 4) == '\x02')) {\n                sVar18 = (**(code **)(sVar18 + 0x1c))(sVar2);\n                pvVar24 = (void *)0xffffffff;\n              }\n              else {\n                sVar18 = (**(code **)(sVar18 + 0x28))(sVar2);\n                pvVar24 = (void *)(**(code **)(param_1[1] + 0x28))(sVar2 + 4);\n              }\n            }\n            else {\n              if (uVar39 != 0x10) goto LAB_0001a7ea;\n              sVar18 = (**(code **)(param_1[1] + 0x1c))(sVar2);\n              pvVar24 = (void *)(**(code **)(param_1[1] + 0x1c))(sVar2 + 8);\n            }\n          }\n          if (sVar23 == 0x100) {\n            if (sVar18 == 0) {\n              sVar18 = local_8c;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = local_90;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_90 = pvVar24;\n            local_8c = sVar18;\n          }\n          else {\n            if (sVar18 == 0) {\n              sVar18 = local_94;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = (void *)local_98;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_98 = (size_t)pvVar24;\n            local_94 = sVar18;\n          }\n          if (*(char *)((local_64[3] - 1) + *local_64) != '\0') {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name not NUL terminated",5,\n                              *local_64);\n            goto LAB_0001a72d;\n          }\n          local_64 = local_64 + 9;\n          psVar25 = (size_t *)(iVar9 + 0xcU + (int)psVar25);\n        }\n        if (local_74 == 0) {\n          uVar26 = (uint)local_84 | local_6c;\n          if (local_80 == (size_t *)0x0 && uVar26 == 0) {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: no known versions detected",5,uVar26\n                             );\n            goto LAB_0001a72d;\n          }\n          if (((local_80 != (size_t *)0x0) && (uVar26 != 0)) ||\n             ((local_84 != (int *)0x0 && (local_6c != 0)))) {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: multiple different versions",5,\n                              sVar18);\n            goto LAB_0001a72d;\n          }\n          if ((local_80 == (size_t *)0x1 || local_84 == (int *)0x1) || (local_6c == 1))\n          goto LAB_0001a75c;\n          uVar26 = -(uint)(local_80 == (size_t *)0x0) & 2;\n          iVar9 = uVar26 + 1;\n          if (*(char *)(local_60[3] + iVar9) != '\x01') {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: first note not version note",5,\n                              psVar34);\n            goto LAB_0001a72d;\n          }\n          bVar40 = false;\n          iVar12 = uVar26 + 2;\n          psVar25 = local_60;\nLAB_0001a954:\n          psVar34 = psVar25;\n          psVar25 = psVar34 + 9;\n          if (psVar25 < local_64) {\n            if (psVar34[0xb] == 0x100) {\n              pvVar24 = (void *)psVar34[0xc];\n              local_7c = (size_t *)0x0;\n              psVar45 = psVar25;\n              do {\n                do {\n                  psVar6 = psVar45;\n                  psVar45 = psVar6 + -9;\n                  if (psVar45 < local_60) goto LAB_0001a954;\n                  pvVar30 = (void *)psVar6[-6];\n                  psVar7 = local_7c;\n                } while ((((local_7c == (size_t *)0x0) && (psVar6[-8] != 0)) &&\n                         (psVar7 = psVar45, psVar6[-7] == 0x101)) ||\n                        ((local_7c = psVar7,\n                         *(char *)((int)pvVar24 + iVar9) != *(char *)((int)pvVar30 + iVar9) ||\n                         (psVar6[-7] != 0x100))));\n                if (*(char *)((int)pvVar30 + iVar9) != '\x04') {\n                  psVar45 = (size_t *)*psVar45;\n                  if ((((psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)) &&\n                      ((uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0))))\n                     && ((0xfffffff0 < uVar26 || (psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0))))) {\n                    psVar34[0xb] = 0;\n                    if (uVar26 < uVar39) {\n                      psVar6[-2] = uVar39;\n                    }\n                    bVar40 = true;\n                    if (local_6c != 0) {\n                      psVar6[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0)) {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    psVar34[0x11] = 1;\n                    psVar34[0xb] = 0x101;\n                    psVar6[-1] = 1;\n                    psVar6[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }\n                uVar26 = 0;\n                for (iVar21 = 0; (int)*psVar25 - iVar12 != iVar21; iVar21 = iVar21 + 1) {\n                  uVar26 = uVar26 | (uint)*(byte *)((int)pvVar24 + iVar21 + iVar12) <<\n                                    ((char)iVar21 * '\b' & 0x1fU);\n                }\n                sVar18 = *psVar45;\n                local_5c = (int *)0x0;\n                for (uVar39 = 0; sVar18 - iVar12 != uVar39; uVar39 = uVar39 + 1) {\n                  local_5c = (int *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39] <<\n                                    ((char)uVar39 * '\b' & 0x1fU));\n                }\n                uVar28 = 0;\n                uVar26 = (int)local_5c + uVar26;\n                for (uVar27 = uVar26; uVar27 != 0; uVar27 = uVar27 >> 8) {\n                  uVar28 = uVar28 + 1;\n                }\n              } while (uVar39 <= uVar28);\n              puVar29 = (undefined1 *)((int)pvVar30 + iVar12);\n              while (puVar29 < (undefined1 *)((int)pvVar30 + sVar18)) {\n                *puVar29 = (char)uVar26;\n                if (uVar26 == 0) break;\n                uVar26 = uVar26 >> 8;\n                puVar29 = puVar29 + 1;\n              }\n              psVar34[0xb] = 0;\n              bVar40 = true;\n            }\n            goto LAB_0001a954;\n          }\n          if (!bVar40) goto LAB_0001a75c;\n          pvVar24 = (void *)xmalloc(uVar35,pvVar44,psVar20,psVar46);\n          sVar18 = 0;\n          pvVar44 = pvVar24;\n          local_80 = psVar38;\n          for (psVar20 = local_60; psVar20 < local_64; psVar20 = psVar20 + 9) {\n            sVar23 = *psVar20;\n            __n = psVar20[1] + sVar23 + 0xc;\n            sVar2 = psVar20[2];\n            pvVar30 = pvVar44;\n            if (sVar2 != 0) {\n              if (psVar20[8] == 0) {\n                memcpy(pvVar44,local_80,__n);\n                pvVar30 = (void *)((int)pvVar44 + __n);\n              }\n              else {\n                sVar5 = psVar20[6];\n                __dest = (void *)((int)pvVar44 + 0xc);\n                pvVar30 = (void *)((int)__dest + sVar23);\n                if ((sVar5 == local_74) && (psVar20[7] == sVar18)) {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar5,sVar5);\n                  (**(code **)(param_1[1] + 0x30))(0,(int)pvVar44 + 4);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                }\n                else {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar18,sVar18);\n                  cVar8 = '\b';\n                  if (*(int *)(param_1[1] + 4) == 5) {\n                    cVar8 = (*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b';\n                  }\n                  (**(code **)(param_1[1] + 0x30))(cVar8,(int)pvVar44 + 4,sVar23,sVar23);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                  sVar18 = param_1[1];\n                  psVar25 = param_1;\n                  if ((*(int *)(sVar18 + 4) == 5) &&\n                     (psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02')) {\n                    (**(code **)(sVar18 + 0x24))(sVar5,0,pvVar30,psVar25);\n                    (**(code **)(param_1[1] + 0x24))(psVar20[7],0,(void *)((int)pvVar30 + 8));\n                    pvVar30 = (void *)((int)pvVar30 + 0x10);\n                  }\n                  else {\n                    (**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25);\n                    (**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4);\n                    pvVar30 = (void *)((int)pvVar30 + 8);\n                  }\n                }\n              }\n              local_74 = psVar20[6];\n              sVar18 = psVar20[7];\n            }\n            local_80 = (size_t *)((int)local_80 + __n);\n            pvVar44 = pvVar30;\n          }\n          sVar18 = (int)pvVar44 - (int)pvVar24;\n          memcpy(psVar38,pvVar24,sVar18);\n          free(pvVar24);\n          free(local_60);\n          DAT_0003fb7c = sVar18;\n          if (uVar35 != sVar18) {\n            uVar10 = extraout_ECX_02;\n            if ((*(int *)(sVar17 + 0x3c) != 0) &&\n               (iVar9 = bfd_set_section_size(param_2,*(int *)(sVar17 + 0x3c),sVar18,extraout_EDX),\n               uVar10 = extraout_ECX_03, iVar9 != 0)) goto LAB_00018aad;\n            uVar10 = dcgettext(0,"warning: failed to set merged notes size",5,uVar10);\n            FUN_0002c160(0,param_2,sVar17,uVar10);\n          }\n        }\n        else {\n          iVar9 = dcgettext(0,"corrupt GNU build attribute notes: excess data at end",5,local_64);\nLAB_0001a72d:\n          if (iVar9 != 0) {\n            bfd_set_error(0x11);\n            FUN_0002c160(0,param_1,sVar17,iVar9);\n            DAT_0003fb88 = 1;\n          }\nLAB_0001a75c:\n          free(local_60);\n        }\n        free(DAT_0003fb80);\n        DAT_0003fb80 = (size_t *)0x0;\n        DAT_0003fb84 = 0;\n        DAT_0003fb7c = 0;\n      }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar10 = dcgettext(0,"warning: could not load note section",5,0);\n        FUN_0002c160(0,param_1,sVar17,uVar10);\n        free(DAT_0003fb80);\n        DAT_0003fb80 = (size_t *)0x0;\n        DAT_0003fb84 = 0;\n      }" { (expression_statement "uVar10 = dcgettext(0,"warning: could not load note section",5,0);" (assignment_expression "uVar10 = dcgettext(0,"warning: could not load note section",5,0)" identifier = (call_expression "dcgettext(0,"warning: could not load note section",5,0)" identifier (argument_list "(0,"warning: could not load note section",5,0)" ( number_literal , (string_literal ""warning: could not load note section"" " string_content ") , number_literal , number_literal )))) ;) (expression_statement "FUN_0002c160(0,param_1,sVar17,uVar10);" (call_expression "FUN_0002c160(0,param_1,sVar17,uVar10)" identifier (argument_list "(0,param_1,sVar17,uVar10)" ( number_literal , identifier , identifier , identifier ))) ;) (expression_statement "free(DAT_0003fb80);" (call_expression "free(DAT_0003fb80)" identifier (argument_list "(DAT_0003fb80)" ( identifier ))) ;) (expression_statement "DAT_0003fb80 = (size_t *)0x0;" (assignment_expression "DAT_0003fb80 = (size_t *)0x0" identifier = (cast_expression "(size_t *)0x0" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "DAT_0003fb84 = 0;" (assignment_expression "DAT_0003fb84 = 0" identifier = number_literal) ;) }) (else_clause "else {\n        iVar9 = bfd_get_reloc_upper_bound(param_1,sVar17,sVar17,sVar17);\n        psVar20 = param_1;\n        sVar18 = sVar17;\n        if (0 < iVar9) {\n          psVar20 = (size_t *)xmalloc(iVar9);\n          sVar18 = bfd_canonicalize_reloc(param_1,sVar17,psVar20,DAT_0003fb9c);\n          free(psVar20);\n          if (sVar18 == 0) goto LAB_0001a478;\n          local_60 = (size_t *)0x0;\n          goto LAB_0001a75c;\n        }\nLAB_0001a478:\n        pvVar44 = (void *)0x24;\n        psVar46 = psVar20;\n        local_60 = (size_t *)xcalloc(uVar35 / 0xc,0x24,psVar20,psVar20);\n        local_90 = (void *)0x0;\n        local_98 = 0;\n        local_8c = 0;\n        local_94 = 0;\n        local_6c = 0;\n        local_84 = (int *)0x0;\n        local_80 = (size_t *)0x0;\n        psVar25 = psVar38;\n        psVar34 = psVar38;\n        local_74 = uVar35;\n        local_64 = local_60;\n        while (0xb < local_74) {\n          iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25);\n          uVar26 = iVar9 + 3U & 0xfffffffc;\n          *local_64 = uVar26;\n          iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25 + 1);\n          uVar39 = iVar9 + 3U & 0xfffffffc;\n          sVar18 = param_1[1];\n          local_64[1] = uVar39;\n          sVar23 = (**(code **)(sVar18 + 0x28))(psVar25 + 2);\n          local_64[2] = sVar23;\n          if (1 < sVar23 - 0x100) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: wrong note type",5,\n                              extraout_ECX_01);\n            goto LAB_0001a72d;\n          }\n          iVar9 = uVar26 + uVar39;\n          if (local_74 < iVar9 + 0xcU) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: note too big",5,psVar25);\n            goto LAB_0001a72d;\n          }\n          if (uVar26 < 2) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name too small",5,iVar9);\n            goto LAB_0001a72d;\n          }\n          local_64[3] = (size_t)(psVar25 + 3);\n          sVar2 = (int)psVar25 + uVar26 + 0xc;\n          local_64[4] = sVar2;\n          psVar34 = (size_t *)(-0xc - iVar9);\n          local_74 = local_74 + (int)psVar34;\n          cVar8 = (char)psVar25[3];\n          if (cVar8 == '$') {\n            if ((*(char *)((int)psVar25 + 0xd) == '\x01') && (*(char *)((int)psVar25 + 0xe) == '1'))\n            {\n              local_80 = (size_t *)((int)local_80 + 1);\n            }\n          }\n          else if ((((4 < uVar26) && (cVar8 == 'G')) && (*(char *)((int)psVar25 + 0xd) == 'A')) &&\n                  ((*(char *)((int)psVar25 + 0xe) == '$' &&\n                   (*(char *)((int)psVar25 + 0xf) == '\x01')))) {\n            cVar8 = (char)psVar25[4];\n            if (cVar8 == '2') {\n              local_84 = (int *)((int)local_84 + 1);\n            }\n            else {\n              if (cVar8 != '3') {\n                iVar9 = dcgettext(0,"corrupt GNU build attribute note: unsupported version",5,cVar8)\n                ;\n                goto LAB_0001a72d;\n              }\n              local_6c = local_6c + 1;\n            }\n          }\n          if (uVar39 == 4) {\n            sVar18 = (**(code **)(param_1[1] + 0x28))(sVar2);\n            pvVar24 = (void *)0xffffffff;\n          }\n          else if (uVar39 < 5) {\n            if (uVar39 != 0) {\nLAB_0001a7ea:\n              iVar9 = dcgettext(0,"corrupt GNU build attribute note: bad description size",5,cVar8);\n              goto LAB_0001a72d;\n            }\n            pvVar24 = (void *)0x0;\n            sVar18 = 0;\n          }\n          else {\n            psVar34 = param_1;\n            if (uVar39 == 8) {\n              sVar18 = param_1[1];\n              if ((*(int *)(sVar18 + 4) == 5) && (*(char *)(param_1[0x27] + 4) == '\x02')) {\n                sVar18 = (**(code **)(sVar18 + 0x1c))(sVar2);\n                pvVar24 = (void *)0xffffffff;\n              }\n              else {\n                sVar18 = (**(code **)(sVar18 + 0x28))(sVar2);\n                pvVar24 = (void *)(**(code **)(param_1[1] + 0x28))(sVar2 + 4);\n              }\n            }\n            else {\n              if (uVar39 != 0x10) goto LAB_0001a7ea;\n              sVar18 = (**(code **)(param_1[1] + 0x1c))(sVar2);\n              pvVar24 = (void *)(**(code **)(param_1[1] + 0x1c))(sVar2 + 8);\n            }\n          }\n          if (sVar23 == 0x100) {\n            if (sVar18 == 0) {\n              sVar18 = local_8c;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = local_90;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_90 = pvVar24;\n            local_8c = sVar18;\n          }\n          else {\n            if (sVar18 == 0) {\n              sVar18 = local_94;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = (void *)local_98;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_98 = (size_t)pvVar24;\n            local_94 = sVar18;\n          }\n          if (*(char *)((local_64[3] - 1) + *local_64) != '\0') {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name not NUL terminated",5,\n                              *local_64);\n            goto LAB_0001a72d;\n          }\n          local_64 = local_64 + 9;\n          psVar25 = (size_t *)(iVar9 + 0xcU + (int)psVar25);\n        }\n        if (local_74 == 0) {\n          uVar26 = (uint)local_84 | local_6c;\n          if (local_80 == (size_t *)0x0 && uVar26 == 0) {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: no known versions detected",5,uVar26\n                             );\n            goto LAB_0001a72d;\n          }\n          if (((local_80 != (size_t *)0x0) && (uVar26 != 0)) ||\n             ((local_84 != (int *)0x0 && (local_6c != 0)))) {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: multiple different versions",5,\n                              sVar18);\n            goto LAB_0001a72d;\n          }\n          if ((local_80 == (size_t *)0x1 || local_84 == (int *)0x1) || (local_6c == 1))\n          goto LAB_0001a75c;\n          uVar26 = -(uint)(local_80 == (size_t *)0x0) & 2;\n          iVar9 = uVar26 + 1;\n          if (*(char *)(local_60[3] + iVar9) != '\x01') {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: first note not version note",5,\n                              psVar34);\n            goto LAB_0001a72d;\n          }\n          bVar40 = false;\n          iVar12 = uVar26 + 2;\n          psVar25 = local_60;\nLAB_0001a954:\n          psVar34 = psVar25;\n          psVar25 = psVar34 + 9;\n          if (psVar25 < local_64) {\n            if (psVar34[0xb] == 0x100) {\n              pvVar24 = (void *)psVar34[0xc];\n              local_7c = (size_t *)0x0;\n              psVar45 = psVar25;\n              do {\n                do {\n                  psVar6 = psVar45;\n                  psVar45 = psVar6 + -9;\n                  if (psVar45 < local_60) goto LAB_0001a954;\n                  pvVar30 = (void *)psVar6[-6];\n                  psVar7 = local_7c;\n                } while ((((local_7c == (size_t *)0x0) && (psVar6[-8] != 0)) &&\n                         (psVar7 = psVar45, psVar6[-7] == 0x101)) ||\n                        ((local_7c = psVar7,\n                         *(char *)((int)pvVar24 + iVar9) != *(char *)((int)pvVar30 + iVar9) ||\n                         (psVar6[-7] != 0x100))));\n                if (*(char *)((int)pvVar30 + iVar9) != '\x04') {\n                  psVar45 = (size_t *)*psVar45;\n                  if ((((psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)) &&\n                      ((uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0))))\n                     && ((0xfffffff0 < uVar26 || (psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0))))) {\n                    psVar34[0xb] = 0;\n                    if (uVar26 < uVar39) {\n                      psVar6[-2] = uVar39;\n                    }\n                    bVar40 = true;\n                    if (local_6c != 0) {\n                      psVar6[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0)) {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    psVar34[0x11] = 1;\n                    psVar34[0xb] = 0x101;\n                    psVar6[-1] = 1;\n                    psVar6[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }\n                uVar26 = 0;\n                for (iVar21 = 0; (int)*psVar25 - iVar12 != iVar21; iVar21 = iVar21 + 1) {\n                  uVar26 = uVar26 | (uint)*(byte *)((int)pvVar24 + iVar21 + iVar12) <<\n                                    ((char)iVar21 * '\b' & 0x1fU);\n                }\n                sVar18 = *psVar45;\n                local_5c = (int *)0x0;\n                for (uVar39 = 0; sVar18 - iVar12 != uVar39; uVar39 = uVar39 + 1) {\n                  local_5c = (int *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39] <<\n                                    ((char)uVar39 * '\b' & 0x1fU));\n                }\n                uVar28 = 0;\n                uVar26 = (int)local_5c + uVar26;\n                for (uVar27 = uVar26; uVar27 != 0; uVar27 = uVar27 >> 8) {\n                  uVar28 = uVar28 + 1;\n                }\n              } while (uVar39 <= uVar28);\n              puVar29 = (undefined1 *)((int)pvVar30 + iVar12);\n              while (puVar29 < (undefined1 *)((int)pvVar30 + sVar18)) {\n                *puVar29 = (char)uVar26;\n                if (uVar26 == 0) break;\n                uVar26 = uVar26 >> 8;\n                puVar29 = puVar29 + 1;\n              }\n              psVar34[0xb] = 0;\n              bVar40 = true;\n            }\n            goto LAB_0001a954;\n          }\n          if (!bVar40) goto LAB_0001a75c;\n          pvVar24 = (void *)xmalloc(uVar35,pvVar44,psVar20,psVar46);\n          sVar18 = 0;\n          pvVar44 = pvVar24;\n          local_80 = psVar38;\n          for (psVar20 = local_60; psVar20 < local_64; psVar20 = psVar20 + 9) {\n            sVar23 = *psVar20;\n            __n = psVar20[1] + sVar23 + 0xc;\n            sVar2 = psVar20[2];\n            pvVar30 = pvVar44;\n            if (sVar2 != 0) {\n              if (psVar20[8] == 0) {\n                memcpy(pvVar44,local_80,__n);\n                pvVar30 = (void *)((int)pvVar44 + __n);\n              }\n              else {\n                sVar5 = psVar20[6];\n                __dest = (void *)((int)pvVar44 + 0xc);\n                pvVar30 = (void *)((int)__dest + sVar23);\n                if ((sVar5 == local_74) && (psVar20[7] == sVar18)) {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar5,sVar5);\n                  (**(code **)(param_1[1] + 0x30))(0,(int)pvVar44 + 4);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                }\n                else {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar18,sVar18);\n                  cVar8 = '\b';\n                  if (*(int *)(param_1[1] + 4) == 5) {\n                    cVar8 = (*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b';\n                  }\n                  (**(code **)(param_1[1] + 0x30))(cVar8,(int)pvVar44 + 4,sVar23,sVar23);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                  sVar18 = param_1[1];\n                  psVar25 = param_1;\n                  if ((*(int *)(sVar18 + 4) == 5) &&\n                     (psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02')) {\n                    (**(code **)(sVar18 + 0x24))(sVar5,0,pvVar30,psVar25);\n                    (**(code **)(param_1[1] + 0x24))(psVar20[7],0,(void *)((int)pvVar30 + 8));\n                    pvVar30 = (void *)((int)pvVar30 + 0x10);\n                  }\n                  else {\n                    (**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25);\n                    (**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4);\n                    pvVar30 = (void *)((int)pvVar30 + 8);\n                  }\n                }\n              }\n              local_74 = psVar20[6];\n              sVar18 = psVar20[7];\n            }\n            local_80 = (size_t *)((int)local_80 + __n);\n            pvVar44 = pvVar30;\n          }\n          sVar18 = (int)pvVar44 - (int)pvVar24;\n          memcpy(psVar38,pvVar24,sVar18);\n          free(pvVar24);\n          free(local_60);\n          DAT_0003fb7c = sVar18;\n          if (uVar35 != sVar18) {\n            uVar10 = extraout_ECX_02;\n            if ((*(int *)(sVar17 + 0x3c) != 0) &&\n               (iVar9 = bfd_set_section_size(param_2,*(int *)(sVar17 + 0x3c),sVar18,extraout_EDX),\n               uVar10 = extraout_ECX_03, iVar9 != 0)) goto LAB_00018aad;\n            uVar10 = dcgettext(0,"warning: failed to set merged notes size",5,uVar10);\n            FUN_0002c160(0,param_2,sVar17,uVar10);\n          }\n        }\n        else {\n          iVar9 = dcgettext(0,"corrupt GNU build attribute notes: excess data at end",5,local_64);\nLAB_0001a72d:\n          if (iVar9 != 0) {\n            bfd_set_error(0x11);\n            FUN_0002c160(0,param_1,sVar17,iVar9);\n            DAT_0003fb88 = 1;\n          }\nLAB_0001a75c:\n          free(local_60);\n        }\n        free(DAT_0003fb80);\n        DAT_0003fb80 = (size_t *)0x0;\n        DAT_0003fb84 = 0;\n        DAT_0003fb7c = 0;\n      }" else (compound_statement "{\n        iVar9 = bfd_get_reloc_upper_bound(param_1,sVar17,sVar17,sVar17);\n        psVar20 = param_1;\n        sVar18 = sVar17;\n        if (0 < iVar9) {\n          psVar20 = (size_t *)xmalloc(iVar9);\n          sVar18 = bfd_canonicalize_reloc(param_1,sVar17,psVar20,DAT_0003fb9c);\n          free(psVar20);\n          if (sVar18 == 0) goto LAB_0001a478;\n          local_60 = (size_t *)0x0;\n          goto LAB_0001a75c;\n        }\nLAB_0001a478:\n        pvVar44 = (void *)0x24;\n        psVar46 = psVar20;\n        local_60 = (size_t *)xcalloc(uVar35 / 0xc,0x24,psVar20,psVar20);\n        local_90 = (void *)0x0;\n        local_98 = 0;\n        local_8c = 0;\n        local_94 = 0;\n        local_6c = 0;\n        local_84 = (int *)0x0;\n        local_80 = (size_t *)0x0;\n        psVar25 = psVar38;\n        psVar34 = psVar38;\n        local_74 = uVar35;\n        local_64 = local_60;\n        while (0xb < local_74) {\n          iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25);\n          uVar26 = iVar9 + 3U & 0xfffffffc;\n          *local_64 = uVar26;\n          iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25 + 1);\n          uVar39 = iVar9 + 3U & 0xfffffffc;\n          sVar18 = param_1[1];\n          local_64[1] = uVar39;\n          sVar23 = (**(code **)(sVar18 + 0x28))(psVar25 + 2);\n          local_64[2] = sVar23;\n          if (1 < sVar23 - 0x100) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: wrong note type",5,\n                              extraout_ECX_01);\n            goto LAB_0001a72d;\n          }\n          iVar9 = uVar26 + uVar39;\n          if (local_74 < iVar9 + 0xcU) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: note too big",5,psVar25);\n            goto LAB_0001a72d;\n          }\n          if (uVar26 < 2) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name too small",5,iVar9);\n            goto LAB_0001a72d;\n          }\n          local_64[3] = (size_t)(psVar25 + 3);\n          sVar2 = (int)psVar25 + uVar26 + 0xc;\n          local_64[4] = sVar2;\n          psVar34 = (size_t *)(-0xc - iVar9);\n          local_74 = local_74 + (int)psVar34;\n          cVar8 = (char)psVar25[3];\n          if (cVar8 == '$') {\n            if ((*(char *)((int)psVar25 + 0xd) == '\x01') && (*(char *)((int)psVar25 + 0xe) == '1'))\n            {\n              local_80 = (size_t *)((int)local_80 + 1);\n            }\n          }\n          else if ((((4 < uVar26) && (cVar8 == 'G')) && (*(char *)((int)psVar25 + 0xd) == 'A')) &&\n                  ((*(char *)((int)psVar25 + 0xe) == '$' &&\n                   (*(char *)((int)psVar25 + 0xf) == '\x01')))) {\n            cVar8 = (char)psVar25[4];\n            if (cVar8 == '2') {\n              local_84 = (int *)((int)local_84 + 1);\n            }\n            else {\n              if (cVar8 != '3') {\n                iVar9 = dcgettext(0,"corrupt GNU build attribute note: unsupported version",5,cVar8)\n                ;\n                goto LAB_0001a72d;\n              }\n              local_6c = local_6c + 1;\n            }\n          }\n          if (uVar39 == 4) {\n            sVar18 = (**(code **)(param_1[1] + 0x28))(sVar2);\n            pvVar24 = (void *)0xffffffff;\n          }\n          else if (uVar39 < 5) {\n            if (uVar39 != 0) {\nLAB_0001a7ea:\n              iVar9 = dcgettext(0,"corrupt GNU build attribute note: bad description size",5,cVar8);\n              goto LAB_0001a72d;\n            }\n            pvVar24 = (void *)0x0;\n            sVar18 = 0;\n          }\n          else {\n            psVar34 = param_1;\n            if (uVar39 == 8) {\n              sVar18 = param_1[1];\n              if ((*(int *)(sVar18 + 4) == 5) && (*(char *)(param_1[0x27] + 4) == '\x02')) {\n                sVar18 = (**(code **)(sVar18 + 0x1c))(sVar2);\n                pvVar24 = (void *)0xffffffff;\n              }\n              else {\n                sVar18 = (**(code **)(sVar18 + 0x28))(sVar2);\n                pvVar24 = (void *)(**(code **)(param_1[1] + 0x28))(sVar2 + 4);\n              }\n            }\n            else {\n              if (uVar39 != 0x10) goto LAB_0001a7ea;\n              sVar18 = (**(code **)(param_1[1] + 0x1c))(sVar2);\n              pvVar24 = (void *)(**(code **)(param_1[1] + 0x1c))(sVar2 + 8);\n            }\n          }\n          if (sVar23 == 0x100) {\n            if (sVar18 == 0) {\n              sVar18 = local_8c;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = local_90;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_90 = pvVar24;\n            local_8c = sVar18;\n          }\n          else {\n            if (sVar18 == 0) {\n              sVar18 = local_94;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = (void *)local_98;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_98 = (size_t)pvVar24;\n            local_94 = sVar18;\n          }\n          if (*(char *)((local_64[3] - 1) + *local_64) != '\0') {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name not NUL terminated",5,\n                              *local_64);\n            goto LAB_0001a72d;\n          }\n          local_64 = local_64 + 9;\n          psVar25 = (size_t *)(iVar9 + 0xcU + (int)psVar25);\n        }\n        if (local_74 == 0) {\n          uVar26 = (uint)local_84 | local_6c;\n          if (local_80 == (size_t *)0x0 && uVar26 == 0) {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: no known versions detected",5,uVar26\n                             );\n            goto LAB_0001a72d;\n          }\n          if (((local_80 != (size_t *)0x0) && (uVar26 != 0)) ||\n             ((local_84 != (int *)0x0 && (local_6c != 0)))) {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: multiple different versions",5,\n                              sVar18);\n            goto LAB_0001a72d;\n          }\n          if ((local_80 == (size_t *)0x1 || local_84 == (int *)0x1) || (local_6c == 1))\n          goto LAB_0001a75c;\n          uVar26 = -(uint)(local_80 == (size_t *)0x0) & 2;\n          iVar9 = uVar26 + 1;\n          if (*(char *)(local_60[3] + iVar9) != '\x01') {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: first note not version note",5,\n                              psVar34);\n            goto LAB_0001a72d;\n          }\n          bVar40 = false;\n          iVar12 = uVar26 + 2;\n          psVar25 = local_60;\nLAB_0001a954:\n          psVar34 = psVar25;\n          psVar25 = psVar34 + 9;\n          if (psVar25 < local_64) {\n            if (psVar34[0xb] == 0x100) {\n              pvVar24 = (void *)psVar34[0xc];\n              local_7c = (size_t *)0x0;\n              psVar45 = psVar25;\n              do {\n                do {\n                  psVar6 = psVar45;\n                  psVar45 = psVar6 + -9;\n                  if (psVar45 < local_60) goto LAB_0001a954;\n                  pvVar30 = (void *)psVar6[-6];\n                  psVar7 = local_7c;\n                } while ((((local_7c == (size_t *)0x0) && (psVar6[-8] != 0)) &&\n                         (psVar7 = psVar45, psVar6[-7] == 0x101)) ||\n                        ((local_7c = psVar7,\n                         *(char *)((int)pvVar24 + iVar9) != *(char *)((int)pvVar30 + iVar9) ||\n                         (psVar6[-7] != 0x100))));\n                if (*(char *)((int)pvVar30 + iVar9) != '\x04') {\n                  psVar45 = (size_t *)*psVar45;\n                  if ((((psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)) &&\n                      ((uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0))))\n                     && ((0xfffffff0 < uVar26 || (psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0))))) {\n                    psVar34[0xb] = 0;\n                    if (uVar26 < uVar39) {\n                      psVar6[-2] = uVar39;\n                    }\n                    bVar40 = true;\n                    if (local_6c != 0) {\n                      psVar6[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0)) {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    psVar34[0x11] = 1;\n                    psVar34[0xb] = 0x101;\n                    psVar6[-1] = 1;\n                    psVar6[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }\n                uVar26 = 0;\n                for (iVar21 = 0; (int)*psVar25 - iVar12 != iVar21; iVar21 = iVar21 + 1) {\n                  uVar26 = uVar26 | (uint)*(byte *)((int)pvVar24 + iVar21 + iVar12) <<\n                                    ((char)iVar21 * '\b' & 0x1fU);\n                }\n                sVar18 = *psVar45;\n                local_5c = (int *)0x0;\n                for (uVar39 = 0; sVar18 - iVar12 != uVar39; uVar39 = uVar39 + 1) {\n                  local_5c = (int *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39] <<\n                                    ((char)uVar39 * '\b' & 0x1fU));\n                }\n                uVar28 = 0;\n                uVar26 = (int)local_5c + uVar26;\n                for (uVar27 = uVar26; uVar27 != 0; uVar27 = uVar27 >> 8) {\n                  uVar28 = uVar28 + 1;\n                }\n              } while (uVar39 <= uVar28);\n              puVar29 = (undefined1 *)((int)pvVar30 + iVar12);\n              while (puVar29 < (undefined1 *)((int)pvVar30 + sVar18)) {\n                *puVar29 = (char)uVar26;\n                if (uVar26 == 0) break;\n                uVar26 = uVar26 >> 8;\n                puVar29 = puVar29 + 1;\n              }\n              psVar34[0xb] = 0;\n              bVar40 = true;\n            }\n            goto LAB_0001a954;\n          }\n          if (!bVar40) goto LAB_0001a75c;\n          pvVar24 = (void *)xmalloc(uVar35,pvVar44,psVar20,psVar46);\n          sVar18 = 0;\n          pvVar44 = pvVar24;\n          local_80 = psVar38;\n          for (psVar20 = local_60; psVar20 < local_64; psVar20 = psVar20 + 9) {\n            sVar23 = *psVar20;\n            __n = psVar20[1] + sVar23 + 0xc;\n            sVar2 = psVar20[2];\n            pvVar30 = pvVar44;\n            if (sVar2 != 0) {\n              if (psVar20[8] == 0) {\n                memcpy(pvVar44,local_80,__n);\n                pvVar30 = (void *)((int)pvVar44 + __n);\n              }\n              else {\n                sVar5 = psVar20[6];\n                __dest = (void *)((int)pvVar44 + 0xc);\n                pvVar30 = (void *)((int)__dest + sVar23);\n                if ((sVar5 == local_74) && (psVar20[7] == sVar18)) {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar5,sVar5);\n                  (**(code **)(param_1[1] + 0x30))(0,(int)pvVar44 + 4);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                }\n                else {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar18,sVar18);\n                  cVar8 = '\b';\n                  if (*(int *)(param_1[1] + 4) == 5) {\n                    cVar8 = (*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b';\n                  }\n                  (**(code **)(param_1[1] + 0x30))(cVar8,(int)pvVar44 + 4,sVar23,sVar23);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                  sVar18 = param_1[1];\n                  psVar25 = param_1;\n                  if ((*(int *)(sVar18 + 4) == 5) &&\n                     (psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02')) {\n                    (**(code **)(sVar18 + 0x24))(sVar5,0,pvVar30,psVar25);\n                    (**(code **)(param_1[1] + 0x24))(psVar20[7],0,(void *)((int)pvVar30 + 8));\n                    pvVar30 = (void *)((int)pvVar30 + 0x10);\n                  }\n                  else {\n                    (**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25);\n                    (**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4);\n                    pvVar30 = (void *)((int)pvVar30 + 8);\n                  }\n                }\n              }\n              local_74 = psVar20[6];\n              sVar18 = psVar20[7];\n            }\n            local_80 = (size_t *)((int)local_80 + __n);\n            pvVar44 = pvVar30;\n          }\n          sVar18 = (int)pvVar44 - (int)pvVar24;\n          memcpy(psVar38,pvVar24,sVar18);\n          free(pvVar24);\n          free(local_60);\n          DAT_0003fb7c = sVar18;\n          if (uVar35 != sVar18) {\n            uVar10 = extraout_ECX_02;\n            if ((*(int *)(sVar17 + 0x3c) != 0) &&\n               (iVar9 = bfd_set_section_size(param_2,*(int *)(sVar17 + 0x3c),sVar18,extraout_EDX),\n               uVar10 = extraout_ECX_03, iVar9 != 0)) goto LAB_00018aad;\n            uVar10 = dcgettext(0,"warning: failed to set merged notes size",5,uVar10);\n            FUN_0002c160(0,param_2,sVar17,uVar10);\n          }\n        }\n        else {\n          iVar9 = dcgettext(0,"corrupt GNU build attribute notes: excess data at end",5,local_64);\nLAB_0001a72d:\n          if (iVar9 != 0) {\n            bfd_set_error(0x11);\n            FUN_0002c160(0,param_1,sVar17,iVar9);\n            DAT_0003fb88 = 1;\n          }\nLAB_0001a75c:\n          free(local_60);\n        }\n        free(DAT_0003fb80);\n        DAT_0003fb80 = (size_t *)0x0;\n        DAT_0003fb84 = 0;\n        DAT_0003fb7c = 0;\n      }" { (expression_statement "iVar9 = bfd_get_reloc_upper_bound(param_1,sVar17,sVar17,sVar17);" (assignment_expression "iVar9 = bfd_get_reloc_upper_bound(param_1,sVar17,sVar17,sVar17)" identifier = (call_expression "bfd_get_reloc_upper_bound(param_1,sVar17,sVar17,sVar17)" identifier (argument_list "(param_1,sVar17,sVar17,sVar17)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "psVar20 = param_1;" (assignment_expression "psVar20 = param_1" identifier = identifier) ;) (expression_statement "sVar18 = sVar17;" (assignment_expression "sVar18 = sVar17" identifier = identifier) ;) (if_statement "if (0 < iVar9) {\n          psVar20 = (size_t *)xmalloc(iVar9);\n          sVar18 = bfd_canonicalize_reloc(param_1,sVar17,psVar20,DAT_0003fb9c);\n          free(psVar20);\n          if (sVar18 == 0) goto LAB_0001a478;\n          local_60 = (size_t *)0x0;\n          goto LAB_0001a75c;\n        }" if (parenthesized_expression "(0 < iVar9)" ( (binary_expression "0 < iVar9" number_literal < identifier) )) (compound_statement "{\n          psVar20 = (size_t *)xmalloc(iVar9);\n          sVar18 = bfd_canonicalize_reloc(param_1,sVar17,psVar20,DAT_0003fb9c);\n          free(psVar20);\n          if (sVar18 == 0) goto LAB_0001a478;\n          local_60 = (size_t *)0x0;\n          goto LAB_0001a75c;\n        }" { (expression_statement "psVar20 = (size_t *)xmalloc(iVar9);" (assignment_expression "psVar20 = (size_t *)xmalloc(iVar9)" identifier = (cast_expression "(size_t *)xmalloc(iVar9)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(iVar9)" identifier (argument_list "(iVar9)" ( identifier ))))) ;) (expression_statement "sVar18 = bfd_canonicalize_reloc(param_1,sVar17,psVar20,DAT_0003fb9c);" (assignment_expression "sVar18 = bfd_canonicalize_reloc(param_1,sVar17,psVar20,DAT_0003fb9c)" identifier = (call_expression "bfd_canonicalize_reloc(param_1,sVar17,psVar20,DAT_0003fb9c)" identifier (argument_list "(param_1,sVar17,psVar20,DAT_0003fb9c)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "free(psVar20);" (call_expression "free(psVar20)" identifier (argument_list "(psVar20)" ( identifier ))) ;) (if_statement "if (sVar18 == 0) goto LAB_0001a478;" if (parenthesized_expression "(sVar18 == 0)" ( (binary_expression "sVar18 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001a478;" goto statement_identifier ;)) (expression_statement "local_60 = (size_t *)0x0;" (assignment_expression "local_60 = (size_t *)0x0" identifier = (cast_expression "(size_t *)0x0" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_0001a75c;" goto statement_identifier ;) })) (labeled_statement "LAB_0001a478:\n        pvVar44 = (void *)0x24;" statement_identifier : (expression_statement "pvVar44 = (void *)0x24;" (assignment_expression "pvVar44 = (void *)0x24" identifier = (cast_expression "(void *)0x24" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "psVar46 = psVar20;" (assignment_expression "psVar46 = psVar20" identifier = identifier) ;) (expression_statement "local_60 = (size_t *)xcalloc(uVar35 / 0xc,0x24,psVar20,psVar20);" (assignment_expression "local_60 = (size_t *)xcalloc(uVar35 / 0xc,0x24,psVar20,psVar20)" identifier = (cast_expression "(size_t *)xcalloc(uVar35 / 0xc,0x24,psVar20,psVar20)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xcalloc(uVar35 / 0xc,0x24,psVar20,psVar20)" identifier (argument_list "(uVar35 / 0xc,0x24,psVar20,psVar20)" ( (binary_expression "uVar35 / 0xc" identifier / number_literal) , number_literal , identifier , identifier ))))) ;) (expression_statement "local_90 = (void *)0x0;" (assignment_expression "local_90 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_98 = 0;" (assignment_expression "local_98 = 0" identifier = number_literal) ;) (expression_statement "local_8c = 0;" (assignment_expression "local_8c = 0" identifier = number_literal) ;) (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" identifier = number_literal) ;) (expression_statement "local_6c = 0;" (assignment_expression "local_6c = 0" identifier = number_literal) ;) (expression_statement "local_84 = (int *)0x0;" (assignment_expression "local_84 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_80 = (size_t *)0x0;" (assignment_expression "local_80 = (size_t *)0x0" identifier = (cast_expression "(size_t *)0x0" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psVar25 = psVar38;" (assignment_expression "psVar25 = psVar38" identifier = identifier) ;) (expression_statement "psVar34 = psVar38;" (assignment_expression "psVar34 = psVar38" identifier = identifier) ;) (expression_statement "local_74 = uVar35;" (assignment_expression "local_74 = uVar35" identifier = identifier) ;) (expression_statement "local_64 = local_60;" (assignment_expression "local_64 = local_60" identifier = identifier) ;) (while_statement "while (0xb < local_74) {\n          iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25);\n          uVar26 = iVar9 + 3U & 0xfffffffc;\n          *local_64 = uVar26;\n          iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25 + 1);\n          uVar39 = iVar9 + 3U & 0xfffffffc;\n          sVar18 = param_1[1];\n          local_64[1] = uVar39;\n          sVar23 = (**(code **)(sVar18 + 0x28))(psVar25 + 2);\n          local_64[2] = sVar23;\n          if (1 < sVar23 - 0x100) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: wrong note type",5,\n                              extraout_ECX_01);\n            goto LAB_0001a72d;\n          }\n          iVar9 = uVar26 + uVar39;\n          if (local_74 < iVar9 + 0xcU) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: note too big",5,psVar25);\n            goto LAB_0001a72d;\n          }\n          if (uVar26 < 2) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name too small",5,iVar9);\n            goto LAB_0001a72d;\n          }\n          local_64[3] = (size_t)(psVar25 + 3);\n          sVar2 = (int)psVar25 + uVar26 + 0xc;\n          local_64[4] = sVar2;\n          psVar34 = (size_t *)(-0xc - iVar9);\n          local_74 = local_74 + (int)psVar34;\n          cVar8 = (char)psVar25[3];\n          if (cVar8 == '$') {\n            if ((*(char *)((int)psVar25 + 0xd) == '\x01') && (*(char *)((int)psVar25 + 0xe) == '1'))\n            {\n              local_80 = (size_t *)((int)local_80 + 1);\n            }\n          }\n          else if ((((4 < uVar26) && (cVar8 == 'G')) && (*(char *)((int)psVar25 + 0xd) == 'A')) &&\n                  ((*(char *)((int)psVar25 + 0xe) == '$' &&\n                   (*(char *)((int)psVar25 + 0xf) == '\x01')))) {\n            cVar8 = (char)psVar25[4];\n            if (cVar8 == '2') {\n              local_84 = (int *)((int)local_84 + 1);\n            }\n            else {\n              if (cVar8 != '3') {\n                iVar9 = dcgettext(0,"corrupt GNU build attribute note: unsupported version",5,cVar8)\n                ;\n                goto LAB_0001a72d;\n              }\n              local_6c = local_6c + 1;\n            }\n          }\n          if (uVar39 == 4) {\n            sVar18 = (**(code **)(param_1[1] + 0x28))(sVar2);\n            pvVar24 = (void *)0xffffffff;\n          }\n          else if (uVar39 < 5) {\n            if (uVar39 != 0) {\nLAB_0001a7ea:\n              iVar9 = dcgettext(0,"corrupt GNU build attribute note: bad description size",5,cVar8);\n              goto LAB_0001a72d;\n            }\n            pvVar24 = (void *)0x0;\n            sVar18 = 0;\n          }\n          else {\n            psVar34 = param_1;\n            if (uVar39 == 8) {\n              sVar18 = param_1[1];\n              if ((*(int *)(sVar18 + 4) == 5) && (*(char *)(param_1[0x27] + 4) == '\x02')) {\n                sVar18 = (**(code **)(sVar18 + 0x1c))(sVar2);\n                pvVar24 = (void *)0xffffffff;\n              }\n              else {\n                sVar18 = (**(code **)(sVar18 + 0x28))(sVar2);\n                pvVar24 = (void *)(**(code **)(param_1[1] + 0x28))(sVar2 + 4);\n              }\n            }\n            else {\n              if (uVar39 != 0x10) goto LAB_0001a7ea;\n              sVar18 = (**(code **)(param_1[1] + 0x1c))(sVar2);\n              pvVar24 = (void *)(**(code **)(param_1[1] + 0x1c))(sVar2 + 8);\n            }\n          }\n          if (sVar23 == 0x100) {\n            if (sVar18 == 0) {\n              sVar18 = local_8c;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = local_90;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_90 = pvVar24;\n            local_8c = sVar18;\n          }\n          else {\n            if (sVar18 == 0) {\n              sVar18 = local_94;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = (void *)local_98;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_98 = (size_t)pvVar24;\n            local_94 = sVar18;\n          }\n          if (*(char *)((local_64[3] - 1) + *local_64) != '\0') {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name not NUL terminated",5,\n                              *local_64);\n            goto LAB_0001a72d;\n          }\n          local_64 = local_64 + 9;\n          psVar25 = (size_t *)(iVar9 + 0xcU + (int)psVar25);\n        }" while (parenthesized_expression "(0xb < local_74)" ( (binary_expression "0xb < local_74" number_literal < identifier) )) (compound_statement "{\n          iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25);\n          uVar26 = iVar9 + 3U & 0xfffffffc;\n          *local_64 = uVar26;\n          iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25 + 1);\n          uVar39 = iVar9 + 3U & 0xfffffffc;\n          sVar18 = param_1[1];\n          local_64[1] = uVar39;\n          sVar23 = (**(code **)(sVar18 + 0x28))(psVar25 + 2);\n          local_64[2] = sVar23;\n          if (1 < sVar23 - 0x100) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: wrong note type",5,\n                              extraout_ECX_01);\n            goto LAB_0001a72d;\n          }\n          iVar9 = uVar26 + uVar39;\n          if (local_74 < iVar9 + 0xcU) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: note too big",5,psVar25);\n            goto LAB_0001a72d;\n          }\n          if (uVar26 < 2) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name too small",5,iVar9);\n            goto LAB_0001a72d;\n          }\n          local_64[3] = (size_t)(psVar25 + 3);\n          sVar2 = (int)psVar25 + uVar26 + 0xc;\n          local_64[4] = sVar2;\n          psVar34 = (size_t *)(-0xc - iVar9);\n          local_74 = local_74 + (int)psVar34;\n          cVar8 = (char)psVar25[3];\n          if (cVar8 == '$') {\n            if ((*(char *)((int)psVar25 + 0xd) == '\x01') && (*(char *)((int)psVar25 + 0xe) == '1'))\n            {\n              local_80 = (size_t *)((int)local_80 + 1);\n            }\n          }\n          else if ((((4 < uVar26) && (cVar8 == 'G')) && (*(char *)((int)psVar25 + 0xd) == 'A')) &&\n                  ((*(char *)((int)psVar25 + 0xe) == '$' &&\n                   (*(char *)((int)psVar25 + 0xf) == '\x01')))) {\n            cVar8 = (char)psVar25[4];\n            if (cVar8 == '2') {\n              local_84 = (int *)((int)local_84 + 1);\n            }\n            else {\n              if (cVar8 != '3') {\n                iVar9 = dcgettext(0,"corrupt GNU build attribute note: unsupported version",5,cVar8)\n                ;\n                goto LAB_0001a72d;\n              }\n              local_6c = local_6c + 1;\n            }\n          }\n          if (uVar39 == 4) {\n            sVar18 = (**(code **)(param_1[1] + 0x28))(sVar2);\n            pvVar24 = (void *)0xffffffff;\n          }\n          else if (uVar39 < 5) {\n            if (uVar39 != 0) {\nLAB_0001a7ea:\n              iVar9 = dcgettext(0,"corrupt GNU build attribute note: bad description size",5,cVar8);\n              goto LAB_0001a72d;\n            }\n            pvVar24 = (void *)0x0;\n            sVar18 = 0;\n          }\n          else {\n            psVar34 = param_1;\n            if (uVar39 == 8) {\n              sVar18 = param_1[1];\n              if ((*(int *)(sVar18 + 4) == 5) && (*(char *)(param_1[0x27] + 4) == '\x02')) {\n                sVar18 = (**(code **)(sVar18 + 0x1c))(sVar2);\n                pvVar24 = (void *)0xffffffff;\n              }\n              else {\n                sVar18 = (**(code **)(sVar18 + 0x28))(sVar2);\n                pvVar24 = (void *)(**(code **)(param_1[1] + 0x28))(sVar2 + 4);\n              }\n            }\n            else {\n              if (uVar39 != 0x10) goto LAB_0001a7ea;\n              sVar18 = (**(code **)(param_1[1] + 0x1c))(sVar2);\n              pvVar24 = (void *)(**(code **)(param_1[1] + 0x1c))(sVar2 + 8);\n            }\n          }\n          if (sVar23 == 0x100) {\n            if (sVar18 == 0) {\n              sVar18 = local_8c;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = local_90;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_90 = pvVar24;\n            local_8c = sVar18;\n          }\n          else {\n            if (sVar18 == 0) {\n              sVar18 = local_94;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = (void *)local_98;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_98 = (size_t)pvVar24;\n            local_94 = sVar18;\n          }\n          if (*(char *)((local_64[3] - 1) + *local_64) != '\0') {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name not NUL terminated",5,\n                              *local_64);\n            goto LAB_0001a72d;\n          }\n          local_64 = local_64 + 9;\n          psVar25 = (size_t *)(iVar9 + 0xcU + (int)psVar25);\n        }" { (expression_statement "iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25);" (assignment_expression "iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25)" identifier = (call_expression "(**(code **)(param_1[1] + 0x28))(psVar25)" (parenthesized_expression "(**(code **)(param_1[1] + 0x28))" ( (pointer_expression "**(code **)(param_1[1] + 0x28)" * (pointer_expression "*(code **)(param_1[1] + 0x28)" * (cast_expression "(code **)(param_1[1] + 0x28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1[1] + 0x28)" ( (binary_expression "param_1[1] + 0x28" (subscript_expression "param_1[1]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(psVar25)" ( identifier )))) ;) (expression_statement "uVar26 = iVar9 + 3U & 0xfffffffc;" (assignment_expression "uVar26 = iVar9 + 3U & 0xfffffffc" identifier = (binary_expression "iVar9 + 3U & 0xfffffffc" (binary_expression "iVar9 + 3U" identifier + number_literal) & number_literal)) ;) (expression_statement "*local_64 = uVar26;" (assignment_expression "*local_64 = uVar26" (pointer_expression "*local_64" * identifier) = identifier) ;) (expression_statement "iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25 + 1);" (assignment_expression "iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25 + 1)" identifier = (call_expression "(**(code **)(param_1[1] + 0x28))(psVar25 + 1)" (parenthesized_expression "(**(code **)(param_1[1] + 0x28))" ( (pointer_expression "**(code **)(param_1[1] + 0x28)" * (pointer_expression "*(code **)(param_1[1] + 0x28)" * (cast_expression "(code **)(param_1[1] + 0x28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1[1] + 0x28)" ( (binary_expression "param_1[1] + 0x28" (subscript_expression "param_1[1]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(psVar25 + 1)" ( (binary_expression "psVar25 + 1" identifier + number_literal) )))) ;) (expression_statement "uVar39 = iVar9 + 3U & 0xfffffffc;" (assignment_expression "uVar39 = iVar9 + 3U & 0xfffffffc" identifier = (binary_expression "iVar9 + 3U & 0xfffffffc" (binary_expression "iVar9 + 3U" identifier + number_literal) & number_literal)) ;) (expression_statement "sVar18 = param_1[1];" (assignment_expression "sVar18 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (expression_statement "local_64[1] = uVar39;" (assignment_expression "local_64[1] = uVar39" (subscript_expression "local_64[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "sVar23 = (**(code **)(sVar18 + 0x28))(psVar25 + 2);" (assignment_expression "sVar23 = (**(code **)(sVar18 + 0x28))(psVar25 + 2)" identifier = (call_expression "(**(code **)(sVar18 + 0x28))(psVar25 + 2)" (parenthesized_expression "(**(code **)(sVar18 + 0x28))" ( (pointer_expression "**(code **)(sVar18 + 0x28)" * (pointer_expression "*(code **)(sVar18 + 0x28)" * (cast_expression "(code **)(sVar18 + 0x28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(sVar18 + 0x28)" ( (binary_expression "sVar18 + 0x28" identifier + number_literal) ))))) )) (argument_list "(psVar25 + 2)" ( (binary_expression "psVar25 + 2" identifier + number_literal) )))) ;) (expression_statement "local_64[2] = sVar23;" (assignment_expression "local_64[2] = sVar23" (subscript_expression "local_64[2]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (1 < sVar23 - 0x100) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: wrong note type",5,\n                              extraout_ECX_01);\n            goto LAB_0001a72d;\n          }" if (parenthesized_expression "(1 < sVar23 - 0x100)" ( (binary_expression "1 < sVar23 - 0x100" number_literal < (binary_expression "sVar23 - 0x100" identifier - number_literal)) )) (compound_statement "{\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: wrong note type",5,\n                              extraout_ECX_01);\n            goto LAB_0001a72d;\n          }" { (expression_statement "iVar9 = dcgettext(0,"corrupt GNU build attribute note: wrong note type",5,\n                              extraout_ECX_01);" (assignment_expression "iVar9 = dcgettext(0,"corrupt GNU build attribute note: wrong note type",5,\n                              extraout_ECX_01)" identifier = (call_expression "dcgettext(0,"corrupt GNU build attribute note: wrong note type",5,\n                              extraout_ECX_01)" identifier (argument_list "(0,"corrupt GNU build attribute note: wrong note type",5,\n                              extraout_ECX_01)" ( number_literal , (string_literal ""corrupt GNU build attribute note: wrong note type"" " string_content ") , number_literal , identifier )))) ;) (goto_statement "goto LAB_0001a72d;" goto statement_identifier ;) })) (expression_statement "iVar9 = uVar26 + uVar39;" (assignment_expression "iVar9 = uVar26 + uVar39" identifier = (binary_expression "uVar26 + uVar39" identifier + identifier)) ;) (if_statement "if (local_74 < iVar9 + 0xcU) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: note too big",5,psVar25);\n            goto LAB_0001a72d;\n          }" if (parenthesized_expression "(local_74 < iVar9 + 0xcU)" ( (binary_expression "local_74 < iVar9 + 0xcU" identifier < (binary_expression "iVar9 + 0xcU" identifier + number_literal)) )) (compound_statement "{\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: note too big",5,psVar25);\n            goto LAB_0001a72d;\n          }" { (expression_statement "iVar9 = dcgettext(0,"corrupt GNU build attribute note: note too big",5,psVar25);" (assignment_expression "iVar9 = dcgettext(0,"corrupt GNU build attribute note: note too big",5,psVar25)" identifier = (call_expression "dcgettext(0,"corrupt GNU build attribute note: note too big",5,psVar25)" identifier (argument_list "(0,"corrupt GNU build attribute note: note too big",5,psVar25)" ( number_literal , (string_literal ""corrupt GNU build attribute note: note too big"" " string_content ") , number_literal , identifier )))) ;) (goto_statement "goto LAB_0001a72d;" goto statement_identifier ;) })) (if_statement "if (uVar26 < 2) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name too small",5,iVar9);\n            goto LAB_0001a72d;\n          }" if (parenthesized_expression "(uVar26 < 2)" ( (binary_expression "uVar26 < 2" identifier < number_literal) )) (compound_statement "{\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name too small",5,iVar9);\n            goto LAB_0001a72d;\n          }" { (expression_statement "iVar9 = dcgettext(0,"corrupt GNU build attribute note: name too small",5,iVar9);" (assignment_expression "iVar9 = dcgettext(0,"corrupt GNU build attribute note: name too small",5,iVar9)" identifier = (call_expression "dcgettext(0,"corrupt GNU build attribute note: name too small",5,iVar9)" identifier (argument_list "(0,"corrupt GNU build attribute note: name too small",5,iVar9)" ( number_literal , (string_literal ""corrupt GNU build attribute note: name too small"" " string_content ") , number_literal , identifier )))) ;) (goto_statement "goto LAB_0001a72d;" goto statement_identifier ;) })) (expression_statement "local_64[3] = (size_t)(psVar25 + 3);" (assignment_expression "local_64[3] = (size_t)(psVar25 + 3)" (subscript_expression "local_64[3]" identifier [ number_literal ]) = (cast_expression "(size_t)(psVar25 + 3)" ( (type_descriptor "size_t" primitive_type) ) (parenthesized_expression "(psVar25 + 3)" ( (binary_expression "psVar25 + 3" identifier + number_literal) )))) ;) (expression_statement "sVar2 = (int)psVar25 + uVar26 + 0xc;" (assignment_expression "sVar2 = (int)psVar25 + uVar26 + 0xc" identifier = (binary_expression "(int)psVar25 + uVar26 + 0xc" (binary_expression "(int)psVar25 + uVar26" (cast_expression "(int)psVar25" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal)) ;) (expression_statement "local_64[4] = sVar2;" (assignment_expression "local_64[4] = sVar2" (subscript_expression "local_64[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "psVar34 = (size_t *)(-0xc - iVar9);" (assignment_expression "psVar34 = (size_t *)(-0xc - iVar9)" identifier = (cast_expression "(size_t *)(-0xc - iVar9)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(-0xc - iVar9)" ( (binary_expression "-0xc - iVar9" number_literal - identifier) )))) ;) (expression_statement "local_74 = local_74 + (int)psVar34;" (assignment_expression "local_74 = local_74 + (int)psVar34" identifier = (binary_expression "local_74 + (int)psVar34" identifier + (cast_expression "(int)psVar34" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "cVar8 = (char)psVar25[3];" (assignment_expression "cVar8 = (char)psVar25[3]" identifier = (cast_expression "(char)psVar25[3]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "psVar25[3]" identifier [ number_literal ]))) ;) (if_statement "if (cVar8 == '$') {\n            if ((*(char *)((int)psVar25 + 0xd) == '\x01') && (*(char *)((int)psVar25 + 0xe) == '1'))\n            {\n              local_80 = (size_t *)((int)local_80 + 1);\n            }\n          }\n          else if ((((4 < uVar26) && (cVar8 == 'G')) && (*(char *)((int)psVar25 + 0xd) == 'A')) &&\n                  ((*(char *)((int)psVar25 + 0xe) == '$' &&\n                   (*(char *)((int)psVar25 + 0xf) == '\x01')))) {\n            cVar8 = (char)psVar25[4];\n            if (cVar8 == '2') {\n              local_84 = (int *)((int)local_84 + 1);\n            }\n            else {\n              if (cVar8 != '3') {\n                iVar9 = dcgettext(0,"corrupt GNU build attribute note: unsupported version",5,cVar8)\n                ;\n                goto LAB_0001a72d;\n              }\n              local_6c = local_6c + 1;\n            }\n          }" if (parenthesized_expression "(cVar8 == '$')" ( (binary_expression "cVar8 == '$'" identifier == (char_literal "'$'" ' character ')) )) (compound_statement "{\n            if ((*(char *)((int)psVar25 + 0xd) == '\x01') && (*(char *)((int)psVar25 + 0xe) == '1'))\n            {\n              local_80 = (size_t *)((int)local_80 + 1);\n            }\n          }" { (if_statement "if ((*(char *)((int)psVar25 + 0xd) == '\x01') && (*(char *)((int)psVar25 + 0xe) == '1'))\n            {\n              local_80 = (size_t *)((int)local_80 + 1);\n            }" if (parenthesized_expression "((*(char *)((int)psVar25 + 0xd) == '\x01') && (*(char *)((int)psVar25 + 0xe) == '1'))" ( (binary_expression "(*(char *)((int)psVar25 + 0xd) == '\x01') && (*(char *)((int)psVar25 + 0xe) == '1')" (parenthesized_expression "(*(char *)((int)psVar25 + 0xd) == '\x01')" ( (binary_expression "*(char *)((int)psVar25 + 0xd) == '\x01'" (pointer_expression "*(char *)((int)psVar25 + 0xd)" * (cast_expression "(char *)((int)psVar25 + 0xd)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psVar25 + 0xd)" ( (binary_expression "(int)psVar25 + 0xd" (cast_expression "(int)psVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'\x01'" ' escape_sequence ')) )) && (parenthesized_expression "(*(char *)((int)psVar25 + 0xe) == '1')" ( (binary_expression "*(char *)((int)psVar25 + 0xe) == '1'" (pointer_expression "*(char *)((int)psVar25 + 0xe)" * (cast_expression "(char *)((int)psVar25 + 0xe)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psVar25 + 0xe)" ( (binary_expression "(int)psVar25 + 0xe" (cast_expression "(int)psVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'1'" ' character ')) ))) )) (compound_statement "{\n              local_80 = (size_t *)((int)local_80 + 1);\n            }" { (expression_statement "local_80 = (size_t *)((int)local_80 + 1);" (assignment_expression "local_80 = (size_t *)((int)local_80 + 1)" identifier = (cast_expression "(size_t *)((int)local_80 + 1)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_80 + 1)" ( (binary_expression "(int)local_80 + 1" (cast_expression "(int)local_80" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) })) }) (else_clause "else if ((((4 < uVar26) && (cVar8 == 'G')) && (*(char *)((int)psVar25 + 0xd) == 'A')) &&\n                  ((*(char *)((int)psVar25 + 0xe) == '$' &&\n                   (*(char *)((int)psVar25 + 0xf) == '\x01')))) {\n            cVar8 = (char)psVar25[4];\n            if (cVar8 == '2') {\n              local_84 = (int *)((int)local_84 + 1);\n            }\n            else {\n              if (cVar8 != '3') {\n                iVar9 = dcgettext(0,"corrupt GNU build attribute note: unsupported version",5,cVar8)\n                ;\n                goto LAB_0001a72d;\n              }\n              local_6c = local_6c + 1;\n            }\n          }" else (if_statement "if ((((4 < uVar26) && (cVar8 == 'G')) && (*(char *)((int)psVar25 + 0xd) == 'A')) &&\n                  ((*(char *)((int)psVar25 + 0xe) == '$' &&\n                   (*(char *)((int)psVar25 + 0xf) == '\x01')))) {\n            cVar8 = (char)psVar25[4];\n            if (cVar8 == '2') {\n              local_84 = (int *)((int)local_84 + 1);\n            }\n            else {\n              if (cVar8 != '3') {\n                iVar9 = dcgettext(0,"corrupt GNU build attribute note: unsupported version",5,cVar8)\n                ;\n                goto LAB_0001a72d;\n              }\n              local_6c = local_6c + 1;\n            }\n          }" if (parenthesized_expression "((((4 < uVar26) && (cVar8 == 'G')) && (*(char *)((int)psVar25 + 0xd) == 'A')) &&\n                  ((*(char *)((int)psVar25 + 0xe) == '$' &&\n                   (*(char *)((int)psVar25 + 0xf) == '\x01'))))" ( (binary_expression "(((4 < uVar26) && (cVar8 == 'G')) && (*(char *)((int)psVar25 + 0xd) == 'A')) &&\n                  ((*(char *)((int)psVar25 + 0xe) == '$' &&\n                   (*(char *)((int)psVar25 + 0xf) == '\x01')))" (parenthesized_expression "(((4 < uVar26) && (cVar8 == 'G')) && (*(char *)((int)psVar25 + 0xd) == 'A'))" ( (binary_expression "((4 < uVar26) && (cVar8 == 'G')) && (*(char *)((int)psVar25 + 0xd) == 'A')" (parenthesized_expression "((4 < uVar26) && (cVar8 == 'G'))" ( (binary_expression "(4 < uVar26) && (cVar8 == 'G')" (parenthesized_expression "(4 < uVar26)" ( (binary_expression "4 < uVar26" number_literal < identifier) )) && (parenthesized_expression "(cVar8 == 'G')" ( (binary_expression "cVar8 == 'G'" identifier == (char_literal "'G'" ' character ')) ))) )) && (parenthesized_expression "(*(char *)((int)psVar25 + 0xd) == 'A')" ( (binary_expression "*(char *)((int)psVar25 + 0xd) == 'A'" (pointer_expression "*(char *)((int)psVar25 + 0xd)" * (cast_expression "(char *)((int)psVar25 + 0xd)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psVar25 + 0xd)" ( (binary_expression "(int)psVar25 + 0xd" (cast_expression "(int)psVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'A'" ' character ')) ))) )) && (parenthesized_expression "((*(char *)((int)psVar25 + 0xe) == '$' &&\n                   (*(char *)((int)psVar25 + 0xf) == '\x01')))" ( (parenthesized_expression "(*(char *)((int)psVar25 + 0xe) == '$' &&\n                   (*(char *)((int)psVar25 + 0xf) == '\x01'))" ( (binary_expression "*(char *)((int)psVar25 + 0xe) == '$' &&\n                   (*(char *)((int)psVar25 + 0xf) == '\x01')" (binary_expression "*(char *)((int)psVar25 + 0xe) == '$'" (pointer_expression "*(char *)((int)psVar25 + 0xe)" * (cast_expression "(char *)((int)psVar25 + 0xe)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psVar25 + 0xe)" ( (binary_expression "(int)psVar25 + 0xe" (cast_expression "(int)psVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'$'" ' character ')) && (parenthesized_expression "(*(char *)((int)psVar25 + 0xf) == '\x01')" ( (binary_expression "*(char *)((int)psVar25 + 0xf) == '\x01'" (pointer_expression "*(char *)((int)psVar25 + 0xf)" * (cast_expression "(char *)((int)psVar25 + 0xf)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psVar25 + 0xf)" ( (binary_expression "(int)psVar25 + 0xf" (cast_expression "(int)psVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'\x01'" ' escape_sequence ')) ))) )) ))) )) (compound_statement "{\n            cVar8 = (char)psVar25[4];\n            if (cVar8 == '2') {\n              local_84 = (int *)((int)local_84 + 1);\n            }\n            else {\n              if (cVar8 != '3') {\n                iVar9 = dcgettext(0,"corrupt GNU build attribute note: unsupported version",5,cVar8)\n                ;\n                goto LAB_0001a72d;\n              }\n              local_6c = local_6c + 1;\n            }\n          }" { (expression_statement "cVar8 = (char)psVar25[4];" (assignment_expression "cVar8 = (char)psVar25[4]" identifier = (cast_expression "(char)psVar25[4]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "psVar25[4]" identifier [ number_literal ]))) ;) (if_statement "if (cVar8 == '2') {\n              local_84 = (int *)((int)local_84 + 1);\n            }\n            else {\n              if (cVar8 != '3') {\n                iVar9 = dcgettext(0,"corrupt GNU build attribute note: unsupported version",5,cVar8)\n                ;\n                goto LAB_0001a72d;\n              }\n              local_6c = local_6c + 1;\n            }" if (parenthesized_expression "(cVar8 == '2')" ( (binary_expression "cVar8 == '2'" identifier == (char_literal "'2'" ' character ')) )) (compound_statement "{\n              local_84 = (int *)((int)local_84 + 1);\n            }" { (expression_statement "local_84 = (int *)((int)local_84 + 1);" (assignment_expression "local_84 = (int *)((int)local_84 + 1)" identifier = (cast_expression "(int *)((int)local_84 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_84 + 1)" ( (binary_expression "(int)local_84 + 1" (cast_expression "(int)local_84" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) (else_clause "else {\n              if (cVar8 != '3') {\n                iVar9 = dcgettext(0,"corrupt GNU build attribute note: unsupported version",5,cVar8)\n                ;\n                goto LAB_0001a72d;\n              }\n              local_6c = local_6c + 1;\n            }" else (compound_statement "{\n              if (cVar8 != '3') {\n                iVar9 = dcgettext(0,"corrupt GNU build attribute note: unsupported version",5,cVar8)\n                ;\n                goto LAB_0001a72d;\n              }\n              local_6c = local_6c + 1;\n            }" { (if_statement "if (cVar8 != '3') {\n                iVar9 = dcgettext(0,"corrupt GNU build attribute note: unsupported version",5,cVar8)\n                ;\n                goto LAB_0001a72d;\n              }" if (parenthesized_expression "(cVar8 != '3')" ( (binary_expression "cVar8 != '3'" identifier != (char_literal "'3'" ' character ')) )) (compound_statement "{\n                iVar9 = dcgettext(0,"corrupt GNU build attribute note: unsupported version",5,cVar8)\n                ;\n                goto LAB_0001a72d;\n              }" { (expression_statement "iVar9 = dcgettext(0,"corrupt GNU build attribute note: unsupported version",5,cVar8)\n                ;" (assignment_expression "iVar9 = dcgettext(0,"corrupt GNU build attribute note: unsupported version",5,cVar8)" identifier = (call_expression "dcgettext(0,"corrupt GNU build attribute note: unsupported version",5,cVar8)" identifier (argument_list "(0,"corrupt GNU build attribute note: unsupported version",5,cVar8)" ( number_literal , (string_literal ""corrupt GNU build attribute note: unsupported version"" " string_content ") , number_literal , identifier )))) ;) (goto_statement "goto LAB_0001a72d;" goto statement_identifier ;) })) (expression_statement "local_6c = local_6c + 1;" (assignment_expression "local_6c = local_6c + 1" identifier = (binary_expression "local_6c + 1" identifier + number_literal)) ;) }))) })))) (if_statement "if (uVar39 == 4) {\n            sVar18 = (**(code **)(param_1[1] + 0x28))(sVar2);\n            pvVar24 = (void *)0xffffffff;\n          }\n          else if (uVar39 < 5) {\n            if (uVar39 != 0) {\nLAB_0001a7ea:\n              iVar9 = dcgettext(0,"corrupt GNU build attribute note: bad description size",5,cVar8);\n              goto LAB_0001a72d;\n            }\n            pvVar24 = (void *)0x0;\n            sVar18 = 0;\n          }\n          else {\n            psVar34 = param_1;\n            if (uVar39 == 8) {\n              sVar18 = param_1[1];\n              if ((*(int *)(sVar18 + 4) == 5) && (*(char *)(param_1[0x27] + 4) == '\x02')) {\n                sVar18 = (**(code **)(sVar18 + 0x1c))(sVar2);\n                pvVar24 = (void *)0xffffffff;\n              }\n              else {\n                sVar18 = (**(code **)(sVar18 + 0x28))(sVar2);\n                pvVar24 = (void *)(**(code **)(param_1[1] + 0x28))(sVar2 + 4);\n              }\n            }\n            else {\n              if (uVar39 != 0x10) goto LAB_0001a7ea;\n              sVar18 = (**(code **)(param_1[1] + 0x1c))(sVar2);\n              pvVar24 = (void *)(**(code **)(param_1[1] + 0x1c))(sVar2 + 8);\n            }\n          }" if (parenthesized_expression "(uVar39 == 4)" ( (binary_expression "uVar39 == 4" identifier == number_literal) )) (compound_statement "{\n            sVar18 = (**(code **)(param_1[1] + 0x28))(sVar2);\n            pvVar24 = (void *)0xffffffff;\n          }" { (expression_statement "sVar18 = (**(code **)(param_1[1] + 0x28))(sVar2);" (assignment_expression "sVar18 = (**(code **)(param_1[1] + 0x28))(sVar2)" identifier = (call_expression "(**(code **)(param_1[1] + 0x28))(sVar2)" (parenthesized_expression "(**(code **)(param_1[1] + 0x28))" ( (pointer_expression "**(code **)(param_1[1] + 0x28)" * (pointer_expression "*(code **)(param_1[1] + 0x28)" * (cast_expression "(code **)(param_1[1] + 0x28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1[1] + 0x28)" ( (binary_expression "param_1[1] + 0x28" (subscript_expression "param_1[1]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(sVar2)" ( identifier )))) ;) (expression_statement "pvVar24 = (void *)0xffffffff;" (assignment_expression "pvVar24 = (void *)0xffffffff" identifier = (cast_expression "(void *)0xffffffff" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else if (uVar39 < 5) {\n            if (uVar39 != 0) {\nLAB_0001a7ea:\n              iVar9 = dcgettext(0,"corrupt GNU build attribute note: bad description size",5,cVar8);\n              goto LAB_0001a72d;\n            }\n            pvVar24 = (void *)0x0;\n            sVar18 = 0;\n          }\n          else {\n            psVar34 = param_1;\n            if (uVar39 == 8) {\n              sVar18 = param_1[1];\n              if ((*(int *)(sVar18 + 4) == 5) && (*(char *)(param_1[0x27] + 4) == '\x02')) {\n                sVar18 = (**(code **)(sVar18 + 0x1c))(sVar2);\n                pvVar24 = (void *)0xffffffff;\n              }\n              else {\n                sVar18 = (**(code **)(sVar18 + 0x28))(sVar2);\n                pvVar24 = (void *)(**(code **)(param_1[1] + 0x28))(sVar2 + 4);\n              }\n            }\n            else {\n              if (uVar39 != 0x10) goto LAB_0001a7ea;\n              sVar18 = (**(code **)(param_1[1] + 0x1c))(sVar2);\n              pvVar24 = (void *)(**(code **)(param_1[1] + 0x1c))(sVar2 + 8);\n            }\n          }" else (if_statement "if (uVar39 < 5) {\n            if (uVar39 != 0) {\nLAB_0001a7ea:\n              iVar9 = dcgettext(0,"corrupt GNU build attribute note: bad description size",5,cVar8);\n              goto LAB_0001a72d;\n            }\n            pvVar24 = (void *)0x0;\n            sVar18 = 0;\n          }\n          else {\n            psVar34 = param_1;\n            if (uVar39 == 8) {\n              sVar18 = param_1[1];\n              if ((*(int *)(sVar18 + 4) == 5) && (*(char *)(param_1[0x27] + 4) == '\x02')) {\n                sVar18 = (**(code **)(sVar18 + 0x1c))(sVar2);\n                pvVar24 = (void *)0xffffffff;\n              }\n              else {\n                sVar18 = (**(code **)(sVar18 + 0x28))(sVar2);\n                pvVar24 = (void *)(**(code **)(param_1[1] + 0x28))(sVar2 + 4);\n              }\n            }\n            else {\n              if (uVar39 != 0x10) goto LAB_0001a7ea;\n              sVar18 = (**(code **)(param_1[1] + 0x1c))(sVar2);\n              pvVar24 = (void *)(**(code **)(param_1[1] + 0x1c))(sVar2 + 8);\n            }\n          }" if (parenthesized_expression "(uVar39 < 5)" ( (binary_expression "uVar39 < 5" identifier < number_literal) )) (compound_statement "{\n            if (uVar39 != 0) {\nLAB_0001a7ea:\n              iVar9 = dcgettext(0,"corrupt GNU build attribute note: bad description size",5,cVar8);\n              goto LAB_0001a72d;\n            }\n            pvVar24 = (void *)0x0;\n            sVar18 = 0;\n          }" { (if_statement "if (uVar39 != 0) {\nLAB_0001a7ea:\n              iVar9 = dcgettext(0,"corrupt GNU build attribute note: bad description size",5,cVar8);\n              goto LAB_0001a72d;\n            }" if (parenthesized_expression "(uVar39 != 0)" ( (binary_expression "uVar39 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_0001a7ea:\n              iVar9 = dcgettext(0,"corrupt GNU build attribute note: bad description size",5,cVar8);\n              goto LAB_0001a72d;\n            }" { (labeled_statement "LAB_0001a7ea:\n              iVar9 = dcgettext(0,"corrupt GNU build attribute note: bad description size",5,cVar8);" statement_identifier : (expression_statement "iVar9 = dcgettext(0,"corrupt GNU build attribute note: bad description size",5,cVar8);" (assignment_expression "iVar9 = dcgettext(0,"corrupt GNU build attribute note: bad description size",5,cVar8)" identifier = (call_expression "dcgettext(0,"corrupt GNU build attribute note: bad description size",5,cVar8)" identifier (argument_list "(0,"corrupt GNU build attribute note: bad description size",5,cVar8)" ( number_literal , (string_literal ""corrupt GNU build attribute note: bad description size"" " string_content ") , number_literal , identifier )))) ;)) (goto_statement "goto LAB_0001a72d;" goto statement_identifier ;) })) (expression_statement "pvVar24 = (void *)0x0;" (assignment_expression "pvVar24 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "sVar18 = 0;" (assignment_expression "sVar18 = 0" identifier = number_literal) ;) }) (else_clause "else {\n            psVar34 = param_1;\n            if (uVar39 == 8) {\n              sVar18 = param_1[1];\n              if ((*(int *)(sVar18 + 4) == 5) && (*(char *)(param_1[0x27] + 4) == '\x02')) {\n                sVar18 = (**(code **)(sVar18 + 0x1c))(sVar2);\n                pvVar24 = (void *)0xffffffff;\n              }\n              else {\n                sVar18 = (**(code **)(sVar18 + 0x28))(sVar2);\n                pvVar24 = (void *)(**(code **)(param_1[1] + 0x28))(sVar2 + 4);\n              }\n            }\n            else {\n              if (uVar39 != 0x10) goto LAB_0001a7ea;\n              sVar18 = (**(code **)(param_1[1] + 0x1c))(sVar2);\n              pvVar24 = (void *)(**(code **)(param_1[1] + 0x1c))(sVar2 + 8);\n            }\n          }" else (compound_statement "{\n            psVar34 = param_1;\n            if (uVar39 == 8) {\n              sVar18 = param_1[1];\n              if ((*(int *)(sVar18 + 4) == 5) && (*(char *)(param_1[0x27] + 4) == '\x02')) {\n                sVar18 = (**(code **)(sVar18 + 0x1c))(sVar2);\n                pvVar24 = (void *)0xffffffff;\n              }\n              else {\n                sVar18 = (**(code **)(sVar18 + 0x28))(sVar2);\n                pvVar24 = (void *)(**(code **)(param_1[1] + 0x28))(sVar2 + 4);\n              }\n            }\n            else {\n              if (uVar39 != 0x10) goto LAB_0001a7ea;\n              sVar18 = (**(code **)(param_1[1] + 0x1c))(sVar2);\n              pvVar24 = (void *)(**(code **)(param_1[1] + 0x1c))(sVar2 + 8);\n            }\n          }" { (expression_statement "psVar34 = param_1;" (assignment_expression "psVar34 = param_1" identifier = identifier) ;) (if_statement "if (uVar39 == 8) {\n              sVar18 = param_1[1];\n              if ((*(int *)(sVar18 + 4) == 5) && (*(char *)(param_1[0x27] + 4) == '\x02')) {\n                sVar18 = (**(code **)(sVar18 + 0x1c))(sVar2);\n                pvVar24 = (void *)0xffffffff;\n              }\n              else {\n                sVar18 = (**(code **)(sVar18 + 0x28))(sVar2);\n                pvVar24 = (void *)(**(code **)(param_1[1] + 0x28))(sVar2 + 4);\n              }\n            }\n            else {\n              if (uVar39 != 0x10) goto LAB_0001a7ea;\n              sVar18 = (**(code **)(param_1[1] + 0x1c))(sVar2);\n              pvVar24 = (void *)(**(code **)(param_1[1] + 0x1c))(sVar2 + 8);\n            }" if (parenthesized_expression "(uVar39 == 8)" ( (binary_expression "uVar39 == 8" identifier == number_literal) )) (compound_statement "{\n              sVar18 = param_1[1];\n              if ((*(int *)(sVar18 + 4) == 5) && (*(char *)(param_1[0x27] + 4) == '\x02')) {\n                sVar18 = (**(code **)(sVar18 + 0x1c))(sVar2);\n                pvVar24 = (void *)0xffffffff;\n              }\n              else {\n                sVar18 = (**(code **)(sVar18 + 0x28))(sVar2);\n                pvVar24 = (void *)(**(code **)(param_1[1] + 0x28))(sVar2 + 4);\n              }\n            }" { (expression_statement "sVar18 = param_1[1];" (assignment_expression "sVar18 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (if_statement "if ((*(int *)(sVar18 + 4) == 5) && (*(char *)(param_1[0x27] + 4) == '\x02')) {\n                sVar18 = (**(code **)(sVar18 + 0x1c))(sVar2);\n                pvVar24 = (void *)0xffffffff;\n              }\n              else {\n                sVar18 = (**(code **)(sVar18 + 0x28))(sVar2);\n                pvVar24 = (void *)(**(code **)(param_1[1] + 0x28))(sVar2 + 4);\n              }" if (parenthesized_expression "((*(int *)(sVar18 + 4) == 5) && (*(char *)(param_1[0x27] + 4) == '\x02'))" ( (binary_expression "(*(int *)(sVar18 + 4) == 5) && (*(char *)(param_1[0x27] + 4) == '\x02')" (parenthesized_expression "(*(int *)(sVar18 + 4) == 5)" ( (binary_expression "*(int *)(sVar18 + 4) == 5" (pointer_expression "*(int *)(sVar18 + 4)" * (cast_expression "(int *)(sVar18 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar18 + 4)" ( (binary_expression "sVar18 + 4" identifier + number_literal) )))) == number_literal) )) && (parenthesized_expression "(*(char *)(param_1[0x27] + 4) == '\x02')" ( (binary_expression "*(char *)(param_1[0x27] + 4) == '\x02'" (pointer_expression "*(char *)(param_1[0x27] + 4)" * (cast_expression "(char *)(param_1[0x27] + 4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x27] + 4)" ( (binary_expression "param_1[0x27] + 4" (subscript_expression "param_1[0x27]" identifier [ number_literal ]) + number_literal) )))) == (char_literal "'\x02'" ' escape_sequence ')) ))) )) (compound_statement "{\n                sVar18 = (**(code **)(sVar18 + 0x1c))(sVar2);\n                pvVar24 = (void *)0xffffffff;\n              }" { (expression_statement "sVar18 = (**(code **)(sVar18 + 0x1c))(sVar2);" (assignment_expression "sVar18 = (**(code **)(sVar18 + 0x1c))(sVar2)" identifier = (call_expression "(**(code **)(sVar18 + 0x1c))(sVar2)" (parenthesized_expression "(**(code **)(sVar18 + 0x1c))" ( (pointer_expression "**(code **)(sVar18 + 0x1c)" * (pointer_expression "*(code **)(sVar18 + 0x1c)" * (cast_expression "(code **)(sVar18 + 0x1c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(sVar18 + 0x1c)" ( (binary_expression "sVar18 + 0x1c" identifier + number_literal) ))))) )) (argument_list "(sVar2)" ( identifier )))) ;) (expression_statement "pvVar24 = (void *)0xffffffff;" (assignment_expression "pvVar24 = (void *)0xffffffff" identifier = (cast_expression "(void *)0xffffffff" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n                sVar18 = (**(code **)(sVar18 + 0x28))(sVar2);\n                pvVar24 = (void *)(**(code **)(param_1[1] + 0x28))(sVar2 + 4);\n              }" else (compound_statement "{\n                sVar18 = (**(code **)(sVar18 + 0x28))(sVar2);\n                pvVar24 = (void *)(**(code **)(param_1[1] + 0x28))(sVar2 + 4);\n              }" { (expression_statement "sVar18 = (**(code **)(sVar18 + 0x28))(sVar2);" (assignment_expression "sVar18 = (**(code **)(sVar18 + 0x28))(sVar2)" identifier = (call_expression "(**(code **)(sVar18 + 0x28))(sVar2)" (parenthesized_expression "(**(code **)(sVar18 + 0x28))" ( (pointer_expression "**(code **)(sVar18 + 0x28)" * (pointer_expression "*(code **)(sVar18 + 0x28)" * (cast_expression "(code **)(sVar18 + 0x28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(sVar18 + 0x28)" ( (binary_expression "sVar18 + 0x28" identifier + number_literal) ))))) )) (argument_list "(sVar2)" ( identifier )))) ;) (expression_statement "pvVar24 = (void *)(**(code **)(param_1[1] + 0x28))(sVar2 + 4);" (assignment_expression "pvVar24 = (void *)(**(code **)(param_1[1] + 0x28))(sVar2 + 4)" identifier = (cast_expression "(void *)(**(code **)(param_1[1] + 0x28))(sVar2 + 4)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(param_1[1] + 0x28))(sVar2 + 4)" (parenthesized_expression "(**(code **)(param_1[1] + 0x28))" ( (pointer_expression "**(code **)(param_1[1] + 0x28)" * (pointer_expression "*(code **)(param_1[1] + 0x28)" * (cast_expression "(code **)(param_1[1] + 0x28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1[1] + 0x28)" ( (binary_expression "param_1[1] + 0x28" (subscript_expression "param_1[1]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(sVar2 + 4)" ( (binary_expression "sVar2 + 4" identifier + number_literal) ))))) ;) }))) }) (else_clause "else {\n              if (uVar39 != 0x10) goto LAB_0001a7ea;\n              sVar18 = (**(code **)(param_1[1] + 0x1c))(sVar2);\n              pvVar24 = (void *)(**(code **)(param_1[1] + 0x1c))(sVar2 + 8);\n            }" else (compound_statement "{\n              if (uVar39 != 0x10) goto LAB_0001a7ea;\n              sVar18 = (**(code **)(param_1[1] + 0x1c))(sVar2);\n              pvVar24 = (void *)(**(code **)(param_1[1] + 0x1c))(sVar2 + 8);\n            }" { (if_statement "if (uVar39 != 0x10) goto LAB_0001a7ea;" if (parenthesized_expression "(uVar39 != 0x10)" ( (binary_expression "uVar39 != 0x10" identifier != number_literal) )) (goto_statement "goto LAB_0001a7ea;" goto statement_identifier ;)) (expression_statement "sVar18 = (**(code **)(param_1[1] + 0x1c))(sVar2);" (assignment_expression "sVar18 = (**(code **)(param_1[1] + 0x1c))(sVar2)" identifier = (call_expression "(**(code **)(param_1[1] + 0x1c))(sVar2)" (parenthesized_expression "(**(code **)(param_1[1] + 0x1c))" ( (pointer_expression "**(code **)(param_1[1] + 0x1c)" * (pointer_expression "*(code **)(param_1[1] + 0x1c)" * (cast_expression "(code **)(param_1[1] + 0x1c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1[1] + 0x1c)" ( (binary_expression "param_1[1] + 0x1c" (subscript_expression "param_1[1]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(sVar2)" ( identifier )))) ;) (expression_statement "pvVar24 = (void *)(**(code **)(param_1[1] + 0x1c))(sVar2 + 8);" (assignment_expression "pvVar24 = (void *)(**(code **)(param_1[1] + 0x1c))(sVar2 + 8)" identifier = (cast_expression "(void *)(**(code **)(param_1[1] + 0x1c))(sVar2 + 8)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(param_1[1] + 0x1c))(sVar2 + 8)" (parenthesized_expression "(**(code **)(param_1[1] + 0x1c))" ( (pointer_expression "**(code **)(param_1[1] + 0x1c)" * (pointer_expression "*(code **)(param_1[1] + 0x1c)" * (cast_expression "(code **)(param_1[1] + 0x1c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1[1] + 0x1c)" ( (binary_expression "param_1[1] + 0x1c" (subscript_expression "param_1[1]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(sVar2 + 8)" ( (binary_expression "sVar2 + 8" identifier + number_literal) ))))) ;) }))) }))))) (if_statement "if (sVar23 == 0x100) {\n            if (sVar18 == 0) {\n              sVar18 = local_8c;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = local_90;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_90 = pvVar24;\n            local_8c = sVar18;\n          }\n          else {\n            if (sVar18 == 0) {\n              sVar18 = local_94;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = (void *)local_98;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_98 = (size_t)pvVar24;\n            local_94 = sVar18;\n          }" if (parenthesized_expression "(sVar23 == 0x100)" ( (binary_expression "sVar23 == 0x100" identifier == number_literal) )) (compound_statement "{\n            if (sVar18 == 0) {\n              sVar18 = local_8c;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = local_90;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_90 = pvVar24;\n            local_8c = sVar18;\n          }" { (if_statement "if (sVar18 == 0) {\n              sVar18 = local_8c;\n            }" if (parenthesized_expression "(sVar18 == 0)" ( (binary_expression "sVar18 == 0" identifier == number_literal) )) (compound_statement "{\n              sVar18 = local_8c;\n            }" { (expression_statement "sVar18 = local_8c;" (assignment_expression "sVar18 = local_8c" identifier = identifier) ;) })) (if_statement "if (pvVar24 == (void *)0x0) {\n              pvVar24 = local_90;\n            }" if (parenthesized_expression "(pvVar24 == (void *)0x0)" ( (binary_expression "pvVar24 == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              pvVar24 = local_90;\n            }" { (expression_statement "pvVar24 = local_90;" (assignment_expression "pvVar24 = local_90" identifier = identifier) ;) })) (expression_statement "local_64[6] = sVar18;" (assignment_expression "local_64[6] = sVar18" (subscript_expression "local_64[6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_64[7] = (size_t)pvVar24;" (assignment_expression "local_64[7] = (size_t)pvVar24" (subscript_expression "local_64[7]" identifier [ number_literal ]) = (cast_expression "(size_t)pvVar24" ( (type_descriptor "size_t" primitive_type) ) identifier)) ;) (expression_statement "local_90 = pvVar24;" (assignment_expression "local_90 = pvVar24" identifier = identifier) ;) (expression_statement "local_8c = sVar18;" (assignment_expression "local_8c = sVar18" identifier = identifier) ;) }) (else_clause "else {\n            if (sVar18 == 0) {\n              sVar18 = local_94;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = (void *)local_98;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_98 = (size_t)pvVar24;\n            local_94 = sVar18;\n          }" else (compound_statement "{\n            if (sVar18 == 0) {\n              sVar18 = local_94;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = (void *)local_98;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_98 = (size_t)pvVar24;\n            local_94 = sVar18;\n          }" { (if_statement "if (sVar18 == 0) {\n              sVar18 = local_94;\n            }" if (parenthesized_expression "(sVar18 == 0)" ( (binary_expression "sVar18 == 0" identifier == number_literal) )) (compound_statement "{\n              sVar18 = local_94;\n            }" { (expression_statement "sVar18 = local_94;" (assignment_expression "sVar18 = local_94" identifier = identifier) ;) })) (if_statement "if (pvVar24 == (void *)0x0) {\n              pvVar24 = (void *)local_98;\n            }" if (parenthesized_expression "(pvVar24 == (void *)0x0)" ( (binary_expression "pvVar24 == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              pvVar24 = (void *)local_98;\n            }" { (expression_statement "pvVar24 = (void *)local_98;" (assignment_expression "pvVar24 = (void *)local_98" identifier = (cast_expression "(void *)local_98" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) })) (expression_statement "local_64[6] = sVar18;" (assignment_expression "local_64[6] = sVar18" (subscript_expression "local_64[6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_64[7] = (size_t)pvVar24;" (assignment_expression "local_64[7] = (size_t)pvVar24" (subscript_expression "local_64[7]" identifier [ number_literal ]) = (cast_expression "(size_t)pvVar24" ( (type_descriptor "size_t" primitive_type) ) identifier)) ;) (expression_statement "local_98 = (size_t)pvVar24;" (assignment_expression "local_98 = (size_t)pvVar24" identifier = (cast_expression "(size_t)pvVar24" ( (type_descriptor "size_t" primitive_type) ) identifier)) ;) (expression_statement "local_94 = sVar18;" (assignment_expression "local_94 = sVar18" identifier = identifier) ;) }))) (if_statement "if (*(char *)((local_64[3] - 1) + *local_64) != '\0') {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name not NUL terminated",5,\n                              *local_64);\n            goto LAB_0001a72d;\n          }" if (parenthesized_expression "(*(char *)((local_64[3] - 1) + *local_64) != '\0')" ( (binary_expression "*(char *)((local_64[3] - 1) + *local_64) != '\0'" (pointer_expression "*(char *)((local_64[3] - 1) + *local_64)" * (cast_expression "(char *)((local_64[3] - 1) + *local_64)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((local_64[3] - 1) + *local_64)" ( (binary_expression "(local_64[3] - 1) + *local_64" (parenthesized_expression "(local_64[3] - 1)" ( (binary_expression "local_64[3] - 1" (subscript_expression "local_64[3]" identifier [ number_literal ]) - number_literal) )) + (pointer_expression "*local_64" * identifier)) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name not NUL terminated",5,\n                              *local_64);\n            goto LAB_0001a72d;\n          }" { (expression_statement "iVar9 = dcgettext(0,"corrupt GNU build attribute note: name not NUL terminated",5,\n                              *local_64);" (assignment_expression "iVar9 = dcgettext(0,"corrupt GNU build attribute note: name not NUL terminated",5,\n                              *local_64)" identifier = (call_expression "dcgettext(0,"corrupt GNU build attribute note: name not NUL terminated",5,\n                              *local_64)" identifier (argument_list "(0,"corrupt GNU build attribute note: name not NUL terminated",5,\n                              *local_64)" ( number_literal , (string_literal ""corrupt GNU build attribute note: name not NUL terminated"" " string_content ") , number_literal , (pointer_expression "*local_64" * identifier) )))) ;) (goto_statement "goto LAB_0001a72d;" goto statement_identifier ;) })) (expression_statement "local_64 = local_64 + 9;" (assignment_expression "local_64 = local_64 + 9" identifier = (binary_expression "local_64 + 9" identifier + number_literal)) ;) (expression_statement "psVar25 = (size_t *)(iVar9 + 0xcU + (int)psVar25);" (assignment_expression "psVar25 = (size_t *)(iVar9 + 0xcU + (int)psVar25)" identifier = (cast_expression "(size_t *)(iVar9 + 0xcU + (int)psVar25)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xcU + (int)psVar25)" ( (binary_expression "iVar9 + 0xcU + (int)psVar25" (binary_expression "iVar9 + 0xcU" identifier + number_literal) + (cast_expression "(int)psVar25" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) })) (if_statement "if (local_74 == 0) {\n          uVar26 = (uint)local_84 | local_6c;\n          if (local_80 == (size_t *)0x0 && uVar26 == 0) {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: no known versions detected",5,uVar26\n                             );\n            goto LAB_0001a72d;\n          }\n          if (((local_80 != (size_t *)0x0) && (uVar26 != 0)) ||\n             ((local_84 != (int *)0x0 && (local_6c != 0)))) {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: multiple different versions",5,\n                              sVar18);\n            goto LAB_0001a72d;\n          }\n          if ((local_80 == (size_t *)0x1 || local_84 == (int *)0x1) || (local_6c == 1))\n          goto LAB_0001a75c;\n          uVar26 = -(uint)(local_80 == (size_t *)0x0) & 2;\n          iVar9 = uVar26 + 1;\n          if (*(char *)(local_60[3] + iVar9) != '\x01') {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: first note not version note",5,\n                              psVar34);\n            goto LAB_0001a72d;\n          }\n          bVar40 = false;\n          iVar12 = uVar26 + 2;\n          psVar25 = local_60;\nLAB_0001a954:\n          psVar34 = psVar25;\n          psVar25 = psVar34 + 9;\n          if (psVar25 < local_64) {\n            if (psVar34[0xb] == 0x100) {\n              pvVar24 = (void *)psVar34[0xc];\n              local_7c = (size_t *)0x0;\n              psVar45 = psVar25;\n              do {\n                do {\n                  psVar6 = psVar45;\n                  psVar45 = psVar6 + -9;\n                  if (psVar45 < local_60) goto LAB_0001a954;\n                  pvVar30 = (void *)psVar6[-6];\n                  psVar7 = local_7c;\n                } while ((((local_7c == (size_t *)0x0) && (psVar6[-8] != 0)) &&\n                         (psVar7 = psVar45, psVar6[-7] == 0x101)) ||\n                        ((local_7c = psVar7,\n                         *(char *)((int)pvVar24 + iVar9) != *(char *)((int)pvVar30 + iVar9) ||\n                         (psVar6[-7] != 0x100))));\n                if (*(char *)((int)pvVar30 + iVar9) != '\x04') {\n                  psVar45 = (size_t *)*psVar45;\n                  if ((((psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)) &&\n                      ((uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0))))\n                     && ((0xfffffff0 < uVar26 || (psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0))))) {\n                    psVar34[0xb] = 0;\n                    if (uVar26 < uVar39) {\n                      psVar6[-2] = uVar39;\n                    }\n                    bVar40 = true;\n                    if (local_6c != 0) {\n                      psVar6[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0)) {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    psVar34[0x11] = 1;\n                    psVar34[0xb] = 0x101;\n                    psVar6[-1] = 1;\n                    psVar6[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }\n                uVar26 = 0;\n                for (iVar21 = 0; (int)*psVar25 - iVar12 != iVar21; iVar21 = iVar21 + 1) {\n                  uVar26 = uVar26 | (uint)*(byte *)((int)pvVar24 + iVar21 + iVar12) <<\n                                    ((char)iVar21 * '\b' & 0x1fU);\n                }\n                sVar18 = *psVar45;\n                local_5c = (int *)0x0;\n                for (uVar39 = 0; sVar18 - iVar12 != uVar39; uVar39 = uVar39 + 1) {\n                  local_5c = (int *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39] <<\n                                    ((char)uVar39 * '\b' & 0x1fU));\n                }\n                uVar28 = 0;\n                uVar26 = (int)local_5c + uVar26;\n                for (uVar27 = uVar26; uVar27 != 0; uVar27 = uVar27 >> 8) {\n                  uVar28 = uVar28 + 1;\n                }\n              } while (uVar39 <= uVar28);\n              puVar29 = (undefined1 *)((int)pvVar30 + iVar12);\n              while (puVar29 < (undefined1 *)((int)pvVar30 + sVar18)) {\n                *puVar29 = (char)uVar26;\n                if (uVar26 == 0) break;\n                uVar26 = uVar26 >> 8;\n                puVar29 = puVar29 + 1;\n              }\n              psVar34[0xb] = 0;\n              bVar40 = true;\n            }\n            goto LAB_0001a954;\n          }\n          if (!bVar40) goto LAB_0001a75c;\n          pvVar24 = (void *)xmalloc(uVar35,pvVar44,psVar20,psVar46);\n          sVar18 = 0;\n          pvVar44 = pvVar24;\n          local_80 = psVar38;\n          for (psVar20 = local_60; psVar20 < local_64; psVar20 = psVar20 + 9) {\n            sVar23 = *psVar20;\n            __n = psVar20[1] + sVar23 + 0xc;\n            sVar2 = psVar20[2];\n            pvVar30 = pvVar44;\n            if (sVar2 != 0) {\n              if (psVar20[8] == 0) {\n                memcpy(pvVar44,local_80,__n);\n                pvVar30 = (void *)((int)pvVar44 + __n);\n              }\n              else {\n                sVar5 = psVar20[6];\n                __dest = (void *)((int)pvVar44 + 0xc);\n                pvVar30 = (void *)((int)__dest + sVar23);\n                if ((sVar5 == local_74) && (psVar20[7] == sVar18)) {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar5,sVar5);\n                  (**(code **)(param_1[1] + 0x30))(0,(int)pvVar44 + 4);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                }\n                else {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar18,sVar18);\n                  cVar8 = '\b';\n                  if (*(int *)(param_1[1] + 4) == 5) {\n                    cVar8 = (*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b';\n                  }\n                  (**(code **)(param_1[1] + 0x30))(cVar8,(int)pvVar44 + 4,sVar23,sVar23);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                  sVar18 = param_1[1];\n                  psVar25 = param_1;\n                  if ((*(int *)(sVar18 + 4) == 5) &&\n                     (psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02')) {\n                    (**(code **)(sVar18 + 0x24))(sVar5,0,pvVar30,psVar25);\n                    (**(code **)(param_1[1] + 0x24))(psVar20[7],0,(void *)((int)pvVar30 + 8));\n                    pvVar30 = (void *)((int)pvVar30 + 0x10);\n                  }\n                  else {\n                    (**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25);\n                    (**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4);\n                    pvVar30 = (void *)((int)pvVar30 + 8);\n                  }\n                }\n              }\n              local_74 = psVar20[6];\n              sVar18 = psVar20[7];\n            }\n            local_80 = (size_t *)((int)local_80 + __n);\n            pvVar44 = pvVar30;\n          }\n          sVar18 = (int)pvVar44 - (int)pvVar24;\n          memcpy(psVar38,pvVar24,sVar18);\n          free(pvVar24);\n          free(local_60);\n          DAT_0003fb7c = sVar18;\n          if (uVar35 != sVar18) {\n            uVar10 = extraout_ECX_02;\n            if ((*(int *)(sVar17 + 0x3c) != 0) &&\n               (iVar9 = bfd_set_section_size(param_2,*(int *)(sVar17 + 0x3c),sVar18,extraout_EDX),\n               uVar10 = extraout_ECX_03, iVar9 != 0)) goto LAB_00018aad;\n            uVar10 = dcgettext(0,"warning: failed to set merged notes size",5,uVar10);\n            FUN_0002c160(0,param_2,sVar17,uVar10);\n          }\n        }\n        else {\n          iVar9 = dcgettext(0,"corrupt GNU build attribute notes: excess data at end",5,local_64);\nLAB_0001a72d:\n          if (iVar9 != 0) {\n            bfd_set_error(0x11);\n            FUN_0002c160(0,param_1,sVar17,iVar9);\n            DAT_0003fb88 = 1;\n          }\nLAB_0001a75c:\n          free(local_60);\n        }" if (parenthesized_expression "(local_74 == 0)" ( (binary_expression "local_74 == 0" identifier == number_literal) )) (compound_statement "{\n          uVar26 = (uint)local_84 | local_6c;\n          if (local_80 == (size_t *)0x0 && uVar26 == 0) {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: no known versions detected",5,uVar26\n                             );\n            goto LAB_0001a72d;\n          }\n          if (((local_80 != (size_t *)0x0) && (uVar26 != 0)) ||\n             ((local_84 != (int *)0x0 && (local_6c != 0)))) {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: multiple different versions",5,\n                              sVar18);\n            goto LAB_0001a72d;\n          }\n          if ((local_80 == (size_t *)0x1 || local_84 == (int *)0x1) || (local_6c == 1))\n          goto LAB_0001a75c;\n          uVar26 = -(uint)(local_80 == (size_t *)0x0) & 2;\n          iVar9 = uVar26 + 1;\n          if (*(char *)(local_60[3] + iVar9) != '\x01') {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: first note not version note",5,\n                              psVar34);\n            goto LAB_0001a72d;\n          }\n          bVar40 = false;\n          iVar12 = uVar26 + 2;\n          psVar25 = local_60;\nLAB_0001a954:\n          psVar34 = psVar25;\n          psVar25 = psVar34 + 9;\n          if (psVar25 < local_64) {\n            if (psVar34[0xb] == 0x100) {\n              pvVar24 = (void *)psVar34[0xc];\n              local_7c = (size_t *)0x0;\n              psVar45 = psVar25;\n              do {\n                do {\n                  psVar6 = psVar45;\n                  psVar45 = psVar6 + -9;\n                  if (psVar45 < local_60) goto LAB_0001a954;\n                  pvVar30 = (void *)psVar6[-6];\n                  psVar7 = local_7c;\n                } while ((((local_7c == (size_t *)0x0) && (psVar6[-8] != 0)) &&\n                         (psVar7 = psVar45, psVar6[-7] == 0x101)) ||\n                        ((local_7c = psVar7,\n                         *(char *)((int)pvVar24 + iVar9) != *(char *)((int)pvVar30 + iVar9) ||\n                         (psVar6[-7] != 0x100))));\n                if (*(char *)((int)pvVar30 + iVar9) != '\x04') {\n                  psVar45 = (size_t *)*psVar45;\n                  if ((((psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)) &&\n                      ((uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0))))\n                     && ((0xfffffff0 < uVar26 || (psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0))))) {\n                    psVar34[0xb] = 0;\n                    if (uVar26 < uVar39) {\n                      psVar6[-2] = uVar39;\n                    }\n                    bVar40 = true;\n                    if (local_6c != 0) {\n                      psVar6[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0)) {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    psVar34[0x11] = 1;\n                    psVar34[0xb] = 0x101;\n                    psVar6[-1] = 1;\n                    psVar6[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }\n                uVar26 = 0;\n                for (iVar21 = 0; (int)*psVar25 - iVar12 != iVar21; iVar21 = iVar21 + 1) {\n                  uVar26 = uVar26 | (uint)*(byte *)((int)pvVar24 + iVar21 + iVar12) <<\n                                    ((char)iVar21 * '\b' & 0x1fU);\n                }\n                sVar18 = *psVar45;\n                local_5c = (int *)0x0;\n                for (uVar39 = 0; sVar18 - iVar12 != uVar39; uVar39 = uVar39 + 1) {\n                  local_5c = (int *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39] <<\n                                    ((char)uVar39 * '\b' & 0x1fU));\n                }\n                uVar28 = 0;\n                uVar26 = (int)local_5c + uVar26;\n                for (uVar27 = uVar26; uVar27 != 0; uVar27 = uVar27 >> 8) {\n                  uVar28 = uVar28 + 1;\n                }\n              } while (uVar39 <= uVar28);\n              puVar29 = (undefined1 *)((int)pvVar30 + iVar12);\n              while (puVar29 < (undefined1 *)((int)pvVar30 + sVar18)) {\n                *puVar29 = (char)uVar26;\n                if (uVar26 == 0) break;\n                uVar26 = uVar26 >> 8;\n                puVar29 = puVar29 + 1;\n              }\n              psVar34[0xb] = 0;\n              bVar40 = true;\n            }\n            goto LAB_0001a954;\n          }\n          if (!bVar40) goto LAB_0001a75c;\n          pvVar24 = (void *)xmalloc(uVar35,pvVar44,psVar20,psVar46);\n          sVar18 = 0;\n          pvVar44 = pvVar24;\n          local_80 = psVar38;\n          for (psVar20 = local_60; psVar20 < local_64; psVar20 = psVar20 + 9) {\n            sVar23 = *psVar20;\n            __n = psVar20[1] + sVar23 + 0xc;\n            sVar2 = psVar20[2];\n            pvVar30 = pvVar44;\n            if (sVar2 != 0) {\n              if (psVar20[8] == 0) {\n                memcpy(pvVar44,local_80,__n);\n                pvVar30 = (void *)((int)pvVar44 + __n);\n              }\n              else {\n                sVar5 = psVar20[6];\n                __dest = (void *)((int)pvVar44 + 0xc);\n                pvVar30 = (void *)((int)__dest + sVar23);\n                if ((sVar5 == local_74) && (psVar20[7] == sVar18)) {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar5,sVar5);\n                  (**(code **)(param_1[1] + 0x30))(0,(int)pvVar44 + 4);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                }\n                else {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar18,sVar18);\n                  cVar8 = '\b';\n                  if (*(int *)(param_1[1] + 4) == 5) {\n                    cVar8 = (*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b';\n                  }\n                  (**(code **)(param_1[1] + 0x30))(cVar8,(int)pvVar44 + 4,sVar23,sVar23);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                  sVar18 = param_1[1];\n                  psVar25 = param_1;\n                  if ((*(int *)(sVar18 + 4) == 5) &&\n                     (psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02')) {\n                    (**(code **)(sVar18 + 0x24))(sVar5,0,pvVar30,psVar25);\n                    (**(code **)(param_1[1] + 0x24))(psVar20[7],0,(void *)((int)pvVar30 + 8));\n                    pvVar30 = (void *)((int)pvVar30 + 0x10);\n                  }\n                  else {\n                    (**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25);\n                    (**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4);\n                    pvVar30 = (void *)((int)pvVar30 + 8);\n                  }\n                }\n              }\n              local_74 = psVar20[6];\n              sVar18 = psVar20[7];\n            }\n            local_80 = (size_t *)((int)local_80 + __n);\n            pvVar44 = pvVar30;\n          }\n          sVar18 = (int)pvVar44 - (int)pvVar24;\n          memcpy(psVar38,pvVar24,sVar18);\n          free(pvVar24);\n          free(local_60);\n          DAT_0003fb7c = sVar18;\n          if (uVar35 != sVar18) {\n            uVar10 = extraout_ECX_02;\n            if ((*(int *)(sVar17 + 0x3c) != 0) &&\n               (iVar9 = bfd_set_section_size(param_2,*(int *)(sVar17 + 0x3c),sVar18,extraout_EDX),\n               uVar10 = extraout_ECX_03, iVar9 != 0)) goto LAB_00018aad;\n            uVar10 = dcgettext(0,"warning: failed to set merged notes size",5,uVar10);\n            FUN_0002c160(0,param_2,sVar17,uVar10);\n          }\n        }" { (expression_statement "uVar26 = (uint)local_84 | local_6c;" (assignment_expression "uVar26 = (uint)local_84 | local_6c" identifier = (binary_expression "(uint)local_84 | local_6c" (cast_expression "(uint)local_84" ( (type_descriptor "uint" type_identifier) ) identifier) | identifier)) ;) (if_statement "if (local_80 == (size_t *)0x0 && uVar26 == 0) {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: no known versions detected",5,uVar26\n                             );\n            goto LAB_0001a72d;\n          }" if (parenthesized_expression "(local_80 == (size_t *)0x0 && uVar26 == 0)" ( (binary_expression "local_80 == (size_t *)0x0 && uVar26 == 0" (binary_expression "local_80 == (size_t *)0x0" identifier == (cast_expression "(size_t *)0x0" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) && (binary_expression "uVar26 == 0" identifier == number_literal)) )) (compound_statement "{\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: no known versions detected",5,uVar26\n                             );\n            goto LAB_0001a72d;\n          }" { (expression_statement "iVar9 = dcgettext(0,"bad GNU build attribute notes: no known versions detected",5,uVar26\n                             );" (assignment_expression "iVar9 = dcgettext(0,"bad GNU build attribute notes: no known versions detected",5,uVar26\n                             )" identifier = (call_expression "dcgettext(0,"bad GNU build attribute notes: no known versions detected",5,uVar26\n                             )" identifier (argument_list "(0,"bad GNU build attribute notes: no known versions detected",5,uVar26\n                             )" ( number_literal , (string_literal ""bad GNU build attribute notes: no known versions detected"" " string_content ") , number_literal , identifier )))) ;) (goto_statement "goto LAB_0001a72d;" goto statement_identifier ;) })) (if_statement "if (((local_80 != (size_t *)0x0) && (uVar26 != 0)) ||\n             ((local_84 != (int *)0x0 && (local_6c != 0)))) {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: multiple different versions",5,\n                              sVar18);\n            goto LAB_0001a72d;\n          }" if (parenthesized_expression "(((local_80 != (size_t *)0x0) && (uVar26 != 0)) ||\n             ((local_84 != (int *)0x0 && (local_6c != 0))))" ( (binary_expression "((local_80 != (size_t *)0x0) && (uVar26 != 0)) ||\n             ((local_84 != (int *)0x0 && (local_6c != 0)))" (parenthesized_expression "((local_80 != (size_t *)0x0) && (uVar26 != 0))" ( (binary_expression "(local_80 != (size_t *)0x0) && (uVar26 != 0)" (parenthesized_expression "(local_80 != (size_t *)0x0)" ( (binary_expression "local_80 != (size_t *)0x0" identifier != (cast_expression "(size_t *)0x0" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(uVar26 != 0)" ( (binary_expression "uVar26 != 0" identifier != number_literal) ))) )) || (parenthesized_expression "((local_84 != (int *)0x0 && (local_6c != 0)))" ( (parenthesized_expression "(local_84 != (int *)0x0 && (local_6c != 0))" ( (binary_expression "local_84 != (int *)0x0 && (local_6c != 0)" (binary_expression "local_84 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) && (parenthesized_expression "(local_6c != 0)" ( (binary_expression "local_6c != 0" identifier != number_literal) ))) )) ))) )) (compound_statement "{\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: multiple different versions",5,\n                              sVar18);\n            goto LAB_0001a72d;\n          }" { (expression_statement "iVar9 = dcgettext(0,"bad GNU build attribute notes: multiple different versions",5,\n                              sVar18);" (assignment_expression "iVar9 = dcgettext(0,"bad GNU build attribute notes: multiple different versions",5,\n                              sVar18)" identifier = (call_expression "dcgettext(0,"bad GNU build attribute notes: multiple different versions",5,\n                              sVar18)" identifier (argument_list "(0,"bad GNU build attribute notes: multiple different versions",5,\n                              sVar18)" ( number_literal , (string_literal ""bad GNU build attribute notes: multiple different versions"" " string_content ") , number_literal , identifier )))) ;) (goto_statement "goto LAB_0001a72d;" goto statement_identifier ;) })) (if_statement "if ((local_80 == (size_t *)0x1 || local_84 == (int *)0x1) || (local_6c == 1))\n          goto LAB_0001a75c;" if (parenthesized_expression "((local_80 == (size_t *)0x1 || local_84 == (int *)0x1) || (local_6c == 1))" ( (binary_expression "(local_80 == (size_t *)0x1 || local_84 == (int *)0x1) || (local_6c == 1)" (parenthesized_expression "(local_80 == (size_t *)0x1 || local_84 == (int *)0x1)" ( (binary_expression "local_80 == (size_t *)0x1 || local_84 == (int *)0x1" (binary_expression "local_80 == (size_t *)0x1" identifier == (cast_expression "(size_t *)0x1" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) || (binary_expression "local_84 == (int *)0x1" identifier == (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) )) || (parenthesized_expression "(local_6c == 1)" ( (binary_expression "local_6c == 1" identifier == number_literal) ))) )) (goto_statement "goto LAB_0001a75c;" goto statement_identifier ;)) (expression_statement "uVar26 = -(uint)(local_80 == (size_t *)0x0) & 2;" (assignment_expression "uVar26 = -(uint)(local_80 == (size_t *)0x0) & 2" identifier = (binary_expression "-(uint)(local_80 == (size_t *)0x0) & 2" (unary_expression "-(uint)(local_80 == (size_t *)0x0)" - (call_expression "(uint)(local_80 == (size_t *)0x0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_80 == (size_t *)0x0)" ( (binary_expression "local_80 == (size_t *)0x0" identifier == (cast_expression "(size_t *)0x0" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )))) & number_literal)) ;) (expression_statement "iVar9 = uVar26 + 1;" (assignment_expression "iVar9 = uVar26 + 1" identifier = (binary_expression "uVar26 + 1" identifier + number_literal)) ;) (if_statement "if (*(char *)(local_60[3] + iVar9) != '\x01') {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: first note not version note",5,\n                              psVar34);\n            goto LAB_0001a72d;\n          }" if (parenthesized_expression "(*(char *)(local_60[3] + iVar9) != '\x01')" ( (binary_expression "*(char *)(local_60[3] + iVar9) != '\x01'" (pointer_expression "*(char *)(local_60[3] + iVar9)" * (cast_expression "(char *)(local_60[3] + iVar9)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_60[3] + iVar9)" ( (binary_expression "local_60[3] + iVar9" (subscript_expression "local_60[3]" identifier [ number_literal ]) + identifier) )))) != (char_literal "'\x01'" ' escape_sequence ')) )) (compound_statement "{\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: first note not version note",5,\n                              psVar34);\n            goto LAB_0001a72d;\n          }" { (expression_statement "iVar9 = dcgettext(0,"bad GNU build attribute notes: first note not version note",5,\n                              psVar34);" (assignment_expression "iVar9 = dcgettext(0,"bad GNU build attribute notes: first note not version note",5,\n                              psVar34)" identifier = (call_expression "dcgettext(0,"bad GNU build attribute notes: first note not version note",5,\n                              psVar34)" identifier (argument_list "(0,"bad GNU build attribute notes: first note not version note",5,\n                              psVar34)" ( number_literal , (string_literal ""bad GNU build attribute notes: first note not version note"" " string_content ") , number_literal , identifier )))) ;) (goto_statement "goto LAB_0001a72d;" goto statement_identifier ;) })) (expression_statement "bVar40 = false;" (assignment_expression "bVar40 = false" identifier = false) ;) (expression_statement "iVar12 = uVar26 + 2;" (assignment_expression "iVar12 = uVar26 + 2" identifier = (binary_expression "uVar26 + 2" identifier + number_literal)) ;) (expression_statement "psVar25 = local_60;" (assignment_expression "psVar25 = local_60" identifier = identifier) ;) (labeled_statement "LAB_0001a954:\n          psVar34 = psVar25;" statement_identifier : (expression_statement "psVar34 = psVar25;" (assignment_expression "psVar34 = psVar25" identifier = identifier) ;)) (expression_statement "psVar25 = psVar34 + 9;" (assignment_expression "psVar25 = psVar34 + 9" identifier = (binary_expression "psVar34 + 9" identifier + number_literal)) ;) (if_statement "if (psVar25 < local_64) {\n            if (psVar34[0xb] == 0x100) {\n              pvVar24 = (void *)psVar34[0xc];\n              local_7c = (size_t *)0x0;\n              psVar45 = psVar25;\n              do {\n                do {\n                  psVar6 = psVar45;\n                  psVar45 = psVar6 + -9;\n                  if (psVar45 < local_60) goto LAB_0001a954;\n                  pvVar30 = (void *)psVar6[-6];\n                  psVar7 = local_7c;\n                } while ((((local_7c == (size_t *)0x0) && (psVar6[-8] != 0)) &&\n                         (psVar7 = psVar45, psVar6[-7] == 0x101)) ||\n                        ((local_7c = psVar7,\n                         *(char *)((int)pvVar24 + iVar9) != *(char *)((int)pvVar30 + iVar9) ||\n                         (psVar6[-7] != 0x100))));\n                if (*(char *)((int)pvVar30 + iVar9) != '\x04') {\n                  psVar45 = (size_t *)*psVar45;\n                  if ((((psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)) &&\n                      ((uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0))))\n                     && ((0xfffffff0 < uVar26 || (psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0))))) {\n                    psVar34[0xb] = 0;\n                    if (uVar26 < uVar39) {\n                      psVar6[-2] = uVar39;\n                    }\n                    bVar40 = true;\n                    if (local_6c != 0) {\n                      psVar6[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0)) {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    psVar34[0x11] = 1;\n                    psVar34[0xb] = 0x101;\n                    psVar6[-1] = 1;\n                    psVar6[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }\n                uVar26 = 0;\n                for (iVar21 = 0; (int)*psVar25 - iVar12 != iVar21; iVar21 = iVar21 + 1) {\n                  uVar26 = uVar26 | (uint)*(byte *)((int)pvVar24 + iVar21 + iVar12) <<\n                                    ((char)iVar21 * '\b' & 0x1fU);\n                }\n                sVar18 = *psVar45;\n                local_5c = (int *)0x0;\n                for (uVar39 = 0; sVar18 - iVar12 != uVar39; uVar39 = uVar39 + 1) {\n                  local_5c = (int *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39] <<\n                                    ((char)uVar39 * '\b' & 0x1fU));\n                }\n                uVar28 = 0;\n                uVar26 = (int)local_5c + uVar26;\n                for (uVar27 = uVar26; uVar27 != 0; uVar27 = uVar27 >> 8) {\n                  uVar28 = uVar28 + 1;\n                }\n              } while (uVar39 <= uVar28);\n              puVar29 = (undefined1 *)((int)pvVar30 + iVar12);\n              while (puVar29 < (undefined1 *)((int)pvVar30 + sVar18)) {\n                *puVar29 = (char)uVar26;\n                if (uVar26 == 0) break;\n                uVar26 = uVar26 >> 8;\n                puVar29 = puVar29 + 1;\n              }\n              psVar34[0xb] = 0;\n              bVar40 = true;\n            }\n            goto LAB_0001a954;\n          }" if (parenthesized_expression "(psVar25 < local_64)" ( (binary_expression "psVar25 < local_64" identifier < identifier) )) (compound_statement "{\n            if (psVar34[0xb] == 0x100) {\n              pvVar24 = (void *)psVar34[0xc];\n              local_7c = (size_t *)0x0;\n              psVar45 = psVar25;\n              do {\n                do {\n                  psVar6 = psVar45;\n                  psVar45 = psVar6 + -9;\n                  if (psVar45 < local_60) goto LAB_0001a954;\n                  pvVar30 = (void *)psVar6[-6];\n                  psVar7 = local_7c;\n                } while ((((local_7c == (size_t *)0x0) && (psVar6[-8] != 0)) &&\n                         (psVar7 = psVar45, psVar6[-7] == 0x101)) ||\n                        ((local_7c = psVar7,\n                         *(char *)((int)pvVar24 + iVar9) != *(char *)((int)pvVar30 + iVar9) ||\n                         (psVar6[-7] != 0x100))));\n                if (*(char *)((int)pvVar30 + iVar9) != '\x04') {\n                  psVar45 = (size_t *)*psVar45;\n                  if ((((psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)) &&\n                      ((uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0))))\n                     && ((0xfffffff0 < uVar26 || (psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0))))) {\n                    psVar34[0xb] = 0;\n                    if (uVar26 < uVar39) {\n                      psVar6[-2] = uVar39;\n                    }\n                    bVar40 = true;\n                    if (local_6c != 0) {\n                      psVar6[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0)) {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    psVar34[0x11] = 1;\n                    psVar34[0xb] = 0x101;\n                    psVar6[-1] = 1;\n                    psVar6[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }\n                uVar26 = 0;\n                for (iVar21 = 0; (int)*psVar25 - iVar12 != iVar21; iVar21 = iVar21 + 1) {\n                  uVar26 = uVar26 | (uint)*(byte *)((int)pvVar24 + iVar21 + iVar12) <<\n                                    ((char)iVar21 * '\b' & 0x1fU);\n                }\n                sVar18 = *psVar45;\n                local_5c = (int *)0x0;\n                for (uVar39 = 0; sVar18 - iVar12 != uVar39; uVar39 = uVar39 + 1) {\n                  local_5c = (int *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39] <<\n                                    ((char)uVar39 * '\b' & 0x1fU));\n                }\n                uVar28 = 0;\n                uVar26 = (int)local_5c + uVar26;\n                for (uVar27 = uVar26; uVar27 != 0; uVar27 = uVar27 >> 8) {\n                  uVar28 = uVar28 + 1;\n                }\n              } while (uVar39 <= uVar28);\n              puVar29 = (undefined1 *)((int)pvVar30 + iVar12);\n              while (puVar29 < (undefined1 *)((int)pvVar30 + sVar18)) {\n                *puVar29 = (char)uVar26;\n                if (uVar26 == 0) break;\n                uVar26 = uVar26 >> 8;\n                puVar29 = puVar29 + 1;\n              }\n              psVar34[0xb] = 0;\n              bVar40 = true;\n            }\n            goto LAB_0001a954;\n          }" { (if_statement "if (psVar34[0xb] == 0x100) {\n              pvVar24 = (void *)psVar34[0xc];\n              local_7c = (size_t *)0x0;\n              psVar45 = psVar25;\n              do {\n                do {\n                  psVar6 = psVar45;\n                  psVar45 = psVar6 + -9;\n                  if (psVar45 < local_60) goto LAB_0001a954;\n                  pvVar30 = (void *)psVar6[-6];\n                  psVar7 = local_7c;\n                } while ((((local_7c == (size_t *)0x0) && (psVar6[-8] != 0)) &&\n                         (psVar7 = psVar45, psVar6[-7] == 0x101)) ||\n                        ((local_7c = psVar7,\n                         *(char *)((int)pvVar24 + iVar9) != *(char *)((int)pvVar30 + iVar9) ||\n                         (psVar6[-7] != 0x100))));\n                if (*(char *)((int)pvVar30 + iVar9) != '\x04') {\n                  psVar45 = (size_t *)*psVar45;\n                  if ((((psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)) &&\n                      ((uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0))))\n                     && ((0xfffffff0 < uVar26 || (psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0))))) {\n                    psVar34[0xb] = 0;\n                    if (uVar26 < uVar39) {\n                      psVar6[-2] = uVar39;\n                    }\n                    bVar40 = true;\n                    if (local_6c != 0) {\n                      psVar6[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0)) {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    psVar34[0x11] = 1;\n                    psVar34[0xb] = 0x101;\n                    psVar6[-1] = 1;\n                    psVar6[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }\n                uVar26 = 0;\n                for (iVar21 = 0; (int)*psVar25 - iVar12 != iVar21; iVar21 = iVar21 + 1) {\n                  uVar26 = uVar26 | (uint)*(byte *)((int)pvVar24 + iVar21 + iVar12) <<\n                                    ((char)iVar21 * '\b' & 0x1fU);\n                }\n                sVar18 = *psVar45;\n                local_5c = (int *)0x0;\n                for (uVar39 = 0; sVar18 - iVar12 != uVar39; uVar39 = uVar39 + 1) {\n                  local_5c = (int *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39] <<\n                                    ((char)uVar39 * '\b' & 0x1fU));\n                }\n                uVar28 = 0;\n                uVar26 = (int)local_5c + uVar26;\n                for (uVar27 = uVar26; uVar27 != 0; uVar27 = uVar27 >> 8) {\n                  uVar28 = uVar28 + 1;\n                }\n              } while (uVar39 <= uVar28);\n              puVar29 = (undefined1 *)((int)pvVar30 + iVar12);\n              while (puVar29 < (undefined1 *)((int)pvVar30 + sVar18)) {\n                *puVar29 = (char)uVar26;\n                if (uVar26 == 0) break;\n                uVar26 = uVar26 >> 8;\n                puVar29 = puVar29 + 1;\n              }\n              psVar34[0xb] = 0;\n              bVar40 = true;\n            }" if (parenthesized_expression "(psVar34[0xb] == 0x100)" ( (binary_expression "psVar34[0xb] == 0x100" (subscript_expression "psVar34[0xb]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n              pvVar24 = (void *)psVar34[0xc];\n              local_7c = (size_t *)0x0;\n              psVar45 = psVar25;\n              do {\n                do {\n                  psVar6 = psVar45;\n                  psVar45 = psVar6 + -9;\n                  if (psVar45 < local_60) goto LAB_0001a954;\n                  pvVar30 = (void *)psVar6[-6];\n                  psVar7 = local_7c;\n                } while ((((local_7c == (size_t *)0x0) && (psVar6[-8] != 0)) &&\n                         (psVar7 = psVar45, psVar6[-7] == 0x101)) ||\n                        ((local_7c = psVar7,\n                         *(char *)((int)pvVar24 + iVar9) != *(char *)((int)pvVar30 + iVar9) ||\n                         (psVar6[-7] != 0x100))));\n                if (*(char *)((int)pvVar30 + iVar9) != '\x04') {\n                  psVar45 = (size_t *)*psVar45;\n                  if ((((psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)) &&\n                      ((uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0))))\n                     && ((0xfffffff0 < uVar26 || (psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0))))) {\n                    psVar34[0xb] = 0;\n                    if (uVar26 < uVar39) {\n                      psVar6[-2] = uVar39;\n                    }\n                    bVar40 = true;\n                    if (local_6c != 0) {\n                      psVar6[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0)) {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    psVar34[0x11] = 1;\n                    psVar34[0xb] = 0x101;\n                    psVar6[-1] = 1;\n                    psVar6[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }\n                uVar26 = 0;\n                for (iVar21 = 0; (int)*psVar25 - iVar12 != iVar21; iVar21 = iVar21 + 1) {\n                  uVar26 = uVar26 | (uint)*(byte *)((int)pvVar24 + iVar21 + iVar12) <<\n                                    ((char)iVar21 * '\b' & 0x1fU);\n                }\n                sVar18 = *psVar45;\n                local_5c = (int *)0x0;\n                for (uVar39 = 0; sVar18 - iVar12 != uVar39; uVar39 = uVar39 + 1) {\n                  local_5c = (int *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39] <<\n                                    ((char)uVar39 * '\b' & 0x1fU));\n                }\n                uVar28 = 0;\n                uVar26 = (int)local_5c + uVar26;\n                for (uVar27 = uVar26; uVar27 != 0; uVar27 = uVar27 >> 8) {\n                  uVar28 = uVar28 + 1;\n                }\n              } while (uVar39 <= uVar28);\n              puVar29 = (undefined1 *)((int)pvVar30 + iVar12);\n              while (puVar29 < (undefined1 *)((int)pvVar30 + sVar18)) {\n                *puVar29 = (char)uVar26;\n                if (uVar26 == 0) break;\n                uVar26 = uVar26 >> 8;\n                puVar29 = puVar29 + 1;\n              }\n              psVar34[0xb] = 0;\n              bVar40 = true;\n            }" { (expression_statement "pvVar24 = (void *)psVar34[0xc];" (assignment_expression "pvVar24 = (void *)psVar34[0xc]" identifier = (cast_expression "(void *)psVar34[0xc]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "psVar34[0xc]" identifier [ number_literal ]))) ;) (expression_statement "local_7c = (size_t *)0x0;" (assignment_expression "local_7c = (size_t *)0x0" identifier = (cast_expression "(size_t *)0x0" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psVar45 = psVar25;" (assignment_expression "psVar45 = psVar25" identifier = identifier) ;) (do_statement "do {\n                do {\n                  psVar6 = psVar45;\n                  psVar45 = psVar6 + -9;\n                  if (psVar45 < local_60) goto LAB_0001a954;\n                  pvVar30 = (void *)psVar6[-6];\n                  psVar7 = local_7c;\n                } while ((((local_7c == (size_t *)0x0) && (psVar6[-8] != 0)) &&\n                         (psVar7 = psVar45, psVar6[-7] == 0x101)) ||\n                        ((local_7c = psVar7,\n                         *(char *)((int)pvVar24 + iVar9) != *(char *)((int)pvVar30 + iVar9) ||\n                         (psVar6[-7] != 0x100))));\n                if (*(char *)((int)pvVar30 + iVar9) != '\x04') {\n                  psVar45 = (size_t *)*psVar45;\n                  if ((((psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)) &&\n                      ((uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0))))\n                     && ((0xfffffff0 < uVar26 || (psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0))))) {\n                    psVar34[0xb] = 0;\n                    if (uVar26 < uVar39) {\n                      psVar6[-2] = uVar39;\n                    }\n                    bVar40 = true;\n                    if (local_6c != 0) {\n                      psVar6[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0)) {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    psVar34[0x11] = 1;\n                    psVar34[0xb] = 0x101;\n                    psVar6[-1] = 1;\n                    psVar6[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }\n                uVar26 = 0;\n                for (iVar21 = 0; (int)*psVar25 - iVar12 != iVar21; iVar21 = iVar21 + 1) {\n                  uVar26 = uVar26 | (uint)*(byte *)((int)pvVar24 + iVar21 + iVar12) <<\n                                    ((char)iVar21 * '\b' & 0x1fU);\n                }\n                sVar18 = *psVar45;\n                local_5c = (int *)0x0;\n                for (uVar39 = 0; sVar18 - iVar12 != uVar39; uVar39 = uVar39 + 1) {\n                  local_5c = (int *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39] <<\n                                    ((char)uVar39 * '\b' & 0x1fU));\n                }\n                uVar28 = 0;\n                uVar26 = (int)local_5c + uVar26;\n                for (uVar27 = uVar26; uVar27 != 0; uVar27 = uVar27 >> 8) {\n                  uVar28 = uVar28 + 1;\n                }\n              } while (uVar39 <= uVar28);" do (compound_statement "{\n                do {\n                  psVar6 = psVar45;\n                  psVar45 = psVar6 + -9;\n                  if (psVar45 < local_60) goto LAB_0001a954;\n                  pvVar30 = (void *)psVar6[-6];\n                  psVar7 = local_7c;\n                } while ((((local_7c == (size_t *)0x0) && (psVar6[-8] != 0)) &&\n                         (psVar7 = psVar45, psVar6[-7] == 0x101)) ||\n                        ((local_7c = psVar7,\n                         *(char *)((int)pvVar24 + iVar9) != *(char *)((int)pvVar30 + iVar9) ||\n                         (psVar6[-7] != 0x100))));\n                if (*(char *)((int)pvVar30 + iVar9) != '\x04') {\n                  psVar45 = (size_t *)*psVar45;\n                  if ((((psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)) &&\n                      ((uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0))))\n                     && ((0xfffffff0 < uVar26 || (psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0))))) {\n                    psVar34[0xb] = 0;\n                    if (uVar26 < uVar39) {\n                      psVar6[-2] = uVar39;\n                    }\n                    bVar40 = true;\n                    if (local_6c != 0) {\n                      psVar6[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0)) {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    psVar34[0x11] = 1;\n                    psVar34[0xb] = 0x101;\n                    psVar6[-1] = 1;\n                    psVar6[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }\n                uVar26 = 0;\n                for (iVar21 = 0; (int)*psVar25 - iVar12 != iVar21; iVar21 = iVar21 + 1) {\n                  uVar26 = uVar26 | (uint)*(byte *)((int)pvVar24 + iVar21 + iVar12) <<\n                                    ((char)iVar21 * '\b' & 0x1fU);\n                }\n                sVar18 = *psVar45;\n                local_5c = (int *)0x0;\n                for (uVar39 = 0; sVar18 - iVar12 != uVar39; uVar39 = uVar39 + 1) {\n                  local_5c = (int *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39] <<\n                                    ((char)uVar39 * '\b' & 0x1fU));\n                }\n                uVar28 = 0;\n                uVar26 = (int)local_5c + uVar26;\n                for (uVar27 = uVar26; uVar27 != 0; uVar27 = uVar27 >> 8) {\n                  uVar28 = uVar28 + 1;\n                }\n              }" { (do_statement "do {\n                  psVar6 = psVar45;\n                  psVar45 = psVar6 + -9;\n                  if (psVar45 < local_60) goto LAB_0001a954;\n                  pvVar30 = (void *)psVar6[-6];\n                  psVar7 = local_7c;\n                } while ((((local_7c == (size_t *)0x0) && (psVar6[-8] != 0)) &&\n                         (psVar7 = psVar45, psVar6[-7] == 0x101)) ||\n                        ((local_7c = psVar7,\n                         *(char *)((int)pvVar24 + iVar9) != *(char *)((int)pvVar30 + iVar9) ||\n                         (psVar6[-7] != 0x100))));" do (compound_statement "{\n                  psVar6 = psVar45;\n                  psVar45 = psVar6 + -9;\n                  if (psVar45 < local_60) goto LAB_0001a954;\n                  pvVar30 = (void *)psVar6[-6];\n                  psVar7 = local_7c;\n                }" { (expression_statement "psVar6 = psVar45;" (assignment_expression "psVar6 = psVar45" identifier = identifier) ;) (expression_statement "psVar45 = psVar6 + -9;" (assignment_expression "psVar45 = psVar6 + -9" identifier = (binary_expression "psVar6 + -9" identifier + number_literal)) ;) (if_statement "if (psVar45 < local_60) goto LAB_0001a954;" if (parenthesized_expression "(psVar45 < local_60)" ( (binary_expression "psVar45 < local_60" identifier < identifier) )) (goto_statement "goto LAB_0001a954;" goto statement_identifier ;)) (expression_statement "pvVar30 = (void *)psVar6[-6];" (assignment_expression "pvVar30 = (void *)psVar6[-6]" identifier = (cast_expression "(void *)psVar6[-6]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "psVar6[-6]" identifier [ number_literal ]))) ;) (expression_statement "psVar7 = local_7c;" (assignment_expression "psVar7 = local_7c" identifier = identifier) ;) }) while (parenthesized_expression "((((local_7c == (size_t *)0x0) && (psVar6[-8] != 0)) &&\n                         (psVar7 = psVar45, psVar6[-7] == 0x101)) ||\n                        ((local_7c = psVar7,\n                         *(char *)((int)pvVar24 + iVar9) != *(char *)((int)pvVar30 + iVar9) ||\n                         (psVar6[-7] != 0x100))))" ( (binary_expression "(((local_7c == (size_t *)0x0) && (psVar6[-8] != 0)) &&\n                         (psVar7 = psVar45, psVar6[-7] == 0x101)) ||\n                        ((local_7c = psVar7,\n                         *(char *)((int)pvVar24 + iVar9) != *(char *)((int)pvVar30 + iVar9) ||\n                         (psVar6[-7] != 0x100)))" (parenthesized_expression "(((local_7c == (size_t *)0x0) && (psVar6[-8] != 0)) &&\n                         (psVar7 = psVar45, psVar6[-7] == 0x101))" ( (binary_expression "((local_7c == (size_t *)0x0) && (psVar6[-8] != 0)) &&\n                         (psVar7 = psVar45, psVar6[-7] == 0x101)" (parenthesized_expression "((local_7c == (size_t *)0x0) && (psVar6[-8] != 0))" ( (binary_expression "(local_7c == (size_t *)0x0) && (psVar6[-8] != 0)" (parenthesized_expression "(local_7c == (size_t *)0x0)" ( (binary_expression "local_7c == (size_t *)0x0" identifier == (cast_expression "(size_t *)0x0" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(psVar6[-8] != 0)" ( (binary_expression "psVar6[-8] != 0" (subscript_expression "psVar6[-8]" identifier [ number_literal ]) != number_literal) ))) )) && (parenthesized_expression "(psVar7 = psVar45, psVar6[-7] == 0x101)" ( (comma_expression "psVar7 = psVar45, psVar6[-7] == 0x101" (assignment_expression "psVar7 = psVar45" identifier = identifier) , (binary_expression "psVar6[-7] == 0x101" (subscript_expression "psVar6[-7]" identifier [ number_literal ]) == number_literal)) ))) )) || (parenthesized_expression "((local_7c = psVar7,\n                         *(char *)((int)pvVar24 + iVar9) != *(char *)((int)pvVar30 + iVar9) ||\n                         (psVar6[-7] != 0x100)))" ( (parenthesized_expression "(local_7c = psVar7,\n                         *(char *)((int)pvVar24 + iVar9) != *(char *)((int)pvVar30 + iVar9) ||\n                         (psVar6[-7] != 0x100))" ( (comma_expression "local_7c = psVar7,\n                         *(char *)((int)pvVar24 + iVar9) != *(char *)((int)pvVar30 + iVar9) ||\n                         (psVar6[-7] != 0x100)" (assignment_expression "local_7c = psVar7" identifier = identifier) , (binary_expression "*(char *)((int)pvVar24 + iVar9) != *(char *)((int)pvVar30 + iVar9) ||\n                         (psVar6[-7] != 0x100)" (binary_expression "*(char *)((int)pvVar24 + iVar9) != *(char *)((int)pvVar30 + iVar9)" (pointer_expression "*(char *)((int)pvVar24 + iVar9)" * (cast_expression "(char *)((int)pvVar24 + iVar9)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar24 + iVar9)" ( (binary_expression "(int)pvVar24 + iVar9" (cast_expression "(int)pvVar24" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) != (pointer_expression "*(char *)((int)pvVar30 + iVar9)" * (cast_expression "(char *)((int)pvVar30 + iVar9)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar30 + iVar9)" ( (binary_expression "(int)pvVar30 + iVar9" (cast_expression "(int)pvVar30" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))))) || (parenthesized_expression "(psVar6[-7] != 0x100)" ( (binary_expression "psVar6[-7] != 0x100" (subscript_expression "psVar6[-7]" identifier [ number_literal ]) != number_literal) )))) )) ))) )) ;) (if_statement "if (*(char *)((int)pvVar30 + iVar9) != '\x04') {\n                  psVar45 = (size_t *)*psVar45;\n                  if ((((psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)) &&\n                      ((uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0))))\n                     && ((0xfffffff0 < uVar26 || (psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0))))) {\n                    psVar34[0xb] = 0;\n                    if (uVar26 < uVar39) {\n                      psVar6[-2] = uVar39;\n                    }\n                    bVar40 = true;\n                    if (local_6c != 0) {\n                      psVar6[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0)) {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    psVar34[0x11] = 1;\n                    psVar34[0xb] = 0x101;\n                    psVar6[-1] = 1;\n                    psVar6[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }" if (parenthesized_expression "(*(char *)((int)pvVar30 + iVar9) != '\x04')" ( (binary_expression "*(char *)((int)pvVar30 + iVar9) != '\x04'" (pointer_expression "*(char *)((int)pvVar30 + iVar9)" * (cast_expression "(char *)((int)pvVar30 + iVar9)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar30 + iVar9)" ( (binary_expression "(int)pvVar30 + iVar9" (cast_expression "(int)pvVar30" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) != (char_literal "'\x04'" ' escape_sequence ')) )) (compound_statement "{\n                  psVar45 = (size_t *)*psVar45;\n                  if ((((psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)) &&\n                      ((uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0))))\n                     && ((0xfffffff0 < uVar26 || (psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0))))) {\n                    psVar34[0xb] = 0;\n                    if (uVar26 < uVar39) {\n                      psVar6[-2] = uVar39;\n                    }\n                    bVar40 = true;\n                    if (local_6c != 0) {\n                      psVar6[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0)) {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    psVar34[0x11] = 1;\n                    psVar34[0xb] = 0x101;\n                    psVar6[-1] = 1;\n                    psVar6[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }" { (expression_statement "psVar45 = (size_t *)*psVar45;" (assignment_expression "psVar45 = (size_t *)*psVar45" identifier = (cast_expression "(size_t *)*psVar45" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*psVar45" * identifier))) ;) (if_statement "if ((((psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)) &&\n                      ((uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0))))\n                     && ((0xfffffff0 < uVar26 || (psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0))))) {\n                    psVar34[0xb] = 0;\n                    if (uVar26 < uVar39) {\n                      psVar6[-2] = uVar39;\n                    }\n                    bVar40 = true;\n                    if (local_6c != 0) {\n                      psVar6[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0)) {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    psVar34[0x11] = 1;\n                    psVar34[0xb] = 0x101;\n                    psVar6[-1] = 1;\n                    psVar6[-7] = 0x101;\n                  }" if (parenthesized_expression "((((psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)) &&\n                      ((uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0))))\n                     && ((0xfffffff0 < uVar26 || (psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0)))))" ( (binary_expression "(((psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)) &&\n                      ((uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0))))\n                     && ((0xfffffff0 < uVar26 || (psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0))))" (parenthesized_expression "(((psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)) &&\n                      ((uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0))))" ( (binary_expression "((psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)) &&\n                      ((uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0)))" (parenthesized_expression "((psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0))" ( (binary_expression "(psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)" (parenthesized_expression "(psVar45 == (size_t *)*psVar25)" ( (binary_expression "psVar45 == (size_t *)*psVar25" identifier == (cast_expression "(size_t *)*psVar25" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*psVar25" * identifier))) )) && (parenthesized_expression "(psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)" ( (comma_expression "psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0" (assignment_expression "psVar46 = psVar25" identifier = identifier) , (comma_expression "iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0" (assignment_expression "iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45)" identifier = (call_expression "memcmp(pvVar30,pvVar24,(size_t)psVar45)" identifier (argument_list "(pvVar30,pvVar24,(size_t)psVar45)" ( identifier , identifier , (cast_expression "(size_t)psVar45" ( (type_descriptor "size_t" primitive_type) ) identifier) )))) , (comma_expression "pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0" (assignment_expression "pvVar44 = pvVar24" identifier = identifier) , (comma_expression "psVar20 = psVar45, iVar21 == 0" (assignment_expression "psVar20 = psVar45" identifier = identifier) , (binary_expression "iVar21 == 0" identifier == number_literal))))) ))) )) && (parenthesized_expression "((uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0)))" ( (parenthesized_expression "(uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0))" ( (comma_expression "uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0)" (assignment_expression "uVar26 = psVar6[-2]" identifier = (subscript_expression "psVar6[-2]" identifier [ number_literal ])) , (binary_expression "uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0)" (binary_expression "uVar26 != 0" identifier != number_literal) && (parenthesized_expression "(uVar39 = psVar34[0x10], uVar39 != 0)" ( (comma_expression "uVar39 = psVar34[0x10], uVar39 != 0" (assignment_expression "uVar39 = psVar34[0x10]" identifier = (subscript_expression "psVar34[0x10]" identifier [ number_literal ])) , (binary_expression "uVar39 != 0" identifier != number_literal)) )))) )) ))) )) && (parenthesized_expression "((0xfffffff0 < uVar26 || (psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0))))" ( (parenthesized_expression "(0xfffffff0 < uVar26 || (psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0)))" ( (binary_expression "0xfffffff0 < uVar26 || (psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0))" (binary_expression "0xfffffff0 < uVar26" number_literal < identifier) || (parenthesized_expression "(psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0))" ( (binary_expression "psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0)" (subscript_expression "psVar34[0xf]" identifier [ number_literal ]) <= (parenthesized_expression "(uVar26 + 0xf & 0xfffffff0)" ( (binary_expression "uVar26 + 0xf & 0xfffffff0" (binary_expression "uVar26 + 0xf" identifier + number_literal) & number_literal) ))) ))) )) ))) )) (compound_statement "{\n                    psVar34[0xb] = 0;\n                    if (uVar26 < uVar39) {\n                      psVar6[-2] = uVar39;\n                    }\n                    bVar40 = true;\n                    if (local_6c != 0) {\n                      psVar6[-1] = 1;\n                    }\n                  }" { (expression_statement "psVar34[0xb] = 0;" (assignment_expression "psVar34[0xb] = 0" (subscript_expression "psVar34[0xb]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (uVar26 < uVar39) {\n                      psVar6[-2] = uVar39;\n                    }" if (parenthesized_expression "(uVar26 < uVar39)" ( (binary_expression "uVar26 < uVar39" identifier < identifier) )) (compound_statement "{\n                      psVar6[-2] = uVar39;\n                    }" { (expression_statement "psVar6[-2] = uVar39;" (assignment_expression "psVar6[-2] = uVar39" (subscript_expression "psVar6[-2]" identifier [ number_literal ]) = identifier) ;) })) (expression_statement "bVar40 = true;" (assignment_expression "bVar40 = true" identifier = true) ;) (if_statement "if (local_6c != 0) {\n                      psVar6[-1] = 1;\n                    }" if (parenthesized_expression "(local_6c != 0)" ( (binary_expression "local_6c != 0" identifier != number_literal) )) (compound_statement "{\n                      psVar6[-1] = 1;\n                    }" { (expression_statement "psVar6[-1] = 1;" (assignment_expression "psVar6[-1] = 1" (subscript_expression "psVar6[-1]" identifier [ number_literal ]) = number_literal) ;) })) }) (else_clause "else if (local_6c == 0) {\n                    if (((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0)) {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    psVar34[0x11] = 1;\n                    psVar34[0xb] = 0x101;\n                    psVar6[-1] = 1;\n                    psVar6[-7] = 0x101;\n                  }" else (if_statement "if (local_6c == 0) {\n                    if (((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0)) {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    psVar34[0x11] = 1;\n                    psVar34[0xb] = 0x101;\n                    psVar6[-1] = 1;\n                    psVar6[-7] = 0x101;\n                  }" if (parenthesized_expression "(local_6c == 0)" ( (binary_expression "local_6c == 0" identifier == number_literal) )) (compound_statement "{\n                    if (((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0)) {\n                      local_7c[2] = 0x100;\n                    }\n                  }" { (if_statement "if (((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0)) {\n                      local_7c[2] = 0x100;\n                    }" if (parenthesized_expression "(((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0))" ( (binary_expression "((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0)" (parenthesized_expression "((psVar34[10] == 0) && (local_7c != (size_t *)0x0))" ( (binary_expression "(psVar34[10] == 0) && (local_7c != (size_t *)0x0)" (parenthesized_expression "(psVar34[10] == 0)" ( (binary_expression "psVar34[10] == 0" (subscript_expression "psVar34[10]" identifier [ number_literal ]) == number_literal) )) && (parenthesized_expression "(local_7c != (size_t *)0x0)" ( (binary_expression "local_7c != (size_t *)0x0" identifier != (cast_expression "(size_t *)0x0" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) && (parenthesized_expression "(local_7c[2] == 0)" ( (binary_expression "local_7c[2] == 0" (subscript_expression "local_7c[2]" identifier [ number_literal ]) == number_literal) ))) )) (compound_statement "{\n                      local_7c[2] = 0x100;\n                    }" { (expression_statement "local_7c[2] = 0x100;" (assignment_expression "local_7c[2] = 0x100" (subscript_expression "local_7c[2]" identifier [ number_literal ]) = number_literal) ;) })) }) (else_clause "else {\n                    psVar34[0x11] = 1;\n                    psVar34[0xb] = 0x101;\n                    psVar6[-1] = 1;\n                    psVar6[-7] = 0x101;\n                  }" else (compound_statement "{\n                    psVar34[0x11] = 1;\n                    psVar34[0xb] = 0x101;\n                    psVar6[-1] = 1;\n                    psVar6[-7] = 0x101;\n                  }" { (expression_statement "psVar34[0x11] = 1;" (assignment_expression "psVar34[0x11] = 1" (subscript_expression "psVar34[0x11]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "psVar34[0xb] = 0x101;" (assignment_expression "psVar34[0xb] = 0x101" (subscript_expression "psVar34[0xb]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "psVar6[-1] = 1;" (assignment_expression "psVar6[-1] = 1" (subscript_expression "psVar6[-1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "psVar6[-7] = 0x101;" (assignment_expression "psVar6[-7] = 0x101" (subscript_expression "psVar6[-7]" identifier [ number_literal ]) = number_literal) ;) }))))) (goto_statement "goto LAB_0001a954;" goto statement_identifier ;) })) (expression_statement "uVar26 = 0;" (assignment_expression "uVar26 = 0" identifier = number_literal) ;) (for_statement "for (iVar21 = 0; (int)*psVar25 - iVar12 != iVar21; iVar21 = iVar21 + 1) {\n                  uVar26 = uVar26 | (uint)*(byte *)((int)pvVar24 + iVar21 + iVar12) <<\n                                    ((char)iVar21 * '\b' & 0x1fU);\n                }" for ( (assignment_expression "iVar21 = 0" identifier = number_literal) ; (binary_expression "(int)*psVar25 - iVar12 != iVar21" (binary_expression "(int)*psVar25 - iVar12" (cast_expression "(int)*psVar25" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*psVar25" * identifier)) - identifier) != identifier) ; (assignment_expression "iVar21 = iVar21 + 1" identifier = (binary_expression "iVar21 + 1" identifier + number_literal)) ) (compound_statement "{\n                  uVar26 = uVar26 | (uint)*(byte *)((int)pvVar24 + iVar21 + iVar12) <<\n                                    ((char)iVar21 * '\b' & 0x1fU);\n                }" { (expression_statement "uVar26 = uVar26 | (uint)*(byte *)((int)pvVar24 + iVar21 + iVar12) <<\n                                    ((char)iVar21 * '\b' & 0x1fU);" (assignment_expression "uVar26 = uVar26 | (uint)*(byte *)((int)pvVar24 + iVar21 + iVar12) <<\n                                    ((char)iVar21 * '\b' & 0x1fU)" identifier = (binary_expression "uVar26 | (uint)*(byte *)((int)pvVar24 + iVar21 + iVar12) <<\n                                    ((char)iVar21 * '\b' & 0x1fU)" identifier | (binary_expression "(uint)*(byte *)((int)pvVar24 + iVar21 + iVar12) <<\n                                    ((char)iVar21 * '\b' & 0x1fU)" (binary_expression "(uint)*(byte *)((int)pvVar24 + iVar21 + iVar12)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)pvVar24 + iVar21 + iVar12)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar24 + iVar21 + iVar12)" ( (binary_expression "(int)pvVar24 + iVar21 + iVar12" (binary_expression "(int)pvVar24 + iVar21" (cast_expression "(int)pvVar24" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + identifier) )))) << (parenthesized_expression "((char)iVar21 * '\b' & 0x1fU)" ( (binary_expression "(char)iVar21 * '\b' & 0x1fU" (binary_expression "(char)iVar21 * '\b'" (cast_expression "(char)iVar21" ( (type_descriptor "char" primitive_type) ) identifier) * (char_literal "'\b'" ' escape_sequence ')) & number_literal) ))))) ;) })) (expression_statement "sVar18 = *psVar45;" (assignment_expression "sVar18 = *psVar45" identifier = (pointer_expression "*psVar45" * identifier)) ;) (expression_statement "local_5c = (int *)0x0;" (assignment_expression "local_5c = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (for_statement "for (uVar39 = 0; sVar18 - iVar12 != uVar39; uVar39 = uVar39 + 1) {\n                  local_5c = (int *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39] <<\n                                    ((char)uVar39 * '\b' & 0x1fU));\n                }" for ( (assignment_expression "uVar39 = 0" identifier = number_literal) ; (binary_expression "sVar18 - iVar12 != uVar39" (binary_expression "sVar18 - iVar12" identifier - identifier) != identifier) ; (assignment_expression "uVar39 = uVar39 + 1" identifier = (binary_expression "uVar39 + 1" identifier + number_literal)) ) (compound_statement "{\n                  local_5c = (int *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39] <<\n                                    ((char)uVar39 * '\b' & 0x1fU));\n                }" { (expression_statement "local_5c = (int *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39] <<\n                                    ((char)uVar39 * '\b' & 0x1fU));" (assignment_expression "local_5c = (int *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39] <<\n                                    ((char)uVar39 * '\b' & 0x1fU))" identifier = (cast_expression "(int *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39] <<\n                                    ((char)uVar39 * '\b' & 0x1fU))" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39] <<\n                                    ((char)uVar39 * '\b' & 0x1fU))" ( (binary_expression "(uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39] <<\n                                    ((char)uVar39 * '\b' & 0x1fU)" (cast_expression "(uint)local_5c" ( (type_descriptor "uint" type_identifier) ) identifier) | (binary_expression "(uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39] <<\n                                    ((char)uVar39 * '\b' & 0x1fU)" (subscript_expression "(uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39]" (call_expression "(uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier ))) (argument_list "((undefined1 *)((int)pvVar30 + iVar12))" ( (cast_expression "(undefined1 *)((int)pvVar30 + iVar12)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar30 + iVar12)" ( (binary_expression "(int)pvVar30 + iVar12" (cast_expression "(int)pvVar30" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))) ))) [ identifier ]) << (parenthesized_expression "((char)uVar39 * '\b' & 0x1fU)" ( (binary_expression "(char)uVar39 * '\b' & 0x1fU" (binary_expression "(char)uVar39 * '\b'" (cast_expression "(char)uVar39" ( (type_descriptor "char" primitive_type) ) identifier) * (char_literal "'\b'" ' escape_sequence ')) & number_literal) )))) )))) ;) })) (expression_statement "uVar28 = 0;" (assignment_expression "uVar28 = 0" identifier = number_literal) ;) (expression_statement "uVar26 = (int)local_5c + uVar26;" (assignment_expression "uVar26 = (int)local_5c + uVar26" identifier = (binary_expression "(int)local_5c + uVar26" (cast_expression "(int)local_5c" ( (type_descriptor "int" primitive_type) ) identifier) + identifier)) ;) (for_statement "for (uVar27 = uVar26; uVar27 != 0; uVar27 = uVar27 >> 8) {\n                  uVar28 = uVar28 + 1;\n                }" for ( (assignment_expression "uVar27 = uVar26" identifier = identifier) ; (binary_expression "uVar27 != 0" identifier != number_literal) ; (assignment_expression "uVar27 = uVar27 >> 8" identifier = (binary_expression "uVar27 >> 8" identifier >> number_literal)) ) (compound_statement "{\n                  uVar28 = uVar28 + 1;\n                }" { (expression_statement "uVar28 = uVar28 + 1;" (assignment_expression "uVar28 = uVar28 + 1" identifier = (binary_expression "uVar28 + 1" identifier + number_literal)) ;) })) }) while (parenthesized_expression "(uVar39 <= uVar28)" ( (binary_expression "uVar39 <= uVar28" identifier <= identifier) )) ;) (expression_statement "puVar29 = (undefined1 *)((int)pvVar30 + iVar12);" (assignment_expression "puVar29 = (undefined1 *)((int)pvVar30 + iVar12)" identifier = (cast_expression "(undefined1 *)((int)pvVar30 + iVar12)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar30 + iVar12)" ( (binary_expression "(int)pvVar30 + iVar12" (cast_expression "(int)pvVar30" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (while_statement "while (puVar29 < (undefined1 *)((int)pvVar30 + sVar18)) {\n                *puVar29 = (char)uVar26;\n                if (uVar26 == 0) break;\n                uVar26 = uVar26 >> 8;\n                puVar29 = puVar29 + 1;\n              }" while (parenthesized_expression "(puVar29 < (undefined1 *)((int)pvVar30 + sVar18))" ( (binary_expression "puVar29 < (undefined1 *)((int)pvVar30 + sVar18)" identifier < (cast_expression "(undefined1 *)((int)pvVar30 + sVar18)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar30 + sVar18)" ( (binary_expression "(int)pvVar30 + sVar18" (cast_expression "(int)pvVar30" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) )) (compound_statement "{\n                *puVar29 = (char)uVar26;\n                if (uVar26 == 0) break;\n                uVar26 = uVar26 >> 8;\n                puVar29 = puVar29 + 1;\n              }" { (expression_statement "*puVar29 = (char)uVar26;" (assignment_expression "*puVar29 = (char)uVar26" (pointer_expression "*puVar29" * identifier) = (cast_expression "(char)uVar26" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (if_statement "if (uVar26 == 0) break;" if (parenthesized_expression "(uVar26 == 0)" ( (binary_expression "uVar26 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "uVar26 = uVar26 >> 8;" (assignment_expression "uVar26 = uVar26 >> 8" identifier = (binary_expression "uVar26 >> 8" identifier >> number_literal)) ;) (expression_statement "puVar29 = puVar29 + 1;" (assignment_expression "puVar29 = puVar29 + 1" identifier = (binary_expression "puVar29 + 1" identifier + number_literal)) ;) })) (expression_statement "psVar34[0xb] = 0;" (assignment_expression "psVar34[0xb] = 0" (subscript_expression "psVar34[0xb]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "bVar40 = true;" (assignment_expression "bVar40 = true" identifier = true) ;) })) (goto_statement "goto LAB_0001a954;" goto statement_identifier ;) })) (if_statement "if (!bVar40) goto LAB_0001a75c;" if (parenthesized_expression "(!bVar40)" ( (unary_expression "!bVar40" ! identifier) )) (goto_statement "goto LAB_0001a75c;" goto statement_identifier ;)) (expression_statement "pvVar24 = (void *)xmalloc(uVar35,pvVar44,psVar20,psVar46);" (assignment_expression "pvVar24 = (void *)xmalloc(uVar35,pvVar44,psVar20,psVar46)" identifier = (cast_expression "(void *)xmalloc(uVar35,pvVar44,psVar20,psVar46)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(uVar35,pvVar44,psVar20,psVar46)" identifier (argument_list "(uVar35,pvVar44,psVar20,psVar46)" ( identifier , identifier , identifier , identifier ))))) ;) (expression_statement "sVar18 = 0;" (assignment_expression "sVar18 = 0" identifier = number_literal) ;) (expression_statement "pvVar44 = pvVar24;" (assignment_expression "pvVar44 = pvVar24" identifier = identifier) ;) (expression_statement "local_80 = psVar38;" (assignment_expression "local_80 = psVar38" identifier = identifier) ;) (for_statement "for (psVar20 = local_60; psVar20 < local_64; psVar20 = psVar20 + 9) {\n            sVar23 = *psVar20;\n            __n = psVar20[1] + sVar23 + 0xc;\n            sVar2 = psVar20[2];\n            pvVar30 = pvVar44;\n            if (sVar2 != 0) {\n              if (psVar20[8] == 0) {\n                memcpy(pvVar44,local_80,__n);\n                pvVar30 = (void *)((int)pvVar44 + __n);\n              }\n              else {\n                sVar5 = psVar20[6];\n                __dest = (void *)((int)pvVar44 + 0xc);\n                pvVar30 = (void *)((int)__dest + sVar23);\n                if ((sVar5 == local_74) && (psVar20[7] == sVar18)) {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar5,sVar5);\n                  (**(code **)(param_1[1] + 0x30))(0,(int)pvVar44 + 4);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                }\n                else {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar18,sVar18);\n                  cVar8 = '\b';\n                  if (*(int *)(param_1[1] + 4) == 5) {\n                    cVar8 = (*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b';\n                  }\n                  (**(code **)(param_1[1] + 0x30))(cVar8,(int)pvVar44 + 4,sVar23,sVar23);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                  sVar18 = param_1[1];\n                  psVar25 = param_1;\n                  if ((*(int *)(sVar18 + 4) == 5) &&\n                     (psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02')) {\n                    (**(code **)(sVar18 + 0x24))(sVar5,0,pvVar30,psVar25);\n                    (**(code **)(param_1[1] + 0x24))(psVar20[7],0,(void *)((int)pvVar30 + 8));\n                    pvVar30 = (void *)((int)pvVar30 + 0x10);\n                  }\n                  else {\n                    (**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25);\n                    (**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4);\n                    pvVar30 = (void *)((int)pvVar30 + 8);\n                  }\n                }\n              }\n              local_74 = psVar20[6];\n              sVar18 = psVar20[7];\n            }\n            local_80 = (size_t *)((int)local_80 + __n);\n            pvVar44 = pvVar30;\n          }" for ( (assignment_expression "psVar20 = local_60" identifier = identifier) ; (binary_expression "psVar20 < local_64" identifier < identifier) ; (assignment_expression "psVar20 = psVar20 + 9" identifier = (binary_expression "psVar20 + 9" identifier + number_literal)) ) (compound_statement "{\n            sVar23 = *psVar20;\n            __n = psVar20[1] + sVar23 + 0xc;\n            sVar2 = psVar20[2];\n            pvVar30 = pvVar44;\n            if (sVar2 != 0) {\n              if (psVar20[8] == 0) {\n                memcpy(pvVar44,local_80,__n);\n                pvVar30 = (void *)((int)pvVar44 + __n);\n              }\n              else {\n                sVar5 = psVar20[6];\n                __dest = (void *)((int)pvVar44 + 0xc);\n                pvVar30 = (void *)((int)__dest + sVar23);\n                if ((sVar5 == local_74) && (psVar20[7] == sVar18)) {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar5,sVar5);\n                  (**(code **)(param_1[1] + 0x30))(0,(int)pvVar44 + 4);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                }\n                else {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar18,sVar18);\n                  cVar8 = '\b';\n                  if (*(int *)(param_1[1] + 4) == 5) {\n                    cVar8 = (*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b';\n                  }\n                  (**(code **)(param_1[1] + 0x30))(cVar8,(int)pvVar44 + 4,sVar23,sVar23);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                  sVar18 = param_1[1];\n                  psVar25 = param_1;\n                  if ((*(int *)(sVar18 + 4) == 5) &&\n                     (psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02')) {\n                    (**(code **)(sVar18 + 0x24))(sVar5,0,pvVar30,psVar25);\n                    (**(code **)(param_1[1] + 0x24))(psVar20[7],0,(void *)((int)pvVar30 + 8));\n                    pvVar30 = (void *)((int)pvVar30 + 0x10);\n                  }\n                  else {\n                    (**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25);\n                    (**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4);\n                    pvVar30 = (void *)((int)pvVar30 + 8);\n                  }\n                }\n              }\n              local_74 = psVar20[6];\n              sVar18 = psVar20[7];\n            }\n            local_80 = (size_t *)((int)local_80 + __n);\n            pvVar44 = pvVar30;\n          }" { (expression_statement "sVar23 = *psVar20;" (assignment_expression "sVar23 = *psVar20" identifier = (pointer_expression "*psVar20" * identifier)) ;) (expression_statement "__n = psVar20[1] + sVar23 + 0xc;" (assignment_expression "__n = psVar20[1] + sVar23 + 0xc" identifier = (binary_expression "psVar20[1] + sVar23 + 0xc" (binary_expression "psVar20[1] + sVar23" (subscript_expression "psVar20[1]" identifier [ number_literal ]) + identifier) + number_literal)) ;) (expression_statement "sVar2 = psVar20[2];" (assignment_expression "sVar2 = psVar20[2]" identifier = (subscript_expression "psVar20[2]" identifier [ number_literal ])) ;) (expression_statement "pvVar30 = pvVar44;" (assignment_expression "pvVar30 = pvVar44" identifier = identifier) ;) (if_statement "if (sVar2 != 0) {\n              if (psVar20[8] == 0) {\n                memcpy(pvVar44,local_80,__n);\n                pvVar30 = (void *)((int)pvVar44 + __n);\n              }\n              else {\n                sVar5 = psVar20[6];\n                __dest = (void *)((int)pvVar44 + 0xc);\n                pvVar30 = (void *)((int)__dest + sVar23);\n                if ((sVar5 == local_74) && (psVar20[7] == sVar18)) {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar5,sVar5);\n                  (**(code **)(param_1[1] + 0x30))(0,(int)pvVar44 + 4);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                }\n                else {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar18,sVar18);\n                  cVar8 = '\b';\n                  if (*(int *)(param_1[1] + 4) == 5) {\n                    cVar8 = (*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b';\n                  }\n                  (**(code **)(param_1[1] + 0x30))(cVar8,(int)pvVar44 + 4,sVar23,sVar23);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                  sVar18 = param_1[1];\n                  psVar25 = param_1;\n                  if ((*(int *)(sVar18 + 4) == 5) &&\n                     (psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02')) {\n                    (**(code **)(sVar18 + 0x24))(sVar5,0,pvVar30,psVar25);\n                    (**(code **)(param_1[1] + 0x24))(psVar20[7],0,(void *)((int)pvVar30 + 8));\n                    pvVar30 = (void *)((int)pvVar30 + 0x10);\n                  }\n                  else {\n                    (**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25);\n                    (**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4);\n                    pvVar30 = (void *)((int)pvVar30 + 8);\n                  }\n                }\n              }\n              local_74 = psVar20[6];\n              sVar18 = psVar20[7];\n            }" if (parenthesized_expression "(sVar2 != 0)" ( (binary_expression "sVar2 != 0" identifier != number_literal) )) (compound_statement "{\n              if (psVar20[8] == 0) {\n                memcpy(pvVar44,local_80,__n);\n                pvVar30 = (void *)((int)pvVar44 + __n);\n              }\n              else {\n                sVar5 = psVar20[6];\n                __dest = (void *)((int)pvVar44 + 0xc);\n                pvVar30 = (void *)((int)__dest + sVar23);\n                if ((sVar5 == local_74) && (psVar20[7] == sVar18)) {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar5,sVar5);\n                  (**(code **)(param_1[1] + 0x30))(0,(int)pvVar44 + 4);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                }\n                else {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar18,sVar18);\n                  cVar8 = '\b';\n                  if (*(int *)(param_1[1] + 4) == 5) {\n                    cVar8 = (*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b';\n                  }\n                  (**(code **)(param_1[1] + 0x30))(cVar8,(int)pvVar44 + 4,sVar23,sVar23);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                  sVar18 = param_1[1];\n                  psVar25 = param_1;\n                  if ((*(int *)(sVar18 + 4) == 5) &&\n                     (psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02')) {\n                    (**(code **)(sVar18 + 0x24))(sVar5,0,pvVar30,psVar25);\n                    (**(code **)(param_1[1] + 0x24))(psVar20[7],0,(void *)((int)pvVar30 + 8));\n                    pvVar30 = (void *)((int)pvVar30 + 0x10);\n                  }\n                  else {\n                    (**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25);\n                    (**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4);\n                    pvVar30 = (void *)((int)pvVar30 + 8);\n                  }\n                }\n              }\n              local_74 = psVar20[6];\n              sVar18 = psVar20[7];\n            }" { (if_statement "if (psVar20[8] == 0) {\n                memcpy(pvVar44,local_80,__n);\n                pvVar30 = (void *)((int)pvVar44 + __n);\n              }\n              else {\n                sVar5 = psVar20[6];\n                __dest = (void *)((int)pvVar44 + 0xc);\n                pvVar30 = (void *)((int)__dest + sVar23);\n                if ((sVar5 == local_74) && (psVar20[7] == sVar18)) {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar5,sVar5);\n                  (**(code **)(param_1[1] + 0x30))(0,(int)pvVar44 + 4);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                }\n                else {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar18,sVar18);\n                  cVar8 = '\b';\n                  if (*(int *)(param_1[1] + 4) == 5) {\n                    cVar8 = (*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b';\n                  }\n                  (**(code **)(param_1[1] + 0x30))(cVar8,(int)pvVar44 + 4,sVar23,sVar23);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                  sVar18 = param_1[1];\n                  psVar25 = param_1;\n                  if ((*(int *)(sVar18 + 4) == 5) &&\n                     (psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02')) {\n                    (**(code **)(sVar18 + 0x24))(sVar5,0,pvVar30,psVar25);\n                    (**(code **)(param_1[1] + 0x24))(psVar20[7],0,(void *)((int)pvVar30 + 8));\n                    pvVar30 = (void *)((int)pvVar30 + 0x10);\n                  }\n                  else {\n                    (**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25);\n                    (**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4);\n                    pvVar30 = (void *)((int)pvVar30 + 8);\n                  }\n                }\n              }" if (parenthesized_expression "(psVar20[8] == 0)" ( (binary_expression "psVar20[8] == 0" (subscript_expression "psVar20[8]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                memcpy(pvVar44,local_80,__n);\n                pvVar30 = (void *)((int)pvVar44 + __n);\n              }" { (expression_statement "memcpy(pvVar44,local_80,__n);" (call_expression "memcpy(pvVar44,local_80,__n)" identifier (argument_list "(pvVar44,local_80,__n)" ( identifier , identifier , identifier ))) ;) (expression_statement "pvVar30 = (void *)((int)pvVar44 + __n);" (assignment_expression "pvVar30 = (void *)((int)pvVar44 + __n)" identifier = (cast_expression "(void *)((int)pvVar44 + __n)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar44 + __n)" ( (binary_expression "(int)pvVar44 + __n" (cast_expression "(int)pvVar44" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) }) (else_clause "else {\n                sVar5 = psVar20[6];\n                __dest = (void *)((int)pvVar44 + 0xc);\n                pvVar30 = (void *)((int)__dest + sVar23);\n                if ((sVar5 == local_74) && (psVar20[7] == sVar18)) {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar5,sVar5);\n                  (**(code **)(param_1[1] + 0x30))(0,(int)pvVar44 + 4);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                }\n                else {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar18,sVar18);\n                  cVar8 = '\b';\n                  if (*(int *)(param_1[1] + 4) == 5) {\n                    cVar8 = (*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b';\n                  }\n                  (**(code **)(param_1[1] + 0x30))(cVar8,(int)pvVar44 + 4,sVar23,sVar23);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                  sVar18 = param_1[1];\n                  psVar25 = param_1;\n                  if ((*(int *)(sVar18 + 4) == 5) &&\n                     (psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02')) {\n                    (**(code **)(sVar18 + 0x24))(sVar5,0,pvVar30,psVar25);\n                    (**(code **)(param_1[1] + 0x24))(psVar20[7],0,(void *)((int)pvVar30 + 8));\n                    pvVar30 = (void *)((int)pvVar30 + 0x10);\n                  }\n                  else {\n                    (**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25);\n                    (**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4);\n                    pvVar30 = (void *)((int)pvVar30 + 8);\n                  }\n                }\n              }" else (compound_statement "{\n                sVar5 = psVar20[6];\n                __dest = (void *)((int)pvVar44 + 0xc);\n                pvVar30 = (void *)((int)__dest + sVar23);\n                if ((sVar5 == local_74) && (psVar20[7] == sVar18)) {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar5,sVar5);\n                  (**(code **)(param_1[1] + 0x30))(0,(int)pvVar44 + 4);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                }\n                else {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar18,sVar18);\n                  cVar8 = '\b';\n                  if (*(int *)(param_1[1] + 4) == 5) {\n                    cVar8 = (*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b';\n                  }\n                  (**(code **)(param_1[1] + 0x30))(cVar8,(int)pvVar44 + 4,sVar23,sVar23);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                  sVar18 = param_1[1];\n                  psVar25 = param_1;\n                  if ((*(int *)(sVar18 + 4) == 5) &&\n                     (psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02')) {\n                    (**(code **)(sVar18 + 0x24))(sVar5,0,pvVar30,psVar25);\n                    (**(code **)(param_1[1] + 0x24))(psVar20[7],0,(void *)((int)pvVar30 + 8));\n                    pvVar30 = (void *)((int)pvVar30 + 0x10);\n                  }\n                  else {\n                    (**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25);\n                    (**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4);\n                    pvVar30 = (void *)((int)pvVar30 + 8);\n                  }\n                }\n              }" { (expression_statement "sVar5 = psVar20[6];" (assignment_expression "sVar5 = psVar20[6]" identifier = (subscript_expression "psVar20[6]" identifier [ number_literal ])) ;) (expression_statement "__dest = (void *)((int)pvVar44 + 0xc);" (assignment_expression "__dest = (void *)((int)pvVar44 + 0xc)" identifier = (cast_expression "(void *)((int)pvVar44 + 0xc)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar44 + 0xc)" ( (binary_expression "(int)pvVar44 + 0xc" (cast_expression "(int)pvVar44" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pvVar30 = (void *)((int)__dest + sVar23);" (assignment_expression "pvVar30 = (void *)((int)__dest + sVar23)" identifier = (cast_expression "(void *)((int)__dest + sVar23)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__dest + sVar23)" ( (binary_expression "(int)__dest + sVar23" (cast_expression "(int)__dest" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (if_statement "if ((sVar5 == local_74) && (psVar20[7] == sVar18)) {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar5,sVar5);\n                  (**(code **)(param_1[1] + 0x30))(0,(int)pvVar44 + 4);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                }\n                else {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar18,sVar18);\n                  cVar8 = '\b';\n                  if (*(int *)(param_1[1] + 4) == 5) {\n                    cVar8 = (*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b';\n                  }\n                  (**(code **)(param_1[1] + 0x30))(cVar8,(int)pvVar44 + 4,sVar23,sVar23);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                  sVar18 = param_1[1];\n                  psVar25 = param_1;\n                  if ((*(int *)(sVar18 + 4) == 5) &&\n                     (psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02')) {\n                    (**(code **)(sVar18 + 0x24))(sVar5,0,pvVar30,psVar25);\n                    (**(code **)(param_1[1] + 0x24))(psVar20[7],0,(void *)((int)pvVar30 + 8));\n                    pvVar30 = (void *)((int)pvVar30 + 0x10);\n                  }\n                  else {\n                    (**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25);\n                    (**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4);\n                    pvVar30 = (void *)((int)pvVar30 + 8);\n                  }\n                }" if (parenthesized_expression "((sVar5 == local_74) && (psVar20[7] == sVar18))" ( (binary_expression "(sVar5 == local_74) && (psVar20[7] == sVar18)" (parenthesized_expression "(sVar5 == local_74)" ( (binary_expression "sVar5 == local_74" identifier == identifier) )) && (parenthesized_expression "(psVar20[7] == sVar18)" ( (binary_expression "psVar20[7] == sVar18" (subscript_expression "psVar20[7]" identifier [ number_literal ]) == identifier) ))) )) (compound_statement "{\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar5,sVar5);\n                  (**(code **)(param_1[1] + 0x30))(0,(int)pvVar44 + 4);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                }" { (expression_statement "(**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar5,sVar5);" (call_expression "(**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar5,sVar5)" (parenthesized_expression "(**(code **)(param_1[1] + 0x30))" ( (pointer_expression "**(code **)(param_1[1] + 0x30)" * (pointer_expression "*(code **)(param_1[1] + 0x30)" * (cast_expression "(code **)(param_1[1] + 0x30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1[1] + 0x30)" ( (binary_expression "param_1[1] + 0x30" (subscript_expression "param_1[1]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(sVar23,pvVar44,sVar5,sVar5)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "(**(code **)(param_1[1] + 0x30))(0,(int)pvVar44 + 4);" (call_expression "(**(code **)(param_1[1] + 0x30))(0,(int)pvVar44 + 4)" (parenthesized_expression "(**(code **)(param_1[1] + 0x30))" ( (pointer_expression "**(code **)(param_1[1] + 0x30)" * (pointer_expression "*(code **)(param_1[1] + 0x30)" * (cast_expression "(code **)(param_1[1] + 0x30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1[1] + 0x30)" ( (binary_expression "param_1[1] + 0x30" (subscript_expression "param_1[1]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(0,(int)pvVar44 + 4)" ( number_literal , (binary_expression "(int)pvVar44 + 4" (cast_expression "(int)pvVar44" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) ;) (expression_statement "(**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);" (call_expression "(**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8)" (parenthesized_expression "(**(code **)(param_1[1] + 0x30))" ( (pointer_expression "**(code **)(param_1[1] + 0x30)" * (pointer_expression "*(code **)(param_1[1] + 0x30)" * (cast_expression "(code **)(param_1[1] + 0x30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1[1] + 0x30)" ( (binary_expression "param_1[1] + 0x30" (subscript_expression "param_1[1]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(sVar2,(int)pvVar44 + 8)" ( identifier , (binary_expression "(int)pvVar44 + 8" (cast_expression "(int)pvVar44" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) ;) (expression_statement "memcpy(__dest,(void *)psVar20[3],sVar23);" (call_expression "memcpy(__dest,(void *)psVar20[3],sVar23)" identifier (argument_list "(__dest,(void *)psVar20[3],sVar23)" ( identifier , (cast_expression "(void *)psVar20[3]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "psVar20[3]" identifier [ number_literal ])) , identifier ))) ;) }) (else_clause "else {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar18,sVar18);\n                  cVar8 = '\b';\n                  if (*(int *)(param_1[1] + 4) == 5) {\n                    cVar8 = (*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b';\n                  }\n                  (**(code **)(param_1[1] + 0x30))(cVar8,(int)pvVar44 + 4,sVar23,sVar23);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                  sVar18 = param_1[1];\n                  psVar25 = param_1;\n                  if ((*(int *)(sVar18 + 4) == 5) &&\n                     (psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02')) {\n                    (**(code **)(sVar18 + 0x24))(sVar5,0,pvVar30,psVar25);\n                    (**(code **)(param_1[1] + 0x24))(psVar20[7],0,(void *)((int)pvVar30 + 8));\n                    pvVar30 = (void *)((int)pvVar30 + 0x10);\n                  }\n                  else {\n                    (**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25);\n                    (**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4);\n                    pvVar30 = (void *)((int)pvVar30 + 8);\n                  }\n                }" else (compound_statement "{\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar18,sVar18);\n                  cVar8 = '\b';\n                  if (*(int *)(param_1[1] + 4) == 5) {\n                    cVar8 = (*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b';\n                  }\n                  (**(code **)(param_1[1] + 0x30))(cVar8,(int)pvVar44 + 4,sVar23,sVar23);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                  sVar18 = param_1[1];\n                  psVar25 = param_1;\n                  if ((*(int *)(sVar18 + 4) == 5) &&\n                     (psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02')) {\n                    (**(code **)(sVar18 + 0x24))(sVar5,0,pvVar30,psVar25);\n                    (**(code **)(param_1[1] + 0x24))(psVar20[7],0,(void *)((int)pvVar30 + 8));\n                    pvVar30 = (void *)((int)pvVar30 + 0x10);\n                  }\n                  else {\n                    (**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25);\n                    (**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4);\n                    pvVar30 = (void *)((int)pvVar30 + 8);\n                  }\n                }" { (expression_statement "(**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar18,sVar18);" (call_expression "(**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar18,sVar18)" (parenthesized_expression "(**(code **)(param_1[1] + 0x30))" ( (pointer_expression "**(code **)(param_1[1] + 0x30)" * (pointer_expression "*(code **)(param_1[1] + 0x30)" * (cast_expression "(code **)(param_1[1] + 0x30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1[1] + 0x30)" ( (binary_expression "param_1[1] + 0x30" (subscript_expression "param_1[1]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(sVar23,pvVar44,sVar18,sVar18)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "cVar8 = '\b';" (assignment_expression "cVar8 = '\b'" identifier = (char_literal "'\b'" ' escape_sequence ')) ;) (if_statement "if (*(int *)(param_1[1] + 4) == 5) {\n                    cVar8 = (*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b';\n                  }" if (parenthesized_expression "(*(int *)(param_1[1] + 4) == 5)" ( (binary_expression "*(int *)(param_1[1] + 4) == 5" (pointer_expression "*(int *)(param_1[1] + 4)" * (cast_expression "(int *)(param_1[1] + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[1] + 4)" ( (binary_expression "param_1[1] + 4" (subscript_expression "param_1[1]" identifier [ number_literal ]) + number_literal) )))) == number_literal) )) (compound_statement "{\n                    cVar8 = (*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b';\n                  }" { (expression_statement "cVar8 = (*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b';" (assignment_expression "cVar8 = (*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b'" identifier = (binary_expression "(*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b'" (binary_expression "(*(char *)(param_1[0x27] + 4) == '\x02') * '\b'" (parenthesized_expression "(*(char *)(param_1[0x27] + 4) == '\x02')" ( (binary_expression "*(char *)(param_1[0x27] + 4) == '\x02'" (pointer_expression "*(char *)(param_1[0x27] + 4)" * (cast_expression "(char *)(param_1[0x27] + 4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x27] + 4)" ( (binary_expression "param_1[0x27] + 4" (subscript_expression "param_1[0x27]" identifier [ number_literal ]) + number_literal) )))) == (char_literal "'\x02'" ' escape_sequence ')) )) * (char_literal "'\b'" ' escape_sequence ')) + (char_literal "'\b'" ' escape_sequence '))) ;) })) (expression_statement "(**(code **)(param_1[1] + 0x30))(cVar8,(int)pvVar44 + 4,sVar23,sVar23);" (call_expression "(**(code **)(param_1[1] + 0x30))(cVar8,(int)pvVar44 + 4,sVar23,sVar23)" (parenthesized_expression "(**(code **)(param_1[1] + 0x30))" ( (pointer_expression "**(code **)(param_1[1] + 0x30)" * (pointer_expression "*(code **)(param_1[1] + 0x30)" * (cast_expression "(code **)(param_1[1] + 0x30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1[1] + 0x30)" ( (binary_expression "param_1[1] + 0x30" (subscript_expression "param_1[1]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(cVar8,(int)pvVar44 + 4,sVar23,sVar23)" ( identifier , (binary_expression "(int)pvVar44 + 4" (cast_expression "(int)pvVar44" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , identifier , identifier ))) ;) (expression_statement "(**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);" (call_expression "(**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8)" (parenthesized_expression "(**(code **)(param_1[1] + 0x30))" ( (pointer_expression "**(code **)(param_1[1] + 0x30)" * (pointer_expression "*(code **)(param_1[1] + 0x30)" * (cast_expression "(code **)(param_1[1] + 0x30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1[1] + 0x30)" ( (binary_expression "param_1[1] + 0x30" (subscript_expression "param_1[1]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(sVar2,(int)pvVar44 + 8)" ( identifier , (binary_expression "(int)pvVar44 + 8" (cast_expression "(int)pvVar44" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) ;) (expression_statement "memcpy(__dest,(void *)psVar20[3],sVar23);" (call_expression "memcpy(__dest,(void *)psVar20[3],sVar23)" identifier (argument_list "(__dest,(void *)psVar20[3],sVar23)" ( identifier , (cast_expression "(void *)psVar20[3]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "psVar20[3]" identifier [ number_literal ])) , identifier ))) ;) (expression_statement "sVar18 = param_1[1];" (assignment_expression "sVar18 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (expression_statement "psVar25 = param_1;" (assignment_expression "psVar25 = param_1" identifier = identifier) ;) (if_statement "if ((*(int *)(sVar18 + 4) == 5) &&\n                     (psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02')) {\n                    (**(code **)(sVar18 + 0x24))(sVar5,0,pvVar30,psVar25);\n                    (**(code **)(param_1[1] + 0x24))(psVar20[7],0,(void *)((int)pvVar30 + 8));\n                    pvVar30 = (void *)((int)pvVar30 + 0x10);\n                  }\n                  else {\n                    (**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25);\n                    (**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4);\n                    pvVar30 = (void *)((int)pvVar30 + 8);\n                  }" if (parenthesized_expression "((*(int *)(sVar18 + 4) == 5) &&\n                     (psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02'))" ( (binary_expression "(*(int *)(sVar18 + 4) == 5) &&\n                     (psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02')" (parenthesized_expression "(*(int *)(sVar18 + 4) == 5)" ( (binary_expression "*(int *)(sVar18 + 4) == 5" (pointer_expression "*(int *)(sVar18 + 4)" * (cast_expression "(int *)(sVar18 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar18 + 4)" ( (binary_expression "sVar18 + 4" identifier + number_literal) )))) == number_literal) )) && (parenthesized_expression "(psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02')" ( (comma_expression "psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02'" (assignment_expression "psVar25 = (size_t *)param_1[0x27]" identifier = (cast_expression "(size_t *)param_1[0x27]" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[0x27]" identifier [ number_literal ]))) , (binary_expression "(char)psVar25[1] == '\x02'" (cast_expression "(char)psVar25[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "psVar25[1]" identifier [ number_literal ])) == (char_literal "'\x02'" ' escape_sequence '))) ))) )) (compound_statement "{\n                    (**(code **)(sVar18 + 0x24))(sVar5,0,pvVar30,psVar25);\n                    (**(code **)(param_1[1] + 0x24))(psVar20[7],0,(void *)((int)pvVar30 + 8));\n                    pvVar30 = (void *)((int)pvVar30 + 0x10);\n                  }" { (expression_statement "(**(code **)(sVar18 + 0x24))(sVar5,0,pvVar30,psVar25);" (call_expression "(**(code **)(sVar18 + 0x24))(sVar5,0,pvVar30,psVar25)" (parenthesized_expression "(**(code **)(sVar18 + 0x24))" ( (pointer_expression "**(code **)(sVar18 + 0x24)" * (pointer_expression "*(code **)(sVar18 + 0x24)" * (cast_expression "(code **)(sVar18 + 0x24)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(sVar18 + 0x24)" ( (binary_expression "sVar18 + 0x24" identifier + number_literal) ))))) )) (argument_list "(sVar5,0,pvVar30,psVar25)" ( identifier , number_literal , identifier , identifier ))) ;) (expression_statement "(**(code **)(param_1[1] + 0x24))(psVar20[7],0,(void *)((int)pvVar30 + 8));" (call_expression "(**(code **)(param_1[1] + 0x24))(psVar20[7],0,(void *)((int)pvVar30 + 8))" (parenthesized_expression "(**(code **)(param_1[1] + 0x24))" ( (pointer_expression "**(code **)(param_1[1] + 0x24)" * (pointer_expression "*(code **)(param_1[1] + 0x24)" * (cast_expression "(code **)(param_1[1] + 0x24)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1[1] + 0x24)" ( (binary_expression "param_1[1] + 0x24" (subscript_expression "param_1[1]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(psVar20[7],0,(void *)((int)pvVar30 + 8))" ( (subscript_expression "psVar20[7]" identifier [ number_literal ]) , number_literal , (cast_expression "(void *)((int)pvVar30 + 8)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar30 + 8)" ( (binary_expression "(int)pvVar30 + 8" (cast_expression "(int)pvVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) ))) ;) (expression_statement "pvVar30 = (void *)((int)pvVar30 + 0x10);" (assignment_expression "pvVar30 = (void *)((int)pvVar30 + 0x10)" identifier = (cast_expression "(void *)((int)pvVar30 + 0x10)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar30 + 0x10)" ( (binary_expression "(int)pvVar30 + 0x10" (cast_expression "(int)pvVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) (else_clause "else {\n                    (**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25);\n                    (**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4);\n                    pvVar30 = (void *)((int)pvVar30 + 8);\n                  }" else (compound_statement "{\n                    (**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25);\n                    (**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4);\n                    pvVar30 = (void *)((int)pvVar30 + 8);\n                  }" { (expression_statement "(**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25);" (call_expression "(**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25)" (parenthesized_expression "(**(code **)(sVar18 + 0x30))" ( (pointer_expression "**(code **)(sVar18 + 0x30)" * (pointer_expression "*(code **)(sVar18 + 0x30)" * (cast_expression "(code **)(sVar18 + 0x30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(sVar18 + 0x30)" ( (binary_expression "sVar18 + 0x30" identifier + number_literal) ))))) )) (argument_list "(sVar5,pvVar30,psVar25,psVar25)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "(**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4);" (call_expression "(**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4)" (parenthesized_expression "(**(code **)(param_1[1] + 0x30))" ( (pointer_expression "**(code **)(param_1[1] + 0x30)" * (pointer_expression "*(code **)(param_1[1] + 0x30)" * (cast_expression "(code **)(param_1[1] + 0x30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1[1] + 0x30)" ( (binary_expression "param_1[1] + 0x30" (subscript_expression "param_1[1]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(psVar20[7],(int)pvVar30 + 4)" ( (subscript_expression "psVar20[7]" identifier [ number_literal ]) , (binary_expression "(int)pvVar30 + 4" (cast_expression "(int)pvVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) ;) (expression_statement "pvVar30 = (void *)((int)pvVar30 + 8);" (assignment_expression "pvVar30 = (void *)((int)pvVar30 + 8)" identifier = (cast_expression "(void *)((int)pvVar30 + 8)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar30 + 8)" ( (binary_expression "(int)pvVar30 + 8" (cast_expression "(int)pvVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }))) }))) }))) (expression_statement "local_74 = psVar20[6];" (assignment_expression "local_74 = psVar20[6]" identifier = (subscript_expression "psVar20[6]" identifier [ number_literal ])) ;) (expression_statement "sVar18 = psVar20[7];" (assignment_expression "sVar18 = psVar20[7]" identifier = (subscript_expression "psVar20[7]" identifier [ number_literal ])) ;) })) (expression_statement "local_80 = (size_t *)((int)local_80 + __n);" (assignment_expression "local_80 = (size_t *)((int)local_80 + __n)" identifier = (cast_expression "(size_t *)((int)local_80 + __n)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_80 + __n)" ( (binary_expression "(int)local_80 + __n" (cast_expression "(int)local_80" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "pvVar44 = pvVar30;" (assignment_expression "pvVar44 = pvVar30" identifier = identifier) ;) })) (expression_statement "sVar18 = (int)pvVar44 - (int)pvVar24;" (assignment_expression "sVar18 = (int)pvVar44 - (int)pvVar24" identifier = (binary_expression "(int)pvVar44 - (int)pvVar24" (cast_expression "(int)pvVar44" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pvVar24" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "memcpy(psVar38,pvVar24,sVar18);" (call_expression "memcpy(psVar38,pvVar24,sVar18)" identifier (argument_list "(psVar38,pvVar24,sVar18)" ( identifier , identifier , identifier ))) ;) (expression_statement "free(pvVar24);" (call_expression "free(pvVar24)" identifier (argument_list "(pvVar24)" ( identifier ))) ;) (expression_statement "free(local_60);" (call_expression "free(local_60)" identifier (argument_list "(local_60)" ( identifier ))) ;) (expression_statement "DAT_0003fb7c = sVar18;" (assignment_expression "DAT_0003fb7c = sVar18" identifier = identifier) ;) (if_statement "if (uVar35 != sVar18) {\n            uVar10 = extraout_ECX_02;\n            if ((*(int *)(sVar17 + 0x3c) != 0) &&\n               (iVar9 = bfd_set_section_size(param_2,*(int *)(sVar17 + 0x3c),sVar18,extraout_EDX),\n               uVar10 = extraout_ECX_03, iVar9 != 0)) goto LAB_00018aad;\n            uVar10 = dcgettext(0,"warning: failed to set merged notes size",5,uVar10);\n            FUN_0002c160(0,param_2,sVar17,uVar10);\n          }" if (parenthesized_expression "(uVar35 != sVar18)" ( (binary_expression "uVar35 != sVar18" identifier != identifier) )) (compound_statement "{\n            uVar10 = extraout_ECX_02;\n            if ((*(int *)(sVar17 + 0x3c) != 0) &&\n               (iVar9 = bfd_set_section_size(param_2,*(int *)(sVar17 + 0x3c),sVar18,extraout_EDX),\n               uVar10 = extraout_ECX_03, iVar9 != 0)) goto LAB_00018aad;\n            uVar10 = dcgettext(0,"warning: failed to set merged notes size",5,uVar10);\n            FUN_0002c160(0,param_2,sVar17,uVar10);\n          }" { (expression_statement "uVar10 = extraout_ECX_02;" (assignment_expression "uVar10 = extraout_ECX_02" identifier = identifier) ;) (if_statement "if ((*(int *)(sVar17 + 0x3c) != 0) &&\n               (iVar9 = bfd_set_section_size(param_2,*(int *)(sVar17 + 0x3c),sVar18,extraout_EDX),\n               uVar10 = extraout_ECX_03, iVar9 != 0)) goto LAB_00018aad;" if (parenthesized_expression "((*(int *)(sVar17 + 0x3c) != 0) &&\n               (iVar9 = bfd_set_section_size(param_2,*(int *)(sVar17 + 0x3c),sVar18,extraout_EDX),\n               uVar10 = extraout_ECX_03, iVar9 != 0))" ( (binary_expression "(*(int *)(sVar17 + 0x3c) != 0) &&\n               (iVar9 = bfd_set_section_size(param_2,*(int *)(sVar17 + 0x3c),sVar18,extraout_EDX),\n               uVar10 = extraout_ECX_03, iVar9 != 0)" (parenthesized_expression "(*(int *)(sVar17 + 0x3c) != 0)" ( (binary_expression "*(int *)(sVar17 + 0x3c) != 0" (pointer_expression "*(int *)(sVar17 + 0x3c)" * (cast_expression "(int *)(sVar17 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar17 + 0x3c)" ( (binary_expression "sVar17 + 0x3c" identifier + number_literal) )))) != number_literal) )) && (parenthesized_expression "(iVar9 = bfd_set_section_size(param_2,*(int *)(sVar17 + 0x3c),sVar18,extraout_EDX),\n               uVar10 = extraout_ECX_03, iVar9 != 0)" ( (comma_expression "iVar9 = bfd_set_section_size(param_2,*(int *)(sVar17 + 0x3c),sVar18,extraout_EDX),\n               uVar10 = extraout_ECX_03, iVar9 != 0" (assignment_expression "iVar9 = bfd_set_section_size(param_2,*(int *)(sVar17 + 0x3c),sVar18,extraout_EDX)" identifier = (call_expression "bfd_set_section_size(param_2,*(int *)(sVar17 + 0x3c),sVar18,extraout_EDX)" identifier (argument_list "(param_2,*(int *)(sVar17 + 0x3c),sVar18,extraout_EDX)" ( identifier , (pointer_expression "*(int *)(sVar17 + 0x3c)" * (cast_expression "(int *)(sVar17 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar17 + 0x3c)" ( (binary_expression "sVar17 + 0x3c" identifier + number_literal) )))) , identifier , identifier )))) , (comma_expression "uVar10 = extraout_ECX_03, iVar9 != 0" (assignment_expression "uVar10 = extraout_ECX_03" identifier = identifier) , (binary_expression "iVar9 != 0" identifier != number_literal))) ))) )) (goto_statement "goto LAB_00018aad;" goto statement_identifier ;)) (expression_statement "uVar10 = dcgettext(0,"warning: failed to set merged notes size",5,uVar10);" (assignment_expression "uVar10 = dcgettext(0,"warning: failed to set merged notes size",5,uVar10)" identifier = (call_expression "dcgettext(0,"warning: failed to set merged notes size",5,uVar10)" identifier (argument_list "(0,"warning: failed to set merged notes size",5,uVar10)" ( number_literal , (string_literal ""warning: failed to set merged notes size"" " string_content ") , number_literal , identifier )))) ;) (expression_statement "FUN_0002c160(0,param_2,sVar17,uVar10);" (call_expression "FUN_0002c160(0,param_2,sVar17,uVar10)" identifier (argument_list "(0,param_2,sVar17,uVar10)" ( number_literal , identifier , identifier , identifier ))) ;) })) }) (else_clause "else {\n          iVar9 = dcgettext(0,"corrupt GNU build attribute notes: excess data at end",5,local_64);\nLAB_0001a72d:\n          if (iVar9 != 0) {\n            bfd_set_error(0x11);\n            FUN_0002c160(0,param_1,sVar17,iVar9);\n            DAT_0003fb88 = 1;\n          }\nLAB_0001a75c:\n          free(local_60);\n        }" else (compound_statement "{\n          iVar9 = dcgettext(0,"corrupt GNU build attribute notes: excess data at end",5,local_64);\nLAB_0001a72d:\n          if (iVar9 != 0) {\n            bfd_set_error(0x11);\n            FUN_0002c160(0,param_1,sVar17,iVar9);\n            DAT_0003fb88 = 1;\n          }\nLAB_0001a75c:\n          free(local_60);\n        }" { (expression_statement "iVar9 = dcgettext(0,"corrupt GNU build attribute notes: excess data at end",5,local_64);" (assignment_expression "iVar9 = dcgettext(0,"corrupt GNU build attribute notes: excess data at end",5,local_64)" identifier = (call_expression "dcgettext(0,"corrupt GNU build attribute notes: excess data at end",5,local_64)" identifier (argument_list "(0,"corrupt GNU build attribute notes: excess data at end",5,local_64)" ( number_literal , (string_literal ""corrupt GNU build attribute notes: excess data at end"" " string_content ") , number_literal , identifier )))) ;) (labeled_statement "LAB_0001a72d:\n          if (iVar9 != 0) {\n            bfd_set_error(0x11);\n            FUN_0002c160(0,param_1,sVar17,iVar9);\n            DAT_0003fb88 = 1;\n          }" statement_identifier : (if_statement "if (iVar9 != 0) {\n            bfd_set_error(0x11);\n            FUN_0002c160(0,param_1,sVar17,iVar9);\n            DAT_0003fb88 = 1;\n          }" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (compound_statement "{\n            bfd_set_error(0x11);\n            FUN_0002c160(0,param_1,sVar17,iVar9);\n            DAT_0003fb88 = 1;\n          }" { (expression_statement "bfd_set_error(0x11);" (call_expression "bfd_set_error(0x11)" identifier (argument_list "(0x11)" ( number_literal ))) ;) (expression_statement "FUN_0002c160(0,param_1,sVar17,iVar9);" (call_expression "FUN_0002c160(0,param_1,sVar17,iVar9)" identifier (argument_list "(0,param_1,sVar17,iVar9)" ( number_literal , identifier , identifier , identifier ))) ;) (expression_statement "DAT_0003fb88 = 1;" (assignment_expression "DAT_0003fb88 = 1" identifier = number_literal) ;) }))) (labeled_statement "LAB_0001a75c:\n          free(local_60);" statement_identifier : (expression_statement "free(local_60);" (call_expression "free(local_60)" identifier (argument_list "(local_60)" ( identifier ))) ;)) }))) (expression_statement "free(DAT_0003fb80);" (call_expression "free(DAT_0003fb80)" identifier (argument_list "(DAT_0003fb80)" ( identifier ))) ;) (expression_statement "DAT_0003fb80 = (size_t *)0x0;" (assignment_expression "DAT_0003fb80 = (size_t *)0x0" identifier = (cast_expression "(size_t *)0x0" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "DAT_0003fb84 = 0;" (assignment_expression "DAT_0003fb84 = 0" identifier = number_literal) ;) (expression_statement "DAT_0003fb7c = 0;" (assignment_expression "DAT_0003fb7c = 0" identifier = number_literal) ;) }))) }))) })) (labeled_statement "LAB_00018aad:\n  local_98 = DAT_0003fb2c;" statement_identifier : (expression_statement "local_98 = DAT_0003fb2c;" (assignment_expression "local_98 = DAT_0003fb2c" identifier = identifier) ;)) (for_statement "for (puVar33 = DAT_0003fb30; DAT_0003fb2c = local_98, puVar33 != (undefined4 *)0x0;\n      puVar33 = (undefined4 *)*puVar33) {\n    iVar9 = bfd_get_section_by_name(param_1,puVar33[1]);\n    if (iVar9 == 0) {\n      uVar10 = puVar33[1];\n      uVar11 = dcgettext(0,"can\'t dump section \'%s\' - it does not exist",5);\n      FUN_0002c160(0,param_1,0,uVar11,uVar10);\n    }\n    else {\n      if ((*(byte *)(iVar9 + 0x15) & 1) == 0) {\n        pcVar22 = "can\'t dump section - it has no contents";\n      }\n      else {\n        sVar17 = *(size_t *)(iVar9 + 0x24);\n        if (sVar17 != 0) {\n          __s = fopen64((char *)puVar33[2],"w");\n          if (__s == (FILE *)0x0) {\n            uVar10 = dcgettext(0,"could not open section dump file",5);\n            FUN_0002c160(puVar33[2],0,0,uVar10);\n          }\n          else {\n            iVar12 = bfd_malloc_and_get_section(param_1,iVar9,&local_30);\n            if (iVar12 == 0) {\n              uVar10 = dcgettext(0,"could not retrieve section contents",5);\n              FUN_0002c160(0,param_1,iVar9,uVar10);\n            }\n            else {\n              sVar18 = fwrite(local_30,1,sVar17,__s);\n              if (sVar17 != sVar18) {\n                piVar15 = __errno_location();\n                pcVar22 = strerror(*piVar15);\n                uVar10 = puVar33[2];\n                uVar11 = dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                FUN_0002b6d0(uVar11,uVar10,pcVar22);\n                free(local_30);\n                return 0;\n              }\n            }\n            fclose(__s);\n            free(local_30);\n          }\n          goto LAB_00018b49;\n        }\n        pcVar22 = "can\'t dump section - it is empty";\n      }\n      uVar10 = dcgettext(0,pcVar22,5);\n      FUN_0002c160(0,param_1,iVar9,uVar10);\n    }\nLAB_00018b49:\n    local_98 = DAT_0003fb2c;\n  }" for ( (assignment_expression "puVar33 = DAT_0003fb30" identifier = identifier) ; (comma_expression "DAT_0003fb2c = local_98, puVar33 != (undefined4 *)0x0" (assignment_expression "DAT_0003fb2c = local_98" identifier = identifier) , (binary_expression "puVar33 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ; (assignment_expression "puVar33 = (undefined4 *)*puVar33" identifier = (cast_expression "(undefined4 *)*puVar33" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar33" * identifier))) ) (compound_statement "{\n    iVar9 = bfd_get_section_by_name(param_1,puVar33[1]);\n    if (iVar9 == 0) {\n      uVar10 = puVar33[1];\n      uVar11 = dcgettext(0,"can\'t dump section \'%s\' - it does not exist",5);\n      FUN_0002c160(0,param_1,0,uVar11,uVar10);\n    }\n    else {\n      if ((*(byte *)(iVar9 + 0x15) & 1) == 0) {\n        pcVar22 = "can\'t dump section - it has no contents";\n      }\n      else {\n        sVar17 = *(size_t *)(iVar9 + 0x24);\n        if (sVar17 != 0) {\n          __s = fopen64((char *)puVar33[2],"w");\n          if (__s == (FILE *)0x0) {\n            uVar10 = dcgettext(0,"could not open section dump file",5);\n            FUN_0002c160(puVar33[2],0,0,uVar10);\n          }\n          else {\n            iVar12 = bfd_malloc_and_get_section(param_1,iVar9,&local_30);\n            if (iVar12 == 0) {\n              uVar10 = dcgettext(0,"could not retrieve section contents",5);\n              FUN_0002c160(0,param_1,iVar9,uVar10);\n            }\n            else {\n              sVar18 = fwrite(local_30,1,sVar17,__s);\n              if (sVar17 != sVar18) {\n                piVar15 = __errno_location();\n                pcVar22 = strerror(*piVar15);\n                uVar10 = puVar33[2];\n                uVar11 = dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                FUN_0002b6d0(uVar11,uVar10,pcVar22);\n                free(local_30);\n                return 0;\n              }\n            }\n            fclose(__s);\n            free(local_30);\n          }\n          goto LAB_00018b49;\n        }\n        pcVar22 = "can\'t dump section - it is empty";\n      }\n      uVar10 = dcgettext(0,pcVar22,5);\n      FUN_0002c160(0,param_1,iVar9,uVar10);\n    }\nLAB_00018b49:\n    local_98 = DAT_0003fb2c;\n  }" { (expression_statement "iVar9 = bfd_get_section_by_name(param_1,puVar33[1]);" (assignment_expression "iVar9 = bfd_get_section_by_name(param_1,puVar33[1])" identifier = (call_expression "bfd_get_section_by_name(param_1,puVar33[1])" identifier (argument_list "(param_1,puVar33[1])" ( identifier , (subscript_expression "puVar33[1]" identifier [ number_literal ]) )))) ;) (if_statement "if (iVar9 == 0) {\n      uVar10 = puVar33[1];\n      uVar11 = dcgettext(0,"can\'t dump section \'%s\' - it does not exist",5);\n      FUN_0002c160(0,param_1,0,uVar11,uVar10);\n    }\n    else {\n      if ((*(byte *)(iVar9 + 0x15) & 1) == 0) {\n        pcVar22 = "can\'t dump section - it has no contents";\n      }\n      else {\n        sVar17 = *(size_t *)(iVar9 + 0x24);\n        if (sVar17 != 0) {\n          __s = fopen64((char *)puVar33[2],"w");\n          if (__s == (FILE *)0x0) {\n            uVar10 = dcgettext(0,"could not open section dump file",5);\n            FUN_0002c160(puVar33[2],0,0,uVar10);\n          }\n          else {\n            iVar12 = bfd_malloc_and_get_section(param_1,iVar9,&local_30);\n            if (iVar12 == 0) {\n              uVar10 = dcgettext(0,"could not retrieve section contents",5);\n              FUN_0002c160(0,param_1,iVar9,uVar10);\n            }\n            else {\n              sVar18 = fwrite(local_30,1,sVar17,__s);\n              if (sVar17 != sVar18) {\n                piVar15 = __errno_location();\n                pcVar22 = strerror(*piVar15);\n                uVar10 = puVar33[2];\n                uVar11 = dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                FUN_0002b6d0(uVar11,uVar10,pcVar22);\n                free(local_30);\n                return 0;\n              }\n            }\n            fclose(__s);\n            free(local_30);\n          }\n          goto LAB_00018b49;\n        }\n        pcVar22 = "can\'t dump section - it is empty";\n      }\n      uVar10 = dcgettext(0,pcVar22,5);\n      FUN_0002c160(0,param_1,iVar9,uVar10);\n    }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n      uVar10 = puVar33[1];\n      uVar11 = dcgettext(0,"can\'t dump section \'%s\' - it does not exist",5);\n      FUN_0002c160(0,param_1,0,uVar11,uVar10);\n    }" { (expression_statement "uVar10 = puVar33[1];" (assignment_expression "uVar10 = puVar33[1]" identifier = (subscript_expression "puVar33[1]" identifier [ number_literal ])) ;) (expression_statement "uVar11 = dcgettext(0,"can\'t dump section \'%s\' - it does not exist",5);" (assignment_expression "uVar11 = dcgettext(0,"can\'t dump section \'%s\' - it does not exist",5)" identifier = (call_expression "dcgettext(0,"can\'t dump section \'%s\' - it does not exist",5)" identifier (argument_list "(0,"can\'t dump section \'%s\' - it does not exist",5)" ( number_literal , (string_literal ""can\'t dump section \'%s\' - it does not exist"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content ") , number_literal )))) ;) (expression_statement "FUN_0002c160(0,param_1,0,uVar11,uVar10);" (call_expression "FUN_0002c160(0,param_1,0,uVar11,uVar10)" identifier (argument_list "(0,param_1,0,uVar11,uVar10)" ( number_literal , identifier , number_literal , identifier , identifier ))) ;) }) (else_clause "else {\n      if ((*(byte *)(iVar9 + 0x15) & 1) == 0) {\n        pcVar22 = "can\'t dump section - it has no contents";\n      }\n      else {\n        sVar17 = *(size_t *)(iVar9 + 0x24);\n        if (sVar17 != 0) {\n          __s = fopen64((char *)puVar33[2],"w");\n          if (__s == (FILE *)0x0) {\n            uVar10 = dcgettext(0,"could not open section dump file",5);\n            FUN_0002c160(puVar33[2],0,0,uVar10);\n          }\n          else {\n            iVar12 = bfd_malloc_and_get_section(param_1,iVar9,&local_30);\n            if (iVar12 == 0) {\n              uVar10 = dcgettext(0,"could not retrieve section contents",5);\n              FUN_0002c160(0,param_1,iVar9,uVar10);\n            }\n            else {\n              sVar18 = fwrite(local_30,1,sVar17,__s);\n              if (sVar17 != sVar18) {\n                piVar15 = __errno_location();\n                pcVar22 = strerror(*piVar15);\n                uVar10 = puVar33[2];\n                uVar11 = dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                FUN_0002b6d0(uVar11,uVar10,pcVar22);\n                free(local_30);\n                return 0;\n              }\n            }\n            fclose(__s);\n            free(local_30);\n          }\n          goto LAB_00018b49;\n        }\n        pcVar22 = "can\'t dump section - it is empty";\n      }\n      uVar10 = dcgettext(0,pcVar22,5);\n      FUN_0002c160(0,param_1,iVar9,uVar10);\n    }" else (compound_statement "{\n      if ((*(byte *)(iVar9 + 0x15) & 1) == 0) {\n        pcVar22 = "can\'t dump section - it has no contents";\n      }\n      else {\n        sVar17 = *(size_t *)(iVar9 + 0x24);\n        if (sVar17 != 0) {\n          __s = fopen64((char *)puVar33[2],"w");\n          if (__s == (FILE *)0x0) {\n            uVar10 = dcgettext(0,"could not open section dump file",5);\n            FUN_0002c160(puVar33[2],0,0,uVar10);\n          }\n          else {\n            iVar12 = bfd_malloc_and_get_section(param_1,iVar9,&local_30);\n            if (iVar12 == 0) {\n              uVar10 = dcgettext(0,"could not retrieve section contents",5);\n              FUN_0002c160(0,param_1,iVar9,uVar10);\n            }\n            else {\n              sVar18 = fwrite(local_30,1,sVar17,__s);\n              if (sVar17 != sVar18) {\n                piVar15 = __errno_location();\n                pcVar22 = strerror(*piVar15);\n                uVar10 = puVar33[2];\n                uVar11 = dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                FUN_0002b6d0(uVar11,uVar10,pcVar22);\n                free(local_30);\n                return 0;\n              }\n            }\n            fclose(__s);\n            free(local_30);\n          }\n          goto LAB_00018b49;\n        }\n        pcVar22 = "can\'t dump section - it is empty";\n      }\n      uVar10 = dcgettext(0,pcVar22,5);\n      FUN_0002c160(0,param_1,iVar9,uVar10);\n    }" { (if_statement "if ((*(byte *)(iVar9 + 0x15) & 1) == 0) {\n        pcVar22 = "can\'t dump section - it has no contents";\n      }\n      else {\n        sVar17 = *(size_t *)(iVar9 + 0x24);\n        if (sVar17 != 0) {\n          __s = fopen64((char *)puVar33[2],"w");\n          if (__s == (FILE *)0x0) {\n            uVar10 = dcgettext(0,"could not open section dump file",5);\n            FUN_0002c160(puVar33[2],0,0,uVar10);\n          }\n          else {\n            iVar12 = bfd_malloc_and_get_section(param_1,iVar9,&local_30);\n            if (iVar12 == 0) {\n              uVar10 = dcgettext(0,"could not retrieve section contents",5);\n              FUN_0002c160(0,param_1,iVar9,uVar10);\n            }\n            else {\n              sVar18 = fwrite(local_30,1,sVar17,__s);\n              if (sVar17 != sVar18) {\n                piVar15 = __errno_location();\n                pcVar22 = strerror(*piVar15);\n                uVar10 = puVar33[2];\n                uVar11 = dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                FUN_0002b6d0(uVar11,uVar10,pcVar22);\n                free(local_30);\n                return 0;\n              }\n            }\n            fclose(__s);\n            free(local_30);\n          }\n          goto LAB_00018b49;\n        }\n        pcVar22 = "can\'t dump section - it is empty";\n      }" if (parenthesized_expression "((*(byte *)(iVar9 + 0x15) & 1) == 0)" ( (binary_expression "(*(byte *)(iVar9 + 0x15) & 1) == 0" (parenthesized_expression "(*(byte *)(iVar9 + 0x15) & 1)" ( (binary_expression "*(byte *)(iVar9 + 0x15) & 1" (pointer_expression "*(byte *)(iVar9 + 0x15)" * (cast_expression "(byte *)(iVar9 + 0x15)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x15)" ( (binary_expression "iVar9 + 0x15" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n        pcVar22 = "can\'t dump section - it has no contents";\n      }" { (expression_statement "pcVar22 = "can\'t dump section - it has no contents";" (assignment_expression "pcVar22 = "can\'t dump section - it has no contents"" identifier = (string_literal ""can\'t dump section - it has no contents"" " string_content escape_sequence string_content ")) ;) }) (else_clause "else {\n        sVar17 = *(size_t *)(iVar9 + 0x24);\n        if (sVar17 != 0) {\n          __s = fopen64((char *)puVar33[2],"w");\n          if (__s == (FILE *)0x0) {\n            uVar10 = dcgettext(0,"could not open section dump file",5);\n            FUN_0002c160(puVar33[2],0,0,uVar10);\n          }\n          else {\n            iVar12 = bfd_malloc_and_get_section(param_1,iVar9,&local_30);\n            if (iVar12 == 0) {\n              uVar10 = dcgettext(0,"could not retrieve section contents",5);\n              FUN_0002c160(0,param_1,iVar9,uVar10);\n            }\n            else {\n              sVar18 = fwrite(local_30,1,sVar17,__s);\n              if (sVar17 != sVar18) {\n                piVar15 = __errno_location();\n                pcVar22 = strerror(*piVar15);\n                uVar10 = puVar33[2];\n                uVar11 = dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                FUN_0002b6d0(uVar11,uVar10,pcVar22);\n                free(local_30);\n                return 0;\n              }\n            }\n            fclose(__s);\n            free(local_30);\n          }\n          goto LAB_00018b49;\n        }\n        pcVar22 = "can\'t dump section - it is empty";\n      }" else (compound_statement "{\n        sVar17 = *(size_t *)(iVar9 + 0x24);\n        if (sVar17 != 0) {\n          __s = fopen64((char *)puVar33[2],"w");\n          if (__s == (FILE *)0x0) {\n            uVar10 = dcgettext(0,"could not open section dump file",5);\n            FUN_0002c160(puVar33[2],0,0,uVar10);\n          }\n          else {\n            iVar12 = bfd_malloc_and_get_section(param_1,iVar9,&local_30);\n            if (iVar12 == 0) {\n              uVar10 = dcgettext(0,"could not retrieve section contents",5);\n              FUN_0002c160(0,param_1,iVar9,uVar10);\n            }\n            else {\n              sVar18 = fwrite(local_30,1,sVar17,__s);\n              if (sVar17 != sVar18) {\n                piVar15 = __errno_location();\n                pcVar22 = strerror(*piVar15);\n                uVar10 = puVar33[2];\n                uVar11 = dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                FUN_0002b6d0(uVar11,uVar10,pcVar22);\n                free(local_30);\n                return 0;\n              }\n            }\n            fclose(__s);\n            free(local_30);\n          }\n          goto LAB_00018b49;\n        }\n        pcVar22 = "can\'t dump section - it is empty";\n      }" { (expression_statement "sVar17 = *(size_t *)(iVar9 + 0x24);" (assignment_expression "sVar17 = *(size_t *)(iVar9 + 0x24)" identifier = (pointer_expression "*(size_t *)(iVar9 + 0x24)" * (cast_expression "(size_t *)(iVar9 + 0x24)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x24)" ( (binary_expression "iVar9 + 0x24" identifier + number_literal) ))))) ;) (if_statement "if (sVar17 != 0) {\n          __s = fopen64((char *)puVar33[2],"w");\n          if (__s == (FILE *)0x0) {\n            uVar10 = dcgettext(0,"could not open section dump file",5);\n            FUN_0002c160(puVar33[2],0,0,uVar10);\n          }\n          else {\n            iVar12 = bfd_malloc_and_get_section(param_1,iVar9,&local_30);\n            if (iVar12 == 0) {\n              uVar10 = dcgettext(0,"could not retrieve section contents",5);\n              FUN_0002c160(0,param_1,iVar9,uVar10);\n            }\n            else {\n              sVar18 = fwrite(local_30,1,sVar17,__s);\n              if (sVar17 != sVar18) {\n                piVar15 = __errno_location();\n                pcVar22 = strerror(*piVar15);\n                uVar10 = puVar33[2];\n                uVar11 = dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                FUN_0002b6d0(uVar11,uVar10,pcVar22);\n                free(local_30);\n                return 0;\n              }\n            }\n            fclose(__s);\n            free(local_30);\n          }\n          goto LAB_00018b49;\n        }" if (parenthesized_expression "(sVar17 != 0)" ( (binary_expression "sVar17 != 0" identifier != number_literal) )) (compound_statement "{\n          __s = fopen64((char *)puVar33[2],"w");\n          if (__s == (FILE *)0x0) {\n            uVar10 = dcgettext(0,"could not open section dump file",5);\n            FUN_0002c160(puVar33[2],0,0,uVar10);\n          }\n          else {\n            iVar12 = bfd_malloc_and_get_section(param_1,iVar9,&local_30);\n            if (iVar12 == 0) {\n              uVar10 = dcgettext(0,"could not retrieve section contents",5);\n              FUN_0002c160(0,param_1,iVar9,uVar10);\n            }\n            else {\n              sVar18 = fwrite(local_30,1,sVar17,__s);\n              if (sVar17 != sVar18) {\n                piVar15 = __errno_location();\n                pcVar22 = strerror(*piVar15);\n                uVar10 = puVar33[2];\n                uVar11 = dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                FUN_0002b6d0(uVar11,uVar10,pcVar22);\n                free(local_30);\n                return 0;\n              }\n            }\n            fclose(__s);\n            free(local_30);\n          }\n          goto LAB_00018b49;\n        }" { (expression_statement "__s = fopen64((char *)puVar33[2],"w");" (assignment_expression "__s = fopen64((char *)puVar33[2],"w")" identifier = (call_expression "fopen64((char *)puVar33[2],"w")" identifier (argument_list "((char *)puVar33[2],"w")" ( (cast_expression "(char *)puVar33[2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar33[2]" identifier [ number_literal ])) , (string_literal ""w"" " string_content ") )))) ;) (if_statement "if (__s == (FILE *)0x0) {\n            uVar10 = dcgettext(0,"could not open section dump file",5);\n            FUN_0002c160(puVar33[2],0,0,uVar10);\n          }\n          else {\n            iVar12 = bfd_malloc_and_get_section(param_1,iVar9,&local_30);\n            if (iVar12 == 0) {\n              uVar10 = dcgettext(0,"could not retrieve section contents",5);\n              FUN_0002c160(0,param_1,iVar9,uVar10);\n            }\n            else {\n              sVar18 = fwrite(local_30,1,sVar17,__s);\n              if (sVar17 != sVar18) {\n                piVar15 = __errno_location();\n                pcVar22 = strerror(*piVar15);\n                uVar10 = puVar33[2];\n                uVar11 = dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                FUN_0002b6d0(uVar11,uVar10,pcVar22);\n                free(local_30);\n                return 0;\n              }\n            }\n            fclose(__s);\n            free(local_30);\n          }" if (parenthesized_expression "(__s == (FILE *)0x0)" ( (binary_expression "__s == (FILE *)0x0" identifier == (cast_expression "(FILE *)0x0" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            uVar10 = dcgettext(0,"could not open section dump file",5);\n            FUN_0002c160(puVar33[2],0,0,uVar10);\n          }" { (expression_statement "uVar10 = dcgettext(0,"could not open section dump file",5);" (assignment_expression "uVar10 = dcgettext(0,"could not open section dump file",5)" identifier = (call_expression "dcgettext(0,"could not open section dump file",5)" identifier (argument_list "(0,"could not open section dump file",5)" ( number_literal , (string_literal ""could not open section dump file"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0002c160(puVar33[2],0,0,uVar10);" (call_expression "FUN_0002c160(puVar33[2],0,0,uVar10)" identifier (argument_list "(puVar33[2],0,0,uVar10)" ( (subscript_expression "puVar33[2]" identifier [ number_literal ]) , number_literal , number_literal , identifier ))) ;) }) (else_clause "else {\n            iVar12 = bfd_malloc_and_get_section(param_1,iVar9,&local_30);\n            if (iVar12 == 0) {\n              uVar10 = dcgettext(0,"could not retrieve section contents",5);\n              FUN_0002c160(0,param_1,iVar9,uVar10);\n            }\n            else {\n              sVar18 = fwrite(local_30,1,sVar17,__s);\n              if (sVar17 != sVar18) {\n                piVar15 = __errno_location();\n                pcVar22 = strerror(*piVar15);\n                uVar10 = puVar33[2];\n                uVar11 = dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                FUN_0002b6d0(uVar11,uVar10,pcVar22);\n                free(local_30);\n                return 0;\n              }\n            }\n            fclose(__s);\n            free(local_30);\n          }" else (compound_statement "{\n            iVar12 = bfd_malloc_and_get_section(param_1,iVar9,&local_30);\n            if (iVar12 == 0) {\n              uVar10 = dcgettext(0,"could not retrieve section contents",5);\n              FUN_0002c160(0,param_1,iVar9,uVar10);\n            }\n            else {\n              sVar18 = fwrite(local_30,1,sVar17,__s);\n              if (sVar17 != sVar18) {\n                piVar15 = __errno_location();\n                pcVar22 = strerror(*piVar15);\n                uVar10 = puVar33[2];\n                uVar11 = dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                FUN_0002b6d0(uVar11,uVar10,pcVar22);\n                free(local_30);\n                return 0;\n              }\n            }\n            fclose(__s);\n            free(local_30);\n          }" { (expression_statement "iVar12 = bfd_malloc_and_get_section(param_1,iVar9,&local_30);" (assignment_expression "iVar12 = bfd_malloc_and_get_section(param_1,iVar9,&local_30)" identifier = (call_expression "bfd_malloc_and_get_section(param_1,iVar9,&local_30)" identifier (argument_list "(param_1,iVar9,&local_30)" ( identifier , identifier , (pointer_expression "&local_30" & identifier) )))) ;) (if_statement "if (iVar12 == 0) {\n              uVar10 = dcgettext(0,"could not retrieve section contents",5);\n              FUN_0002c160(0,param_1,iVar9,uVar10);\n            }\n            else {\n              sVar18 = fwrite(local_30,1,sVar17,__s);\n              if (sVar17 != sVar18) {\n                piVar15 = __errno_location();\n                pcVar22 = strerror(*piVar15);\n                uVar10 = puVar33[2];\n                uVar11 = dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                FUN_0002b6d0(uVar11,uVar10,pcVar22);\n                free(local_30);\n                return 0;\n              }\n            }" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (compound_statement "{\n              uVar10 = dcgettext(0,"could not retrieve section contents",5);\n              FUN_0002c160(0,param_1,iVar9,uVar10);\n            }" { (expression_statement "uVar10 = dcgettext(0,"could not retrieve section contents",5);" (assignment_expression "uVar10 = dcgettext(0,"could not retrieve section contents",5)" identifier = (call_expression "dcgettext(0,"could not retrieve section contents",5)" identifier (argument_list "(0,"could not retrieve section contents",5)" ( number_literal , (string_literal ""could not retrieve section contents"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0002c160(0,param_1,iVar9,uVar10);" (call_expression "FUN_0002c160(0,param_1,iVar9,uVar10)" identifier (argument_list "(0,param_1,iVar9,uVar10)" ( number_literal , identifier , identifier , identifier ))) ;) }) (else_clause "else {\n              sVar18 = fwrite(local_30,1,sVar17,__s);\n              if (sVar17 != sVar18) {\n                piVar15 = __errno_location();\n                pcVar22 = strerror(*piVar15);\n                uVar10 = puVar33[2];\n                uVar11 = dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                FUN_0002b6d0(uVar11,uVar10,pcVar22);\n                free(local_30);\n                return 0;\n              }\n            }" else (compound_statement "{\n              sVar18 = fwrite(local_30,1,sVar17,__s);\n              if (sVar17 != sVar18) {\n                piVar15 = __errno_location();\n                pcVar22 = strerror(*piVar15);\n                uVar10 = puVar33[2];\n                uVar11 = dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                FUN_0002b6d0(uVar11,uVar10,pcVar22);\n                free(local_30);\n                return 0;\n              }\n            }" { (expression_statement "sVar18 = fwrite(local_30,1,sVar17,__s);" (assignment_expression "sVar18 = fwrite(local_30,1,sVar17,__s)" identifier = (call_expression "fwrite(local_30,1,sVar17,__s)" identifier (argument_list "(local_30,1,sVar17,__s)" ( identifier , number_literal , identifier , identifier )))) ;) (if_statement "if (sVar17 != sVar18) {\n                piVar15 = __errno_location();\n                pcVar22 = strerror(*piVar15);\n                uVar10 = puVar33[2];\n                uVar11 = dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                FUN_0002b6d0(uVar11,uVar10,pcVar22);\n                free(local_30);\n                return 0;\n              }" if (parenthesized_expression "(sVar17 != sVar18)" ( (binary_expression "sVar17 != sVar18" identifier != identifier) )) (compound_statement "{\n                piVar15 = __errno_location();\n                pcVar22 = strerror(*piVar15);\n                uVar10 = puVar33[2];\n                uVar11 = dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                FUN_0002b6d0(uVar11,uVar10,pcVar22);\n                free(local_30);\n                return 0;\n              }" { (expression_statement "piVar15 = __errno_location();" (assignment_expression "piVar15 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar22 = strerror(*piVar15);" (assignment_expression "pcVar22 = strerror(*piVar15)" identifier = (call_expression "strerror(*piVar15)" identifier (argument_list "(*piVar15)" ( (pointer_expression "*piVar15" * identifier) )))) ;) (expression_statement "uVar10 = puVar33[2];" (assignment_expression "uVar10 = puVar33[2]" identifier = (subscript_expression "puVar33[2]" identifier [ number_literal ])) ;) (expression_statement "uVar11 = dcgettext(0,"error writing section contents to %s (error: %s)",5);" (assignment_expression "uVar11 = dcgettext(0,"error writing section contents to %s (error: %s)",5)" identifier = (call_expression "dcgettext(0,"error writing section contents to %s (error: %s)",5)" identifier (argument_list "(0,"error writing section contents to %s (error: %s)",5)" ( number_literal , (string_literal ""error writing section contents to %s (error: %s)"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0002b6d0(uVar11,uVar10,pcVar22);" (call_expression "FUN_0002b6d0(uVar11,uVar10,pcVar22)" identifier (argument_list "(uVar11,uVar10,pcVar22)" ( identifier , identifier , identifier ))) ;) (expression_statement "free(local_30);" (call_expression "free(local_30)" identifier (argument_list "(local_30)" ( identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) }))) (expression_statement "fclose(__s);" (call_expression "fclose(__s)" identifier (argument_list "(__s)" ( identifier ))) ;) (expression_statement "free(local_30);" (call_expression "free(local_30)" identifier (argument_list "(local_30)" ( identifier ))) ;) }))) (goto_statement "goto LAB_00018b49;" goto statement_identifier ;) })) (expression_statement "pcVar22 = "can\'t dump section - it is empty";" (assignment_expression "pcVar22 = "can\'t dump section - it is empty"" identifier = (string_literal ""can\'t dump section - it is empty"" " string_content escape_sequence string_content ")) ;) }))) (expression_statement "uVar10 = dcgettext(0,pcVar22,5);" (assignment_expression "uVar10 = dcgettext(0,pcVar22,5)" identifier = (call_expression "dcgettext(0,pcVar22,5)" identifier (argument_list "(0,pcVar22,5)" ( number_literal , identifier , number_literal )))) ;) (expression_statement "FUN_0002c160(0,param_1,iVar9,uVar10);" (call_expression "FUN_0002c160(0,param_1,iVar9,uVar10)" identifier (argument_list "(0,param_1,iVar9,uVar10)" ( number_literal , identifier , identifier , identifier ))) ;) }))) (labeled_statement "LAB_00018b49:\n    local_98 = DAT_0003fb2c;" statement_identifier : (expression_statement "local_98 = DAT_0003fb2c;" (assignment_expression "local_98 = DAT_0003fb2c" identifier = identifier) ;)) })) (if_statement "if (local_98 != 0) {\n    iVar9 = bfd_get_section_by_name(param_2,".gnu_debuglink");\n    if (iVar9 == 0) {\n      local_98 = bfd_create_gnu_debuglink_section(param_2,DAT_0003fb2c);\n      iVar9 = DAT_0003fb2c;\n      if (local_98 == 0) {\n        uVar10 = dcgettext(0,"cannot create debug link section `%s\'",5,param_2);\n        FUN_0002c160(0,param_2,0,uVar10,iVar9);\n        return 0;\n      }\n      if (*(int *)(param_2[1] + 4) == 2) {\n        sVar17 = param_2[0x18];\n        sVar18 = 0;\n        if (sVar17 == 0) {\nLAB_0001a360:\n          uVar26 = 0x1000;\n        }\n        else {\n          do {\n            sVar23 = sVar18;\n            if (((*(uint *)(sVar17 + 0x1c) != 0) && (sVar23 = sVar17, sVar18 != 0)) &&\n               (sVar23 = sVar18, *(uint *)(sVar18 + 0x1c) < *(uint *)(sVar17 + 0x1c))) {\n              sVar23 = sVar17;\n            }\n            sVar17 = *(size_t *)(sVar17 + 0xc);\n            sVar18 = sVar23;\n          } while (sVar17 != 0);\n          if (sVar23 == 0) goto LAB_0001a360;\n          uVar35 = *(int *)(sVar23 + 0x24) + *(int *)(sVar23 + 0x1c);\n          uVar26 = 0xffffffff;\n          if (uVar35 < 0xfffff001) {\n            uVar26 = uVar35 + 0xfff & 0xfffff000;\n          }\n        }\n        *(uint *)(local_98 + 0x20) = uVar26;\n        *(uint *)(local_98 + 0x1c) = uVar26;\n        *(byte *)(local_98 + 0x18) = *(byte *)(local_98 + 0x18) | 1;\n      }\n    }\n    else {\n      sVar17 = *param_2;\n      uVar10 = dcgettext(0,"%s: debuglink section already exists",5);\n      FUN_0002b6d0(uVar10,sVar17);\n      DAT_0003fb2c = 0;\n      local_98 = 0;\n    }\n  }" if (parenthesized_expression "(local_98 != 0)" ( (binary_expression "local_98 != 0" identifier != number_literal) )) (compound_statement "{\n    iVar9 = bfd_get_section_by_name(param_2,".gnu_debuglink");\n    if (iVar9 == 0) {\n      local_98 = bfd_create_gnu_debuglink_section(param_2,DAT_0003fb2c);\n      iVar9 = DAT_0003fb2c;\n      if (local_98 == 0) {\n        uVar10 = dcgettext(0,"cannot create debug link section `%s\'",5,param_2);\n        FUN_0002c160(0,param_2,0,uVar10,iVar9);\n        return 0;\n      }\n      if (*(int *)(param_2[1] + 4) == 2) {\n        sVar17 = param_2[0x18];\n        sVar18 = 0;\n        if (sVar17 == 0) {\nLAB_0001a360:\n          uVar26 = 0x1000;\n        }\n        else {\n          do {\n            sVar23 = sVar18;\n            if (((*(uint *)(sVar17 + 0x1c) != 0) && (sVar23 = sVar17, sVar18 != 0)) &&\n               (sVar23 = sVar18, *(uint *)(sVar18 + 0x1c) < *(uint *)(sVar17 + 0x1c))) {\n              sVar23 = sVar17;\n            }\n            sVar17 = *(size_t *)(sVar17 + 0xc);\n            sVar18 = sVar23;\n          } while (sVar17 != 0);\n          if (sVar23 == 0) goto LAB_0001a360;\n          uVar35 = *(int *)(sVar23 + 0x24) + *(int *)(sVar23 + 0x1c);\n          uVar26 = 0xffffffff;\n          if (uVar35 < 0xfffff001) {\n            uVar26 = uVar35 + 0xfff & 0xfffff000;\n          }\n        }\n        *(uint *)(local_98 + 0x20) = uVar26;\n        *(uint *)(local_98 + 0x1c) = uVar26;\n        *(byte *)(local_98 + 0x18) = *(byte *)(local_98 + 0x18) | 1;\n      }\n    }\n    else {\n      sVar17 = *param_2;\n      uVar10 = dcgettext(0,"%s: debuglink section already exists",5);\n      FUN_0002b6d0(uVar10,sVar17);\n      DAT_0003fb2c = 0;\n      local_98 = 0;\n    }\n  }" { (expression_statement "iVar9 = bfd_get_section_by_name(param_2,".gnu_debuglink");" (assignment_expression "iVar9 = bfd_get_section_by_name(param_2,".gnu_debuglink")" identifier = (call_expression "bfd_get_section_by_name(param_2,".gnu_debuglink")" identifier (argument_list "(param_2,".gnu_debuglink")" ( identifier , (string_literal "".gnu_debuglink"" " string_content ") )))) ;) (if_statement "if (iVar9 == 0) {\n      local_98 = bfd_create_gnu_debuglink_section(param_2,DAT_0003fb2c);\n      iVar9 = DAT_0003fb2c;\n      if (local_98 == 0) {\n        uVar10 = dcgettext(0,"cannot create debug link section `%s\'",5,param_2);\n        FUN_0002c160(0,param_2,0,uVar10,iVar9);\n        return 0;\n      }\n      if (*(int *)(param_2[1] + 4) == 2) {\n        sVar17 = param_2[0x18];\n        sVar18 = 0;\n        if (sVar17 == 0) {\nLAB_0001a360:\n          uVar26 = 0x1000;\n        }\n        else {\n          do {\n            sVar23 = sVar18;\n            if (((*(uint *)(sVar17 + 0x1c) != 0) && (sVar23 = sVar17, sVar18 != 0)) &&\n               (sVar23 = sVar18, *(uint *)(sVar18 + 0x1c) < *(uint *)(sVar17 + 0x1c))) {\n              sVar23 = sVar17;\n            }\n            sVar17 = *(size_t *)(sVar17 + 0xc);\n            sVar18 = sVar23;\n          } while (sVar17 != 0);\n          if (sVar23 == 0) goto LAB_0001a360;\n          uVar35 = *(int *)(sVar23 + 0x24) + *(int *)(sVar23 + 0x1c);\n          uVar26 = 0xffffffff;\n          if (uVar35 < 0xfffff001) {\n            uVar26 = uVar35 + 0xfff & 0xfffff000;\n          }\n        }\n        *(uint *)(local_98 + 0x20) = uVar26;\n        *(uint *)(local_98 + 0x1c) = uVar26;\n        *(byte *)(local_98 + 0x18) = *(byte *)(local_98 + 0x18) | 1;\n      }\n    }\n    else {\n      sVar17 = *param_2;\n      uVar10 = dcgettext(0,"%s: debuglink section already exists",5);\n      FUN_0002b6d0(uVar10,sVar17);\n      DAT_0003fb2c = 0;\n      local_98 = 0;\n    }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n      local_98 = bfd_create_gnu_debuglink_section(param_2,DAT_0003fb2c);\n      iVar9 = DAT_0003fb2c;\n      if (local_98 == 0) {\n        uVar10 = dcgettext(0,"cannot create debug link section `%s\'",5,param_2);\n        FUN_0002c160(0,param_2,0,uVar10,iVar9);\n        return 0;\n      }\n      if (*(int *)(param_2[1] + 4) == 2) {\n        sVar17 = param_2[0x18];\n        sVar18 = 0;\n        if (sVar17 == 0) {\nLAB_0001a360:\n          uVar26 = 0x1000;\n        }\n        else {\n          do {\n            sVar23 = sVar18;\n            if (((*(uint *)(sVar17 + 0x1c) != 0) && (sVar23 = sVar17, sVar18 != 0)) &&\n               (sVar23 = sVar18, *(uint *)(sVar18 + 0x1c) < *(uint *)(sVar17 + 0x1c))) {\n              sVar23 = sVar17;\n            }\n            sVar17 = *(size_t *)(sVar17 + 0xc);\n            sVar18 = sVar23;\n          } while (sVar17 != 0);\n          if (sVar23 == 0) goto LAB_0001a360;\n          uVar35 = *(int *)(sVar23 + 0x24) + *(int *)(sVar23 + 0x1c);\n          uVar26 = 0xffffffff;\n          if (uVar35 < 0xfffff001) {\n            uVar26 = uVar35 + 0xfff & 0xfffff000;\n          }\n        }\n        *(uint *)(local_98 + 0x20) = uVar26;\n        *(uint *)(local_98 + 0x1c) = uVar26;\n        *(byte *)(local_98 + 0x18) = *(byte *)(local_98 + 0x18) | 1;\n      }\n    }" { (expression_statement "local_98 = bfd_create_gnu_debuglink_section(param_2,DAT_0003fb2c);" (assignment_expression "local_98 = bfd_create_gnu_debuglink_section(param_2,DAT_0003fb2c)" identifier = (call_expression "bfd_create_gnu_debuglink_section(param_2,DAT_0003fb2c)" identifier (argument_list "(param_2,DAT_0003fb2c)" ( identifier , identifier )))) ;) (expression_statement "iVar9 = DAT_0003fb2c;" (assignment_expression "iVar9 = DAT_0003fb2c" identifier = identifier) ;) (if_statement "if (local_98 == 0) {\n        uVar10 = dcgettext(0,"cannot create debug link section `%s\'",5,param_2);\n        FUN_0002c160(0,param_2,0,uVar10,iVar9);\n        return 0;\n      }" if (parenthesized_expression "(local_98 == 0)" ( (binary_expression "local_98 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar10 = dcgettext(0,"cannot create debug link section `%s\'",5,param_2);\n        FUN_0002c160(0,param_2,0,uVar10,iVar9);\n        return 0;\n      }" { (expression_statement "uVar10 = dcgettext(0,"cannot create debug link section `%s\'",5,param_2);" (assignment_expression "uVar10 = dcgettext(0,"cannot create debug link section `%s\'",5,param_2)" identifier = (call_expression "dcgettext(0,"cannot create debug link section `%s\'",5,param_2)" identifier (argument_list "(0,"cannot create debug link section `%s\'",5,param_2)" ( number_literal , (string_literal ""cannot create debug link section `%s\'"" " string_content escape_sequence ") , number_literal , identifier )))) ;) (expression_statement "FUN_0002c160(0,param_2,0,uVar10,iVar9);" (call_expression "FUN_0002c160(0,param_2,0,uVar10,iVar9)" identifier (argument_list "(0,param_2,0,uVar10,iVar9)" ( number_literal , identifier , number_literal , identifier , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (if_statement "if (*(int *)(param_2[1] + 4) == 2) {\n        sVar17 = param_2[0x18];\n        sVar18 = 0;\n        if (sVar17 == 0) {\nLAB_0001a360:\n          uVar26 = 0x1000;\n        }\n        else {\n          do {\n            sVar23 = sVar18;\n            if (((*(uint *)(sVar17 + 0x1c) != 0) && (sVar23 = sVar17, sVar18 != 0)) &&\n               (sVar23 = sVar18, *(uint *)(sVar18 + 0x1c) < *(uint *)(sVar17 + 0x1c))) {\n              sVar23 = sVar17;\n            }\n            sVar17 = *(size_t *)(sVar17 + 0xc);\n            sVar18 = sVar23;\n          } while (sVar17 != 0);\n          if (sVar23 == 0) goto LAB_0001a360;\n          uVar35 = *(int *)(sVar23 + 0x24) + *(int *)(sVar23 + 0x1c);\n          uVar26 = 0xffffffff;\n          if (uVar35 < 0xfffff001) {\n            uVar26 = uVar35 + 0xfff & 0xfffff000;\n          }\n        }\n        *(uint *)(local_98 + 0x20) = uVar26;\n        *(uint *)(local_98 + 0x1c) = uVar26;\n        *(byte *)(local_98 + 0x18) = *(byte *)(local_98 + 0x18) | 1;\n      }" if (parenthesized_expression "(*(int *)(param_2[1] + 4) == 2)" ( (binary_expression "*(int *)(param_2[1] + 4) == 2" (pointer_expression "*(int *)(param_2[1] + 4)" * (cast_expression "(int *)(param_2[1] + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2[1] + 4)" ( (binary_expression "param_2[1] + 4" (subscript_expression "param_2[1]" identifier [ number_literal ]) + number_literal) )))) == number_literal) )) (compound_statement "{\n        sVar17 = param_2[0x18];\n        sVar18 = 0;\n        if (sVar17 == 0) {\nLAB_0001a360:\n          uVar26 = 0x1000;\n        }\n        else {\n          do {\n            sVar23 = sVar18;\n            if (((*(uint *)(sVar17 + 0x1c) != 0) && (sVar23 = sVar17, sVar18 != 0)) &&\n               (sVar23 = sVar18, *(uint *)(sVar18 + 0x1c) < *(uint *)(sVar17 + 0x1c))) {\n              sVar23 = sVar17;\n            }\n            sVar17 = *(size_t *)(sVar17 + 0xc);\n            sVar18 = sVar23;\n          } while (sVar17 != 0);\n          if (sVar23 == 0) goto LAB_0001a360;\n          uVar35 = *(int *)(sVar23 + 0x24) + *(int *)(sVar23 + 0x1c);\n          uVar26 = 0xffffffff;\n          if (uVar35 < 0xfffff001) {\n            uVar26 = uVar35 + 0xfff & 0xfffff000;\n          }\n        }\n        *(uint *)(local_98 + 0x20) = uVar26;\n        *(uint *)(local_98 + 0x1c) = uVar26;\n        *(byte *)(local_98 + 0x18) = *(byte *)(local_98 + 0x18) | 1;\n      }" { (expression_statement "sVar17 = param_2[0x18];" (assignment_expression "sVar17 = param_2[0x18]" identifier = (subscript_expression "param_2[0x18]" identifier [ number_literal ])) ;) (expression_statement "sVar18 = 0;" (assignment_expression "sVar18 = 0" identifier = number_literal) ;) (if_statement "if (sVar17 == 0) {\nLAB_0001a360:\n          uVar26 = 0x1000;\n        }\n        else {\n          do {\n            sVar23 = sVar18;\n            if (((*(uint *)(sVar17 + 0x1c) != 0) && (sVar23 = sVar17, sVar18 != 0)) &&\n               (sVar23 = sVar18, *(uint *)(sVar18 + 0x1c) < *(uint *)(sVar17 + 0x1c))) {\n              sVar23 = sVar17;\n            }\n            sVar17 = *(size_t *)(sVar17 + 0xc);\n            sVar18 = sVar23;\n          } while (sVar17 != 0);\n          if (sVar23 == 0) goto LAB_0001a360;\n          uVar35 = *(int *)(sVar23 + 0x24) + *(int *)(sVar23 + 0x1c);\n          uVar26 = 0xffffffff;\n          if (uVar35 < 0xfffff001) {\n            uVar26 = uVar35 + 0xfff & 0xfffff000;\n          }\n        }" if (parenthesized_expression "(sVar17 == 0)" ( (binary_expression "sVar17 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0001a360:\n          uVar26 = 0x1000;\n        }" { (labeled_statement "LAB_0001a360:\n          uVar26 = 0x1000;" statement_identifier : (expression_statement "uVar26 = 0x1000;" (assignment_expression "uVar26 = 0x1000" identifier = number_literal) ;)) }) (else_clause "else {\n          do {\n            sVar23 = sVar18;\n            if (((*(uint *)(sVar17 + 0x1c) != 0) && (sVar23 = sVar17, sVar18 != 0)) &&\n               (sVar23 = sVar18, *(uint *)(sVar18 + 0x1c) < *(uint *)(sVar17 + 0x1c))) {\n              sVar23 = sVar17;\n            }\n            sVar17 = *(size_t *)(sVar17 + 0xc);\n            sVar18 = sVar23;\n          } while (sVar17 != 0);\n          if (sVar23 == 0) goto LAB_0001a360;\n          uVar35 = *(int *)(sVar23 + 0x24) + *(int *)(sVar23 + 0x1c);\n          uVar26 = 0xffffffff;\n          if (uVar35 < 0xfffff001) {\n            uVar26 = uVar35 + 0xfff & 0xfffff000;\n          }\n        }" else (compound_statement "{\n          do {\n            sVar23 = sVar18;\n            if (((*(uint *)(sVar17 + 0x1c) != 0) && (sVar23 = sVar17, sVar18 != 0)) &&\n               (sVar23 = sVar18, *(uint *)(sVar18 + 0x1c) < *(uint *)(sVar17 + 0x1c))) {\n              sVar23 = sVar17;\n            }\n            sVar17 = *(size_t *)(sVar17 + 0xc);\n            sVar18 = sVar23;\n          } while (sVar17 != 0);\n          if (sVar23 == 0) goto LAB_0001a360;\n          uVar35 = *(int *)(sVar23 + 0x24) + *(int *)(sVar23 + 0x1c);\n          uVar26 = 0xffffffff;\n          if (uVar35 < 0xfffff001) {\n            uVar26 = uVar35 + 0xfff & 0xfffff000;\n          }\n        }" { (do_statement "do {\n            sVar23 = sVar18;\n            if (((*(uint *)(sVar17 + 0x1c) != 0) && (sVar23 = sVar17, sVar18 != 0)) &&\n               (sVar23 = sVar18, *(uint *)(sVar18 + 0x1c) < *(uint *)(sVar17 + 0x1c))) {\n              sVar23 = sVar17;\n            }\n            sVar17 = *(size_t *)(sVar17 + 0xc);\n            sVar18 = sVar23;\n          } while (sVar17 != 0);" do (compound_statement "{\n            sVar23 = sVar18;\n            if (((*(uint *)(sVar17 + 0x1c) != 0) && (sVar23 = sVar17, sVar18 != 0)) &&\n               (sVar23 = sVar18, *(uint *)(sVar18 + 0x1c) < *(uint *)(sVar17 + 0x1c))) {\n              sVar23 = sVar17;\n            }\n            sVar17 = *(size_t *)(sVar17 + 0xc);\n            sVar18 = sVar23;\n          }" { (expression_statement "sVar23 = sVar18;" (assignment_expression "sVar23 = sVar18" identifier = identifier) ;) (if_statement "if (((*(uint *)(sVar17 + 0x1c) != 0) && (sVar23 = sVar17, sVar18 != 0)) &&\n               (sVar23 = sVar18, *(uint *)(sVar18 + 0x1c) < *(uint *)(sVar17 + 0x1c))) {\n              sVar23 = sVar17;\n            }" if (parenthesized_expression "(((*(uint *)(sVar17 + 0x1c) != 0) && (sVar23 = sVar17, sVar18 != 0)) &&\n               (sVar23 = sVar18, *(uint *)(sVar18 + 0x1c) < *(uint *)(sVar17 + 0x1c)))" ( (binary_expression "((*(uint *)(sVar17 + 0x1c) != 0) && (sVar23 = sVar17, sVar18 != 0)) &&\n               (sVar23 = sVar18, *(uint *)(sVar18 + 0x1c) < *(uint *)(sVar17 + 0x1c))" (parenthesized_expression "((*(uint *)(sVar17 + 0x1c) != 0) && (sVar23 = sVar17, sVar18 != 0))" ( (binary_expression "(*(uint *)(sVar17 + 0x1c) != 0) && (sVar23 = sVar17, sVar18 != 0)" (parenthesized_expression "(*(uint *)(sVar17 + 0x1c) != 0)" ( (binary_expression "*(uint *)(sVar17 + 0x1c) != 0" (pointer_expression "*(uint *)(sVar17 + 0x1c)" * (cast_expression "(uint *)(sVar17 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar17 + 0x1c)" ( (binary_expression "sVar17 + 0x1c" identifier + number_literal) )))) != number_literal) )) && (parenthesized_expression "(sVar23 = sVar17, sVar18 != 0)" ( (comma_expression "sVar23 = sVar17, sVar18 != 0" (assignment_expression "sVar23 = sVar17" identifier = identifier) , (binary_expression "sVar18 != 0" identifier != number_literal)) ))) )) && (parenthesized_expression "(sVar23 = sVar18, *(uint *)(sVar18 + 0x1c) < *(uint *)(sVar17 + 0x1c))" ( (comma_expression "sVar23 = sVar18, *(uint *)(sVar18 + 0x1c) < *(uint *)(sVar17 + 0x1c)" (assignment_expression "sVar23 = sVar18" identifier = identifier) , (binary_expression "*(uint *)(sVar18 + 0x1c) < *(uint *)(sVar17 + 0x1c)" (pointer_expression "*(uint *)(sVar18 + 0x1c)" * (cast_expression "(uint *)(sVar18 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar18 + 0x1c)" ( (binary_expression "sVar18 + 0x1c" identifier + number_literal) )))) < (pointer_expression "*(uint *)(sVar17 + 0x1c)" * (cast_expression "(uint *)(sVar17 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar17 + 0x1c)" ( (binary_expression "sVar17 + 0x1c" identifier + number_literal) )))))) ))) )) (compound_statement "{\n              sVar23 = sVar17;\n            }" { (expression_statement "sVar23 = sVar17;" (assignment_expression "sVar23 = sVar17" identifier = identifier) ;) })) (expression_statement "sVar17 = *(size_t *)(sVar17 + 0xc);" (assignment_expression "sVar17 = *(size_t *)(sVar17 + 0xc)" identifier = (pointer_expression "*(size_t *)(sVar17 + 0xc)" * (cast_expression "(size_t *)(sVar17 + 0xc)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar17 + 0xc)" ( (binary_expression "sVar17 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "sVar18 = sVar23;" (assignment_expression "sVar18 = sVar23" identifier = identifier) ;) }) while (parenthesized_expression "(sVar17 != 0)" ( (binary_expression "sVar17 != 0" identifier != number_literal) )) ;) (if_statement "if (sVar23 == 0) goto LAB_0001a360;" if (parenthesized_expression "(sVar23 == 0)" ( (binary_expression "sVar23 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001a360;" goto statement_identifier ;)) (expression_statement "uVar35 = *(int *)(sVar23 + 0x24) + *(int *)(sVar23 + 0x1c);" (assignment_expression "uVar35 = *(int *)(sVar23 + 0x24) + *(int *)(sVar23 + 0x1c)" identifier = (binary_expression "*(int *)(sVar23 + 0x24) + *(int *)(sVar23 + 0x1c)" (pointer_expression "*(int *)(sVar23 + 0x24)" * (cast_expression "(int *)(sVar23 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar23 + 0x24)" ( (binary_expression "sVar23 + 0x24" identifier + number_literal) )))) + (pointer_expression "*(int *)(sVar23 + 0x1c)" * (cast_expression "(int *)(sVar23 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar23 + 0x1c)" ( (binary_expression "sVar23 + 0x1c" identifier + number_literal) )))))) ;) (expression_statement "uVar26 = 0xffffffff;" (assignment_expression "uVar26 = 0xffffffff" identifier = number_literal) ;) (if_statement "if (uVar35 < 0xfffff001) {\n            uVar26 = uVar35 + 0xfff & 0xfffff000;\n          }" if (parenthesized_expression "(uVar35 < 0xfffff001)" ( (binary_expression "uVar35 < 0xfffff001" identifier < number_literal) )) (compound_statement "{\n            uVar26 = uVar35 + 0xfff & 0xfffff000;\n          }" { (expression_statement "uVar26 = uVar35 + 0xfff & 0xfffff000;" (assignment_expression "uVar26 = uVar35 + 0xfff & 0xfffff000" identifier = (binary_expression "uVar35 + 0xfff & 0xfffff000" (binary_expression "uVar35 + 0xfff" identifier + number_literal) & number_literal)) ;) })) }))) (expression_statement "*(uint *)(local_98 + 0x20) = uVar26;" (assignment_expression "*(uint *)(local_98 + 0x20) = uVar26" (pointer_expression "*(uint *)(local_98 + 0x20)" * (cast_expression "(uint *)(local_98 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 0x20)" ( (binary_expression "local_98 + 0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(local_98 + 0x1c) = uVar26;" (assignment_expression "*(uint *)(local_98 + 0x1c) = uVar26" (pointer_expression "*(uint *)(local_98 + 0x1c)" * (cast_expression "(uint *)(local_98 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 0x1c)" ( (binary_expression "local_98 + 0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(byte *)(local_98 + 0x18) = *(byte *)(local_98 + 0x18) | 1;" (assignment_expression "*(byte *)(local_98 + 0x18) = *(byte *)(local_98 + 0x18) | 1" (pointer_expression "*(byte *)(local_98 + 0x18)" * (cast_expression "(byte *)(local_98 + 0x18)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 0x18)" ( (binary_expression "local_98 + 0x18" identifier + number_literal) )))) = (binary_expression "*(byte *)(local_98 + 0x18) | 1" (pointer_expression "*(byte *)(local_98 + 0x18)" * (cast_expression "(byte *)(local_98 + 0x18)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 0x18)" ( (binary_expression "local_98 + 0x18" identifier + number_literal) )))) | number_literal)) ;) })) }) (else_clause "else {\n      sVar17 = *param_2;\n      uVar10 = dcgettext(0,"%s: debuglink section already exists",5);\n      FUN_0002b6d0(uVar10,sVar17);\n      DAT_0003fb2c = 0;\n      local_98 = 0;\n    }" else (compound_statement "{\n      sVar17 = *param_2;\n      uVar10 = dcgettext(0,"%s: debuglink section already exists",5);\n      FUN_0002b6d0(uVar10,sVar17);\n      DAT_0003fb2c = 0;\n      local_98 = 0;\n    }" { (expression_statement "sVar17 = *param_2;" (assignment_expression "sVar17 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "uVar10 = dcgettext(0,"%s: debuglink section already exists",5);" (assignment_expression "uVar10 = dcgettext(0,"%s: debuglink section already exists",5)" identifier = (call_expression "dcgettext(0,"%s: debuglink section already exists",5)" identifier (argument_list "(0,"%s: debuglink section already exists",5)" ( number_literal , (string_literal ""%s: debuglink section already exists"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0002b6d0(uVar10,sVar17);" (call_expression "FUN_0002b6d0(uVar10,sVar17)" identifier (argument_list "(uVar10,sVar17)" ( identifier , identifier ))) ;) (expression_statement "DAT_0003fb2c = 0;" (assignment_expression "DAT_0003fb2c = 0" identifier = number_literal) ;) (expression_statement "local_98 = 0;" (assignment_expression "local_98 = 0" identifier = number_literal) ;) }))) })) (expression_statement "sVar17 = param_2[0x1a];" (assignment_expression "sVar17 = param_2[0x1a]" identifier = (subscript_expression "param_2[0x1a]" identifier [ number_literal ])) ;) (expression_statement "local_8c = sVar17;" (assignment_expression "local_8c = sVar17" identifier = identifier) ;) (if_statement "if (sVar17 == 0) {\nLAB_00018ff7:\n    local_90 = (void *)0x0;\n    local_84 = (int *)0x0;\n    sVar18 = local_8c;\n  }\n  else {\n    if (DAT_0003fb54 == 0 && DAT_0003fb4c == 0) {\n      local_8c = 0;\n      goto LAB_00018ff7;\n    }\n    sVar23 = sVar17 * 4;\n    local_84 = (int *)xmalloc(sVar23);\n    local_30 = local_84;\n    bfd_map_over_sections(param_2,FUN_00016710,&local_30);\n    qsort(local_84,sVar17,4,FUN_00016730);\n    local_90 = (void *)xmalloc(sVar23);\n    memset(local_90,0,sVar23);\n    if ((DAT_0003fb54 == 0) || (sVar17 == 1)) {\n      local_8c = 0;\n    }\n    else {\n      iVar9 = 0;\n      local_8c = 0;\n      piVar15 = local_84;\n      do {\n        iVar12 = *piVar15;\n        iVar9 = iVar9 + 1;\n        sVar18 = local_8c;\n        if ((*(uint *)(iVar12 + 0x14) & 0x102) == 0x102) {\n          uVar35 = *(int *)(iVar12 + 0x20) + *(int *)(iVar12 + 0x24);\n          if (uVar35 < *(uint *)(piVar15[1] + 0x20)) {\n            sVar18 = *(uint *)(piVar15[1] + 0x20) - uVar35;\n            uVar43 = bfd_set_section_size(param_2,iVar12,*(int *)(iVar12 + 0x24) + sVar18);\n            if ((int)uVar43 == 0) {\n              uVar10 = dcgettext(0,"Can\'t fill gap after section",5,\n                                 (int)((ulonglong)uVar43 >> 0x20));\n              FUN_0002c160(0,param_2,*piVar15,uVar10);\n              DAT_0003fb88 = 1;\n              break;\n            }\n            *(size_t *)((int)local_90 + iVar9 * 4 + -4) = sVar18;\n            if (sVar18 <= local_8c) {\n              sVar18 = local_8c;\n            }\n          }\n        }\n        local_8c = sVar18;\n        piVar15 = piVar15 + 1;\n      } while (sVar17 - 1 != iVar9);\n    }\n    sVar18 = local_8c;\n    if (DAT_0003fb4c != 0) {\n      iVar9 = local_84[sVar17 - 1];\n      uVar35 = *(int *)(iVar9 + 0x24) + *(int *)(iVar9 + 0x20);\n      if (uVar35 < DAT_0003fb48) {\n        iVar9 = bfd_set_section_size(param_2,iVar9,DAT_0003fb48 - *(int *)(iVar9 + 0x20));\n        if (iVar9 == 0) {\n          uVar10 = dcgettext(0,"can\'t add padding",5,uVar35);\n          FUN_0002c160(0,param_2,local_84[sVar17 - 1],uVar10);\n          DAT_0003fb88 = 1;\n        }\n        else {\n          sVar18 = DAT_0003fb48 - uVar35;\n          *(size_t *)((int)local_90 + (sVar23 - 4)) = sVar18;\n          if (sVar18 <= local_8c) {\n            sVar18 = local_8c;\n          }\n        }\n      }\n    }\n  }" if (parenthesized_expression "(sVar17 == 0)" ( (binary_expression "sVar17 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00018ff7:\n    local_90 = (void *)0x0;\n    local_84 = (int *)0x0;\n    sVar18 = local_8c;\n  }" { (labeled_statement "LAB_00018ff7:\n    local_90 = (void *)0x0;" statement_identifier : (expression_statement "local_90 = (void *)0x0;" (assignment_expression "local_90 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "local_84 = (int *)0x0;" (assignment_expression "local_84 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "sVar18 = local_8c;" (assignment_expression "sVar18 = local_8c" identifier = identifier) ;) }) (else_clause "else {\n    if (DAT_0003fb54 == 0 && DAT_0003fb4c == 0) {\n      local_8c = 0;\n      goto LAB_00018ff7;\n    }\n    sVar23 = sVar17 * 4;\n    local_84 = (int *)xmalloc(sVar23);\n    local_30 = local_84;\n    bfd_map_over_sections(param_2,FUN_00016710,&local_30);\n    qsort(local_84,sVar17,4,FUN_00016730);\n    local_90 = (void *)xmalloc(sVar23);\n    memset(local_90,0,sVar23);\n    if ((DAT_0003fb54 == 0) || (sVar17 == 1)) {\n      local_8c = 0;\n    }\n    else {\n      iVar9 = 0;\n      local_8c = 0;\n      piVar15 = local_84;\n      do {\n        iVar12 = *piVar15;\n        iVar9 = iVar9 + 1;\n        sVar18 = local_8c;\n        if ((*(uint *)(iVar12 + 0x14) & 0x102) == 0x102) {\n          uVar35 = *(int *)(iVar12 + 0x20) + *(int *)(iVar12 + 0x24);\n          if (uVar35 < *(uint *)(piVar15[1] + 0x20)) {\n            sVar18 = *(uint *)(piVar15[1] + 0x20) - uVar35;\n            uVar43 = bfd_set_section_size(param_2,iVar12,*(int *)(iVar12 + 0x24) + sVar18);\n            if ((int)uVar43 == 0) {\n              uVar10 = dcgettext(0,"Can\'t fill gap after section",5,\n                                 (int)((ulonglong)uVar43 >> 0x20));\n              FUN_0002c160(0,param_2,*piVar15,uVar10);\n              DAT_0003fb88 = 1;\n              break;\n            }\n            *(size_t *)((int)local_90 + iVar9 * 4 + -4) = sVar18;\n            if (sVar18 <= local_8c) {\n              sVar18 = local_8c;\n            }\n          }\n        }\n        local_8c = sVar18;\n        piVar15 = piVar15 + 1;\n      } while (sVar17 - 1 != iVar9);\n    }\n    sVar18 = local_8c;\n    if (DAT_0003fb4c != 0) {\n      iVar9 = local_84[sVar17 - 1];\n      uVar35 = *(int *)(iVar9 + 0x24) + *(int *)(iVar9 + 0x20);\n      if (uVar35 < DAT_0003fb48) {\n        iVar9 = bfd_set_section_size(param_2,iVar9,DAT_0003fb48 - *(int *)(iVar9 + 0x20));\n        if (iVar9 == 0) {\n          uVar10 = dcgettext(0,"can\'t add padding",5,uVar35);\n          FUN_0002c160(0,param_2,local_84[sVar17 - 1],uVar10);\n          DAT_0003fb88 = 1;\n        }\n        else {\n          sVar18 = DAT_0003fb48 - uVar35;\n          *(size_t *)((int)local_90 + (sVar23 - 4)) = sVar18;\n          if (sVar18 <= local_8c) {\n            sVar18 = local_8c;\n          }\n        }\n      }\n    }\n  }" else (compound_statement "{\n    if (DAT_0003fb54 == 0 && DAT_0003fb4c == 0) {\n      local_8c = 0;\n      goto LAB_00018ff7;\n    }\n    sVar23 = sVar17 * 4;\n    local_84 = (int *)xmalloc(sVar23);\n    local_30 = local_84;\n    bfd_map_over_sections(param_2,FUN_00016710,&local_30);\n    qsort(local_84,sVar17,4,FUN_00016730);\n    local_90 = (void *)xmalloc(sVar23);\n    memset(local_90,0,sVar23);\n    if ((DAT_0003fb54 == 0) || (sVar17 == 1)) {\n      local_8c = 0;\n    }\n    else {\n      iVar9 = 0;\n      local_8c = 0;\n      piVar15 = local_84;\n      do {\n        iVar12 = *piVar15;\n        iVar9 = iVar9 + 1;\n        sVar18 = local_8c;\n        if ((*(uint *)(iVar12 + 0x14) & 0x102) == 0x102) {\n          uVar35 = *(int *)(iVar12 + 0x20) + *(int *)(iVar12 + 0x24);\n          if (uVar35 < *(uint *)(piVar15[1] + 0x20)) {\n            sVar18 = *(uint *)(piVar15[1] + 0x20) - uVar35;\n            uVar43 = bfd_set_section_size(param_2,iVar12,*(int *)(iVar12 + 0x24) + sVar18);\n            if ((int)uVar43 == 0) {\n              uVar10 = dcgettext(0,"Can\'t fill gap after section",5,\n                                 (int)((ulonglong)uVar43 >> 0x20));\n              FUN_0002c160(0,param_2,*piVar15,uVar10);\n              DAT_0003fb88 = 1;\n              break;\n            }\n            *(size_t *)((int)local_90 + iVar9 * 4 + -4) = sVar18;\n            if (sVar18 <= local_8c) {\n              sVar18 = local_8c;\n            }\n          }\n        }\n        local_8c = sVar18;\n        piVar15 = piVar15 + 1;\n      } while (sVar17 - 1 != iVar9);\n    }\n    sVar18 = local_8c;\n    if (DAT_0003fb4c != 0) {\n      iVar9 = local_84[sVar17 - 1];\n      uVar35 = *(int *)(iVar9 + 0x24) + *(int *)(iVar9 + 0x20);\n      if (uVar35 < DAT_0003fb48) {\n        iVar9 = bfd_set_section_size(param_2,iVar9,DAT_0003fb48 - *(int *)(iVar9 + 0x20));\n        if (iVar9 == 0) {\n          uVar10 = dcgettext(0,"can\'t add padding",5,uVar35);\n          FUN_0002c160(0,param_2,local_84[sVar17 - 1],uVar10);\n          DAT_0003fb88 = 1;\n        }\n        else {\n          sVar18 = DAT_0003fb48 - uVar35;\n          *(size_t *)((int)local_90 + (sVar23 - 4)) = sVar18;\n          if (sVar18 <= local_8c) {\n            sVar18 = local_8c;\n          }\n        }\n      }\n    }\n  }" { (if_statement "if (DAT_0003fb54 == 0 && DAT_0003fb4c == 0) {\n      local_8c = 0;\n      goto LAB_00018ff7;\n    }" if (parenthesized_expression "(DAT_0003fb54 == 0 && DAT_0003fb4c == 0)" ( (binary_expression "DAT_0003fb54 == 0 && DAT_0003fb4c == 0" (binary_expression "DAT_0003fb54 == 0" identifier == number_literal) && (binary_expression "DAT_0003fb4c == 0" identifier == number_literal)) )) (compound_statement "{\n      local_8c = 0;\n      goto LAB_00018ff7;\n    }" { (expression_statement "local_8c = 0;" (assignment_expression "local_8c = 0" identifier = number_literal) ;) (goto_statement "goto LAB_00018ff7;" goto statement_identifier ;) })) (expression_statement "sVar23 = sVar17 * 4;" (assignment_expression "sVar23 = sVar17 * 4" identifier = (binary_expression "sVar17 * 4" identifier * number_literal)) ;) (expression_statement "local_84 = (int *)xmalloc(sVar23);" (assignment_expression "local_84 = (int *)xmalloc(sVar23)" identifier = (cast_expression "(int *)xmalloc(sVar23)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(sVar23)" identifier (argument_list "(sVar23)" ( identifier ))))) ;) (expression_statement "local_30 = local_84;" (assignment_expression "local_30 = local_84" identifier = identifier) ;) (expression_statement "bfd_map_over_sections(param_2,FUN_00016710,&local_30);" (call_expression "bfd_map_over_sections(param_2,FUN_00016710,&local_30)" identifier (argument_list "(param_2,FUN_00016710,&local_30)" ( identifier , identifier , (pointer_expression "&local_30" & identifier) ))) ;) (expression_statement "qsort(local_84,sVar17,4,FUN_00016730);" (call_expression "qsort(local_84,sVar17,4,FUN_00016730)" identifier (argument_list "(local_84,sVar17,4,FUN_00016730)" ( identifier , identifier , number_literal , identifier ))) ;) (expression_statement "local_90 = (void *)xmalloc(sVar23);" (assignment_expression "local_90 = (void *)xmalloc(sVar23)" identifier = (cast_expression "(void *)xmalloc(sVar23)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(sVar23)" identifier (argument_list "(sVar23)" ( identifier ))))) ;) (expression_statement "memset(local_90,0,sVar23);" (call_expression "memset(local_90,0,sVar23)" identifier (argument_list "(local_90,0,sVar23)" ( identifier , number_literal , identifier ))) ;) (if_statement "if ((DAT_0003fb54 == 0) || (sVar17 == 1)) {\n      local_8c = 0;\n    }\n    else {\n      iVar9 = 0;\n      local_8c = 0;\n      piVar15 = local_84;\n      do {\n        iVar12 = *piVar15;\n        iVar9 = iVar9 + 1;\n        sVar18 = local_8c;\n        if ((*(uint *)(iVar12 + 0x14) & 0x102) == 0x102) {\n          uVar35 = *(int *)(iVar12 + 0x20) + *(int *)(iVar12 + 0x24);\n          if (uVar35 < *(uint *)(piVar15[1] + 0x20)) {\n            sVar18 = *(uint *)(piVar15[1] + 0x20) - uVar35;\n            uVar43 = bfd_set_section_size(param_2,iVar12,*(int *)(iVar12 + 0x24) + sVar18);\n            if ((int)uVar43 == 0) {\n              uVar10 = dcgettext(0,"Can\'t fill gap after section",5,\n                                 (int)((ulonglong)uVar43 >> 0x20));\n              FUN_0002c160(0,param_2,*piVar15,uVar10);\n              DAT_0003fb88 = 1;\n              break;\n            }\n            *(size_t *)((int)local_90 + iVar9 * 4 + -4) = sVar18;\n            if (sVar18 <= local_8c) {\n              sVar18 = local_8c;\n            }\n          }\n        }\n        local_8c = sVar18;\n        piVar15 = piVar15 + 1;\n      } while (sVar17 - 1 != iVar9);\n    }" if (parenthesized_expression "((DAT_0003fb54 == 0) || (sVar17 == 1))" ( (binary_expression "(DAT_0003fb54 == 0) || (sVar17 == 1)" (parenthesized_expression "(DAT_0003fb54 == 0)" ( (binary_expression "DAT_0003fb54 == 0" identifier == number_literal) )) || (parenthesized_expression "(sVar17 == 1)" ( (binary_expression "sVar17 == 1" identifier == number_literal) ))) )) (compound_statement "{\n      local_8c = 0;\n    }" { (expression_statement "local_8c = 0;" (assignment_expression "local_8c = 0" identifier = number_literal) ;) }) (else_clause "else {\n      iVar9 = 0;\n      local_8c = 0;\n      piVar15 = local_84;\n      do {\n        iVar12 = *piVar15;\n        iVar9 = iVar9 + 1;\n        sVar18 = local_8c;\n        if ((*(uint *)(iVar12 + 0x14) & 0x102) == 0x102) {\n          uVar35 = *(int *)(iVar12 + 0x20) + *(int *)(iVar12 + 0x24);\n          if (uVar35 < *(uint *)(piVar15[1] + 0x20)) {\n            sVar18 = *(uint *)(piVar15[1] + 0x20) - uVar35;\n            uVar43 = bfd_set_section_size(param_2,iVar12,*(int *)(iVar12 + 0x24) + sVar18);\n            if ((int)uVar43 == 0) {\n              uVar10 = dcgettext(0,"Can\'t fill gap after section",5,\n                                 (int)((ulonglong)uVar43 >> 0x20));\n              FUN_0002c160(0,param_2,*piVar15,uVar10);\n              DAT_0003fb88 = 1;\n              break;\n            }\n            *(size_t *)((int)local_90 + iVar9 * 4 + -4) = sVar18;\n            if (sVar18 <= local_8c) {\n              sVar18 = local_8c;\n            }\n          }\n        }\n        local_8c = sVar18;\n        piVar15 = piVar15 + 1;\n      } while (sVar17 - 1 != iVar9);\n    }" else (compound_statement "{\n      iVar9 = 0;\n      local_8c = 0;\n      piVar15 = local_84;\n      do {\n        iVar12 = *piVar15;\n        iVar9 = iVar9 + 1;\n        sVar18 = local_8c;\n        if ((*(uint *)(iVar12 + 0x14) & 0x102) == 0x102) {\n          uVar35 = *(int *)(iVar12 + 0x20) + *(int *)(iVar12 + 0x24);\n          if (uVar35 < *(uint *)(piVar15[1] + 0x20)) {\n            sVar18 = *(uint *)(piVar15[1] + 0x20) - uVar35;\n            uVar43 = bfd_set_section_size(param_2,iVar12,*(int *)(iVar12 + 0x24) + sVar18);\n            if ((int)uVar43 == 0) {\n              uVar10 = dcgettext(0,"Can\'t fill gap after section",5,\n                                 (int)((ulonglong)uVar43 >> 0x20));\n              FUN_0002c160(0,param_2,*piVar15,uVar10);\n              DAT_0003fb88 = 1;\n              break;\n            }\n            *(size_t *)((int)local_90 + iVar9 * 4 + -4) = sVar18;\n            if (sVar18 <= local_8c) {\n              sVar18 = local_8c;\n            }\n          }\n        }\n        local_8c = sVar18;\n        piVar15 = piVar15 + 1;\n      } while (sVar17 - 1 != iVar9);\n    }" { (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" identifier = number_literal) ;) (expression_statement "local_8c = 0;" (assignment_expression "local_8c = 0" identifier = number_literal) ;) (expression_statement "piVar15 = local_84;" (assignment_expression "piVar15 = local_84" identifier = identifier) ;) (do_statement "do {\n        iVar12 = *piVar15;\n        iVar9 = iVar9 + 1;\n        sVar18 = local_8c;\n        if ((*(uint *)(iVar12 + 0x14) & 0x102) == 0x102) {\n          uVar35 = *(int *)(iVar12 + 0x20) + *(int *)(iVar12 + 0x24);\n          if (uVar35 < *(uint *)(piVar15[1] + 0x20)) {\n            sVar18 = *(uint *)(piVar15[1] + 0x20) - uVar35;\n            uVar43 = bfd_set_section_size(param_2,iVar12,*(int *)(iVar12 + 0x24) + sVar18);\n            if ((int)uVar43 == 0) {\n              uVar10 = dcgettext(0,"Can\'t fill gap after section",5,\n                                 (int)((ulonglong)uVar43 >> 0x20));\n              FUN_0002c160(0,param_2,*piVar15,uVar10);\n              DAT_0003fb88 = 1;\n              break;\n            }\n            *(size_t *)((int)local_90 + iVar9 * 4 + -4) = sVar18;\n            if (sVar18 <= local_8c) {\n              sVar18 = local_8c;\n            }\n          }\n        }\n        local_8c = sVar18;\n        piVar15 = piVar15 + 1;\n      } while (sVar17 - 1 != iVar9);" do (compound_statement "{\n        iVar12 = *piVar15;\n        iVar9 = iVar9 + 1;\n        sVar18 = local_8c;\n        if ((*(uint *)(iVar12 + 0x14) & 0x102) == 0x102) {\n          uVar35 = *(int *)(iVar12 + 0x20) + *(int *)(iVar12 + 0x24);\n          if (uVar35 < *(uint *)(piVar15[1] + 0x20)) {\n            sVar18 = *(uint *)(piVar15[1] + 0x20) - uVar35;\n            uVar43 = bfd_set_section_size(param_2,iVar12,*(int *)(iVar12 + 0x24) + sVar18);\n            if ((int)uVar43 == 0) {\n              uVar10 = dcgettext(0,"Can\'t fill gap after section",5,\n                                 (int)((ulonglong)uVar43 >> 0x20));\n              FUN_0002c160(0,param_2,*piVar15,uVar10);\n              DAT_0003fb88 = 1;\n              break;\n            }\n            *(size_t *)((int)local_90 + iVar9 * 4 + -4) = sVar18;\n            if (sVar18 <= local_8c) {\n              sVar18 = local_8c;\n            }\n          }\n        }\n        local_8c = sVar18;\n        piVar15 = piVar15 + 1;\n      }" { (expression_statement "iVar12 = *piVar15;" (assignment_expression "iVar12 = *piVar15" identifier = (pointer_expression "*piVar15" * identifier)) ;) (expression_statement "iVar9 = iVar9 + 1;" (assignment_expression "iVar9 = iVar9 + 1" identifier = (binary_expression "iVar9 + 1" identifier + number_literal)) ;) (expression_statement "sVar18 = local_8c;" (assignment_expression "sVar18 = local_8c" identifier = identifier) ;) (if_statement "if ((*(uint *)(iVar12 + 0x14) & 0x102) == 0x102) {\n          uVar35 = *(int *)(iVar12 + 0x20) + *(int *)(iVar12 + 0x24);\n          if (uVar35 < *(uint *)(piVar15[1] + 0x20)) {\n            sVar18 = *(uint *)(piVar15[1] + 0x20) - uVar35;\n            uVar43 = bfd_set_section_size(param_2,iVar12,*(int *)(iVar12 + 0x24) + sVar18);\n            if ((int)uVar43 == 0) {\n              uVar10 = dcgettext(0,"Can\'t fill gap after section",5,\n                                 (int)((ulonglong)uVar43 >> 0x20));\n              FUN_0002c160(0,param_2,*piVar15,uVar10);\n              DAT_0003fb88 = 1;\n              break;\n            }\n            *(size_t *)((int)local_90 + iVar9 * 4 + -4) = sVar18;\n            if (sVar18 <= local_8c) {\n              sVar18 = local_8c;\n            }\n          }\n        }" if (parenthesized_expression "((*(uint *)(iVar12 + 0x14) & 0x102) == 0x102)" ( (binary_expression "(*(uint *)(iVar12 + 0x14) & 0x102) == 0x102" (parenthesized_expression "(*(uint *)(iVar12 + 0x14) & 0x102)" ( (binary_expression "*(uint *)(iVar12 + 0x14) & 0x102" (pointer_expression "*(uint *)(iVar12 + 0x14)" * (cast_expression "(uint *)(iVar12 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x14)" ( (binary_expression "iVar12 + 0x14" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n          uVar35 = *(int *)(iVar12 + 0x20) + *(int *)(iVar12 + 0x24);\n          if (uVar35 < *(uint *)(piVar15[1] + 0x20)) {\n            sVar18 = *(uint *)(piVar15[1] + 0x20) - uVar35;\n            uVar43 = bfd_set_section_size(param_2,iVar12,*(int *)(iVar12 + 0x24) + sVar18);\n            if ((int)uVar43 == 0) {\n              uVar10 = dcgettext(0,"Can\'t fill gap after section",5,\n                                 (int)((ulonglong)uVar43 >> 0x20));\n              FUN_0002c160(0,param_2,*piVar15,uVar10);\n              DAT_0003fb88 = 1;\n              break;\n            }\n            *(size_t *)((int)local_90 + iVar9 * 4 + -4) = sVar18;\n            if (sVar18 <= local_8c) {\n              sVar18 = local_8c;\n            }\n          }\n        }" { (expression_statement "uVar35 = *(int *)(iVar12 + 0x20) + *(int *)(iVar12 + 0x24);" (assignment_expression "uVar35 = *(int *)(iVar12 + 0x20) + *(int *)(iVar12 + 0x24)" identifier = (binary_expression "*(int *)(iVar12 + 0x20) + *(int *)(iVar12 + 0x24)" (pointer_expression "*(int *)(iVar12 + 0x20)" * (cast_expression "(int *)(iVar12 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x20)" ( (binary_expression "iVar12 + 0x20" identifier + number_literal) )))) + (pointer_expression "*(int *)(iVar12 + 0x24)" * (cast_expression "(int *)(iVar12 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x24)" ( (binary_expression "iVar12 + 0x24" identifier + number_literal) )))))) ;) (if_statement "if (uVar35 < *(uint *)(piVar15[1] + 0x20)) {\n            sVar18 = *(uint *)(piVar15[1] + 0x20) - uVar35;\n            uVar43 = bfd_set_section_size(param_2,iVar12,*(int *)(iVar12 + 0x24) + sVar18);\n            if ((int)uVar43 == 0) {\n              uVar10 = dcgettext(0,"Can\'t fill gap after section",5,\n                                 (int)((ulonglong)uVar43 >> 0x20));\n              FUN_0002c160(0,param_2,*piVar15,uVar10);\n              DAT_0003fb88 = 1;\n              break;\n            }\n            *(size_t *)((int)local_90 + iVar9 * 4 + -4) = sVar18;\n            if (sVar18 <= local_8c) {\n              sVar18 = local_8c;\n            }\n          }" if (parenthesized_expression "(uVar35 < *(uint *)(piVar15[1] + 0x20))" ( (binary_expression "uVar35 < *(uint *)(piVar15[1] + 0x20)" identifier < (pointer_expression "*(uint *)(piVar15[1] + 0x20)" * (cast_expression "(uint *)(piVar15[1] + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar15[1] + 0x20)" ( (binary_expression "piVar15[1] + 0x20" (subscript_expression "piVar15[1]" identifier [ number_literal ]) + number_literal) ))))) )) (compound_statement "{\n            sVar18 = *(uint *)(piVar15[1] + 0x20) - uVar35;\n            uVar43 = bfd_set_section_size(param_2,iVar12,*(int *)(iVar12 + 0x24) + sVar18);\n            if ((int)uVar43 == 0) {\n              uVar10 = dcgettext(0,"Can\'t fill gap after section",5,\n                                 (int)((ulonglong)uVar43 >> 0x20));\n              FUN_0002c160(0,param_2,*piVar15,uVar10);\n              DAT_0003fb88 = 1;\n              break;\n            }\n            *(size_t *)((int)local_90 + iVar9 * 4 + -4) = sVar18;\n            if (sVar18 <= local_8c) {\n              sVar18 = local_8c;\n            }\n          }" { (expression_statement "sVar18 = *(uint *)(piVar15[1] + 0x20) - uVar35;" (assignment_expression "sVar18 = *(uint *)(piVar15[1] + 0x20) - uVar35" identifier = (binary_expression "*(uint *)(piVar15[1] + 0x20) - uVar35" (pointer_expression "*(uint *)(piVar15[1] + 0x20)" * (cast_expression "(uint *)(piVar15[1] + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar15[1] + 0x20)" ( (binary_expression "piVar15[1] + 0x20" (subscript_expression "piVar15[1]" identifier [ number_literal ]) + number_literal) )))) - identifier)) ;) (expression_statement "uVar43 = bfd_set_section_size(param_2,iVar12,*(int *)(iVar12 + 0x24) + sVar18);" (assignment_expression "uVar43 = bfd_set_section_size(param_2,iVar12,*(int *)(iVar12 + 0x24) + sVar18)" identifier = (call_expression "bfd_set_section_size(param_2,iVar12,*(int *)(iVar12 + 0x24) + sVar18)" identifier (argument_list "(param_2,iVar12,*(int *)(iVar12 + 0x24) + sVar18)" ( identifier , identifier , (binary_expression "*(int *)(iVar12 + 0x24) + sVar18" (pointer_expression "*(int *)(iVar12 + 0x24)" * (cast_expression "(int *)(iVar12 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x24)" ( (binary_expression "iVar12 + 0x24" identifier + number_literal) )))) + identifier) )))) ;) (if_statement "if ((int)uVar43 == 0) {\n              uVar10 = dcgettext(0,"Can\'t fill gap after section",5,\n                                 (int)((ulonglong)uVar43 >> 0x20));\n              FUN_0002c160(0,param_2,*piVar15,uVar10);\n              DAT_0003fb88 = 1;\n              break;\n            }" if (parenthesized_expression "((int)uVar43 == 0)" ( (binary_expression "(int)uVar43 == 0" (cast_expression "(int)uVar43" ( (type_descriptor "int" primitive_type) ) identifier) == number_literal) )) (compound_statement "{\n              uVar10 = dcgettext(0,"Can\'t fill gap after section",5,\n                                 (int)((ulonglong)uVar43 >> 0x20));\n              FUN_0002c160(0,param_2,*piVar15,uVar10);\n              DAT_0003fb88 = 1;\n              break;\n            }" { (expression_statement "uVar10 = dcgettext(0,"Can\'t fill gap after section",5,\n                                 (int)((ulonglong)uVar43 >> 0x20));" (assignment_expression "uVar10 = dcgettext(0,"Can\'t fill gap after section",5,\n                                 (int)((ulonglong)uVar43 >> 0x20))" identifier = (call_expression "dcgettext(0,"Can\'t fill gap after section",5,\n                                 (int)((ulonglong)uVar43 >> 0x20))" identifier (argument_list "(0,"Can\'t fill gap after section",5,\n                                 (int)((ulonglong)uVar43 >> 0x20))" ( number_literal , (string_literal ""Can\'t fill gap after section"" " string_content escape_sequence string_content ") , number_literal , (cast_expression "(int)((ulonglong)uVar43 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar43 >> 0x20)" ( (binary_expression "(ulonglong)uVar43 >> 0x20" (cast_expression "(ulonglong)uVar43" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) )))) ;) (expression_statement "FUN_0002c160(0,param_2,*piVar15,uVar10);" (call_expression "FUN_0002c160(0,param_2,*piVar15,uVar10)" identifier (argument_list "(0,param_2,*piVar15,uVar10)" ( number_literal , identifier , (pointer_expression "*piVar15" * identifier) , identifier ))) ;) (expression_statement "DAT_0003fb88 = 1;" (assignment_expression "DAT_0003fb88 = 1" identifier = number_literal) ;) (break_statement "break;" break ;) })) (expression_statement "*(size_t *)((int)local_90 + iVar9 * 4 + -4) = sVar18;" (assignment_expression "*(size_t *)((int)local_90 + iVar9 * 4 + -4) = sVar18" (pointer_expression "*(size_t *)((int)local_90 + iVar9 * 4 + -4)" * (cast_expression "(size_t *)((int)local_90 + iVar9 * 4 + -4)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + iVar9 * 4 + -4)" ( (binary_expression "(int)local_90 + iVar9 * 4 + -4" (binary_expression "(int)local_90 + iVar9 * 4" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "iVar9 * 4" identifier * number_literal)) + number_literal) )))) = identifier) ;) (if_statement "if (sVar18 <= local_8c) {\n              sVar18 = local_8c;\n            }" if (parenthesized_expression "(sVar18 <= local_8c)" ( (binary_expression "sVar18 <= local_8c" identifier <= identifier) )) (compound_statement "{\n              sVar18 = local_8c;\n            }" { (expression_statement "sVar18 = local_8c;" (assignment_expression "sVar18 = local_8c" identifier = identifier) ;) })) })) })) (expression_statement "local_8c = sVar18;" (assignment_expression "local_8c = sVar18" identifier = identifier) ;) (expression_statement "piVar15 = piVar15 + 1;" (assignment_expression "piVar15 = piVar15 + 1" identifier = (binary_expression "piVar15 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(sVar17 - 1 != iVar9)" ( (binary_expression "sVar17 - 1 != iVar9" (binary_expression "sVar17 - 1" identifier - number_literal) != identifier) )) ;) }))) (expression_statement "sVar18 = local_8c;" (assignment_expression "sVar18 = local_8c" identifier = identifier) ;) (if_statement "if (DAT_0003fb4c != 0) {\n      iVar9 = local_84[sVar17 - 1];\n      uVar35 = *(int *)(iVar9 + 0x24) + *(int *)(iVar9 + 0x20);\n      if (uVar35 < DAT_0003fb48) {\n        iVar9 = bfd_set_section_size(param_2,iVar9,DAT_0003fb48 - *(int *)(iVar9 + 0x20));\n        if (iVar9 == 0) {\n          uVar10 = dcgettext(0,"can\'t add padding",5,uVar35);\n          FUN_0002c160(0,param_2,local_84[sVar17 - 1],uVar10);\n          DAT_0003fb88 = 1;\n        }\n        else {\n          sVar18 = DAT_0003fb48 - uVar35;\n          *(size_t *)((int)local_90 + (sVar23 - 4)) = sVar18;\n          if (sVar18 <= local_8c) {\n            sVar18 = local_8c;\n          }\n        }\n      }\n    }" if (parenthesized_expression "(DAT_0003fb4c != 0)" ( (binary_expression "DAT_0003fb4c != 0" identifier != number_literal) )) (compound_statement "{\n      iVar9 = local_84[sVar17 - 1];\n      uVar35 = *(int *)(iVar9 + 0x24) + *(int *)(iVar9 + 0x20);\n      if (uVar35 < DAT_0003fb48) {\n        iVar9 = bfd_set_section_size(param_2,iVar9,DAT_0003fb48 - *(int *)(iVar9 + 0x20));\n        if (iVar9 == 0) {\n          uVar10 = dcgettext(0,"can\'t add padding",5,uVar35);\n          FUN_0002c160(0,param_2,local_84[sVar17 - 1],uVar10);\n          DAT_0003fb88 = 1;\n        }\n        else {\n          sVar18 = DAT_0003fb48 - uVar35;\n          *(size_t *)((int)local_90 + (sVar23 - 4)) = sVar18;\n          if (sVar18 <= local_8c) {\n            sVar18 = local_8c;\n          }\n        }\n      }\n    }" { (expression_statement "iVar9 = local_84[sVar17 - 1];" (assignment_expression "iVar9 = local_84[sVar17 - 1]" identifier = (subscript_expression "local_84[sVar17 - 1]" identifier [ (binary_expression "sVar17 - 1" identifier - number_literal) ])) ;) (expression_statement "uVar35 = *(int *)(iVar9 + 0x24) + *(int *)(iVar9 + 0x20);" (assignment_expression "uVar35 = *(int *)(iVar9 + 0x24) + *(int *)(iVar9 + 0x20)" identifier = (binary_expression "*(int *)(iVar9 + 0x24) + *(int *)(iVar9 + 0x20)" (pointer_expression "*(int *)(iVar9 + 0x24)" * (cast_expression "(int *)(iVar9 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x24)" ( (binary_expression "iVar9 + 0x24" identifier + number_literal) )))) + (pointer_expression "*(int *)(iVar9 + 0x20)" * (cast_expression "(int *)(iVar9 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x20)" ( (binary_expression "iVar9 + 0x20" identifier + number_literal) )))))) ;) (if_statement "if (uVar35 < DAT_0003fb48) {\n        iVar9 = bfd_set_section_size(param_2,iVar9,DAT_0003fb48 - *(int *)(iVar9 + 0x20));\n        if (iVar9 == 0) {\n          uVar10 = dcgettext(0,"can\'t add padding",5,uVar35);\n          FUN_0002c160(0,param_2,local_84[sVar17 - 1],uVar10);\n          DAT_0003fb88 = 1;\n        }\n        else {\n          sVar18 = DAT_0003fb48 - uVar35;\n          *(size_t *)((int)local_90 + (sVar23 - 4)) = sVar18;\n          if (sVar18 <= local_8c) {\n            sVar18 = local_8c;\n          }\n        }\n      }" if (parenthesized_expression "(uVar35 < DAT_0003fb48)" ( (binary_expression "uVar35 < DAT_0003fb48" identifier < identifier) )) (compound_statement "{\n        iVar9 = bfd_set_section_size(param_2,iVar9,DAT_0003fb48 - *(int *)(iVar9 + 0x20));\n        if (iVar9 == 0) {\n          uVar10 = dcgettext(0,"can\'t add padding",5,uVar35);\n          FUN_0002c160(0,param_2,local_84[sVar17 - 1],uVar10);\n          DAT_0003fb88 = 1;\n        }\n        else {\n          sVar18 = DAT_0003fb48 - uVar35;\n          *(size_t *)((int)local_90 + (sVar23 - 4)) = sVar18;\n          if (sVar18 <= local_8c) {\n            sVar18 = local_8c;\n          }\n        }\n      }" { (expression_statement "iVar9 = bfd_set_section_size(param_2,iVar9,DAT_0003fb48 - *(int *)(iVar9 + 0x20));" (assignment_expression "iVar9 = bfd_set_section_size(param_2,iVar9,DAT_0003fb48 - *(int *)(iVar9 + 0x20))" identifier = (call_expression "bfd_set_section_size(param_2,iVar9,DAT_0003fb48 - *(int *)(iVar9 + 0x20))" identifier (argument_list "(param_2,iVar9,DAT_0003fb48 - *(int *)(iVar9 + 0x20))" ( identifier , identifier , (binary_expression "DAT_0003fb48 - *(int *)(iVar9 + 0x20)" identifier - (pointer_expression "*(int *)(iVar9 + 0x20)" * (cast_expression "(int *)(iVar9 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x20)" ( (binary_expression "iVar9 + 0x20" identifier + number_literal) ))))) )))) ;) (if_statement "if (iVar9 == 0) {\n          uVar10 = dcgettext(0,"can\'t add padding",5,uVar35);\n          FUN_0002c160(0,param_2,local_84[sVar17 - 1],uVar10);\n          DAT_0003fb88 = 1;\n        }\n        else {\n          sVar18 = DAT_0003fb48 - uVar35;\n          *(size_t *)((int)local_90 + (sVar23 - 4)) = sVar18;\n          if (sVar18 <= local_8c) {\n            sVar18 = local_8c;\n          }\n        }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n          uVar10 = dcgettext(0,"can\'t add padding",5,uVar35);\n          FUN_0002c160(0,param_2,local_84[sVar17 - 1],uVar10);\n          DAT_0003fb88 = 1;\n        }" { (expression_statement "uVar10 = dcgettext(0,"can\'t add padding",5,uVar35);" (assignment_expression "uVar10 = dcgettext(0,"can\'t add padding",5,uVar35)" identifier = (call_expression "dcgettext(0,"can\'t add padding",5,uVar35)" identifier (argument_list "(0,"can\'t add padding",5,uVar35)" ( number_literal , (string_literal ""can\'t add padding"" " string_content escape_sequence string_content ") , number_literal , identifier )))) ;) (expression_statement "FUN_0002c160(0,param_2,local_84[sVar17 - 1],uVar10);" (call_expression "FUN_0002c160(0,param_2,local_84[sVar17 - 1],uVar10)" identifier (argument_list "(0,param_2,local_84[sVar17 - 1],uVar10)" ( number_literal , identifier , (subscript_expression "local_84[sVar17 - 1]" identifier [ (binary_expression "sVar17 - 1" identifier - number_literal) ]) , identifier ))) ;) (expression_statement "DAT_0003fb88 = 1;" (assignment_expression "DAT_0003fb88 = 1" identifier = number_literal) ;) }) (else_clause "else {\n          sVar18 = DAT_0003fb48 - uVar35;\n          *(size_t *)((int)local_90 + (sVar23 - 4)) = sVar18;\n          if (sVar18 <= local_8c) {\n            sVar18 = local_8c;\n          }\n        }" else (compound_statement "{\n          sVar18 = DAT_0003fb48 - uVar35;\n          *(size_t *)((int)local_90 + (sVar23 - 4)) = sVar18;\n          if (sVar18 <= local_8c) {\n            sVar18 = local_8c;\n          }\n        }" { (expression_statement "sVar18 = DAT_0003fb48 - uVar35;" (assignment_expression "sVar18 = DAT_0003fb48 - uVar35" identifier = (binary_expression "DAT_0003fb48 - uVar35" identifier - identifier)) ;) (expression_statement "*(size_t *)((int)local_90 + (sVar23 - 4)) = sVar18;" (assignment_expression "*(size_t *)((int)local_90 + (sVar23 - 4)) = sVar18" (pointer_expression "*(size_t *)((int)local_90 + (sVar23 - 4))" * (cast_expression "(size_t *)((int)local_90 + (sVar23 - 4))" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + (sVar23 - 4))" ( (binary_expression "(int)local_90 + (sVar23 - 4)" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(sVar23 - 4)" ( (binary_expression "sVar23 - 4" identifier - number_literal) ))) )))) = identifier) ;) (if_statement "if (sVar18 <= local_8c) {\n            sVar18 = local_8c;\n          }" if (parenthesized_expression "(sVar18 <= local_8c)" ( (binary_expression "sVar18 <= local_8c" identifier <= identifier) )) (compound_statement "{\n            sVar18 = local_8c;\n          }" { (expression_statement "sVar18 = local_8c;" (assignment_expression "sVar18 = local_8c" identifier = identifier) ;) })) }))) })) })) }))) (expression_statement "local_8c = sVar18;" (assignment_expression "local_8c = sVar18" identifier = identifier) ;) (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" identifier = number_literal) ;) (if_statement "if (DAT_0003fb28 != 0) {\n    local_94 = FUN_0001c0f0(param_1,DAT_0003fb9c,local_70,0);\n  }" if (parenthesized_expression "(DAT_0003fb28 != 0)" ( (binary_expression "DAT_0003fb28 != 0" identifier != number_literal) )) (compound_statement "{\n    local_94 = FUN_0001c0f0(param_1,DAT_0003fb9c,local_70,0);\n  }" { (expression_statement "local_94 = FUN_0001c0f0(param_1,DAT_0003fb9c,local_70,0);" (assignment_expression "local_94 = FUN_0001c0f0(param_1,DAT_0003fb9c,local_70,0)" identifier = (call_expression "FUN_0001c0f0(param_1,DAT_0003fb9c,local_70,0)" identifier (argument_list "(param_1,DAT_0003fb9c,local_70,0)" ( identifier , identifier , identifier , number_literal )))) ;) })) (if_statement "if (DAT_0003fb78 - 2U < 6) {\nLAB_00019032:\n    if (DAT_0003fb78 != 7) {\nLAB_00019037:\n      bfd_set_error(0);\n      bfd_map_over_sections(param_1,FUN_00018470,DAT_0003fb9c);\n      iVar9 = bfd_get_error();\n      if (iVar9 != 0) {\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n    }\n    piVar15 = (int *)xmalloc((DAT_0003fae4 + local_70) * 4 + 4);\n    local_68 = DAT_0003fb9c;\n    uVar35 = param_1[10];\n    DAT_0003fb98 = piVar15;\n    if (local_70 != 0) {\n      piVar1 = DAT_0003fb9c + local_70;\n      local_70 = 0;\n      puVar16 = PTR__bfd_std_section_0003efc8 + 0xa8;\n      do {\n        iVar9 = DAT_0003fae4;\n        piVar3 = (int *)*local_68;\n        uVar26 = piVar3[3];\n        piVar19 = (int *)piVar3[1];\n        puVar4 = (undefined *)piVar3[4];\n        if (((DAT_0003fae8 != (int *)0x0) && (0 < DAT_0003fae4)) &&\n           (pcVar22 = (char *)DAT_0003fae8[5], pcVar22 != (char *)0x0)) {\n          local_5c = (int *)0x0;\n          piVar31 = DAT_0003fae8;\n          while (iVar12 = strcmp(pcVar22,(char *)piVar19), iVar12 != 0) {\n            local_5c = (int *)((int)local_5c + 1);\n            piVar31 = (int *)*piVar31;\n            if ((local_5c == (int *)iVar9) || (pcVar22 = (char *)piVar31[5], pcVar22 == (char *)0x0)\n               ) goto LAB_00019180;\n          }\n          free(pcVar22);\n          piVar31[5] = (int)"";\n          piVar31 = piVar15 + local_70;\n          local_70 = local_70 + 1;\n          iVar9 = FUN_000177e0();\n          *piVar31 = iVar9;\n        }\nLAB_00019180:\n        iVar9 = htab_elements(DAT_0003faf0);\n        piVar31 = piVar19;\n        if ((iVar9 != 0) || (DAT_0003fba0 != (undefined4 *)0x0)) {\n          local_2c = 0;\n          local_30 = piVar19;\n          iVar9 = htab_find(DAT_0003faf0,&local_30);\n          if (((iVar9 == 0) || (piVar31 = *(int **)(iVar9 + 4), piVar19 == piVar31)) &&\n             (puVar33 = DAT_0003fba0, (uVar26 & 0x100) != 0)) {\n            for (; piVar31 = piVar19, puVar33 != (undefined4 *)0x0;\n                puVar33 = (undefined4 *)puVar33[3]) {\n              iVar9 = strcmp((char *)*puVar33,(char *)piVar19);\n              if (iVar9 == 0) {\n                piVar31 = (int *)puVar33[1];\n                break;\n              }\n            }\n          }\n          piVar3[1] = (int)piVar31;\n        }\n        pcVar22 = DAT_0003fad8;\n        if ((char)*piVar31 == *(char *)(param_1[1] + 0x18)) {\n          if (DAT_0003fb1c == 0) {\n            if ((DAT_0003fb18 == 0) ||\n               ((((uVar26 & 0x82) == 0 && (puVar4 != puVar16)) &&\n                ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)))) goto LAB_00019203;\nLAB_0001943c:\n            piVar31 = (int *)((int)piVar31 + 1);\n            piVar3[1] = (int)piVar31;\n            goto LAB_00019203;\n          }\n          if (*(char *)(param_2[1] + 0x18) == '\0') goto LAB_0001943c;\n          if (DAT_0003fad8 != (char *)0x0) {\n            piVar31 = (int *)((int)piVar31 + 1);\n            piVar3[1] = (int)piVar31;\n            goto LAB_0001945b;\n          }\n          *(char *)piVar31 = *(char *)(param_2[1] + 0x18);\n          piVar3[1] = (int)piVar31;\n        }\n        else {\n          if (((DAT_0003fb1c == 0) || (*(char *)(param_2[1] + 0x18) == '\0')) ||\n             (*(char *)(param_1[1] + 0x18) != '\0')) {\nLAB_00019203:\n            if (pcVar22 == (char *)0x0) goto LAB_0001926f;\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = piVar19;\n          }\n          else {\nLAB_0001945b:\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = (int *)((int)piVar19 + 1);\n            *(char *)piVar19 = *(char *)(param_2[1] + 0x18);\n          }\n          pcVar22 = DAT_0003fad8;\n          if (DAT_0003fad8 != (char *)0x0) {\n            strcpy((char *)local_5c,DAT_0003fad8);\n            sVar17 = strlen(pcVar22);\n            local_5c = (int *)((int)local_5c + sVar17);\n          }\n          strcpy((char *)local_5c,(char *)piVar31);\n          piVar3[1] = (int)piVar19;\n          piVar31 = piVar19;\n        }\nLAB_0001926f:\n        if (DAT_0003fb78 == 7) goto LAB_000192f8;\n        if ((uVar26 & 0x20) == 0) {\n          if (((uVar26 & 0x100) == 0) ||\n             ((*(byte *)(**(int **)(piVar3[4] + 0x9c) + 0xc) & 0x20) == 0)) {\n            if ((((uVar35 >> 5 & 0x42) == 0) &&\n                (((uVar26 & 0x82) != 0 || ((*(byte *)(piVar3[4] + 0x15) & 0x10) != 0)))) ||\n               (iVar9 = bfd_decode_symclass(piVar3), iVar9 == 0x49)) {\nLAB_00019528:\n              iVar9 = FUN_00017880();\n              if (iVar9 == 0) goto LAB_000192e0;\n            }\n            else if ((((uVar26 & 0x82) == 0) && (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8)) &&\n                    ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)) {\n              if ((uVar26 & 4) == 0) {\n                if (((*(int *)(param_1[1] + 4) != 2) ||\n                    (iVar9 = *(int *)(piVar3[4] + 0x8c), iVar9 == 0)) ||\n                   (*(int *)(iVar9 + 0x24) == 0)) {\n                  if ((DAT_0003fb78 == 3) || (DAT_0003fb74 == 2)) goto LAB_000192f8;\n                  if (DAT_0003fb74 == 1) {\n                    iVar9 = bfd_is_local_label(param_1,piVar3,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }\n                goto LAB_00019528;\n              }\n              iVar9 = DAT_0003fb28;\n              if (1 < DAT_0003fb78 - 2U) {\njoined_r0x0001a13f:\n                if (iVar9 == 0) goto LAB_00019528;\n              }\n            }\n            else if (DAT_0003fb78 != 3) goto LAB_00019528;\n          }\n          else {\n            iVar9 = FUN_00017880();\n            if (iVar9 != 0) {\n              uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",\n                                 5,iVar9);\n              FUN_0002b6d0(uVar10,piVar31);\n              DAT_0003fb88 = 1;\n            }\nLAB_000192e0:\n            iVar9 = FUN_00017880();\n            if (iVar9 == 0) goto LAB_0001931c;\n          }\nLAB_000192f8:\n          if (((DAT_0003fadc != 0) && ((uVar26 & 0x4000) != 0)) ||\n             (iVar9 = FUN_00017880(), iVar9 != 0)) goto LAB_0001931c;\n        }\n        else {\n          iVar9 = FUN_00017880();\n          if (iVar9 != 0) {\n            uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",5)\n            ;\n            FUN_0002b6d0(uVar10,piVar31);\n            DAT_0003fb88 = 1;\n          }\nLAB_0001931c:\n          iVar9 = FUN_000178f0();\n          if (iVar9 == 0) {\n            if (((uVar26 & 2) != 0) && ((DAT_0003fae0 != 0 || (iVar9 = FUN_00017880(), iVar9 != 0)))\n               ) {\n              piVar3[3] = piVar3[3] & 0xfffffffdU | 0x80;\n            }\n            if (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8) {\n              if (((uVar26 & 0x82) != 0) &&\n                 (((iVar9 = FUN_00017880(), iVar9 != 0 ||\n                   ((iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0)))) ||\n                  ((DAT_0003fb10 != 0 &&\n                   ((((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)\n                    ))))))) {\n                piVar3[3] = piVar3[3] & 0xffffff7dU | 1;\n              }\n              if (((uVar26 & 1) != 0) && (iVar9 = FUN_00017880(), iVar9 != 0)) {\n                piVar3[3] = piVar3[3] & 0xfffffffeU | 2;\n              }\n            }\n            piVar15[local_70] = (int)piVar3;\n            local_70 = local_70 + 1;\n          }\n        }\n        local_68 = local_68 + 1;\n      } while (piVar1 != local_68);\n    }\n    local_5c = DAT_0003fae8;\n    if ((DAT_0003fae8 != (int *)0x0) && (0 < DAT_0003fae4)) {\n      iVar9 = 0;\n      do {\n        pcVar22 = (char *)local_5c[5];\n        if (pcVar22 == (char *)0x0) {\n          iVar12 = FUN_000177e0();\n          piVar15[local_70] = iVar12;\n          local_70 = local_70 + 1;\n        }\n        else if (*pcVar22 != '\0') {\n          uVar10 = dcgettext(0,"\'before=%s\' not found",5,local_70);\n                    /* WARNING: Subroutine does not return */\n          FUN_0002b6a0(uVar10,pcVar22);\n        }\n        iVar9 = iVar9 + 1;\n        local_5c = (int *)*local_5c;\n      } while (iVar9 < DAT_0003fae4);\n    }\n    piVar15[local_70] = 0;\n    if ((DAT_0003fb28 != 0) && (local_94 != 0)) {\n      iVar9 = ((undefined4 *)param_2[1])[1];\n      if ((iVar9 != 2) && (iVar9 != 5)) {\n        uVar10 = *(undefined4 *)param_2[1];\n        uVar11 = dcgettext(0,"don\'t know how to write debugging information for %s",5);\n        FUN_0002c160(0,param_2,0,uVar11,uVar10);\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n      iVar9 = FUN_0002b050(param_2,local_94,&local_4c,local_44,&local_48,&local_30);\n      if (iVar9 == 0) {\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n      iVar9 = bfd_make_section_with_flags(param_2,".stab",0x2108);\n      iVar12 = bfd_make_section_with_flags(param_2,".stabstr",0x2108);\n      if ((((iVar9 == 0) || (iVar12 == 0)) ||\n          (iVar21 = bfd_set_section_size(param_2,iVar9,local_44[0],iVar12), iVar21 == 0)) ||\n         (iVar21 = bfd_set_section_size(param_2,iVar12,local_30,iVar21), iVar21 == 0)) {\n        pcVar22 = "can\'t create debugging section";\nLAB_00019fcf:\n        uVar10 = dcgettext(0,pcVar22,5,iVar9);\n        FUN_0002c160(0,param_2,0,uVar10);\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n      *(undefined4 *)(iVar9 + 0x40) = 2;\n      *(undefined4 *)(iVar12 + 0x40) = 0;\n      iVar9 = bfd_set_section_contents(param_2,iVar9,local_4c,0,0,local_44[0],iVar21,iVar21);\n      if ((iVar9 == 0) ||\n         (iVar9 = bfd_set_section_contents\n                            (param_2,iVar12,local_48,0,0,local_30,extraout_ECX,extraout_ECX),\n         iVar9 == 0)) {\n        pcVar22 = "can\'t set debugging section contents";\n        iVar9 = iVar12;\n        goto LAB_00019fcf;\n      }\n    }\n  }\n  else {\n    if (DAT_0003fb10 != 0 || DAT_0003fb74 != 0) goto LAB_00019037;\n    iVar9 = htab_elements(DAT_0003fb0c);\n    if (((iVar9 != 0) || (iVar9 = htab_elements(DAT_0003fb04), iVar9 != 0)) ||\n       ((iVar9 = htab_elements(DAT_0003fb00), iVar9 != 0 ||\n        (((((iVar9 = htab_elements(DAT_0003fafc), iVar9 != 0 ||\n            (iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0)) ||\n           (iVar9 = htab_elements(DAT_0003faf4), iVar9 != 0)) ||\n          ((iVar9 = htab_elements(DAT_0003faf0), DAT_0003fad8 != (char *)0x0 ||\n           (DAT_0003fba0 != (undefined4 *)0x0)))) ||\n         (((((((DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0) || DAT_0003fb1c != 0)\n            || DAT_0003fb18 != 0) || DAT_0003fae0 != 0) || DAT_0003fae4 != 0) || iVar9 != 0))))))\n    goto LAB_00019032;\n  }" if (parenthesized_expression "(DAT_0003fb78 - 2U < 6)" ( (binary_expression "DAT_0003fb78 - 2U < 6" (binary_expression "DAT_0003fb78 - 2U" identifier - number_literal) < number_literal) )) (compound_statement "{\nLAB_00019032:\n    if (DAT_0003fb78 != 7) {\nLAB_00019037:\n      bfd_set_error(0);\n      bfd_map_over_sections(param_1,FUN_00018470,DAT_0003fb9c);\n      iVar9 = bfd_get_error();\n      if (iVar9 != 0) {\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n    }\n    piVar15 = (int *)xmalloc((DAT_0003fae4 + local_70) * 4 + 4);\n    local_68 = DAT_0003fb9c;\n    uVar35 = param_1[10];\n    DAT_0003fb98 = piVar15;\n    if (local_70 != 0) {\n      piVar1 = DAT_0003fb9c + local_70;\n      local_70 = 0;\n      puVar16 = PTR__bfd_std_section_0003efc8 + 0xa8;\n      do {\n        iVar9 = DAT_0003fae4;\n        piVar3 = (int *)*local_68;\n        uVar26 = piVar3[3];\n        piVar19 = (int *)piVar3[1];\n        puVar4 = (undefined *)piVar3[4];\n        if (((DAT_0003fae8 != (int *)0x0) && (0 < DAT_0003fae4)) &&\n           (pcVar22 = (char *)DAT_0003fae8[5], pcVar22 != (char *)0x0)) {\n          local_5c = (int *)0x0;\n          piVar31 = DAT_0003fae8;\n          while (iVar12 = strcmp(pcVar22,(char *)piVar19), iVar12 != 0) {\n            local_5c = (int *)((int)local_5c + 1);\n            piVar31 = (int *)*piVar31;\n            if ((local_5c == (int *)iVar9) || (pcVar22 = (char *)piVar31[5], pcVar22 == (char *)0x0)\n               ) goto LAB_00019180;\n          }\n          free(pcVar22);\n          piVar31[5] = (int)"";\n          piVar31 = piVar15 + local_70;\n          local_70 = local_70 + 1;\n          iVar9 = FUN_000177e0();\n          *piVar31 = iVar9;\n        }\nLAB_00019180:\n        iVar9 = htab_elements(DAT_0003faf0);\n        piVar31 = piVar19;\n        if ((iVar9 != 0) || (DAT_0003fba0 != (undefined4 *)0x0)) {\n          local_2c = 0;\n          local_30 = piVar19;\n          iVar9 = htab_find(DAT_0003faf0,&local_30);\n          if (((iVar9 == 0) || (piVar31 = *(int **)(iVar9 + 4), piVar19 == piVar31)) &&\n             (puVar33 = DAT_0003fba0, (uVar26 & 0x100) != 0)) {\n            for (; piVar31 = piVar19, puVar33 != (undefined4 *)0x0;\n                puVar33 = (undefined4 *)puVar33[3]) {\n              iVar9 = strcmp((char *)*puVar33,(char *)piVar19);\n              if (iVar9 == 0) {\n                piVar31 = (int *)puVar33[1];\n                break;\n              }\n            }\n          }\n          piVar3[1] = (int)piVar31;\n        }\n        pcVar22 = DAT_0003fad8;\n        if ((char)*piVar31 == *(char *)(param_1[1] + 0x18)) {\n          if (DAT_0003fb1c == 0) {\n            if ((DAT_0003fb18 == 0) ||\n               ((((uVar26 & 0x82) == 0 && (puVar4 != puVar16)) &&\n                ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)))) goto LAB_00019203;\nLAB_0001943c:\n            piVar31 = (int *)((int)piVar31 + 1);\n            piVar3[1] = (int)piVar31;\n            goto LAB_00019203;\n          }\n          if (*(char *)(param_2[1] + 0x18) == '\0') goto LAB_0001943c;\n          if (DAT_0003fad8 != (char *)0x0) {\n            piVar31 = (int *)((int)piVar31 + 1);\n            piVar3[1] = (int)piVar31;\n            goto LAB_0001945b;\n          }\n          *(char *)piVar31 = *(char *)(param_2[1] + 0x18);\n          piVar3[1] = (int)piVar31;\n        }\n        else {\n          if (((DAT_0003fb1c == 0) || (*(char *)(param_2[1] + 0x18) == '\0')) ||\n             (*(char *)(param_1[1] + 0x18) != '\0')) {\nLAB_00019203:\n            if (pcVar22 == (char *)0x0) goto LAB_0001926f;\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = piVar19;\n          }\n          else {\nLAB_0001945b:\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = (int *)((int)piVar19 + 1);\n            *(char *)piVar19 = *(char *)(param_2[1] + 0x18);\n          }\n          pcVar22 = DAT_0003fad8;\n          if (DAT_0003fad8 != (char *)0x0) {\n            strcpy((char *)local_5c,DAT_0003fad8);\n            sVar17 = strlen(pcVar22);\n            local_5c = (int *)((int)local_5c + sVar17);\n          }\n          strcpy((char *)local_5c,(char *)piVar31);\n          piVar3[1] = (int)piVar19;\n          piVar31 = piVar19;\n        }\nLAB_0001926f:\n        if (DAT_0003fb78 == 7) goto LAB_000192f8;\n        if ((uVar26 & 0x20) == 0) {\n          if (((uVar26 & 0x100) == 0) ||\n             ((*(byte *)(**(int **)(piVar3[4] + 0x9c) + 0xc) & 0x20) == 0)) {\n            if ((((uVar35 >> 5 & 0x42) == 0) &&\n                (((uVar26 & 0x82) != 0 || ((*(byte *)(piVar3[4] + 0x15) & 0x10) != 0)))) ||\n               (iVar9 = bfd_decode_symclass(piVar3), iVar9 == 0x49)) {\nLAB_00019528:\n              iVar9 = FUN_00017880();\n              if (iVar9 == 0) goto LAB_000192e0;\n            }\n            else if ((((uVar26 & 0x82) == 0) && (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8)) &&\n                    ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)) {\n              if ((uVar26 & 4) == 0) {\n                if (((*(int *)(param_1[1] + 4) != 2) ||\n                    (iVar9 = *(int *)(piVar3[4] + 0x8c), iVar9 == 0)) ||\n                   (*(int *)(iVar9 + 0x24) == 0)) {\n                  if ((DAT_0003fb78 == 3) || (DAT_0003fb74 == 2)) goto LAB_000192f8;\n                  if (DAT_0003fb74 == 1) {\n                    iVar9 = bfd_is_local_label(param_1,piVar3,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }\n                goto LAB_00019528;\n              }\n              iVar9 = DAT_0003fb28;\n              if (1 < DAT_0003fb78 - 2U) {\njoined_r0x0001a13f:\n                if (iVar9 == 0) goto LAB_00019528;\n              }\n            }\n            else if (DAT_0003fb78 != 3) goto LAB_00019528;\n          }\n          else {\n            iVar9 = FUN_00017880();\n            if (iVar9 != 0) {\n              uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",\n                                 5,iVar9);\n              FUN_0002b6d0(uVar10,piVar31);\n              DAT_0003fb88 = 1;\n            }\nLAB_000192e0:\n            iVar9 = FUN_00017880();\n            if (iVar9 == 0) goto LAB_0001931c;\n          }\nLAB_000192f8:\n          if (((DAT_0003fadc != 0) && ((uVar26 & 0x4000) != 0)) ||\n             (iVar9 = FUN_00017880(), iVar9 != 0)) goto LAB_0001931c;\n        }\n        else {\n          iVar9 = FUN_00017880();\n          if (iVar9 != 0) {\n            uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",5)\n            ;\n            FUN_0002b6d0(uVar10,piVar31);\n            DAT_0003fb88 = 1;\n          }\nLAB_0001931c:\n          iVar9 = FUN_000178f0();\n          if (iVar9 == 0) {\n            if (((uVar26 & 2) != 0) && ((DAT_0003fae0 != 0 || (iVar9 = FUN_00017880(), iVar9 != 0)))\n               ) {\n              piVar3[3] = piVar3[3] & 0xfffffffdU | 0x80;\n            }\n            if (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8) {\n              if (((uVar26 & 0x82) != 0) &&\n                 (((iVar9 = FUN_00017880(), iVar9 != 0 ||\n                   ((iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0)))) ||\n                  ((DAT_0003fb10 != 0 &&\n                   ((((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)\n                    ))))))) {\n                piVar3[3] = piVar3[3] & 0xffffff7dU | 1;\n              }\n              if (((uVar26 & 1) != 0) && (iVar9 = FUN_00017880(), iVar9 != 0)) {\n                piVar3[3] = piVar3[3] & 0xfffffffeU | 2;\n              }\n            }\n            piVar15[local_70] = (int)piVar3;\n            local_70 = local_70 + 1;\n          }\n        }\n        local_68 = local_68 + 1;\n      } while (piVar1 != local_68);\n    }\n    local_5c = DAT_0003fae8;\n    if ((DAT_0003fae8 != (int *)0x0) && (0 < DAT_0003fae4)) {\n      iVar9 = 0;\n      do {\n        pcVar22 = (char *)local_5c[5];\n        if (pcVar22 == (char *)0x0) {\n          iVar12 = FUN_000177e0();\n          piVar15[local_70] = iVar12;\n          local_70 = local_70 + 1;\n        }\n        else if (*pcVar22 != '\0') {\n          uVar10 = dcgettext(0,"\'before=%s\' not found",5,local_70);\n                    /* WARNING: Subroutine does not return */\n          FUN_0002b6a0(uVar10,pcVar22);\n        }\n        iVar9 = iVar9 + 1;\n        local_5c = (int *)*local_5c;\n      } while (iVar9 < DAT_0003fae4);\n    }\n    piVar15[local_70] = 0;\n    if ((DAT_0003fb28 != 0) && (local_94 != 0)) {\n      iVar9 = ((undefined4 *)param_2[1])[1];\n      if ((iVar9 != 2) && (iVar9 != 5)) {\n        uVar10 = *(undefined4 *)param_2[1];\n        uVar11 = dcgettext(0,"don\'t know how to write debugging information for %s",5);\n        FUN_0002c160(0,param_2,0,uVar11,uVar10);\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n      iVar9 = FUN_0002b050(param_2,local_94,&local_4c,local_44,&local_48,&local_30);\n      if (iVar9 == 0) {\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n      iVar9 = bfd_make_section_with_flags(param_2,".stab",0x2108);\n      iVar12 = bfd_make_section_with_flags(param_2,".stabstr",0x2108);\n      if ((((iVar9 == 0) || (iVar12 == 0)) ||\n          (iVar21 = bfd_set_section_size(param_2,iVar9,local_44[0],iVar12), iVar21 == 0)) ||\n         (iVar21 = bfd_set_section_size(param_2,iVar12,local_30,iVar21), iVar21 == 0)) {\n        pcVar22 = "can\'t create debugging section";\nLAB_00019fcf:\n        uVar10 = dcgettext(0,pcVar22,5,iVar9);\n        FUN_0002c160(0,param_2,0,uVar10);\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n      *(undefined4 *)(iVar9 + 0x40) = 2;\n      *(undefined4 *)(iVar12 + 0x40) = 0;\n      iVar9 = bfd_set_section_contents(param_2,iVar9,local_4c,0,0,local_44[0],iVar21,iVar21);\n      if ((iVar9 == 0) ||\n         (iVar9 = bfd_set_section_contents\n                            (param_2,iVar12,local_48,0,0,local_30,extraout_ECX,extraout_ECX),\n         iVar9 == 0)) {\n        pcVar22 = "can\'t set debugging section contents";\n        iVar9 = iVar12;\n        goto LAB_00019fcf;\n      }\n    }\n  }" { (labeled_statement "LAB_00019032:\n    if (DAT_0003fb78 != 7) {\nLAB_00019037:\n      bfd_set_error(0);\n      bfd_map_over_sections(param_1,FUN_00018470,DAT_0003fb9c);\n      iVar9 = bfd_get_error();\n      if (iVar9 != 0) {\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n    }" statement_identifier : (if_statement "if (DAT_0003fb78 != 7) {\nLAB_00019037:\n      bfd_set_error(0);\n      bfd_map_over_sections(param_1,FUN_00018470,DAT_0003fb9c);\n      iVar9 = bfd_get_error();\n      if (iVar9 != 0) {\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n    }" if (parenthesized_expression "(DAT_0003fb78 != 7)" ( (binary_expression "DAT_0003fb78 != 7" identifier != number_literal) )) (compound_statement "{\nLAB_00019037:\n      bfd_set_error(0);\n      bfd_map_over_sections(param_1,FUN_00018470,DAT_0003fb9c);\n      iVar9 = bfd_get_error();\n      if (iVar9 != 0) {\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n    }" { (labeled_statement "LAB_00019037:\n      bfd_set_error(0);" statement_identifier : (expression_statement "bfd_set_error(0);" (call_expression "bfd_set_error(0)" identifier (argument_list "(0)" ( number_literal ))) ;)) (expression_statement "bfd_map_over_sections(param_1,FUN_00018470,DAT_0003fb9c);" (call_expression "bfd_map_over_sections(param_1,FUN_00018470,DAT_0003fb9c)" identifier (argument_list "(param_1,FUN_00018470,DAT_0003fb9c)" ( identifier , identifier , identifier ))) ;) (expression_statement "iVar9 = bfd_get_error();" (assignment_expression "iVar9 = bfd_get_error()" identifier = (call_expression "bfd_get_error()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar9 != 0) {\n        DAT_0003fb88 = 1;\n        return 0;\n      }" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (compound_statement "{\n        DAT_0003fb88 = 1;\n        return 0;\n      }" { (expression_statement "DAT_0003fb88 = 1;" (assignment_expression "DAT_0003fb88 = 1" identifier = number_literal) ;) (return_statement "return 0;" return number_literal ;) })) }))) (expression_statement "piVar15 = (int *)xmalloc((DAT_0003fae4 + local_70) * 4 + 4);" (assignment_expression "piVar15 = (int *)xmalloc((DAT_0003fae4 + local_70) * 4 + 4)" identifier = (cast_expression "(int *)xmalloc((DAT_0003fae4 + local_70) * 4 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc((DAT_0003fae4 + local_70) * 4 + 4)" identifier (argument_list "((DAT_0003fae4 + local_70) * 4 + 4)" ( (binary_expression "(DAT_0003fae4 + local_70) * 4 + 4" (binary_expression "(DAT_0003fae4 + local_70) * 4" (parenthesized_expression "(DAT_0003fae4 + local_70)" ( (binary_expression "DAT_0003fae4 + local_70" identifier + identifier) )) * number_literal) + number_literal) ))))) ;) (expression_statement "local_68 = DAT_0003fb9c;" (assignment_expression "local_68 = DAT_0003fb9c" identifier = identifier) ;) (expression_statement "uVar35 = param_1[10];" (assignment_expression "uVar35 = param_1[10]" identifier = (subscript_expression "param_1[10]" identifier [ number_literal ])) ;) (expression_statement "DAT_0003fb98 = piVar15;" (assignment_expression "DAT_0003fb98 = piVar15" identifier = identifier) ;) (if_statement "if (local_70 != 0) {\n      piVar1 = DAT_0003fb9c + local_70;\n      local_70 = 0;\n      puVar16 = PTR__bfd_std_section_0003efc8 + 0xa8;\n      do {\n        iVar9 = DAT_0003fae4;\n        piVar3 = (int *)*local_68;\n        uVar26 = piVar3[3];\n        piVar19 = (int *)piVar3[1];\n        puVar4 = (undefined *)piVar3[4];\n        if (((DAT_0003fae8 != (int *)0x0) && (0 < DAT_0003fae4)) &&\n           (pcVar22 = (char *)DAT_0003fae8[5], pcVar22 != (char *)0x0)) {\n          local_5c = (int *)0x0;\n          piVar31 = DAT_0003fae8;\n          while (iVar12 = strcmp(pcVar22,(char *)piVar19), iVar12 != 0) {\n            local_5c = (int *)((int)local_5c + 1);\n            piVar31 = (int *)*piVar31;\n            if ((local_5c == (int *)iVar9) || (pcVar22 = (char *)piVar31[5], pcVar22 == (char *)0x0)\n               ) goto LAB_00019180;\n          }\n          free(pcVar22);\n          piVar31[5] = (int)"";\n          piVar31 = piVar15 + local_70;\n          local_70 = local_70 + 1;\n          iVar9 = FUN_000177e0();\n          *piVar31 = iVar9;\n        }\nLAB_00019180:\n        iVar9 = htab_elements(DAT_0003faf0);\n        piVar31 = piVar19;\n        if ((iVar9 != 0) || (DAT_0003fba0 != (undefined4 *)0x0)) {\n          local_2c = 0;\n          local_30 = piVar19;\n          iVar9 = htab_find(DAT_0003faf0,&local_30);\n          if (((iVar9 == 0) || (piVar31 = *(int **)(iVar9 + 4), piVar19 == piVar31)) &&\n             (puVar33 = DAT_0003fba0, (uVar26 & 0x100) != 0)) {\n            for (; piVar31 = piVar19, puVar33 != (undefined4 *)0x0;\n                puVar33 = (undefined4 *)puVar33[3]) {\n              iVar9 = strcmp((char *)*puVar33,(char *)piVar19);\n              if (iVar9 == 0) {\n                piVar31 = (int *)puVar33[1];\n                break;\n              }\n            }\n          }\n          piVar3[1] = (int)piVar31;\n        }\n        pcVar22 = DAT_0003fad8;\n        if ((char)*piVar31 == *(char *)(param_1[1] + 0x18)) {\n          if (DAT_0003fb1c == 0) {\n            if ((DAT_0003fb18 == 0) ||\n               ((((uVar26 & 0x82) == 0 && (puVar4 != puVar16)) &&\n                ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)))) goto LAB_00019203;\nLAB_0001943c:\n            piVar31 = (int *)((int)piVar31 + 1);\n            piVar3[1] = (int)piVar31;\n            goto LAB_00019203;\n          }\n          if (*(char *)(param_2[1] + 0x18) == '\0') goto LAB_0001943c;\n          if (DAT_0003fad8 != (char *)0x0) {\n            piVar31 = (int *)((int)piVar31 + 1);\n            piVar3[1] = (int)piVar31;\n            goto LAB_0001945b;\n          }\n          *(char *)piVar31 = *(char *)(param_2[1] + 0x18);\n          piVar3[1] = (int)piVar31;\n        }\n        else {\n          if (((DAT_0003fb1c == 0) || (*(char *)(param_2[1] + 0x18) == '\0')) ||\n             (*(char *)(param_1[1] + 0x18) != '\0')) {\nLAB_00019203:\n            if (pcVar22 == (char *)0x0) goto LAB_0001926f;\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = piVar19;\n          }\n          else {\nLAB_0001945b:\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = (int *)((int)piVar19 + 1);\n            *(char *)piVar19 = *(char *)(param_2[1] + 0x18);\n          }\n          pcVar22 = DAT_0003fad8;\n          if (DAT_0003fad8 != (char *)0x0) {\n            strcpy((char *)local_5c,DAT_0003fad8);\n            sVar17 = strlen(pcVar22);\n            local_5c = (int *)((int)local_5c + sVar17);\n          }\n          strcpy((char *)local_5c,(char *)piVar31);\n          piVar3[1] = (int)piVar19;\n          piVar31 = piVar19;\n        }\nLAB_0001926f:\n        if (DAT_0003fb78 == 7) goto LAB_000192f8;\n        if ((uVar26 & 0x20) == 0) {\n          if (((uVar26 & 0x100) == 0) ||\n             ((*(byte *)(**(int **)(piVar3[4] + 0x9c) + 0xc) & 0x20) == 0)) {\n            if ((((uVar35 >> 5 & 0x42) == 0) &&\n                (((uVar26 & 0x82) != 0 || ((*(byte *)(piVar3[4] + 0x15) & 0x10) != 0)))) ||\n               (iVar9 = bfd_decode_symclass(piVar3), iVar9 == 0x49)) {\nLAB_00019528:\n              iVar9 = FUN_00017880();\n              if (iVar9 == 0) goto LAB_000192e0;\n            }\n            else if ((((uVar26 & 0x82) == 0) && (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8)) &&\n                    ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)) {\n              if ((uVar26 & 4) == 0) {\n                if (((*(int *)(param_1[1] + 4) != 2) ||\n                    (iVar9 = *(int *)(piVar3[4] + 0x8c), iVar9 == 0)) ||\n                   (*(int *)(iVar9 + 0x24) == 0)) {\n                  if ((DAT_0003fb78 == 3) || (DAT_0003fb74 == 2)) goto LAB_000192f8;\n                  if (DAT_0003fb74 == 1) {\n                    iVar9 = bfd_is_local_label(param_1,piVar3,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }\n                goto LAB_00019528;\n              }\n              iVar9 = DAT_0003fb28;\n              if (1 < DAT_0003fb78 - 2U) {\njoined_r0x0001a13f:\n                if (iVar9 == 0) goto LAB_00019528;\n              }\n            }\n            else if (DAT_0003fb78 != 3) goto LAB_00019528;\n          }\n          else {\n            iVar9 = FUN_00017880();\n            if (iVar9 != 0) {\n              uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",\n                                 5,iVar9);\n              FUN_0002b6d0(uVar10,piVar31);\n              DAT_0003fb88 = 1;\n            }\nLAB_000192e0:\n            iVar9 = FUN_00017880();\n            if (iVar9 == 0) goto LAB_0001931c;\n          }\nLAB_000192f8:\n          if (((DAT_0003fadc != 0) && ((uVar26 & 0x4000) != 0)) ||\n             (iVar9 = FUN_00017880(), iVar9 != 0)) goto LAB_0001931c;\n        }\n        else {\n          iVar9 = FUN_00017880();\n          if (iVar9 != 0) {\n            uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",5)\n            ;\n            FUN_0002b6d0(uVar10,piVar31);\n            DAT_0003fb88 = 1;\n          }\nLAB_0001931c:\n          iVar9 = FUN_000178f0();\n          if (iVar9 == 0) {\n            if (((uVar26 & 2) != 0) && ((DAT_0003fae0 != 0 || (iVar9 = FUN_00017880(), iVar9 != 0)))\n               ) {\n              piVar3[3] = piVar3[3] & 0xfffffffdU | 0x80;\n            }\n            if (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8) {\n              if (((uVar26 & 0x82) != 0) &&\n                 (((iVar9 = FUN_00017880(), iVar9 != 0 ||\n                   ((iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0)))) ||\n                  ((DAT_0003fb10 != 0 &&\n                   ((((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)\n                    ))))))) {\n                piVar3[3] = piVar3[3] & 0xffffff7dU | 1;\n              }\n              if (((uVar26 & 1) != 0) && (iVar9 = FUN_00017880(), iVar9 != 0)) {\n                piVar3[3] = piVar3[3] & 0xfffffffeU | 2;\n              }\n            }\n            piVar15[local_70] = (int)piVar3;\n            local_70 = local_70 + 1;\n          }\n        }\n        local_68 = local_68 + 1;\n      } while (piVar1 != local_68);\n    }" if (parenthesized_expression "(local_70 != 0)" ( (binary_expression "local_70 != 0" identifier != number_literal) )) (compound_statement "{\n      piVar1 = DAT_0003fb9c + local_70;\n      local_70 = 0;\n      puVar16 = PTR__bfd_std_section_0003efc8 + 0xa8;\n      do {\n        iVar9 = DAT_0003fae4;\n        piVar3 = (int *)*local_68;\n        uVar26 = piVar3[3];\n        piVar19 = (int *)piVar3[1];\n        puVar4 = (undefined *)piVar3[4];\n        if (((DAT_0003fae8 != (int *)0x0) && (0 < DAT_0003fae4)) &&\n           (pcVar22 = (char *)DAT_0003fae8[5], pcVar22 != (char *)0x0)) {\n          local_5c = (int *)0x0;\n          piVar31 = DAT_0003fae8;\n          while (iVar12 = strcmp(pcVar22,(char *)piVar19), iVar12 != 0) {\n            local_5c = (int *)((int)local_5c + 1);\n            piVar31 = (int *)*piVar31;\n            if ((local_5c == (int *)iVar9) || (pcVar22 = (char *)piVar31[5], pcVar22 == (char *)0x0)\n               ) goto LAB_00019180;\n          }\n          free(pcVar22);\n          piVar31[5] = (int)"";\n          piVar31 = piVar15 + local_70;\n          local_70 = local_70 + 1;\n          iVar9 = FUN_000177e0();\n          *piVar31 = iVar9;\n        }\nLAB_00019180:\n        iVar9 = htab_elements(DAT_0003faf0);\n        piVar31 = piVar19;\n        if ((iVar9 != 0) || (DAT_0003fba0 != (undefined4 *)0x0)) {\n          local_2c = 0;\n          local_30 = piVar19;\n          iVar9 = htab_find(DAT_0003faf0,&local_30);\n          if (((iVar9 == 0) || (piVar31 = *(int **)(iVar9 + 4), piVar19 == piVar31)) &&\n             (puVar33 = DAT_0003fba0, (uVar26 & 0x100) != 0)) {\n            for (; piVar31 = piVar19, puVar33 != (undefined4 *)0x0;\n                puVar33 = (undefined4 *)puVar33[3]) {\n              iVar9 = strcmp((char *)*puVar33,(char *)piVar19);\n              if (iVar9 == 0) {\n                piVar31 = (int *)puVar33[1];\n                break;\n              }\n            }\n          }\n          piVar3[1] = (int)piVar31;\n        }\n        pcVar22 = DAT_0003fad8;\n        if ((char)*piVar31 == *(char *)(param_1[1] + 0x18)) {\n          if (DAT_0003fb1c == 0) {\n            if ((DAT_0003fb18 == 0) ||\n               ((((uVar26 & 0x82) == 0 && (puVar4 != puVar16)) &&\n                ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)))) goto LAB_00019203;\nLAB_0001943c:\n            piVar31 = (int *)((int)piVar31 + 1);\n            piVar3[1] = (int)piVar31;\n            goto LAB_00019203;\n          }\n          if (*(char *)(param_2[1] + 0x18) == '\0') goto LAB_0001943c;\n          if (DAT_0003fad8 != (char *)0x0) {\n            piVar31 = (int *)((int)piVar31 + 1);\n            piVar3[1] = (int)piVar31;\n            goto LAB_0001945b;\n          }\n          *(char *)piVar31 = *(char *)(param_2[1] + 0x18);\n          piVar3[1] = (int)piVar31;\n        }\n        else {\n          if (((DAT_0003fb1c == 0) || (*(char *)(param_2[1] + 0x18) == '\0')) ||\n             (*(char *)(param_1[1] + 0x18) != '\0')) {\nLAB_00019203:\n            if (pcVar22 == (char *)0x0) goto LAB_0001926f;\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = piVar19;\n          }\n          else {\nLAB_0001945b:\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = (int *)((int)piVar19 + 1);\n            *(char *)piVar19 = *(char *)(param_2[1] + 0x18);\n          }\n          pcVar22 = DAT_0003fad8;\n          if (DAT_0003fad8 != (char *)0x0) {\n            strcpy((char *)local_5c,DAT_0003fad8);\n            sVar17 = strlen(pcVar22);\n            local_5c = (int *)((int)local_5c + sVar17);\n          }\n          strcpy((char *)local_5c,(char *)piVar31);\n          piVar3[1] = (int)piVar19;\n          piVar31 = piVar19;\n        }\nLAB_0001926f:\n        if (DAT_0003fb78 == 7) goto LAB_000192f8;\n        if ((uVar26 & 0x20) == 0) {\n          if (((uVar26 & 0x100) == 0) ||\n             ((*(byte *)(**(int **)(piVar3[4] + 0x9c) + 0xc) & 0x20) == 0)) {\n            if ((((uVar35 >> 5 & 0x42) == 0) &&\n                (((uVar26 & 0x82) != 0 || ((*(byte *)(piVar3[4] + 0x15) & 0x10) != 0)))) ||\n               (iVar9 = bfd_decode_symclass(piVar3), iVar9 == 0x49)) {\nLAB_00019528:\n              iVar9 = FUN_00017880();\n              if (iVar9 == 0) goto LAB_000192e0;\n            }\n            else if ((((uVar26 & 0x82) == 0) && (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8)) &&\n                    ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)) {\n              if ((uVar26 & 4) == 0) {\n                if (((*(int *)(param_1[1] + 4) != 2) ||\n                    (iVar9 = *(int *)(piVar3[4] + 0x8c), iVar9 == 0)) ||\n                   (*(int *)(iVar9 + 0x24) == 0)) {\n                  if ((DAT_0003fb78 == 3) || (DAT_0003fb74 == 2)) goto LAB_000192f8;\n                  if (DAT_0003fb74 == 1) {\n                    iVar9 = bfd_is_local_label(param_1,piVar3,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }\n                goto LAB_00019528;\n              }\n              iVar9 = DAT_0003fb28;\n              if (1 < DAT_0003fb78 - 2U) {\njoined_r0x0001a13f:\n                if (iVar9 == 0) goto LAB_00019528;\n              }\n            }\n            else if (DAT_0003fb78 != 3) goto LAB_00019528;\n          }\n          else {\n            iVar9 = FUN_00017880();\n            if (iVar9 != 0) {\n              uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",\n                                 5,iVar9);\n              FUN_0002b6d0(uVar10,piVar31);\n              DAT_0003fb88 = 1;\n            }\nLAB_000192e0:\n            iVar9 = FUN_00017880();\n            if (iVar9 == 0) goto LAB_0001931c;\n          }\nLAB_000192f8:\n          if (((DAT_0003fadc != 0) && ((uVar26 & 0x4000) != 0)) ||\n             (iVar9 = FUN_00017880(), iVar9 != 0)) goto LAB_0001931c;\n        }\n        else {\n          iVar9 = FUN_00017880();\n          if (iVar9 != 0) {\n            uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",5)\n            ;\n            FUN_0002b6d0(uVar10,piVar31);\n            DAT_0003fb88 = 1;\n          }\nLAB_0001931c:\n          iVar9 = FUN_000178f0();\n          if (iVar9 == 0) {\n            if (((uVar26 & 2) != 0) && ((DAT_0003fae0 != 0 || (iVar9 = FUN_00017880(), iVar9 != 0)))\n               ) {\n              piVar3[3] = piVar3[3] & 0xfffffffdU | 0x80;\n            }\n            if (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8) {\n              if (((uVar26 & 0x82) != 0) &&\n                 (((iVar9 = FUN_00017880(), iVar9 != 0 ||\n                   ((iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0)))) ||\n                  ((DAT_0003fb10 != 0 &&\n                   ((((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)\n                    ))))))) {\n                piVar3[3] = piVar3[3] & 0xffffff7dU | 1;\n              }\n              if (((uVar26 & 1) != 0) && (iVar9 = FUN_00017880(), iVar9 != 0)) {\n                piVar3[3] = piVar3[3] & 0xfffffffeU | 2;\n              }\n            }\n            piVar15[local_70] = (int)piVar3;\n            local_70 = local_70 + 1;\n          }\n        }\n        local_68 = local_68 + 1;\n      } while (piVar1 != local_68);\n    }" { (expression_statement "piVar1 = DAT_0003fb9c + local_70;" (assignment_expression "piVar1 = DAT_0003fb9c + local_70" identifier = (binary_expression "DAT_0003fb9c + local_70" identifier + identifier)) ;) (expression_statement "local_70 = 0;" (assignment_expression "local_70 = 0" identifier = number_literal) ;) (expression_statement "puVar16 = PTR__bfd_std_section_0003efc8 + 0xa8;" (assignment_expression "puVar16 = PTR__bfd_std_section_0003efc8 + 0xa8" identifier = (binary_expression "PTR__bfd_std_section_0003efc8 + 0xa8" identifier + number_literal)) ;) (do_statement "do {\n        iVar9 = DAT_0003fae4;\n        piVar3 = (int *)*local_68;\n        uVar26 = piVar3[3];\n        piVar19 = (int *)piVar3[1];\n        puVar4 = (undefined *)piVar3[4];\n        if (((DAT_0003fae8 != (int *)0x0) && (0 < DAT_0003fae4)) &&\n           (pcVar22 = (char *)DAT_0003fae8[5], pcVar22 != (char *)0x0)) {\n          local_5c = (int *)0x0;\n          piVar31 = DAT_0003fae8;\n          while (iVar12 = strcmp(pcVar22,(char *)piVar19), iVar12 != 0) {\n            local_5c = (int *)((int)local_5c + 1);\n            piVar31 = (int *)*piVar31;\n            if ((local_5c == (int *)iVar9) || (pcVar22 = (char *)piVar31[5], pcVar22 == (char *)0x0)\n               ) goto LAB_00019180;\n          }\n          free(pcVar22);\n          piVar31[5] = (int)"";\n          piVar31 = piVar15 + local_70;\n          local_70 = local_70 + 1;\n          iVar9 = FUN_000177e0();\n          *piVar31 = iVar9;\n        }\nLAB_00019180:\n        iVar9 = htab_elements(DAT_0003faf0);\n        piVar31 = piVar19;\n        if ((iVar9 != 0) || (DAT_0003fba0 != (undefined4 *)0x0)) {\n          local_2c = 0;\n          local_30 = piVar19;\n          iVar9 = htab_find(DAT_0003faf0,&local_30);\n          if (((iVar9 == 0) || (piVar31 = *(int **)(iVar9 + 4), piVar19 == piVar31)) &&\n             (puVar33 = DAT_0003fba0, (uVar26 & 0x100) != 0)) {\n            for (; piVar31 = piVar19, puVar33 != (undefined4 *)0x0;\n                puVar33 = (undefined4 *)puVar33[3]) {\n              iVar9 = strcmp((char *)*puVar33,(char *)piVar19);\n              if (iVar9 == 0) {\n                piVar31 = (int *)puVar33[1];\n                break;\n              }\n            }\n          }\n          piVar3[1] = (int)piVar31;\n        }\n        pcVar22 = DAT_0003fad8;\n        if ((char)*piVar31 == *(char *)(param_1[1] + 0x18)) {\n          if (DAT_0003fb1c == 0) {\n            if ((DAT_0003fb18 == 0) ||\n               ((((uVar26 & 0x82) == 0 && (puVar4 != puVar16)) &&\n                ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)))) goto LAB_00019203;\nLAB_0001943c:\n            piVar31 = (int *)((int)piVar31 + 1);\n            piVar3[1] = (int)piVar31;\n            goto LAB_00019203;\n          }\n          if (*(char *)(param_2[1] + 0x18) == '\0') goto LAB_0001943c;\n          if (DAT_0003fad8 != (char *)0x0) {\n            piVar31 = (int *)((int)piVar31 + 1);\n            piVar3[1] = (int)piVar31;\n            goto LAB_0001945b;\n          }\n          *(char *)piVar31 = *(char *)(param_2[1] + 0x18);\n          piVar3[1] = (int)piVar31;\n        }\n        else {\n          if (((DAT_0003fb1c == 0) || (*(char *)(param_2[1] + 0x18) == '\0')) ||\n             (*(char *)(param_1[1] + 0x18) != '\0')) {\nLAB_00019203:\n            if (pcVar22 == (char *)0x0) goto LAB_0001926f;\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = piVar19;\n          }\n          else {\nLAB_0001945b:\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = (int *)((int)piVar19 + 1);\n            *(char *)piVar19 = *(char *)(param_2[1] + 0x18);\n          }\n          pcVar22 = DAT_0003fad8;\n          if (DAT_0003fad8 != (char *)0x0) {\n            strcpy((char *)local_5c,DAT_0003fad8);\n            sVar17 = strlen(pcVar22);\n            local_5c = (int *)((int)local_5c + sVar17);\n          }\n          strcpy((char *)local_5c,(char *)piVar31);\n          piVar3[1] = (int)piVar19;\n          piVar31 = piVar19;\n        }\nLAB_0001926f:\n        if (DAT_0003fb78 == 7) goto LAB_000192f8;\n        if ((uVar26 & 0x20) == 0) {\n          if (((uVar26 & 0x100) == 0) ||\n             ((*(byte *)(**(int **)(piVar3[4] + 0x9c) + 0xc) & 0x20) == 0)) {\n            if ((((uVar35 >> 5 & 0x42) == 0) &&\n                (((uVar26 & 0x82) != 0 || ((*(byte *)(piVar3[4] + 0x15) & 0x10) != 0)))) ||\n               (iVar9 = bfd_decode_symclass(piVar3), iVar9 == 0x49)) {\nLAB_00019528:\n              iVar9 = FUN_00017880();\n              if (iVar9 == 0) goto LAB_000192e0;\n            }\n            else if ((((uVar26 & 0x82) == 0) && (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8)) &&\n                    ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)) {\n              if ((uVar26 & 4) == 0) {\n                if (((*(int *)(param_1[1] + 4) != 2) ||\n                    (iVar9 = *(int *)(piVar3[4] + 0x8c), iVar9 == 0)) ||\n                   (*(int *)(iVar9 + 0x24) == 0)) {\n                  if ((DAT_0003fb78 == 3) || (DAT_0003fb74 == 2)) goto LAB_000192f8;\n                  if (DAT_0003fb74 == 1) {\n                    iVar9 = bfd_is_local_label(param_1,piVar3,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }\n                goto LAB_00019528;\n              }\n              iVar9 = DAT_0003fb28;\n              if (1 < DAT_0003fb78 - 2U) {\njoined_r0x0001a13f:\n                if (iVar9 == 0) goto LAB_00019528;\n              }\n            }\n            else if (DAT_0003fb78 != 3) goto LAB_00019528;\n          }\n          else {\n            iVar9 = FUN_00017880();\n            if (iVar9 != 0) {\n              uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",\n                                 5,iVar9);\n              FUN_0002b6d0(uVar10,piVar31);\n              DAT_0003fb88 = 1;\n            }\nLAB_000192e0:\n            iVar9 = FUN_00017880();\n            if (iVar9 == 0) goto LAB_0001931c;\n          }\nLAB_000192f8:\n          if (((DAT_0003fadc != 0) && ((uVar26 & 0x4000) != 0)) ||\n             (iVar9 = FUN_00017880(), iVar9 != 0)) goto LAB_0001931c;\n        }\n        else {\n          iVar9 = FUN_00017880();\n          if (iVar9 != 0) {\n            uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",5)\n            ;\n            FUN_0002b6d0(uVar10,piVar31);\n            DAT_0003fb88 = 1;\n          }\nLAB_0001931c:\n          iVar9 = FUN_000178f0();\n          if (iVar9 == 0) {\n            if (((uVar26 & 2) != 0) && ((DAT_0003fae0 != 0 || (iVar9 = FUN_00017880(), iVar9 != 0)))\n               ) {\n              piVar3[3] = piVar3[3] & 0xfffffffdU | 0x80;\n            }\n            if (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8) {\n              if (((uVar26 & 0x82) != 0) &&\n                 (((iVar9 = FUN_00017880(), iVar9 != 0 ||\n                   ((iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0)))) ||\n                  ((DAT_0003fb10 != 0 &&\n                   ((((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)\n                    ))))))) {\n                piVar3[3] = piVar3[3] & 0xffffff7dU | 1;\n              }\n              if (((uVar26 & 1) != 0) && (iVar9 = FUN_00017880(), iVar9 != 0)) {\n                piVar3[3] = piVar3[3] & 0xfffffffeU | 2;\n              }\n            }\n            piVar15[local_70] = (int)piVar3;\n            local_70 = local_70 + 1;\n          }\n        }\n        local_68 = local_68 + 1;\n      } while (piVar1 != local_68);" do (compound_statement "{\n        iVar9 = DAT_0003fae4;\n        piVar3 = (int *)*local_68;\n        uVar26 = piVar3[3];\n        piVar19 = (int *)piVar3[1];\n        puVar4 = (undefined *)piVar3[4];\n        if (((DAT_0003fae8 != (int *)0x0) && (0 < DAT_0003fae4)) &&\n           (pcVar22 = (char *)DAT_0003fae8[5], pcVar22 != (char *)0x0)) {\n          local_5c = (int *)0x0;\n          piVar31 = DAT_0003fae8;\n          while (iVar12 = strcmp(pcVar22,(char *)piVar19), iVar12 != 0) {\n            local_5c = (int *)((int)local_5c + 1);\n            piVar31 = (int *)*piVar31;\n            if ((local_5c == (int *)iVar9) || (pcVar22 = (char *)piVar31[5], pcVar22 == (char *)0x0)\n               ) goto LAB_00019180;\n          }\n          free(pcVar22);\n          piVar31[5] = (int)"";\n          piVar31 = piVar15 + local_70;\n          local_70 = local_70 + 1;\n          iVar9 = FUN_000177e0();\n          *piVar31 = iVar9;\n        }\nLAB_00019180:\n        iVar9 = htab_elements(DAT_0003faf0);\n        piVar31 = piVar19;\n        if ((iVar9 != 0) || (DAT_0003fba0 != (undefined4 *)0x0)) {\n          local_2c = 0;\n          local_30 = piVar19;\n          iVar9 = htab_find(DAT_0003faf0,&local_30);\n          if (((iVar9 == 0) || (piVar31 = *(int **)(iVar9 + 4), piVar19 == piVar31)) &&\n             (puVar33 = DAT_0003fba0, (uVar26 & 0x100) != 0)) {\n            for (; piVar31 = piVar19, puVar33 != (undefined4 *)0x0;\n                puVar33 = (undefined4 *)puVar33[3]) {\n              iVar9 = strcmp((char *)*puVar33,(char *)piVar19);\n              if (iVar9 == 0) {\n                piVar31 = (int *)puVar33[1];\n                break;\n              }\n            }\n          }\n          piVar3[1] = (int)piVar31;\n        }\n        pcVar22 = DAT_0003fad8;\n        if ((char)*piVar31 == *(char *)(param_1[1] + 0x18)) {\n          if (DAT_0003fb1c == 0) {\n            if ((DAT_0003fb18 == 0) ||\n               ((((uVar26 & 0x82) == 0 && (puVar4 != puVar16)) &&\n                ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)))) goto LAB_00019203;\nLAB_0001943c:\n            piVar31 = (int *)((int)piVar31 + 1);\n            piVar3[1] = (int)piVar31;\n            goto LAB_00019203;\n          }\n          if (*(char *)(param_2[1] + 0x18) == '\0') goto LAB_0001943c;\n          if (DAT_0003fad8 != (char *)0x0) {\n            piVar31 = (int *)((int)piVar31 + 1);\n            piVar3[1] = (int)piVar31;\n            goto LAB_0001945b;\n          }\n          *(char *)piVar31 = *(char *)(param_2[1] + 0x18);\n          piVar3[1] = (int)piVar31;\n        }\n        else {\n          if (((DAT_0003fb1c == 0) || (*(char *)(param_2[1] + 0x18) == '\0')) ||\n             (*(char *)(param_1[1] + 0x18) != '\0')) {\nLAB_00019203:\n            if (pcVar22 == (char *)0x0) goto LAB_0001926f;\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = piVar19;\n          }\n          else {\nLAB_0001945b:\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = (int *)((int)piVar19 + 1);\n            *(char *)piVar19 = *(char *)(param_2[1] + 0x18);\n          }\n          pcVar22 = DAT_0003fad8;\n          if (DAT_0003fad8 != (char *)0x0) {\n            strcpy((char *)local_5c,DAT_0003fad8);\n            sVar17 = strlen(pcVar22);\n            local_5c = (int *)((int)local_5c + sVar17);\n          }\n          strcpy((char *)local_5c,(char *)piVar31);\n          piVar3[1] = (int)piVar19;\n          piVar31 = piVar19;\n        }\nLAB_0001926f:\n        if (DAT_0003fb78 == 7) goto LAB_000192f8;\n        if ((uVar26 & 0x20) == 0) {\n          if (((uVar26 & 0x100) == 0) ||\n             ((*(byte *)(**(int **)(piVar3[4] + 0x9c) + 0xc) & 0x20) == 0)) {\n            if ((((uVar35 >> 5 & 0x42) == 0) &&\n                (((uVar26 & 0x82) != 0 || ((*(byte *)(piVar3[4] + 0x15) & 0x10) != 0)))) ||\n               (iVar9 = bfd_decode_symclass(piVar3), iVar9 == 0x49)) {\nLAB_00019528:\n              iVar9 = FUN_00017880();\n              if (iVar9 == 0) goto LAB_000192e0;\n            }\n            else if ((((uVar26 & 0x82) == 0) && (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8)) &&\n                    ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)) {\n              if ((uVar26 & 4) == 0) {\n                if (((*(int *)(param_1[1] + 4) != 2) ||\n                    (iVar9 = *(int *)(piVar3[4] + 0x8c), iVar9 == 0)) ||\n                   (*(int *)(iVar9 + 0x24) == 0)) {\n                  if ((DAT_0003fb78 == 3) || (DAT_0003fb74 == 2)) goto LAB_000192f8;\n                  if (DAT_0003fb74 == 1) {\n                    iVar9 = bfd_is_local_label(param_1,piVar3,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }\n                goto LAB_00019528;\n              }\n              iVar9 = DAT_0003fb28;\n              if (1 < DAT_0003fb78 - 2U) {\njoined_r0x0001a13f:\n                if (iVar9 == 0) goto LAB_00019528;\n              }\n            }\n            else if (DAT_0003fb78 != 3) goto LAB_00019528;\n          }\n          else {\n            iVar9 = FUN_00017880();\n            if (iVar9 != 0) {\n              uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",\n                                 5,iVar9);\n              FUN_0002b6d0(uVar10,piVar31);\n              DAT_0003fb88 = 1;\n            }\nLAB_000192e0:\n            iVar9 = FUN_00017880();\n            if (iVar9 == 0) goto LAB_0001931c;\n          }\nLAB_000192f8:\n          if (((DAT_0003fadc != 0) && ((uVar26 & 0x4000) != 0)) ||\n             (iVar9 = FUN_00017880(), iVar9 != 0)) goto LAB_0001931c;\n        }\n        else {\n          iVar9 = FUN_00017880();\n          if (iVar9 != 0) {\n            uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",5)\n            ;\n            FUN_0002b6d0(uVar10,piVar31);\n            DAT_0003fb88 = 1;\n          }\nLAB_0001931c:\n          iVar9 = FUN_000178f0();\n          if (iVar9 == 0) {\n            if (((uVar26 & 2) != 0) && ((DAT_0003fae0 != 0 || (iVar9 = FUN_00017880(), iVar9 != 0)))\n               ) {\n              piVar3[3] = piVar3[3] & 0xfffffffdU | 0x80;\n            }\n            if (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8) {\n              if (((uVar26 & 0x82) != 0) &&\n                 (((iVar9 = FUN_00017880(), iVar9 != 0 ||\n                   ((iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0)))) ||\n                  ((DAT_0003fb10 != 0 &&\n                   ((((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)\n                    ))))))) {\n                piVar3[3] = piVar3[3] & 0xffffff7dU | 1;\n              }\n              if (((uVar26 & 1) != 0) && (iVar9 = FUN_00017880(), iVar9 != 0)) {\n                piVar3[3] = piVar3[3] & 0xfffffffeU | 2;\n              }\n            }\n            piVar15[local_70] = (int)piVar3;\n            local_70 = local_70 + 1;\n          }\n        }\n        local_68 = local_68 + 1;\n      }" { (expression_statement "iVar9 = DAT_0003fae4;" (assignment_expression "iVar9 = DAT_0003fae4" identifier = identifier) ;) (expression_statement "piVar3 = (int *)*local_68;" (assignment_expression "piVar3 = (int *)*local_68" identifier = (cast_expression "(int *)*local_68" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_68" * identifier))) ;) (expression_statement "uVar26 = piVar3[3];" (assignment_expression "uVar26 = piVar3[3]" identifier = (subscript_expression "piVar3[3]" identifier [ number_literal ])) ;) (expression_statement "piVar19 = (int *)piVar3[1];" (assignment_expression "piVar19 = (int *)piVar3[1]" identifier = (cast_expression "(int *)piVar3[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar3[1]" identifier [ number_literal ]))) ;) (expression_statement "puVar4 = (undefined *)piVar3[4];" (assignment_expression "puVar4 = (undefined *)piVar3[4]" identifier = (cast_expression "(undefined *)piVar3[4]" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar3[4]" identifier [ number_literal ]))) ;) (if_statement "if (((DAT_0003fae8 != (int *)0x0) && (0 < DAT_0003fae4)) &&\n           (pcVar22 = (char *)DAT_0003fae8[5], pcVar22 != (char *)0x0)) {\n          local_5c = (int *)0x0;\n          piVar31 = DAT_0003fae8;\n          while (iVar12 = strcmp(pcVar22,(char *)piVar19), iVar12 != 0) {\n            local_5c = (int *)((int)local_5c + 1);\n            piVar31 = (int *)*piVar31;\n            if ((local_5c == (int *)iVar9) || (pcVar22 = (char *)piVar31[5], pcVar22 == (char *)0x0)\n               ) goto LAB_00019180;\n          }\n          free(pcVar22);\n          piVar31[5] = (int)"";\n          piVar31 = piVar15 + local_70;\n          local_70 = local_70 + 1;\n          iVar9 = FUN_000177e0();\n          *piVar31 = iVar9;\n        }" if (parenthesized_expression "(((DAT_0003fae8 != (int *)0x0) && (0 < DAT_0003fae4)) &&\n           (pcVar22 = (char *)DAT_0003fae8[5], pcVar22 != (char *)0x0))" ( (binary_expression "((DAT_0003fae8 != (int *)0x0) && (0 < DAT_0003fae4)) &&\n           (pcVar22 = (char *)DAT_0003fae8[5], pcVar22 != (char *)0x0)" (parenthesized_expression "((DAT_0003fae8 != (int *)0x0) && (0 < DAT_0003fae4))" ( (binary_expression "(DAT_0003fae8 != (int *)0x0) && (0 < DAT_0003fae4)" (parenthesized_expression "(DAT_0003fae8 != (int *)0x0)" ( (binary_expression "DAT_0003fae8 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(0 < DAT_0003fae4)" ( (binary_expression "0 < DAT_0003fae4" number_literal < identifier) ))) )) && (parenthesized_expression "(pcVar22 = (char *)DAT_0003fae8[5], pcVar22 != (char *)0x0)" ( (comma_expression "pcVar22 = (char *)DAT_0003fae8[5], pcVar22 != (char *)0x0" (assignment_expression "pcVar22 = (char *)DAT_0003fae8[5]" identifier = (cast_expression "(char *)DAT_0003fae8[5]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "DAT_0003fae8[5]" identifier [ number_literal ]))) , (binary_expression "pcVar22 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n          local_5c = (int *)0x0;\n          piVar31 = DAT_0003fae8;\n          while (iVar12 = strcmp(pcVar22,(char *)piVar19), iVar12 != 0) {\n            local_5c = (int *)((int)local_5c + 1);\n            piVar31 = (int *)*piVar31;\n            if ((local_5c == (int *)iVar9) || (pcVar22 = (char *)piVar31[5], pcVar22 == (char *)0x0)\n               ) goto LAB_00019180;\n          }\n          free(pcVar22);\n          piVar31[5] = (int)"";\n          piVar31 = piVar15 + local_70;\n          local_70 = local_70 + 1;\n          iVar9 = FUN_000177e0();\n          *piVar31 = iVar9;\n        }" { (expression_statement "local_5c = (int *)0x0;" (assignment_expression "local_5c = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "piVar31 = DAT_0003fae8;" (assignment_expression "piVar31 = DAT_0003fae8" identifier = identifier) ;) (while_statement "while (iVar12 = strcmp(pcVar22,(char *)piVar19), iVar12 != 0) {\n            local_5c = (int *)((int)local_5c + 1);\n            piVar31 = (int *)*piVar31;\n            if ((local_5c == (int *)iVar9) || (pcVar22 = (char *)piVar31[5], pcVar22 == (char *)0x0)\n               ) goto LAB_00019180;\n          }" while (parenthesized_expression "(iVar12 = strcmp(pcVar22,(char *)piVar19), iVar12 != 0)" ( (comma_expression "iVar12 = strcmp(pcVar22,(char *)piVar19), iVar12 != 0" (assignment_expression "iVar12 = strcmp(pcVar22,(char *)piVar19)" identifier = (call_expression "strcmp(pcVar22,(char *)piVar19)" identifier (argument_list "(pcVar22,(char *)piVar19)" ( identifier , (cast_expression "(char *)piVar19" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) , (binary_expression "iVar12 != 0" identifier != number_literal)) )) (compound_statement "{\n            local_5c = (int *)((int)local_5c + 1);\n            piVar31 = (int *)*piVar31;\n            if ((local_5c == (int *)iVar9) || (pcVar22 = (char *)piVar31[5], pcVar22 == (char *)0x0)\n               ) goto LAB_00019180;\n          }" { (expression_statement "local_5c = (int *)((int)local_5c + 1);" (assignment_expression "local_5c = (int *)((int)local_5c + 1)" identifier = (cast_expression "(int *)((int)local_5c + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_5c + 1)" ( (binary_expression "(int)local_5c + 1" (cast_expression "(int)local_5c" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "piVar31 = (int *)*piVar31;" (assignment_expression "piVar31 = (int *)*piVar31" identifier = (cast_expression "(int *)*piVar31" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar31" * identifier))) ;) (if_statement "if ((local_5c == (int *)iVar9) || (pcVar22 = (char *)piVar31[5], pcVar22 == (char *)0x0)\n               ) goto LAB_00019180;" if (parenthesized_expression "((local_5c == (int *)iVar9) || (pcVar22 = (char *)piVar31[5], pcVar22 == (char *)0x0)\n               )" ( (binary_expression "(local_5c == (int *)iVar9) || (pcVar22 = (char *)piVar31[5], pcVar22 == (char *)0x0)" (parenthesized_expression "(local_5c == (int *)iVar9)" ( (binary_expression "local_5c == (int *)iVar9" identifier == (cast_expression "(int *)iVar9" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) )) || (parenthesized_expression "(pcVar22 = (char *)piVar31[5], pcVar22 == (char *)0x0)" ( (comma_expression "pcVar22 = (char *)piVar31[5], pcVar22 == (char *)0x0" (assignment_expression "pcVar22 = (char *)piVar31[5]" identifier = (cast_expression "(char *)piVar31[5]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar31[5]" identifier [ number_literal ]))) , (binary_expression "pcVar22 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (goto_statement "goto LAB_00019180;" goto statement_identifier ;)) })) (expression_statement "free(pcVar22);" (call_expression "free(pcVar22)" identifier (argument_list "(pcVar22)" ( identifier ))) ;) (expression_statement "piVar31[5] = (int)"";" (assignment_expression "piVar31[5] = (int)""" (subscript_expression "piVar31[5]" identifier [ number_literal ]) = (cast_expression "(int)""" ( (type_descriptor "int" primitive_type) ) (string_literal """" " "))) ;) (expression_statement "piVar31 = piVar15 + local_70;" (assignment_expression "piVar31 = piVar15 + local_70" identifier = (binary_expression "piVar15 + local_70" identifier + identifier)) ;) (expression_statement "local_70 = local_70 + 1;" (assignment_expression "local_70 = local_70 + 1" identifier = (binary_expression "local_70 + 1" identifier + number_literal)) ;) (expression_statement "iVar9 = FUN_000177e0();" (assignment_expression "iVar9 = FUN_000177e0()" identifier = (call_expression "FUN_000177e0()" identifier (argument_list "()" ( )))) ;) (expression_statement "*piVar31 = iVar9;" (assignment_expression "*piVar31 = iVar9" (pointer_expression "*piVar31" * identifier) = identifier) ;) })) (labeled_statement "LAB_00019180:\n        iVar9 = htab_elements(DAT_0003faf0);" statement_identifier : (expression_statement "iVar9 = htab_elements(DAT_0003faf0);" (assignment_expression "iVar9 = htab_elements(DAT_0003faf0)" identifier = (call_expression "htab_elements(DAT_0003faf0)" identifier (argument_list "(DAT_0003faf0)" ( identifier )))) ;)) (expression_statement "piVar31 = piVar19;" (assignment_expression "piVar31 = piVar19" identifier = identifier) ;) (if_statement "if ((iVar9 != 0) || (DAT_0003fba0 != (undefined4 *)0x0)) {\n          local_2c = 0;\n          local_30 = piVar19;\n          iVar9 = htab_find(DAT_0003faf0,&local_30);\n          if (((iVar9 == 0) || (piVar31 = *(int **)(iVar9 + 4), piVar19 == piVar31)) &&\n             (puVar33 = DAT_0003fba0, (uVar26 & 0x100) != 0)) {\n            for (; piVar31 = piVar19, puVar33 != (undefined4 *)0x0;\n                puVar33 = (undefined4 *)puVar33[3]) {\n              iVar9 = strcmp((char *)*puVar33,(char *)piVar19);\n              if (iVar9 == 0) {\n                piVar31 = (int *)puVar33[1];\n                break;\n              }\n            }\n          }\n          piVar3[1] = (int)piVar31;\n        }" if (parenthesized_expression "((iVar9 != 0) || (DAT_0003fba0 != (undefined4 *)0x0))" ( (binary_expression "(iVar9 != 0) || (DAT_0003fba0 != (undefined4 *)0x0)" (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) || (parenthesized_expression "(DAT_0003fba0 != (undefined4 *)0x0)" ( (binary_expression "DAT_0003fba0 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n          local_2c = 0;\n          local_30 = piVar19;\n          iVar9 = htab_find(DAT_0003faf0,&local_30);\n          if (((iVar9 == 0) || (piVar31 = *(int **)(iVar9 + 4), piVar19 == piVar31)) &&\n             (puVar33 = DAT_0003fba0, (uVar26 & 0x100) != 0)) {\n            for (; piVar31 = piVar19, puVar33 != (undefined4 *)0x0;\n                puVar33 = (undefined4 *)puVar33[3]) {\n              iVar9 = strcmp((char *)*puVar33,(char *)piVar19);\n              if (iVar9 == 0) {\n                piVar31 = (int *)puVar33[1];\n                break;\n              }\n            }\n          }\n          piVar3[1] = (int)piVar31;\n        }" { (expression_statement "local_2c = 0;" (assignment_expression "local_2c = 0" identifier = number_literal) ;) (expression_statement "local_30 = piVar19;" (assignment_expression "local_30 = piVar19" identifier = identifier) ;) (expression_statement "iVar9 = htab_find(DAT_0003faf0,&local_30);" (assignment_expression "iVar9 = htab_find(DAT_0003faf0,&local_30)" identifier = (call_expression "htab_find(DAT_0003faf0,&local_30)" identifier (argument_list "(DAT_0003faf0,&local_30)" ( identifier , (pointer_expression "&local_30" & identifier) )))) ;) (if_statement "if (((iVar9 == 0) || (piVar31 = *(int **)(iVar9 + 4), piVar19 == piVar31)) &&\n             (puVar33 = DAT_0003fba0, (uVar26 & 0x100) != 0)) {\n            for (; piVar31 = piVar19, puVar33 != (undefined4 *)0x0;\n                puVar33 = (undefined4 *)puVar33[3]) {\n              iVar9 = strcmp((char *)*puVar33,(char *)piVar19);\n              if (iVar9 == 0) {\n                piVar31 = (int *)puVar33[1];\n                break;\n              }\n            }\n          }" if (parenthesized_expression "(((iVar9 == 0) || (piVar31 = *(int **)(iVar9 + 4), piVar19 == piVar31)) &&\n             (puVar33 = DAT_0003fba0, (uVar26 & 0x100) != 0))" ( (binary_expression "((iVar9 == 0) || (piVar31 = *(int **)(iVar9 + 4), piVar19 == piVar31)) &&\n             (puVar33 = DAT_0003fba0, (uVar26 & 0x100) != 0)" (parenthesized_expression "((iVar9 == 0) || (piVar31 = *(int **)(iVar9 + 4), piVar19 == piVar31))" ( (binary_expression "(iVar9 == 0) || (piVar31 = *(int **)(iVar9 + 4), piVar19 == piVar31)" (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) || (parenthesized_expression "(piVar31 = *(int **)(iVar9 + 4), piVar19 == piVar31)" ( (comma_expression "piVar31 = *(int **)(iVar9 + 4), piVar19 == piVar31" (assignment_expression "piVar31 = *(int **)(iVar9 + 4)" identifier = (pointer_expression "*(int **)(iVar9 + 4)" * (cast_expression "(int **)(iVar9 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar9 + 4)" ( (binary_expression "iVar9 + 4" identifier + number_literal) ))))) , (binary_expression "piVar19 == piVar31" identifier == identifier)) ))) )) && (parenthesized_expression "(puVar33 = DAT_0003fba0, (uVar26 & 0x100) != 0)" ( (comma_expression "puVar33 = DAT_0003fba0, (uVar26 & 0x100) != 0" (assignment_expression "puVar33 = DAT_0003fba0" identifier = identifier) , (binary_expression "(uVar26 & 0x100) != 0" (parenthesized_expression "(uVar26 & 0x100)" ( (binary_expression "uVar26 & 0x100" identifier & number_literal) )) != number_literal)) ))) )) (compound_statement "{\n            for (; piVar31 = piVar19, puVar33 != (undefined4 *)0x0;\n                puVar33 = (undefined4 *)puVar33[3]) {\n              iVar9 = strcmp((char *)*puVar33,(char *)piVar19);\n              if (iVar9 == 0) {\n                piVar31 = (int *)puVar33[1];\n                break;\n              }\n            }\n          }" { (for_statement "for (; piVar31 = piVar19, puVar33 != (undefined4 *)0x0;\n                puVar33 = (undefined4 *)puVar33[3]) {\n              iVar9 = strcmp((char *)*puVar33,(char *)piVar19);\n              if (iVar9 == 0) {\n                piVar31 = (int *)puVar33[1];\n                break;\n              }\n            }" for ( ; (comma_expression "piVar31 = piVar19, puVar33 != (undefined4 *)0x0" (assignment_expression "piVar31 = piVar19" identifier = identifier) , (binary_expression "puVar33 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ; (assignment_expression "puVar33 = (undefined4 *)puVar33[3]" identifier = (cast_expression "(undefined4 *)puVar33[3]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar33[3]" identifier [ number_literal ]))) ) (compound_statement "{\n              iVar9 = strcmp((char *)*puVar33,(char *)piVar19);\n              if (iVar9 == 0) {\n                piVar31 = (int *)puVar33[1];\n                break;\n              }\n            }" { (expression_statement "iVar9 = strcmp((char *)*puVar33,(char *)piVar19);" (assignment_expression "iVar9 = strcmp((char *)*puVar33,(char *)piVar19)" identifier = (call_expression "strcmp((char *)*puVar33,(char *)piVar19)" identifier (argument_list "((char *)*puVar33,(char *)piVar19)" ( (cast_expression "(char *)*puVar33" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar33" * identifier)) , (cast_expression "(char *)piVar19" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (if_statement "if (iVar9 == 0) {\n                piVar31 = (int *)puVar33[1];\n                break;\n              }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n                piVar31 = (int *)puVar33[1];\n                break;\n              }" { (expression_statement "piVar31 = (int *)puVar33[1];" (assignment_expression "piVar31 = (int *)puVar33[1]" identifier = (cast_expression "(int *)puVar33[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar33[1]" identifier [ number_literal ]))) ;) (break_statement "break;" break ;) })) })) })) (expression_statement "piVar3[1] = (int)piVar31;" (assignment_expression "piVar3[1] = (int)piVar31" (subscript_expression "piVar3[1]" identifier [ number_literal ]) = (cast_expression "(int)piVar31" ( (type_descriptor "int" primitive_type) ) identifier)) ;) })) (expression_statement "pcVar22 = DAT_0003fad8;" (assignment_expression "pcVar22 = DAT_0003fad8" identifier = identifier) ;) (if_statement "if ((char)*piVar31 == *(char *)(param_1[1] + 0x18)) {\n          if (DAT_0003fb1c == 0) {\n            if ((DAT_0003fb18 == 0) ||\n               ((((uVar26 & 0x82) == 0 && (puVar4 != puVar16)) &&\n                ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)))) goto LAB_00019203;\nLAB_0001943c:\n            piVar31 = (int *)((int)piVar31 + 1);\n            piVar3[1] = (int)piVar31;\n            goto LAB_00019203;\n          }\n          if (*(char *)(param_2[1] + 0x18) == '\0') goto LAB_0001943c;\n          if (DAT_0003fad8 != (char *)0x0) {\n            piVar31 = (int *)((int)piVar31 + 1);\n            piVar3[1] = (int)piVar31;\n            goto LAB_0001945b;\n          }\n          *(char *)piVar31 = *(char *)(param_2[1] + 0x18);\n          piVar3[1] = (int)piVar31;\n        }\n        else {\n          if (((DAT_0003fb1c == 0) || (*(char *)(param_2[1] + 0x18) == '\0')) ||\n             (*(char *)(param_1[1] + 0x18) != '\0')) {\nLAB_00019203:\n            if (pcVar22 == (char *)0x0) goto LAB_0001926f;\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = piVar19;\n          }\n          else {\nLAB_0001945b:\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = (int *)((int)piVar19 + 1);\n            *(char *)piVar19 = *(char *)(param_2[1] + 0x18);\n          }\n          pcVar22 = DAT_0003fad8;\n          if (DAT_0003fad8 != (char *)0x0) {\n            strcpy((char *)local_5c,DAT_0003fad8);\n            sVar17 = strlen(pcVar22);\n            local_5c = (int *)((int)local_5c + sVar17);\n          }\n          strcpy((char *)local_5c,(char *)piVar31);\n          piVar3[1] = (int)piVar19;\n          piVar31 = piVar19;\n        }" if (parenthesized_expression "((char)*piVar31 == *(char *)(param_1[1] + 0x18))" ( (binary_expression "(char)*piVar31 == *(char *)(param_1[1] + 0x18)" (cast_expression "(char)*piVar31" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*piVar31" * identifier)) == (pointer_expression "*(char *)(param_1[1] + 0x18)" * (cast_expression "(char *)(param_1[1] + 0x18)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[1] + 0x18)" ( (binary_expression "param_1[1] + 0x18" (subscript_expression "param_1[1]" identifier [ number_literal ]) + number_literal) ))))) )) (compound_statement "{\n          if (DAT_0003fb1c == 0) {\n            if ((DAT_0003fb18 == 0) ||\n               ((((uVar26 & 0x82) == 0 && (puVar4 != puVar16)) &&\n                ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)))) goto LAB_00019203;\nLAB_0001943c:\n            piVar31 = (int *)((int)piVar31 + 1);\n            piVar3[1] = (int)piVar31;\n            goto LAB_00019203;\n          }\n          if (*(char *)(param_2[1] + 0x18) == '\0') goto LAB_0001943c;\n          if (DAT_0003fad8 != (char *)0x0) {\n            piVar31 = (int *)((int)piVar31 + 1);\n            piVar3[1] = (int)piVar31;\n            goto LAB_0001945b;\n          }\n          *(char *)piVar31 = *(char *)(param_2[1] + 0x18);\n          piVar3[1] = (int)piVar31;\n        }" { (if_statement "if (DAT_0003fb1c == 0) {\n            if ((DAT_0003fb18 == 0) ||\n               ((((uVar26 & 0x82) == 0 && (puVar4 != puVar16)) &&\n                ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)))) goto LAB_00019203;\nLAB_0001943c:\n            piVar31 = (int *)((int)piVar31 + 1);\n            piVar3[1] = (int)piVar31;\n            goto LAB_00019203;\n          }" if (parenthesized_expression "(DAT_0003fb1c == 0)" ( (binary_expression "DAT_0003fb1c == 0" identifier == number_literal) )) (compound_statement "{\n            if ((DAT_0003fb18 == 0) ||\n               ((((uVar26 & 0x82) == 0 && (puVar4 != puVar16)) &&\n                ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)))) goto LAB_00019203;\nLAB_0001943c:\n            piVar31 = (int *)((int)piVar31 + 1);\n            piVar3[1] = (int)piVar31;\n            goto LAB_00019203;\n          }" { (if_statement "if ((DAT_0003fb18 == 0) ||\n               ((((uVar26 & 0x82) == 0 && (puVar4 != puVar16)) &&\n                ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)))) goto LAB_00019203;" if (parenthesized_expression "((DAT_0003fb18 == 0) ||\n               ((((uVar26 & 0x82) == 0 && (puVar4 != puVar16)) &&\n                ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0))))" ( (binary_expression "(DAT_0003fb18 == 0) ||\n               ((((uVar26 & 0x82) == 0 && (puVar4 != puVar16)) &&\n                ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)))" (parenthesized_expression "(DAT_0003fb18 == 0)" ( (binary_expression "DAT_0003fb18 == 0" identifier == number_literal) )) || (parenthesized_expression "((((uVar26 & 0x82) == 0 && (puVar4 != puVar16)) &&\n                ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)))" ( (parenthesized_expression "(((uVar26 & 0x82) == 0 && (puVar4 != puVar16)) &&\n                ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0))" ( (binary_expression "((uVar26 & 0x82) == 0 && (puVar4 != puVar16)) &&\n                ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)" (parenthesized_expression "((uVar26 & 0x82) == 0 && (puVar4 != puVar16))" ( (binary_expression "(uVar26 & 0x82) == 0 && (puVar4 != puVar16)" (binary_expression "(uVar26 & 0x82) == 0" (parenthesized_expression "(uVar26 & 0x82)" ( (binary_expression "uVar26 & 0x82" identifier & number_literal) )) == number_literal) && (parenthesized_expression "(puVar4 != puVar16)" ( (binary_expression "puVar4 != puVar16" identifier != identifier) ))) )) && (parenthesized_expression "((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)" ( (binary_expression "(*(byte *)(piVar3[4] + 0x15) & 0x10) == 0" (parenthesized_expression "(*(byte *)(piVar3[4] + 0x15) & 0x10)" ( (binary_expression "*(byte *)(piVar3[4] + 0x15) & 0x10" (pointer_expression "*(byte *)(piVar3[4] + 0x15)" * (cast_expression "(byte *)(piVar3[4] + 0x15)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar3[4] + 0x15)" ( (binary_expression "piVar3[4] + 0x15" (subscript_expression "piVar3[4]" identifier [ number_literal ]) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) (goto_statement "goto LAB_00019203;" goto statement_identifier ;)) (labeled_statement "LAB_0001943c:\n            piVar31 = (int *)((int)piVar31 + 1);" statement_identifier : (expression_statement "piVar31 = (int *)((int)piVar31 + 1);" (assignment_expression "piVar31 = (int *)((int)piVar31 + 1)" identifier = (cast_expression "(int *)((int)piVar31 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar31 + 1)" ( (binary_expression "(int)piVar31 + 1" (cast_expression "(int)piVar31" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;)) (expression_statement "piVar3[1] = (int)piVar31;" (assignment_expression "piVar3[1] = (int)piVar31" (subscript_expression "piVar3[1]" identifier [ number_literal ]) = (cast_expression "(int)piVar31" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (goto_statement "goto LAB_00019203;" goto statement_identifier ;) })) (if_statement "if (*(char *)(param_2[1] + 0x18) == '\0') goto LAB_0001943c;" if (parenthesized_expression "(*(char *)(param_2[1] + 0x18) == '\0')" ( (binary_expression "*(char *)(param_2[1] + 0x18) == '\0'" (pointer_expression "*(char *)(param_2[1] + 0x18)" * (cast_expression "(char *)(param_2[1] + 0x18)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2[1] + 0x18)" ( (binary_expression "param_2[1] + 0x18" (subscript_expression "param_2[1]" identifier [ number_literal ]) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0001943c;" goto statement_identifier ;)) (if_statement "if (DAT_0003fad8 != (char *)0x0) {\n            piVar31 = (int *)((int)piVar31 + 1);\n            piVar3[1] = (int)piVar31;\n            goto LAB_0001945b;\n          }" if (parenthesized_expression "(DAT_0003fad8 != (char *)0x0)" ( (binary_expression "DAT_0003fad8 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            piVar31 = (int *)((int)piVar31 + 1);\n            piVar3[1] = (int)piVar31;\n            goto LAB_0001945b;\n          }" { (expression_statement "piVar31 = (int *)((int)piVar31 + 1);" (assignment_expression "piVar31 = (int *)((int)piVar31 + 1)" identifier = (cast_expression "(int *)((int)piVar31 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar31 + 1)" ( (binary_expression "(int)piVar31 + 1" (cast_expression "(int)piVar31" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "piVar3[1] = (int)piVar31;" (assignment_expression "piVar3[1] = (int)piVar31" (subscript_expression "piVar3[1]" identifier [ number_literal ]) = (cast_expression "(int)piVar31" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (goto_statement "goto LAB_0001945b;" goto statement_identifier ;) })) (expression_statement "*(char *)piVar31 = *(char *)(param_2[1] + 0x18);" (assignment_expression "*(char *)piVar31 = *(char *)(param_2[1] + 0x18)" (pointer_expression "*(char *)piVar31" * (cast_expression "(char *)piVar31" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = (pointer_expression "*(char *)(param_2[1] + 0x18)" * (cast_expression "(char *)(param_2[1] + 0x18)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2[1] + 0x18)" ( (binary_expression "param_2[1] + 0x18" (subscript_expression "param_2[1]" identifier [ number_literal ]) + number_literal) ))))) ;) (expression_statement "piVar3[1] = (int)piVar31;" (assignment_expression "piVar3[1] = (int)piVar31" (subscript_expression "piVar3[1]" identifier [ number_literal ]) = (cast_expression "(int)piVar31" ( (type_descriptor "int" primitive_type) ) identifier)) ;) }) (else_clause "else {\n          if (((DAT_0003fb1c == 0) || (*(char *)(param_2[1] + 0x18) == '\0')) ||\n             (*(char *)(param_1[1] + 0x18) != '\0')) {\nLAB_00019203:\n            if (pcVar22 == (char *)0x0) goto LAB_0001926f;\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = piVar19;\n          }\n          else {\nLAB_0001945b:\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = (int *)((int)piVar19 + 1);\n            *(char *)piVar19 = *(char *)(param_2[1] + 0x18);\n          }\n          pcVar22 = DAT_0003fad8;\n          if (DAT_0003fad8 != (char *)0x0) {\n            strcpy((char *)local_5c,DAT_0003fad8);\n            sVar17 = strlen(pcVar22);\n            local_5c = (int *)((int)local_5c + sVar17);\n          }\n          strcpy((char *)local_5c,(char *)piVar31);\n          piVar3[1] = (int)piVar19;\n          piVar31 = piVar19;\n        }" else (compound_statement "{\n          if (((DAT_0003fb1c == 0) || (*(char *)(param_2[1] + 0x18) == '\0')) ||\n             (*(char *)(param_1[1] + 0x18) != '\0')) {\nLAB_00019203:\n            if (pcVar22 == (char *)0x0) goto LAB_0001926f;\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = piVar19;\n          }\n          else {\nLAB_0001945b:\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = (int *)((int)piVar19 + 1);\n            *(char *)piVar19 = *(char *)(param_2[1] + 0x18);\n          }\n          pcVar22 = DAT_0003fad8;\n          if (DAT_0003fad8 != (char *)0x0) {\n            strcpy((char *)local_5c,DAT_0003fad8);\n            sVar17 = strlen(pcVar22);\n            local_5c = (int *)((int)local_5c + sVar17);\n          }\n          strcpy((char *)local_5c,(char *)piVar31);\n          piVar3[1] = (int)piVar19;\n          piVar31 = piVar19;\n        }" { (if_statement "if (((DAT_0003fb1c == 0) || (*(char *)(param_2[1] + 0x18) == '\0')) ||\n             (*(char *)(param_1[1] + 0x18) != '\0')) {\nLAB_00019203:\n            if (pcVar22 == (char *)0x0) goto LAB_0001926f;\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = piVar19;\n          }\n          else {\nLAB_0001945b:\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = (int *)((int)piVar19 + 1);\n            *(char *)piVar19 = *(char *)(param_2[1] + 0x18);\n          }" if (parenthesized_expression "(((DAT_0003fb1c == 0) || (*(char *)(param_2[1] + 0x18) == '\0')) ||\n             (*(char *)(param_1[1] + 0x18) != '\0'))" ( (binary_expression "((DAT_0003fb1c == 0) || (*(char *)(param_2[1] + 0x18) == '\0')) ||\n             (*(char *)(param_1[1] + 0x18) != '\0')" (parenthesized_expression "((DAT_0003fb1c == 0) || (*(char *)(param_2[1] + 0x18) == '\0'))" ( (binary_expression "(DAT_0003fb1c == 0) || (*(char *)(param_2[1] + 0x18) == '\0')" (parenthesized_expression "(DAT_0003fb1c == 0)" ( (binary_expression "DAT_0003fb1c == 0" identifier == number_literal) )) || (parenthesized_expression "(*(char *)(param_2[1] + 0x18) == '\0')" ( (binary_expression "*(char *)(param_2[1] + 0x18) == '\0'" (pointer_expression "*(char *)(param_2[1] + 0x18)" * (cast_expression "(char *)(param_2[1] + 0x18)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2[1] + 0x18)" ( (binary_expression "param_2[1] + 0x18" (subscript_expression "param_2[1]" identifier [ number_literal ]) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) ))) )) || (parenthesized_expression "(*(char *)(param_1[1] + 0x18) != '\0')" ( (binary_expression "*(char *)(param_1[1] + 0x18) != '\0'" (pointer_expression "*(char *)(param_1[1] + 0x18)" * (cast_expression "(char *)(param_1[1] + 0x18)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[1] + 0x18)" ( (binary_expression "param_1[1] + 0x18" (subscript_expression "param_1[1]" identifier [ number_literal ]) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\nLAB_00019203:\n            if (pcVar22 == (char *)0x0) goto LAB_0001926f;\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = piVar19;\n          }" { (labeled_statement "LAB_00019203:\n            if (pcVar22 == (char *)0x0) goto LAB_0001926f;" statement_identifier : (if_statement "if (pcVar22 == (char *)0x0) goto LAB_0001926f;" if (parenthesized_expression "(pcVar22 == (char *)0x0)" ( (binary_expression "pcVar22 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0001926f;" goto statement_identifier ;))) (expression_statement "sVar17 = strlen(pcVar22);" (assignment_expression "sVar17 = strlen(pcVar22)" identifier = (call_expression "strlen(pcVar22)" identifier (argument_list "(pcVar22)" ( identifier )))) ;) (expression_statement "sVar18 = strlen((char *)piVar31);" (assignment_expression "sVar18 = strlen((char *)piVar31)" identifier = (call_expression "strlen((char *)piVar31)" identifier (argument_list "((char *)piVar31)" ( (cast_expression "(char *)piVar31" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);" (assignment_expression "piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18)" identifier = (cast_expression "(int *)xmalloc(sVar17 + 2 + sVar18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(sVar17 + 2 + sVar18)" identifier (argument_list "(sVar17 + 2 + sVar18)" ( (binary_expression "sVar17 + 2 + sVar18" (binary_expression "sVar17 + 2" identifier + number_literal) + identifier) ))))) ;) (expression_statement "local_5c = piVar19;" (assignment_expression "local_5c = piVar19" identifier = identifier) ;) }) (else_clause "else {\nLAB_0001945b:\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = (int *)((int)piVar19 + 1);\n            *(char *)piVar19 = *(char *)(param_2[1] + 0x18);\n          }" else (compound_statement "{\nLAB_0001945b:\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = (int *)((int)piVar19 + 1);\n            *(char *)piVar19 = *(char *)(param_2[1] + 0x18);\n          }" { (labeled_statement "LAB_0001945b:\n            sVar17 = strlen(pcVar22);" statement_identifier : (expression_statement "sVar17 = strlen(pcVar22);" (assignment_expression "sVar17 = strlen(pcVar22)" identifier = (call_expression "strlen(pcVar22)" identifier (argument_list "(pcVar22)" ( identifier )))) ;)) (expression_statement "sVar18 = strlen((char *)piVar31);" (assignment_expression "sVar18 = strlen((char *)piVar31)" identifier = (call_expression "strlen((char *)piVar31)" identifier (argument_list "((char *)piVar31)" ( (cast_expression "(char *)piVar31" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);" (assignment_expression "piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18)" identifier = (cast_expression "(int *)xmalloc(sVar17 + 2 + sVar18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(sVar17 + 2 + sVar18)" identifier (argument_list "(sVar17 + 2 + sVar18)" ( (binary_expression "sVar17 + 2 + sVar18" (binary_expression "sVar17 + 2" identifier + number_literal) + identifier) ))))) ;) (expression_statement "local_5c = (int *)((int)piVar19 + 1);" (assignment_expression "local_5c = (int *)((int)piVar19 + 1)" identifier = (cast_expression "(int *)((int)piVar19 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar19 + 1)" ( (binary_expression "(int)piVar19 + 1" (cast_expression "(int)piVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(char *)piVar19 = *(char *)(param_2[1] + 0x18);" (assignment_expression "*(char *)piVar19 = *(char *)(param_2[1] + 0x18)" (pointer_expression "*(char *)piVar19" * (cast_expression "(char *)piVar19" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = (pointer_expression "*(char *)(param_2[1] + 0x18)" * (cast_expression "(char *)(param_2[1] + 0x18)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2[1] + 0x18)" ( (binary_expression "param_2[1] + 0x18" (subscript_expression "param_2[1]" identifier [ number_literal ]) + number_literal) ))))) ;) }))) (expression_statement "pcVar22 = DAT_0003fad8;" (assignment_expression "pcVar22 = DAT_0003fad8" identifier = identifier) ;) (if_statement "if (DAT_0003fad8 != (char *)0x0) {\n            strcpy((char *)local_5c,DAT_0003fad8);\n            sVar17 = strlen(pcVar22);\n            local_5c = (int *)((int)local_5c + sVar17);\n          }" if (parenthesized_expression "(DAT_0003fad8 != (char *)0x0)" ( (binary_expression "DAT_0003fad8 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            strcpy((char *)local_5c,DAT_0003fad8);\n            sVar17 = strlen(pcVar22);\n            local_5c = (int *)((int)local_5c + sVar17);\n          }" { (expression_statement "strcpy((char *)local_5c,DAT_0003fad8);" (call_expression "strcpy((char *)local_5c,DAT_0003fad8)" identifier (argument_list "((char *)local_5c,DAT_0003fad8)" ( (cast_expression "(char *)local_5c" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;) (expression_statement "sVar17 = strlen(pcVar22);" (assignment_expression "sVar17 = strlen(pcVar22)" identifier = (call_expression "strlen(pcVar22)" identifier (argument_list "(pcVar22)" ( identifier )))) ;) (expression_statement "local_5c = (int *)((int)local_5c + sVar17);" (assignment_expression "local_5c = (int *)((int)local_5c + sVar17)" identifier = (cast_expression "(int *)((int)local_5c + sVar17)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_5c + sVar17)" ( (binary_expression "(int)local_5c + sVar17" (cast_expression "(int)local_5c" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) })) (expression_statement "strcpy((char *)local_5c,(char *)piVar31);" (call_expression "strcpy((char *)local_5c,(char *)piVar31)" identifier (argument_list "((char *)local_5c,(char *)piVar31)" ( (cast_expression "(char *)local_5c" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(char *)piVar31" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (expression_statement "piVar3[1] = (int)piVar19;" (assignment_expression "piVar3[1] = (int)piVar19" (subscript_expression "piVar3[1]" identifier [ number_literal ]) = (cast_expression "(int)piVar19" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar31 = piVar19;" (assignment_expression "piVar31 = piVar19" identifier = identifier) ;) }))) (labeled_statement "LAB_0001926f:\n        if (DAT_0003fb78 == 7) goto LAB_000192f8;" statement_identifier : (if_statement "if (DAT_0003fb78 == 7) goto LAB_000192f8;" if (parenthesized_expression "(DAT_0003fb78 == 7)" ( (binary_expression "DAT_0003fb78 == 7" identifier == number_literal) )) (goto_statement "goto LAB_000192f8;" goto statement_identifier ;))) (if_statement "if ((uVar26 & 0x20) == 0) {\n          if (((uVar26 & 0x100) == 0) ||\n             ((*(byte *)(**(int **)(piVar3[4] + 0x9c) + 0xc) & 0x20) == 0)) {\n            if ((((uVar35 >> 5 & 0x42) == 0) &&\n                (((uVar26 & 0x82) != 0 || ((*(byte *)(piVar3[4] + 0x15) & 0x10) != 0)))) ||\n               (iVar9 = bfd_decode_symclass(piVar3), iVar9 == 0x49)) {\nLAB_00019528:\n              iVar9 = FUN_00017880();\n              if (iVar9 == 0) goto LAB_000192e0;\n            }\n            else if ((((uVar26 & 0x82) == 0) && (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8)) &&\n                    ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)) {\n              if ((uVar26 & 4) == 0) {\n                if (((*(int *)(param_1[1] + 4) != 2) ||\n                    (iVar9 = *(int *)(piVar3[4] + 0x8c), iVar9 == 0)) ||\n                   (*(int *)(iVar9 + 0x24) == 0)) {\n                  if ((DAT_0003fb78 == 3) || (DAT_0003fb74 == 2)) goto LAB_000192f8;\n                  if (DAT_0003fb74 == 1) {\n                    iVar9 = bfd_is_local_label(param_1,piVar3,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }\n                goto LAB_00019528;\n              }\n              iVar9 = DAT_0003fb28;\n              if (1 < DAT_0003fb78 - 2U) {\njoined_r0x0001a13f:\n                if (iVar9 == 0) goto LAB_00019528;\n              }\n            }\n            else if (DAT_0003fb78 != 3) goto LAB_00019528;\n          }\n          else {\n            iVar9 = FUN_00017880();\n            if (iVar9 != 0) {\n              uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",\n                                 5,iVar9);\n              FUN_0002b6d0(uVar10,piVar31);\n              DAT_0003fb88 = 1;\n            }\nLAB_000192e0:\n            iVar9 = FUN_00017880();\n            if (iVar9 == 0) goto LAB_0001931c;\n          }\nLAB_000192f8:\n          if (((DAT_0003fadc != 0) && ((uVar26 & 0x4000) != 0)) ||\n             (iVar9 = FUN_00017880(), iVar9 != 0)) goto LAB_0001931c;\n        }\n        else {\n          iVar9 = FUN_00017880();\n          if (iVar9 != 0) {\n            uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",5)\n            ;\n            FUN_0002b6d0(uVar10,piVar31);\n            DAT_0003fb88 = 1;\n          }\nLAB_0001931c:\n          iVar9 = FUN_000178f0();\n          if (iVar9 == 0) {\n            if (((uVar26 & 2) != 0) && ((DAT_0003fae0 != 0 || (iVar9 = FUN_00017880(), iVar9 != 0)))\n               ) {\n              piVar3[3] = piVar3[3] & 0xfffffffdU | 0x80;\n            }\n            if (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8) {\n              if (((uVar26 & 0x82) != 0) &&\n                 (((iVar9 = FUN_00017880(), iVar9 != 0 ||\n                   ((iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0)))) ||\n                  ((DAT_0003fb10 != 0 &&\n                   ((((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)\n                    ))))))) {\n                piVar3[3] = piVar3[3] & 0xffffff7dU | 1;\n              }\n              if (((uVar26 & 1) != 0) && (iVar9 = FUN_00017880(), iVar9 != 0)) {\n                piVar3[3] = piVar3[3] & 0xfffffffeU | 2;\n              }\n            }\n            piVar15[local_70] = (int)piVar3;\n            local_70 = local_70 + 1;\n          }\n        }" if (parenthesized_expression "((uVar26 & 0x20) == 0)" ( (binary_expression "(uVar26 & 0x20) == 0" (parenthesized_expression "(uVar26 & 0x20)" ( (binary_expression "uVar26 & 0x20" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n          if (((uVar26 & 0x100) == 0) ||\n             ((*(byte *)(**(int **)(piVar3[4] + 0x9c) + 0xc) & 0x20) == 0)) {\n            if ((((uVar35 >> 5 & 0x42) == 0) &&\n                (((uVar26 & 0x82) != 0 || ((*(byte *)(piVar3[4] + 0x15) & 0x10) != 0)))) ||\n               (iVar9 = bfd_decode_symclass(piVar3), iVar9 == 0x49)) {\nLAB_00019528:\n              iVar9 = FUN_00017880();\n              if (iVar9 == 0) goto LAB_000192e0;\n            }\n            else if ((((uVar26 & 0x82) == 0) && (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8)) &&\n                    ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)) {\n              if ((uVar26 & 4) == 0) {\n                if (((*(int *)(param_1[1] + 4) != 2) ||\n                    (iVar9 = *(int *)(piVar3[4] + 0x8c), iVar9 == 0)) ||\n                   (*(int *)(iVar9 + 0x24) == 0)) {\n                  if ((DAT_0003fb78 == 3) || (DAT_0003fb74 == 2)) goto LAB_000192f8;\n                  if (DAT_0003fb74 == 1) {\n                    iVar9 = bfd_is_local_label(param_1,piVar3,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }\n                goto LAB_00019528;\n              }\n              iVar9 = DAT_0003fb28;\n              if (1 < DAT_0003fb78 - 2U) {\njoined_r0x0001a13f:\n                if (iVar9 == 0) goto LAB_00019528;\n              }\n            }\n            else if (DAT_0003fb78 != 3) goto LAB_00019528;\n          }\n          else {\n            iVar9 = FUN_00017880();\n            if (iVar9 != 0) {\n              uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",\n                                 5,iVar9);\n              FUN_0002b6d0(uVar10,piVar31);\n              DAT_0003fb88 = 1;\n            }\nLAB_000192e0:\n            iVar9 = FUN_00017880();\n            if (iVar9 == 0) goto LAB_0001931c;\n          }\nLAB_000192f8:\n          if (((DAT_0003fadc != 0) && ((uVar26 & 0x4000) != 0)) ||\n             (iVar9 = FUN_00017880(), iVar9 != 0)) goto LAB_0001931c;\n        }" { (if_statement "if (((uVar26 & 0x100) == 0) ||\n             ((*(byte *)(**(int **)(piVar3[4] + 0x9c) + 0xc) & 0x20) == 0)) {\n            if ((((uVar35 >> 5 & 0x42) == 0) &&\n                (((uVar26 & 0x82) != 0 || ((*(byte *)(piVar3[4] + 0x15) & 0x10) != 0)))) ||\n               (iVar9 = bfd_decode_symclass(piVar3), iVar9 == 0x49)) {\nLAB_00019528:\n              iVar9 = FUN_00017880();\n              if (iVar9 == 0) goto LAB_000192e0;\n            }\n            else if ((((uVar26 & 0x82) == 0) && (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8)) &&\n                    ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)) {\n              if ((uVar26 & 4) == 0) {\n                if (((*(int *)(param_1[1] + 4) != 2) ||\n                    (iVar9 = *(int *)(piVar3[4] + 0x8c), iVar9 == 0)) ||\n                   (*(int *)(iVar9 + 0x24) == 0)) {\n                  if ((DAT_0003fb78 == 3) || (DAT_0003fb74 == 2)) goto LAB_000192f8;\n                  if (DAT_0003fb74 == 1) {\n                    iVar9 = bfd_is_local_label(param_1,piVar3,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }\n                goto LAB_00019528;\n              }\n              iVar9 = DAT_0003fb28;\n              if (1 < DAT_0003fb78 - 2U) {\njoined_r0x0001a13f:\n                if (iVar9 == 0) goto LAB_00019528;\n              }\n            }\n            else if (DAT_0003fb78 != 3) goto LAB_00019528;\n          }\n          else {\n            iVar9 = FUN_00017880();\n            if (iVar9 != 0) {\n              uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",\n                                 5,iVar9);\n              FUN_0002b6d0(uVar10,piVar31);\n              DAT_0003fb88 = 1;\n            }\nLAB_000192e0:\n            iVar9 = FUN_00017880();\n            if (iVar9 == 0) goto LAB_0001931c;\n          }" if (parenthesized_expression "(((uVar26 & 0x100) == 0) ||\n             ((*(byte *)(**(int **)(piVar3[4] + 0x9c) + 0xc) & 0x20) == 0))" ( (binary_expression "((uVar26 & 0x100) == 0) ||\n             ((*(byte *)(**(int **)(piVar3[4] + 0x9c) + 0xc) & 0x20) == 0)" (parenthesized_expression "((uVar26 & 0x100) == 0)" ( (binary_expression "(uVar26 & 0x100) == 0" (parenthesized_expression "(uVar26 & 0x100)" ( (binary_expression "uVar26 & 0x100" identifier & number_literal) )) == number_literal) )) || (parenthesized_expression "((*(byte *)(**(int **)(piVar3[4] + 0x9c) + 0xc) & 0x20) == 0)" ( (binary_expression "(*(byte *)(**(int **)(piVar3[4] + 0x9c) + 0xc) & 0x20) == 0" (parenthesized_expression "(*(byte *)(**(int **)(piVar3[4] + 0x9c) + 0xc) & 0x20)" ( (binary_expression "*(byte *)(**(int **)(piVar3[4] + 0x9c) + 0xc) & 0x20" (pointer_expression "*(byte *)(**(int **)(piVar3[4] + 0x9c) + 0xc)" * (cast_expression "(byte *)(**(int **)(piVar3[4] + 0x9c) + 0xc)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(**(int **)(piVar3[4] + 0x9c) + 0xc)" ( (binary_expression "**(int **)(piVar3[4] + 0x9c) + 0xc" (pointer_expression "**(int **)(piVar3[4] + 0x9c)" * (pointer_expression "*(int **)(piVar3[4] + 0x9c)" * (cast_expression "(int **)(piVar3[4] + 0x9c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar3[4] + 0x9c)" ( (binary_expression "piVar3[4] + 0x9c" (subscript_expression "piVar3[4]" identifier [ number_literal ]) + number_literal) ))))) + number_literal) )))) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n            if ((((uVar35 >> 5 & 0x42) == 0) &&\n                (((uVar26 & 0x82) != 0 || ((*(byte *)(piVar3[4] + 0x15) & 0x10) != 0)))) ||\n               (iVar9 = bfd_decode_symclass(piVar3), iVar9 == 0x49)) {\nLAB_00019528:\n              iVar9 = FUN_00017880();\n              if (iVar9 == 0) goto LAB_000192e0;\n            }\n            else if ((((uVar26 & 0x82) == 0) && (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8)) &&\n                    ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)) {\n              if ((uVar26 & 4) == 0) {\n                if (((*(int *)(param_1[1] + 4) != 2) ||\n                    (iVar9 = *(int *)(piVar3[4] + 0x8c), iVar9 == 0)) ||\n                   (*(int *)(iVar9 + 0x24) == 0)) {\n                  if ((DAT_0003fb78 == 3) || (DAT_0003fb74 == 2)) goto LAB_000192f8;\n                  if (DAT_0003fb74 == 1) {\n                    iVar9 = bfd_is_local_label(param_1,piVar3,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }\n                goto LAB_00019528;\n              }\n              iVar9 = DAT_0003fb28;\n              if (1 < DAT_0003fb78 - 2U) {\njoined_r0x0001a13f:\n                if (iVar9 == 0) goto LAB_00019528;\n              }\n            }\n            else if (DAT_0003fb78 != 3) goto LAB_00019528;\n          }" { (if_statement "if ((((uVar35 >> 5 & 0x42) == 0) &&\n                (((uVar26 & 0x82) != 0 || ((*(byte *)(piVar3[4] + 0x15) & 0x10) != 0)))) ||\n               (iVar9 = bfd_decode_symclass(piVar3), iVar9 == 0x49)) {\nLAB_00019528:\n              iVar9 = FUN_00017880();\n              if (iVar9 == 0) goto LAB_000192e0;\n            }\n            else if ((((uVar26 & 0x82) == 0) && (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8)) &&\n                    ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)) {\n              if ((uVar26 & 4) == 0) {\n                if (((*(int *)(param_1[1] + 4) != 2) ||\n                    (iVar9 = *(int *)(piVar3[4] + 0x8c), iVar9 == 0)) ||\n                   (*(int *)(iVar9 + 0x24) == 0)) {\n                  if ((DAT_0003fb78 == 3) || (DAT_0003fb74 == 2)) goto LAB_000192f8;\n                  if (DAT_0003fb74 == 1) {\n                    iVar9 = bfd_is_local_label(param_1,piVar3,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }\n                goto LAB_00019528;\n              }\n              iVar9 = DAT_0003fb28;\n              if (1 < DAT_0003fb78 - 2U) {\njoined_r0x0001a13f:\n                if (iVar9 == 0) goto LAB_00019528;\n              }\n            }\n            else if (DAT_0003fb78 != 3) goto LAB_00019528;" if (parenthesized_expression "((((uVar35 >> 5 & 0x42) == 0) &&\n                (((uVar26 & 0x82) != 0 || ((*(byte *)(piVar3[4] + 0x15) & 0x10) != 0)))) ||\n               (iVar9 = bfd_decode_symclass(piVar3), iVar9 == 0x49))" ( (binary_expression "(((uVar35 >> 5 & 0x42) == 0) &&\n                (((uVar26 & 0x82) != 0 || ((*(byte *)(piVar3[4] + 0x15) & 0x10) != 0)))) ||\n               (iVar9 = bfd_decode_symclass(piVar3), iVar9 == 0x49)" (parenthesized_expression "(((uVar35 >> 5 & 0x42) == 0) &&\n                (((uVar26 & 0x82) != 0 || ((*(byte *)(piVar3[4] + 0x15) & 0x10) != 0))))" ( (binary_expression "((uVar35 >> 5 & 0x42) == 0) &&\n                (((uVar26 & 0x82) != 0 || ((*(byte *)(piVar3[4] + 0x15) & 0x10) != 0)))" (parenthesized_expression "((uVar35 >> 5 & 0x42) == 0)" ( (binary_expression "(uVar35 >> 5 & 0x42) == 0" (parenthesized_expression "(uVar35 >> 5 & 0x42)" ( (binary_expression "uVar35 >> 5 & 0x42" (binary_expression "uVar35 >> 5" identifier >> number_literal) & number_literal) )) == number_literal) )) && (parenthesized_expression "(((uVar26 & 0x82) != 0 || ((*(byte *)(piVar3[4] + 0x15) & 0x10) != 0)))" ( (parenthesized_expression "((uVar26 & 0x82) != 0 || ((*(byte *)(piVar3[4] + 0x15) & 0x10) != 0))" ( (binary_expression "(uVar26 & 0x82) != 0 || ((*(byte *)(piVar3[4] + 0x15) & 0x10) != 0)" (binary_expression "(uVar26 & 0x82) != 0" (parenthesized_expression "(uVar26 & 0x82)" ( (binary_expression "uVar26 & 0x82" identifier & number_literal) )) != number_literal) || (parenthesized_expression "((*(byte *)(piVar3[4] + 0x15) & 0x10) != 0)" ( (binary_expression "(*(byte *)(piVar3[4] + 0x15) & 0x10) != 0" (parenthesized_expression "(*(byte *)(piVar3[4] + 0x15) & 0x10)" ( (binary_expression "*(byte *)(piVar3[4] + 0x15) & 0x10" (pointer_expression "*(byte *)(piVar3[4] + 0x15)" * (cast_expression "(byte *)(piVar3[4] + 0x15)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar3[4] + 0x15)" ( (binary_expression "piVar3[4] + 0x15" (subscript_expression "piVar3[4]" identifier [ number_literal ]) + number_literal) )))) & number_literal) )) != number_literal) ))) )) ))) )) || (parenthesized_expression "(iVar9 = bfd_decode_symclass(piVar3), iVar9 == 0x49)" ( (comma_expression "iVar9 = bfd_decode_symclass(piVar3), iVar9 == 0x49" (assignment_expression "iVar9 = bfd_decode_symclass(piVar3)" identifier = (call_expression "bfd_decode_symclass(piVar3)" identifier (argument_list "(piVar3)" ( identifier )))) , (binary_expression "iVar9 == 0x49" identifier == number_literal)) ))) )) (compound_statement "{\nLAB_00019528:\n              iVar9 = FUN_00017880();\n              if (iVar9 == 0) goto LAB_000192e0;\n            }" { (labeled_statement "LAB_00019528:\n              iVar9 = FUN_00017880();" statement_identifier : (expression_statement "iVar9 = FUN_00017880();" (assignment_expression "iVar9 = FUN_00017880()" identifier = (call_expression "FUN_00017880()" identifier (argument_list "()" ( )))) ;)) (if_statement "if (iVar9 == 0) goto LAB_000192e0;" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000192e0;" goto statement_identifier ;)) }) (else_clause "else if ((((uVar26 & 0x82) == 0) && (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8)) &&\n                    ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)) {\n              if ((uVar26 & 4) == 0) {\n                if (((*(int *)(param_1[1] + 4) != 2) ||\n                    (iVar9 = *(int *)(piVar3[4] + 0x8c), iVar9 == 0)) ||\n                   (*(int *)(iVar9 + 0x24) == 0)) {\n                  if ((DAT_0003fb78 == 3) || (DAT_0003fb74 == 2)) goto LAB_000192f8;\n                  if (DAT_0003fb74 == 1) {\n                    iVar9 = bfd_is_local_label(param_1,piVar3,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }\n                goto LAB_00019528;\n              }\n              iVar9 = DAT_0003fb28;\n              if (1 < DAT_0003fb78 - 2U) {\njoined_r0x0001a13f:\n                if (iVar9 == 0) goto LAB_00019528;\n              }\n            }\n            else if (DAT_0003fb78 != 3) goto LAB_00019528;" else (if_statement "if ((((uVar26 & 0x82) == 0) && (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8)) &&\n                    ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)) {\n              if ((uVar26 & 4) == 0) {\n                if (((*(int *)(param_1[1] + 4) != 2) ||\n                    (iVar9 = *(int *)(piVar3[4] + 0x8c), iVar9 == 0)) ||\n                   (*(int *)(iVar9 + 0x24) == 0)) {\n                  if ((DAT_0003fb78 == 3) || (DAT_0003fb74 == 2)) goto LAB_000192f8;\n                  if (DAT_0003fb74 == 1) {\n                    iVar9 = bfd_is_local_label(param_1,piVar3,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }\n                goto LAB_00019528;\n              }\n              iVar9 = DAT_0003fb28;\n              if (1 < DAT_0003fb78 - 2U) {\njoined_r0x0001a13f:\n                if (iVar9 == 0) goto LAB_00019528;\n              }\n            }\n            else if (DAT_0003fb78 != 3) goto LAB_00019528;" if (parenthesized_expression "((((uVar26 & 0x82) == 0) && (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8)) &&\n                    ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0))" ( (binary_expression "(((uVar26 & 0x82) == 0) && (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8)) &&\n                    ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)" (parenthesized_expression "(((uVar26 & 0x82) == 0) && (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8))" ( (binary_expression "((uVar26 & 0x82) == 0) && (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8)" (parenthesized_expression "((uVar26 & 0x82) == 0)" ( (binary_expression "(uVar26 & 0x82) == 0" (parenthesized_expression "(uVar26 & 0x82)" ( (binary_expression "uVar26 & 0x82" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "(puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8)" ( (binary_expression "puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8" identifier != (binary_expression "PTR__bfd_std_section_0003efc8 + 0xa8" identifier + number_literal)) ))) )) && (parenthesized_expression "((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)" ( (binary_expression "(*(byte *)(piVar3[4] + 0x15) & 0x10) == 0" (parenthesized_expression "(*(byte *)(piVar3[4] + 0x15) & 0x10)" ( (binary_expression "*(byte *)(piVar3[4] + 0x15) & 0x10" (pointer_expression "*(byte *)(piVar3[4] + 0x15)" * (cast_expression "(byte *)(piVar3[4] + 0x15)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar3[4] + 0x15)" ( (binary_expression "piVar3[4] + 0x15" (subscript_expression "piVar3[4]" identifier [ number_literal ]) + number_literal) )))) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n              if ((uVar26 & 4) == 0) {\n                if (((*(int *)(param_1[1] + 4) != 2) ||\n                    (iVar9 = *(int *)(piVar3[4] + 0x8c), iVar9 == 0)) ||\n                   (*(int *)(iVar9 + 0x24) == 0)) {\n                  if ((DAT_0003fb78 == 3) || (DAT_0003fb74 == 2)) goto LAB_000192f8;\n                  if (DAT_0003fb74 == 1) {\n                    iVar9 = bfd_is_local_label(param_1,piVar3,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }\n                goto LAB_00019528;\n              }\n              iVar9 = DAT_0003fb28;\n              if (1 < DAT_0003fb78 - 2U) {\njoined_r0x0001a13f:\n                if (iVar9 == 0) goto LAB_00019528;\n              }\n            }" { (if_statement "if ((uVar26 & 4) == 0) {\n                if (((*(int *)(param_1[1] + 4) != 2) ||\n                    (iVar9 = *(int *)(piVar3[4] + 0x8c), iVar9 == 0)) ||\n                   (*(int *)(iVar9 + 0x24) == 0)) {\n                  if ((DAT_0003fb78 == 3) || (DAT_0003fb74 == 2)) goto LAB_000192f8;\n                  if (DAT_0003fb74 == 1) {\n                    iVar9 = bfd_is_local_label(param_1,piVar3,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }\n                goto LAB_00019528;\n              }" if (parenthesized_expression "((uVar26 & 4) == 0)" ( (binary_expression "(uVar26 & 4) == 0" (parenthesized_expression "(uVar26 & 4)" ( (binary_expression "uVar26 & 4" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                if (((*(int *)(param_1[1] + 4) != 2) ||\n                    (iVar9 = *(int *)(piVar3[4] + 0x8c), iVar9 == 0)) ||\n                   (*(int *)(iVar9 + 0x24) == 0)) {\n                  if ((DAT_0003fb78 == 3) || (DAT_0003fb74 == 2)) goto LAB_000192f8;\n                  if (DAT_0003fb74 == 1) {\n                    iVar9 = bfd_is_local_label(param_1,piVar3,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }\n                goto LAB_00019528;\n              }" { (if_statement "if (((*(int *)(param_1[1] + 4) != 2) ||\n                    (iVar9 = *(int *)(piVar3[4] + 0x8c), iVar9 == 0)) ||\n                   (*(int *)(iVar9 + 0x24) == 0)) {\n                  if ((DAT_0003fb78 == 3) || (DAT_0003fb74 == 2)) goto LAB_000192f8;\n                  if (DAT_0003fb74 == 1) {\n                    iVar9 = bfd_is_local_label(param_1,piVar3,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }" if (parenthesized_expression "(((*(int *)(param_1[1] + 4) != 2) ||\n                    (iVar9 = *(int *)(piVar3[4] + 0x8c), iVar9 == 0)) ||\n                   (*(int *)(iVar9 + 0x24) == 0))" ( (binary_expression "((*(int *)(param_1[1] + 4) != 2) ||\n                    (iVar9 = *(int *)(piVar3[4] + 0x8c), iVar9 == 0)) ||\n                   (*(int *)(iVar9 + 0x24) == 0)" (parenthesized_expression "((*(int *)(param_1[1] + 4) != 2) ||\n                    (iVar9 = *(int *)(piVar3[4] + 0x8c), iVar9 == 0))" ( (binary_expression "(*(int *)(param_1[1] + 4) != 2) ||\n                    (iVar9 = *(int *)(piVar3[4] + 0x8c), iVar9 == 0)" (parenthesized_expression "(*(int *)(param_1[1] + 4) != 2)" ( (binary_expression "*(int *)(param_1[1] + 4) != 2" (pointer_expression "*(int *)(param_1[1] + 4)" * (cast_expression "(int *)(param_1[1] + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[1] + 4)" ( (binary_expression "param_1[1] + 4" (subscript_expression "param_1[1]" identifier [ number_literal ]) + number_literal) )))) != number_literal) )) || (parenthesized_expression "(iVar9 = *(int *)(piVar3[4] + 0x8c), iVar9 == 0)" ( (comma_expression "iVar9 = *(int *)(piVar3[4] + 0x8c), iVar9 == 0" (assignment_expression "iVar9 = *(int *)(piVar3[4] + 0x8c)" identifier = (pointer_expression "*(int *)(piVar3[4] + 0x8c)" * (cast_expression "(int *)(piVar3[4] + 0x8c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar3[4] + 0x8c)" ( (binary_expression "piVar3[4] + 0x8c" (subscript_expression "piVar3[4]" identifier [ number_literal ]) + number_literal) ))))) , (binary_expression "iVar9 == 0" identifier == number_literal)) ))) )) || (parenthesized_expression "(*(int *)(iVar9 + 0x24) == 0)" ( (binary_expression "*(int *)(iVar9 + 0x24) == 0" (pointer_expression "*(int *)(iVar9 + 0x24)" * (cast_expression "(int *)(iVar9 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x24)" ( (binary_expression "iVar9 + 0x24" identifier + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n                  if ((DAT_0003fb78 == 3) || (DAT_0003fb74 == 2)) goto LAB_000192f8;\n                  if (DAT_0003fb74 == 1) {\n                    iVar9 = bfd_is_local_label(param_1,piVar3,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }" { (if_statement "if ((DAT_0003fb78 == 3) || (DAT_0003fb74 == 2)) goto LAB_000192f8;" if (parenthesized_expression "((DAT_0003fb78 == 3) || (DAT_0003fb74 == 2))" ( (binary_expression "(DAT_0003fb78 == 3) || (DAT_0003fb74 == 2)" (parenthesized_expression "(DAT_0003fb78 == 3)" ( (binary_expression "DAT_0003fb78 == 3" identifier == number_literal) )) || (parenthesized_expression "(DAT_0003fb74 == 2)" ( (binary_expression "DAT_0003fb74 == 2" identifier == number_literal) ))) )) (goto_statement "goto LAB_000192f8;" goto statement_identifier ;)) (if_statement "if (DAT_0003fb74 == 1) {\n                    iVar9 = bfd_is_local_label(param_1,piVar3,0,0);\n                    goto joined_r0x0001a13f;\n                  }" if (parenthesized_expression "(DAT_0003fb74 == 1)" ( (binary_expression "DAT_0003fb74 == 1" identifier == number_literal) )) (compound_statement "{\n                    iVar9 = bfd_is_local_label(param_1,piVar3,0,0);\n                    goto joined_r0x0001a13f;\n                  }" { (expression_statement "iVar9 = bfd_is_local_label(param_1,piVar3,0,0);" (assignment_expression "iVar9 = bfd_is_local_label(param_1,piVar3,0,0)" identifier = (call_expression "bfd_is_local_label(param_1,piVar3,0,0)" identifier (argument_list "(param_1,piVar3,0,0)" ( identifier , identifier , number_literal , number_literal )))) ;) (goto_statement "goto joined_r0x0001a13f;" goto statement_identifier ;) })) })) (goto_statement "goto LAB_00019528;" goto statement_identifier ;) })) (expression_statement "iVar9 = DAT_0003fb28;" (assignment_expression "iVar9 = DAT_0003fb28" identifier = identifier) ;) (if_statement "if (1 < DAT_0003fb78 - 2U) {\njoined_r0x0001a13f:\n                if (iVar9 == 0) goto LAB_00019528;\n              }" if (parenthesized_expression "(1 < DAT_0003fb78 - 2U)" ( (binary_expression "1 < DAT_0003fb78 - 2U" number_literal < (binary_expression "DAT_0003fb78 - 2U" identifier - number_literal)) )) (compound_statement "{\njoined_r0x0001a13f:\n                if (iVar9 == 0) goto LAB_00019528;\n              }" { (labeled_statement "joined_r0x0001a13f:\n                if (iVar9 == 0) goto LAB_00019528;" statement_identifier : (if_statement "if (iVar9 == 0) goto LAB_00019528;" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00019528;" goto statement_identifier ;))) })) }) (else_clause "else if (DAT_0003fb78 != 3) goto LAB_00019528;" else (if_statement "if (DAT_0003fb78 != 3) goto LAB_00019528;" if (parenthesized_expression "(DAT_0003fb78 != 3)" ( (binary_expression "DAT_0003fb78 != 3" identifier != number_literal) )) (goto_statement "goto LAB_00019528;" goto statement_identifier ;)))))) }) (else_clause "else {\n            iVar9 = FUN_00017880();\n            if (iVar9 != 0) {\n              uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",\n                                 5,iVar9);\n              FUN_0002b6d0(uVar10,piVar31);\n              DAT_0003fb88 = 1;\n            }\nLAB_000192e0:\n            iVar9 = FUN_00017880();\n            if (iVar9 == 0) goto LAB_0001931c;\n          }" else (compound_statement "{\n            iVar9 = FUN_00017880();\n            if (iVar9 != 0) {\n              uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",\n                                 5,iVar9);\n              FUN_0002b6d0(uVar10,piVar31);\n              DAT_0003fb88 = 1;\n            }\nLAB_000192e0:\n            iVar9 = FUN_00017880();\n            if (iVar9 == 0) goto LAB_0001931c;\n          }" { (expression_statement "iVar9 = FUN_00017880();" (assignment_expression "iVar9 = FUN_00017880()" identifier = (call_expression "FUN_00017880()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar9 != 0) {\n              uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",\n                                 5,iVar9);\n              FUN_0002b6d0(uVar10,piVar31);\n              DAT_0003fb88 = 1;\n            }" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (compound_statement "{\n              uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",\n                                 5,iVar9);\n              FUN_0002b6d0(uVar10,piVar31);\n              DAT_0003fb88 = 1;\n            }" { (expression_statement "uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",\n                                 5,iVar9);" (assignment_expression "uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",\n                                 5,iVar9)" identifier = (call_expression "dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",\n                                 5,iVar9)" identifier (argument_list "(0,"not stripping symbol `%s\' because it is named in a relocation",\n                                 5,iVar9)" ( number_literal , (string_literal ""not stripping symbol `%s\' because it is named in a relocation"" " string_content escape_sequence string_content ") , number_literal , identifier )))) ;) (expression_statement "FUN_0002b6d0(uVar10,piVar31);" (call_expression "FUN_0002b6d0(uVar10,piVar31)" identifier (argument_list "(uVar10,piVar31)" ( identifier , identifier ))) ;) (expression_statement "DAT_0003fb88 = 1;" (assignment_expression "DAT_0003fb88 = 1" identifier = number_literal) ;) })) (labeled_statement "LAB_000192e0:\n            iVar9 = FUN_00017880();" statement_identifier : (expression_statement "iVar9 = FUN_00017880();" (assignment_expression "iVar9 = FUN_00017880()" identifier = (call_expression "FUN_00017880()" identifier (argument_list "()" ( )))) ;)) (if_statement "if (iVar9 == 0) goto LAB_0001931c;" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001931c;" goto statement_identifier ;)) }))) (labeled_statement "LAB_000192f8:\n          if (((DAT_0003fadc != 0) && ((uVar26 & 0x4000) != 0)) ||\n             (iVar9 = FUN_00017880(), iVar9 != 0)) goto LAB_0001931c;" statement_identifier : (if_statement "if (((DAT_0003fadc != 0) && ((uVar26 & 0x4000) != 0)) ||\n             (iVar9 = FUN_00017880(), iVar9 != 0)) goto LAB_0001931c;" if (parenthesized_expression "(((DAT_0003fadc != 0) && ((uVar26 & 0x4000) != 0)) ||\n             (iVar9 = FUN_00017880(), iVar9 != 0))" ( (binary_expression "((DAT_0003fadc != 0) && ((uVar26 & 0x4000) != 0)) ||\n             (iVar9 = FUN_00017880(), iVar9 != 0)" (parenthesized_expression "((DAT_0003fadc != 0) && ((uVar26 & 0x4000) != 0))" ( (binary_expression "(DAT_0003fadc != 0) && ((uVar26 & 0x4000) != 0)" (parenthesized_expression "(DAT_0003fadc != 0)" ( (binary_expression "DAT_0003fadc != 0" identifier != number_literal) )) && (parenthesized_expression "((uVar26 & 0x4000) != 0)" ( (binary_expression "(uVar26 & 0x4000) != 0" (parenthesized_expression "(uVar26 & 0x4000)" ( (binary_expression "uVar26 & 0x4000" identifier & number_literal) )) != number_literal) ))) )) || (parenthesized_expression "(iVar9 = FUN_00017880(), iVar9 != 0)" ( (comma_expression "iVar9 = FUN_00017880(), iVar9 != 0" (assignment_expression "iVar9 = FUN_00017880()" identifier = (call_expression "FUN_00017880()" identifier (argument_list "()" ( )))) , (binary_expression "iVar9 != 0" identifier != number_literal)) ))) )) (goto_statement "goto LAB_0001931c;" goto statement_identifier ;))) }) (else_clause "else {\n          iVar9 = FUN_00017880();\n          if (iVar9 != 0) {\n            uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",5)\n            ;\n            FUN_0002b6d0(uVar10,piVar31);\n            DAT_0003fb88 = 1;\n          }\nLAB_0001931c:\n          iVar9 = FUN_000178f0();\n          if (iVar9 == 0) {\n            if (((uVar26 & 2) != 0) && ((DAT_0003fae0 != 0 || (iVar9 = FUN_00017880(), iVar9 != 0)))\n               ) {\n              piVar3[3] = piVar3[3] & 0xfffffffdU | 0x80;\n            }\n            if (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8) {\n              if (((uVar26 & 0x82) != 0) &&\n                 (((iVar9 = FUN_00017880(), iVar9 != 0 ||\n                   ((iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0)))) ||\n                  ((DAT_0003fb10 != 0 &&\n                   ((((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)\n                    ))))))) {\n                piVar3[3] = piVar3[3] & 0xffffff7dU | 1;\n              }\n              if (((uVar26 & 1) != 0) && (iVar9 = FUN_00017880(), iVar9 != 0)) {\n                piVar3[3] = piVar3[3] & 0xfffffffeU | 2;\n              }\n            }\n            piVar15[local_70] = (int)piVar3;\n            local_70 = local_70 + 1;\n          }\n        }" else (compound_statement "{\n          iVar9 = FUN_00017880();\n          if (iVar9 != 0) {\n            uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",5)\n            ;\n            FUN_0002b6d0(uVar10,piVar31);\n            DAT_0003fb88 = 1;\n          }\nLAB_0001931c:\n          iVar9 = FUN_000178f0();\n          if (iVar9 == 0) {\n            if (((uVar26 & 2) != 0) && ((DAT_0003fae0 != 0 || (iVar9 = FUN_00017880(), iVar9 != 0)))\n               ) {\n              piVar3[3] = piVar3[3] & 0xfffffffdU | 0x80;\n            }\n            if (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8) {\n              if (((uVar26 & 0x82) != 0) &&\n                 (((iVar9 = FUN_00017880(), iVar9 != 0 ||\n                   ((iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0)))) ||\n                  ((DAT_0003fb10 != 0 &&\n                   ((((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)\n                    ))))))) {\n                piVar3[3] = piVar3[3] & 0xffffff7dU | 1;\n              }\n              if (((uVar26 & 1) != 0) && (iVar9 = FUN_00017880(), iVar9 != 0)) {\n                piVar3[3] = piVar3[3] & 0xfffffffeU | 2;\n              }\n            }\n            piVar15[local_70] = (int)piVar3;\n            local_70 = local_70 + 1;\n          }\n        }" { (expression_statement "iVar9 = FUN_00017880();" (assignment_expression "iVar9 = FUN_00017880()" identifier = (call_expression "FUN_00017880()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar9 != 0) {\n            uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",5)\n            ;\n            FUN_0002b6d0(uVar10,piVar31);\n            DAT_0003fb88 = 1;\n          }" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (compound_statement "{\n            uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",5)\n            ;\n            FUN_0002b6d0(uVar10,piVar31);\n            DAT_0003fb88 = 1;\n          }" { (expression_statement "uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",5)\n            ;" (assignment_expression "uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",5)" identifier = (call_expression "dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",5)" identifier (argument_list "(0,"not stripping symbol `%s\' because it is named in a relocation",5)" ( number_literal , (string_literal ""not stripping symbol `%s\' because it is named in a relocation"" " string_content escape_sequence string_content ") , number_literal )))) ;) (expression_statement "FUN_0002b6d0(uVar10,piVar31);" (call_expression "FUN_0002b6d0(uVar10,piVar31)" identifier (argument_list "(uVar10,piVar31)" ( identifier , identifier ))) ;) (expression_statement "DAT_0003fb88 = 1;" (assignment_expression "DAT_0003fb88 = 1" identifier = number_literal) ;) })) (labeled_statement "LAB_0001931c:\n          iVar9 = FUN_000178f0();" statement_identifier : (expression_statement "iVar9 = FUN_000178f0();" (assignment_expression "iVar9 = FUN_000178f0()" identifier = (call_expression "FUN_000178f0()" identifier (argument_list "()" ( )))) ;)) (if_statement "if (iVar9 == 0) {\n            if (((uVar26 & 2) != 0) && ((DAT_0003fae0 != 0 || (iVar9 = FUN_00017880(), iVar9 != 0)))\n               ) {\n              piVar3[3] = piVar3[3] & 0xfffffffdU | 0x80;\n            }\n            if (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8) {\n              if (((uVar26 & 0x82) != 0) &&\n                 (((iVar9 = FUN_00017880(), iVar9 != 0 ||\n                   ((iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0)))) ||\n                  ((DAT_0003fb10 != 0 &&\n                   ((((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)\n                    ))))))) {\n                piVar3[3] = piVar3[3] & 0xffffff7dU | 1;\n              }\n              if (((uVar26 & 1) != 0) && (iVar9 = FUN_00017880(), iVar9 != 0)) {\n                piVar3[3] = piVar3[3] & 0xfffffffeU | 2;\n              }\n            }\n            piVar15[local_70] = (int)piVar3;\n            local_70 = local_70 + 1;\n          }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n            if (((uVar26 & 2) != 0) && ((DAT_0003fae0 != 0 || (iVar9 = FUN_00017880(), iVar9 != 0)))\n               ) {\n              piVar3[3] = piVar3[3] & 0xfffffffdU | 0x80;\n            }\n            if (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8) {\n              if (((uVar26 & 0x82) != 0) &&\n                 (((iVar9 = FUN_00017880(), iVar9 != 0 ||\n                   ((iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0)))) ||\n                  ((DAT_0003fb10 != 0 &&\n                   ((((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)\n                    ))))))) {\n                piVar3[3] = piVar3[3] & 0xffffff7dU | 1;\n              }\n              if (((uVar26 & 1) != 0) && (iVar9 = FUN_00017880(), iVar9 != 0)) {\n                piVar3[3] = piVar3[3] & 0xfffffffeU | 2;\n              }\n            }\n            piVar15[local_70] = (int)piVar3;\n            local_70 = local_70 + 1;\n          }" { (if_statement "if (((uVar26 & 2) != 0) && ((DAT_0003fae0 != 0 || (iVar9 = FUN_00017880(), iVar9 != 0)))\n               ) {\n              piVar3[3] = piVar3[3] & 0xfffffffdU | 0x80;\n            }" if (parenthesized_expression "(((uVar26 & 2) != 0) && ((DAT_0003fae0 != 0 || (iVar9 = FUN_00017880(), iVar9 != 0)))\n               )" ( (binary_expression "((uVar26 & 2) != 0) && ((DAT_0003fae0 != 0 || (iVar9 = FUN_00017880(), iVar9 != 0)))" (parenthesized_expression "((uVar26 & 2) != 0)" ( (binary_expression "(uVar26 & 2) != 0" (parenthesized_expression "(uVar26 & 2)" ( (binary_expression "uVar26 & 2" identifier & number_literal) )) != number_literal) )) && (parenthesized_expression "((DAT_0003fae0 != 0 || (iVar9 = FUN_00017880(), iVar9 != 0)))" ( (parenthesized_expression "(DAT_0003fae0 != 0 || (iVar9 = FUN_00017880(), iVar9 != 0))" ( (binary_expression "DAT_0003fae0 != 0 || (iVar9 = FUN_00017880(), iVar9 != 0)" (binary_expression "DAT_0003fae0 != 0" identifier != number_literal) || (parenthesized_expression "(iVar9 = FUN_00017880(), iVar9 != 0)" ( (comma_expression "iVar9 = FUN_00017880(), iVar9 != 0" (assignment_expression "iVar9 = FUN_00017880()" identifier = (call_expression "FUN_00017880()" identifier (argument_list "()" ( )))) , (binary_expression "iVar9 != 0" identifier != number_literal)) ))) )) ))) )) (compound_statement "{\n              piVar3[3] = piVar3[3] & 0xfffffffdU | 0x80;\n            }" { (expression_statement "piVar3[3] = piVar3[3] & 0xfffffffdU | 0x80;" (assignment_expression "piVar3[3] = piVar3[3] & 0xfffffffdU | 0x80" (subscript_expression "piVar3[3]" identifier [ number_literal ]) = (binary_expression "piVar3[3] & 0xfffffffdU | 0x80" (binary_expression "piVar3[3] & 0xfffffffdU" (subscript_expression "piVar3[3]" identifier [ number_literal ]) & number_literal) | number_literal)) ;) })) (if_statement "if (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8) {\n              if (((uVar26 & 0x82) != 0) &&\n                 (((iVar9 = FUN_00017880(), iVar9 != 0 ||\n                   ((iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0)))) ||\n                  ((DAT_0003fb10 != 0 &&\n                   ((((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)\n                    ))))))) {\n                piVar3[3] = piVar3[3] & 0xffffff7dU | 1;\n              }\n              if (((uVar26 & 1) != 0) && (iVar9 = FUN_00017880(), iVar9 != 0)) {\n                piVar3[3] = piVar3[3] & 0xfffffffeU | 2;\n              }\n            }" if (parenthesized_expression "(puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8)" ( (binary_expression "puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8" identifier != (binary_expression "PTR__bfd_std_section_0003efc8 + 0xa8" identifier + number_literal)) )) (compound_statement "{\n              if (((uVar26 & 0x82) != 0) &&\n                 (((iVar9 = FUN_00017880(), iVar9 != 0 ||\n                   ((iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0)))) ||\n                  ((DAT_0003fb10 != 0 &&\n                   ((((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)\n                    ))))))) {\n                piVar3[3] = piVar3[3] & 0xffffff7dU | 1;\n              }\n              if (((uVar26 & 1) != 0) && (iVar9 = FUN_00017880(), iVar9 != 0)) {\n                piVar3[3] = piVar3[3] & 0xfffffffeU | 2;\n              }\n            }" { (if_statement "if (((uVar26 & 0x82) != 0) &&\n                 (((iVar9 = FUN_00017880(), iVar9 != 0 ||\n                   ((iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0)))) ||\n                  ((DAT_0003fb10 != 0 &&\n                   ((((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)\n                    ))))))) {\n                piVar3[3] = piVar3[3] & 0xffffff7dU | 1;\n              }" if (parenthesized_expression "(((uVar26 & 0x82) != 0) &&\n                 (((iVar9 = FUN_00017880(), iVar9 != 0 ||\n                   ((iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0)))) ||\n                  ((DAT_0003fb10 != 0 &&\n                   ((((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)\n                    )))))))" ( (binary_expression "((uVar26 & 0x82) != 0) &&\n                 (((iVar9 = FUN_00017880(), iVar9 != 0 ||\n                   ((iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0)))) ||\n                  ((DAT_0003fb10 != 0 &&\n                   ((((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)\n                    ))))))" (parenthesized_expression "((uVar26 & 0x82) != 0)" ( (binary_expression "(uVar26 & 0x82) != 0" (parenthesized_expression "(uVar26 & 0x82)" ( (binary_expression "uVar26 & 0x82" identifier & number_literal) )) != number_literal) )) && (parenthesized_expression "(((iVar9 = FUN_00017880(), iVar9 != 0 ||\n                   ((iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0)))) ||\n                  ((DAT_0003fb10 != 0 &&\n                   ((((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)\n                    ))))))" ( (parenthesized_expression "((iVar9 = FUN_00017880(), iVar9 != 0 ||\n                   ((iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0)))) ||\n                  ((DAT_0003fb10 != 0 &&\n                   ((((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)\n                    )))))" ( (binary_expression "(iVar9 = FUN_00017880(), iVar9 != 0 ||\n                   ((iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0)))) ||\n                  ((DAT_0003fb10 != 0 &&\n                   ((((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)\n                    ))))" (parenthesized_expression "(iVar9 = FUN_00017880(), iVar9 != 0 ||\n                   ((iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0))))" ( (comma_expression "iVar9 = FUN_00017880(), iVar9 != 0 ||\n                   ((iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0)))" (assignment_expression "iVar9 = FUN_00017880()" identifier = (call_expression "FUN_00017880()" identifier (argument_list "()" ( )))) , (binary_expression "iVar9 != 0 ||\n                   ((iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0)))" (binary_expression "iVar9 != 0" identifier != number_literal) || (parenthesized_expression "((iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0)))" ( (parenthesized_expression "(iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0))" ( (comma_expression "iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0)" (assignment_expression "iVar9 = htab_elements(DAT_0003faf8)" identifier = (call_expression "htab_elements(DAT_0003faf8)" identifier (argument_list "(DAT_0003faf8)" ( identifier )))) , (binary_expression "iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0)" (binary_expression "iVar9 != 0" identifier != number_literal) && (parenthesized_expression "(iVar9 = FUN_00017880(), iVar9 == 0)" ( (comma_expression "iVar9 = FUN_00017880(), iVar9 == 0" (assignment_expression "iVar9 = FUN_00017880()" identifier = (call_expression "FUN_00017880()" identifier (argument_list "()" ( )))) , (binary_expression "iVar9 == 0" identifier == number_literal)) )))) )) )))) )) || (parenthesized_expression "((DAT_0003fb10 != 0 &&\n                   ((((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)\n                    ))))" ( (parenthesized_expression "(DAT_0003fb10 != 0 &&\n                   ((((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)\n                    )))" ( (binary_expression "DAT_0003fb10 != 0 &&\n                   ((((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)\n                    ))" (binary_expression "DAT_0003fb10 != 0" identifier != number_literal) && (parenthesized_expression "((((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)\n                    ))" ( (parenthesized_expression "(((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)\n                    )" ( (binary_expression "((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)" (parenthesized_expression "((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0))" ( (binary_expression "(iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)" (parenthesized_expression "(iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5))" ( (comma_expression "iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)" (assignment_expression "iVar9 = *piVar3" identifier = (pointer_expression "*piVar3" * identifier)) , (binary_expression "iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)" (binary_expression "iVar9 != 0" identifier != number_literal) && (parenthesized_expression "(*(int *)(*(int *)(iVar9 + 4) + 4) == 5)" ( (binary_expression "*(int *)(*(int *)(iVar9 + 4) + 4) == 5" (pointer_expression "*(int *)(*(int *)(iVar9 + 4) + 4)" * (cast_expression "(int *)(*(int *)(iVar9 + 4) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar9 + 4) + 4)" ( (binary_expression "*(int *)(iVar9 + 4) + 4" (pointer_expression "*(int *)(iVar9 + 4)" * (cast_expression "(int *)(iVar9 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 4)" ( (binary_expression "iVar9 + 4" identifier + number_literal) )))) + number_literal) )))) == number_literal) )))) )) && (parenthesized_expression "(*(int *)(iVar9 + 0x9c) != 0)" ( (binary_expression "*(int *)(iVar9 + 0x9c) != 0" (pointer_expression "*(int *)(iVar9 + 0x9c)" * (cast_expression "(int *)(iVar9 + 0x9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x9c)" ( (binary_expression "iVar9 + 0x9c" identifier + number_literal) )))) != number_literal) ))) )) && (parenthesized_expression "((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)" ( (binary_expression "(*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2" (binary_expression "(*(byte *)((int)piVar3 + 0x25) & 3) - 1" (parenthesized_expression "(*(byte *)((int)piVar3 + 0x25) & 3)" ( (binary_expression "*(byte *)((int)piVar3 + 0x25) & 3" (pointer_expression "*(byte *)((int)piVar3 + 0x25)" * (cast_expression "(byte *)((int)piVar3 + 0x25)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar3 + 0x25)" ( (binary_expression "(int)piVar3 + 0x25" (cast_expression "(int)piVar3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) - number_literal) < number_literal) ))) )) ))) )) ))) )) ))) )) (compound_statement "{\n                piVar3[3] = piVar3[3] & 0xffffff7dU | 1;\n              }" { (expression_statement "piVar3[3] = piVar3[3] & 0xffffff7dU | 1;" (assignment_expression "piVar3[3] = piVar3[3] & 0xffffff7dU | 1" (subscript_expression "piVar3[3]" identifier [ number_literal ]) = (binary_expression "piVar3[3] & 0xffffff7dU | 1" (binary_expression "piVar3[3] & 0xffffff7dU" (subscript_expression "piVar3[3]" identifier [ number_literal ]) & number_literal) | number_literal)) ;) })) (if_statement "if (((uVar26 & 1) != 0) && (iVar9 = FUN_00017880(), iVar9 != 0)) {\n                piVar3[3] = piVar3[3] & 0xfffffffeU | 2;\n              }" if (parenthesized_expression "(((uVar26 & 1) != 0) && (iVar9 = FUN_00017880(), iVar9 != 0))" ( (binary_expression "((uVar26 & 1) != 0) && (iVar9 = FUN_00017880(), iVar9 != 0)" (parenthesized_expression "((uVar26 & 1) != 0)" ( (binary_expression "(uVar26 & 1) != 0" (parenthesized_expression "(uVar26 & 1)" ( (binary_expression "uVar26 & 1" identifier & number_literal) )) != number_literal) )) && (parenthesized_expression "(iVar9 = FUN_00017880(), iVar9 != 0)" ( (comma_expression "iVar9 = FUN_00017880(), iVar9 != 0" (assignment_expression "iVar9 = FUN_00017880()" identifier = (call_expression "FUN_00017880()" identifier (argument_list "()" ( )))) , (binary_expression "iVar9 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n                piVar3[3] = piVar3[3] & 0xfffffffeU | 2;\n              }" { (expression_statement "piVar3[3] = piVar3[3] & 0xfffffffeU | 2;" (assignment_expression "piVar3[3] = piVar3[3] & 0xfffffffeU | 2" (subscript_expression "piVar3[3]" identifier [ number_literal ]) = (binary_expression "piVar3[3] & 0xfffffffeU | 2" (binary_expression "piVar3[3] & 0xfffffffeU" (subscript_expression "piVar3[3]" identifier [ number_literal ]) & number_literal) | number_literal)) ;) })) })) (expression_statement "piVar15[local_70] = (int)piVar3;" (assignment_expression "piVar15[local_70] = (int)piVar3" (subscript_expression "piVar15[local_70]" identifier [ identifier ]) = (cast_expression "(int)piVar3" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "local_70 = local_70 + 1;" (assignment_expression "local_70 = local_70 + 1" identifier = (binary_expression "local_70 + 1" identifier + number_literal)) ;) })) }))) (expression_statement "local_68 = local_68 + 1;" (assignment_expression "local_68 = local_68 + 1" identifier = (binary_expression "local_68 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar1 != local_68)" ( (binary_expression "piVar1 != local_68" identifier != identifier) )) ;) })) (expression_statement "local_5c = DAT_0003fae8;" (assignment_expression "local_5c = DAT_0003fae8" identifier = identifier) ;) (if_statement "if ((DAT_0003fae8 != (int *)0x0) && (0 < DAT_0003fae4)) {\n      iVar9 = 0;\n      do {\n        pcVar22 = (char *)local_5c[5];\n        if (pcVar22 == (char *)0x0) {\n          iVar12 = FUN_000177e0();\n          piVar15[local_70] = iVar12;\n          local_70 = local_70 + 1;\n        }\n        else if (*pcVar22 != '\0') {\n          uVar10 = dcgettext(0,"\'before=%s\' not found",5,local_70);\n                    /* WARNING: Subroutine does not return */\n          FUN_0002b6a0(uVar10,pcVar22);\n        }\n        iVar9 = iVar9 + 1;\n        local_5c = (int *)*local_5c;\n      } while (iVar9 < DAT_0003fae4);\n    }" if (parenthesized_expression "((DAT_0003fae8 != (int *)0x0) && (0 < DAT_0003fae4))" ( (binary_expression "(DAT_0003fae8 != (int *)0x0) && (0 < DAT_0003fae4)" (parenthesized_expression "(DAT_0003fae8 != (int *)0x0)" ( (binary_expression "DAT_0003fae8 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(0 < DAT_0003fae4)" ( (binary_expression "0 < DAT_0003fae4" number_literal < identifier) ))) )) (compound_statement "{\n      iVar9 = 0;\n      do {\n        pcVar22 = (char *)local_5c[5];\n        if (pcVar22 == (char *)0x0) {\n          iVar12 = FUN_000177e0();\n          piVar15[local_70] = iVar12;\n          local_70 = local_70 + 1;\n        }\n        else if (*pcVar22 != '\0') {\n          uVar10 = dcgettext(0,"\'before=%s\' not found",5,local_70);\n                    /* WARNING: Subroutine does not return */\n          FUN_0002b6a0(uVar10,pcVar22);\n        }\n        iVar9 = iVar9 + 1;\n        local_5c = (int *)*local_5c;\n      } while (iVar9 < DAT_0003fae4);\n    }" { (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" identifier = number_literal) ;) (do_statement "do {\n        pcVar22 = (char *)local_5c[5];\n        if (pcVar22 == (char *)0x0) {\n          iVar12 = FUN_000177e0();\n          piVar15[local_70] = iVar12;\n          local_70 = local_70 + 1;\n        }\n        else if (*pcVar22 != '\0') {\n          uVar10 = dcgettext(0,"\'before=%s\' not found",5,local_70);\n                    /* WARNING: Subroutine does not return */\n          FUN_0002b6a0(uVar10,pcVar22);\n        }\n        iVar9 = iVar9 + 1;\n        local_5c = (int *)*local_5c;\n      } while (iVar9 < DAT_0003fae4);" do (compound_statement "{\n        pcVar22 = (char *)local_5c[5];\n        if (pcVar22 == (char *)0x0) {\n          iVar12 = FUN_000177e0();\n          piVar15[local_70] = iVar12;\n          local_70 = local_70 + 1;\n        }\n        else if (*pcVar22 != '\0') {\n          uVar10 = dcgettext(0,"\'before=%s\' not found",5,local_70);\n                    /* WARNING: Subroutine does not return */\n          FUN_0002b6a0(uVar10,pcVar22);\n        }\n        iVar9 = iVar9 + 1;\n        local_5c = (int *)*local_5c;\n      }" { (expression_statement "pcVar22 = (char *)local_5c[5];" (assignment_expression "pcVar22 = (char *)local_5c[5]" identifier = (cast_expression "(char *)local_5c[5]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_5c[5]" identifier [ number_literal ]))) ;) (if_statement "if (pcVar22 == (char *)0x0) {\n          iVar12 = FUN_000177e0();\n          piVar15[local_70] = iVar12;\n          local_70 = local_70 + 1;\n        }\n        else if (*pcVar22 != '\0') {\n          uVar10 = dcgettext(0,"\'before=%s\' not found",5,local_70);\n                    /* WARNING: Subroutine does not return */\n          FUN_0002b6a0(uVar10,pcVar22);\n        }" if (parenthesized_expression "(pcVar22 == (char *)0x0)" ( (binary_expression "pcVar22 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          iVar12 = FUN_000177e0();\n          piVar15[local_70] = iVar12;\n          local_70 = local_70 + 1;\n        }" { (expression_statement "iVar12 = FUN_000177e0();" (assignment_expression "iVar12 = FUN_000177e0()" identifier = (call_expression "FUN_000177e0()" identifier (argument_list "()" ( )))) ;) (expression_statement "piVar15[local_70] = iVar12;" (assignment_expression "piVar15[local_70] = iVar12" (subscript_expression "piVar15[local_70]" identifier [ identifier ]) = identifier) ;) (expression_statement "local_70 = local_70 + 1;" (assignment_expression "local_70 = local_70 + 1" identifier = (binary_expression "local_70 + 1" identifier + number_literal)) ;) }) (else_clause "else if (*pcVar22 != '\0') {\n          uVar10 = dcgettext(0,"\'before=%s\' not found",5,local_70);\n                    /* WARNING: Subroutine does not return */\n          FUN_0002b6a0(uVar10,pcVar22);\n        }" else (if_statement "if (*pcVar22 != '\0') {\n          uVar10 = dcgettext(0,"\'before=%s\' not found",5,local_70);\n                    /* WARNING: Subroutine does not return */\n          FUN_0002b6a0(uVar10,pcVar22);\n        }" if (parenthesized_expression "(*pcVar22 != '\0')" ( (binary_expression "*pcVar22 != '\0'" (pointer_expression "*pcVar22" * identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          uVar10 = dcgettext(0,"\'before=%s\' not found",5,local_70);\n                    /* WARNING: Subroutine does not return */\n          FUN_0002b6a0(uVar10,pcVar22);\n        }" { (expression_statement "uVar10 = dcgettext(0,"\'before=%s\' not found",5,local_70);" (assignment_expression "uVar10 = dcgettext(0,"\'before=%s\' not found",5,local_70)" identifier = (call_expression "dcgettext(0,"\'before=%s\' not found",5,local_70)" identifier (argument_list "(0,"\'before=%s\' not found",5,local_70)" ( number_literal , (string_literal ""\'before=%s\' not found"" " escape_sequence string_content escape_sequence string_content ") , number_literal , identifier )))) ;) comment (expression_statement "FUN_0002b6a0(uVar10,pcVar22);" (call_expression "FUN_0002b6a0(uVar10,pcVar22)" identifier (argument_list "(uVar10,pcVar22)" ( identifier , identifier ))) ;) })))) (expression_statement "iVar9 = iVar9 + 1;" (assignment_expression "iVar9 = iVar9 + 1" identifier = (binary_expression "iVar9 + 1" identifier + number_literal)) ;) (expression_statement "local_5c = (int *)*local_5c;" (assignment_expression "local_5c = (int *)*local_5c" identifier = (cast_expression "(int *)*local_5c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_5c" * identifier))) ;) }) while (parenthesized_expression "(iVar9 < DAT_0003fae4)" ( (binary_expression "iVar9 < DAT_0003fae4" identifier < identifier) )) ;) })) (expression_statement "piVar15[local_70] = 0;" (assignment_expression "piVar15[local_70] = 0" (subscript_expression "piVar15[local_70]" identifier [ identifier ]) = number_literal) ;) (if_statement "if ((DAT_0003fb28 != 0) && (local_94 != 0)) {\n      iVar9 = ((undefined4 *)param_2[1])[1];\n      if ((iVar9 != 2) && (iVar9 != 5)) {\n        uVar10 = *(undefined4 *)param_2[1];\n        uVar11 = dcgettext(0,"don\'t know how to write debugging information for %s",5);\n        FUN_0002c160(0,param_2,0,uVar11,uVar10);\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n      iVar9 = FUN_0002b050(param_2,local_94,&local_4c,local_44,&local_48,&local_30);\n      if (iVar9 == 0) {\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n      iVar9 = bfd_make_section_with_flags(param_2,".stab",0x2108);\n      iVar12 = bfd_make_section_with_flags(param_2,".stabstr",0x2108);\n      if ((((iVar9 == 0) || (iVar12 == 0)) ||\n          (iVar21 = bfd_set_section_size(param_2,iVar9,local_44[0],iVar12), iVar21 == 0)) ||\n         (iVar21 = bfd_set_section_size(param_2,iVar12,local_30,iVar21), iVar21 == 0)) {\n        pcVar22 = "can\'t create debugging section";\nLAB_00019fcf:\n        uVar10 = dcgettext(0,pcVar22,5,iVar9);\n        FUN_0002c160(0,param_2,0,uVar10);\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n      *(undefined4 *)(iVar9 + 0x40) = 2;\n      *(undefined4 *)(iVar12 + 0x40) = 0;\n      iVar9 = bfd_set_section_contents(param_2,iVar9,local_4c,0,0,local_44[0],iVar21,iVar21);\n      if ((iVar9 == 0) ||\n         (iVar9 = bfd_set_section_contents\n                            (param_2,iVar12,local_48,0,0,local_30,extraout_ECX,extraout_ECX),\n         iVar9 == 0)) {\n        pcVar22 = "can\'t set debugging section contents";\n        iVar9 = iVar12;\n        goto LAB_00019fcf;\n      }\n    }" if (parenthesized_expression "((DAT_0003fb28 != 0) && (local_94 != 0))" ( (binary_expression "(DAT_0003fb28 != 0) && (local_94 != 0)" (parenthesized_expression "(DAT_0003fb28 != 0)" ( (binary_expression "DAT_0003fb28 != 0" identifier != number_literal) )) && (parenthesized_expression "(local_94 != 0)" ( (binary_expression "local_94 != 0" identifier != number_literal) ))) )) (compound_statement "{\n      iVar9 = ((undefined4 *)param_2[1])[1];\n      if ((iVar9 != 2) && (iVar9 != 5)) {\n        uVar10 = *(undefined4 *)param_2[1];\n        uVar11 = dcgettext(0,"don\'t know how to write debugging information for %s",5);\n        FUN_0002c160(0,param_2,0,uVar11,uVar10);\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n      iVar9 = FUN_0002b050(param_2,local_94,&local_4c,local_44,&local_48,&local_30);\n      if (iVar9 == 0) {\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n      iVar9 = bfd_make_section_with_flags(param_2,".stab",0x2108);\n      iVar12 = bfd_make_section_with_flags(param_2,".stabstr",0x2108);\n      if ((((iVar9 == 0) || (iVar12 == 0)) ||\n          (iVar21 = bfd_set_section_size(param_2,iVar9,local_44[0],iVar12), iVar21 == 0)) ||\n         (iVar21 = bfd_set_section_size(param_2,iVar12,local_30,iVar21), iVar21 == 0)) {\n        pcVar22 = "can\'t create debugging section";\nLAB_00019fcf:\n        uVar10 = dcgettext(0,pcVar22,5,iVar9);\n        FUN_0002c160(0,param_2,0,uVar10);\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n      *(undefined4 *)(iVar9 + 0x40) = 2;\n      *(undefined4 *)(iVar12 + 0x40) = 0;\n      iVar9 = bfd_set_section_contents(param_2,iVar9,local_4c,0,0,local_44[0],iVar21,iVar21);\n      if ((iVar9 == 0) ||\n         (iVar9 = bfd_set_section_contents\n                            (param_2,iVar12,local_48,0,0,local_30,extraout_ECX,extraout_ECX),\n         iVar9 == 0)) {\n        pcVar22 = "can\'t set debugging section contents";\n        iVar9 = iVar12;\n        goto LAB_00019fcf;\n      }\n    }" { (expression_statement "iVar9 = ((undefined4 *)param_2[1])[1];" (assignment_expression "iVar9 = ((undefined4 *)param_2[1])[1]" identifier = (subscript_expression "((undefined4 *)param_2[1])[1]" (parenthesized_expression "((undefined4 *)param_2[1])" ( (cast_expression "(undefined4 *)param_2[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[1]" identifier [ number_literal ])) )) [ number_literal ])) ;) (if_statement "if ((iVar9 != 2) && (iVar9 != 5)) {\n        uVar10 = *(undefined4 *)param_2[1];\n        uVar11 = dcgettext(0,"don\'t know how to write debugging information for %s",5);\n        FUN_0002c160(0,param_2,0,uVar11,uVar10);\n        DAT_0003fb88 = 1;\n        return 0;\n      }" if (parenthesized_expression "((iVar9 != 2) && (iVar9 != 5))" ( (binary_expression "(iVar9 != 2) && (iVar9 != 5)" (parenthesized_expression "(iVar9 != 2)" ( (binary_expression "iVar9 != 2" identifier != number_literal) )) && (parenthesized_expression "(iVar9 != 5)" ( (binary_expression "iVar9 != 5" identifier != number_literal) ))) )) (compound_statement "{\n        uVar10 = *(undefined4 *)param_2[1];\n        uVar11 = dcgettext(0,"don\'t know how to write debugging information for %s",5);\n        FUN_0002c160(0,param_2,0,uVar11,uVar10);\n        DAT_0003fb88 = 1;\n        return 0;\n      }" { (expression_statement "uVar10 = *(undefined4 *)param_2[1];" (assignment_expression "uVar10 = *(undefined4 *)param_2[1]" identifier = (pointer_expression "*(undefined4 *)param_2[1]" * (cast_expression "(undefined4 *)param_2[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[1]" identifier [ number_literal ])))) ;) (expression_statement "uVar11 = dcgettext(0,"don\'t know how to write debugging information for %s",5);" (assignment_expression "uVar11 = dcgettext(0,"don\'t know how to write debugging information for %s",5)" identifier = (call_expression "dcgettext(0,"don\'t know how to write debugging information for %s",5)" identifier (argument_list "(0,"don\'t know how to write debugging information for %s",5)" ( number_literal , (string_literal ""don\'t know how to write debugging information for %s"" " string_content escape_sequence string_content ") , number_literal )))) ;) (expression_statement "FUN_0002c160(0,param_2,0,uVar11,uVar10);" (call_expression "FUN_0002c160(0,param_2,0,uVar11,uVar10)" identifier (argument_list "(0,param_2,0,uVar11,uVar10)" ( number_literal , identifier , number_literal , identifier , identifier ))) ;) (expression_statement "DAT_0003fb88 = 1;" (assignment_expression "DAT_0003fb88 = 1" identifier = number_literal) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "iVar9 = FUN_0002b050(param_2,local_94,&local_4c,local_44,&local_48,&local_30);" (assignment_expression "iVar9 = FUN_0002b050(param_2,local_94,&local_4c,local_44,&local_48,&local_30)" identifier = (call_expression "FUN_0002b050(param_2,local_94,&local_4c,local_44,&local_48,&local_30)" identifier (argument_list "(param_2,local_94,&local_4c,local_44,&local_48,&local_30)" ( identifier , identifier , (pointer_expression "&local_4c" & identifier) , identifier , (pointer_expression "&local_48" & identifier) , (pointer_expression "&local_30" & identifier) )))) ;) (if_statement "if (iVar9 == 0) {\n        DAT_0003fb88 = 1;\n        return 0;\n      }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n        DAT_0003fb88 = 1;\n        return 0;\n      }" { (expression_statement "DAT_0003fb88 = 1;" (assignment_expression "DAT_0003fb88 = 1" identifier = number_literal) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "iVar9 = bfd_make_section_with_flags(param_2,".stab",0x2108);" (assignment_expression "iVar9 = bfd_make_section_with_flags(param_2,".stab",0x2108)" identifier = (call_expression "bfd_make_section_with_flags(param_2,".stab",0x2108)" identifier (argument_list "(param_2,".stab",0x2108)" ( identifier , (string_literal "".stab"" " string_content ") , number_literal )))) ;) (expression_statement "iVar12 = bfd_make_section_with_flags(param_2,".stabstr",0x2108);" (assignment_expression "iVar12 = bfd_make_section_with_flags(param_2,".stabstr",0x2108)" identifier = (call_expression "bfd_make_section_with_flags(param_2,".stabstr",0x2108)" identifier (argument_list "(param_2,".stabstr",0x2108)" ( identifier , (string_literal "".stabstr"" " string_content ") , number_literal )))) ;) (if_statement "if ((((iVar9 == 0) || (iVar12 == 0)) ||\n          (iVar21 = bfd_set_section_size(param_2,iVar9,local_44[0],iVar12), iVar21 == 0)) ||\n         (iVar21 = bfd_set_section_size(param_2,iVar12,local_30,iVar21), iVar21 == 0)) {\n        pcVar22 = "can\'t create debugging section";\nLAB_00019fcf:\n        uVar10 = dcgettext(0,pcVar22,5,iVar9);\n        FUN_0002c160(0,param_2,0,uVar10);\n        DAT_0003fb88 = 1;\n        return 0;\n      }" if (parenthesized_expression "((((iVar9 == 0) || (iVar12 == 0)) ||\n          (iVar21 = bfd_set_section_size(param_2,iVar9,local_44[0],iVar12), iVar21 == 0)) ||\n         (iVar21 = bfd_set_section_size(param_2,iVar12,local_30,iVar21), iVar21 == 0))" ( (binary_expression "(((iVar9 == 0) || (iVar12 == 0)) ||\n          (iVar21 = bfd_set_section_size(param_2,iVar9,local_44[0],iVar12), iVar21 == 0)) ||\n         (iVar21 = bfd_set_section_size(param_2,iVar12,local_30,iVar21), iVar21 == 0)" (parenthesized_expression "(((iVar9 == 0) || (iVar12 == 0)) ||\n          (iVar21 = bfd_set_section_size(param_2,iVar9,local_44[0],iVar12), iVar21 == 0))" ( (binary_expression "((iVar9 == 0) || (iVar12 == 0)) ||\n          (iVar21 = bfd_set_section_size(param_2,iVar9,local_44[0],iVar12), iVar21 == 0)" (parenthesized_expression "((iVar9 == 0) || (iVar12 == 0))" ( (binary_expression "(iVar9 == 0) || (iVar12 == 0)" (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) ))) )) || (parenthesized_expression "(iVar21 = bfd_set_section_size(param_2,iVar9,local_44[0],iVar12), iVar21 == 0)" ( (comma_expression "iVar21 = bfd_set_section_size(param_2,iVar9,local_44[0],iVar12), iVar21 == 0" (assignment_expression "iVar21 = bfd_set_section_size(param_2,iVar9,local_44[0],iVar12)" identifier = (call_expression "bfd_set_section_size(param_2,iVar9,local_44[0],iVar12)" identifier (argument_list "(param_2,iVar9,local_44[0],iVar12)" ( identifier , identifier , (subscript_expression "local_44[0]" identifier [ number_literal ]) , identifier )))) , (binary_expression "iVar21 == 0" identifier == number_literal)) ))) )) || (parenthesized_expression "(iVar21 = bfd_set_section_size(param_2,iVar12,local_30,iVar21), iVar21 == 0)" ( (comma_expression "iVar21 = bfd_set_section_size(param_2,iVar12,local_30,iVar21), iVar21 == 0" (assignment_expression "iVar21 = bfd_set_section_size(param_2,iVar12,local_30,iVar21)" identifier = (call_expression "bfd_set_section_size(param_2,iVar12,local_30,iVar21)" identifier (argument_list "(param_2,iVar12,local_30,iVar21)" ( identifier , identifier , identifier , identifier )))) , (binary_expression "iVar21 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n        pcVar22 = "can\'t create debugging section";\nLAB_00019fcf:\n        uVar10 = dcgettext(0,pcVar22,5,iVar9);\n        FUN_0002c160(0,param_2,0,uVar10);\n        DAT_0003fb88 = 1;\n        return 0;\n      }" { (expression_statement "pcVar22 = "can\'t create debugging section";" (assignment_expression "pcVar22 = "can\'t create debugging section"" identifier = (string_literal ""can\'t create debugging section"" " string_content escape_sequence string_content ")) ;) (labeled_statement "LAB_00019fcf:\n        uVar10 = dcgettext(0,pcVar22,5,iVar9);" statement_identifier : (expression_statement "uVar10 = dcgettext(0,pcVar22,5,iVar9);" (assignment_expression "uVar10 = dcgettext(0,pcVar22,5,iVar9)" identifier = (call_expression "dcgettext(0,pcVar22,5,iVar9)" identifier (argument_list "(0,pcVar22,5,iVar9)" ( number_literal , identifier , number_literal , identifier )))) ;)) (expression_statement "FUN_0002c160(0,param_2,0,uVar10);" (call_expression "FUN_0002c160(0,param_2,0,uVar10)" identifier (argument_list "(0,param_2,0,uVar10)" ( number_literal , identifier , number_literal , identifier ))) ;) (expression_statement "DAT_0003fb88 = 1;" (assignment_expression "DAT_0003fb88 = 1" identifier = number_literal) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "*(undefined4 *)(iVar9 + 0x40) = 2;" (assignment_expression "*(undefined4 *)(iVar9 + 0x40) = 2" (pointer_expression "*(undefined4 *)(iVar9 + 0x40)" * (cast_expression "(undefined4 *)(iVar9 + 0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x40)" ( (binary_expression "iVar9 + 0x40" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(iVar12 + 0x40) = 0;" (assignment_expression "*(undefined4 *)(iVar12 + 0x40) = 0" (pointer_expression "*(undefined4 *)(iVar12 + 0x40)" * (cast_expression "(undefined4 *)(iVar12 + 0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x40)" ( (binary_expression "iVar12 + 0x40" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar9 = bfd_set_section_contents(param_2,iVar9,local_4c,0,0,local_44[0],iVar21,iVar21);" (assignment_expression "iVar9 = bfd_set_section_contents(param_2,iVar9,local_4c,0,0,local_44[0],iVar21,iVar21)" identifier = (call_expression "bfd_set_section_contents(param_2,iVar9,local_4c,0,0,local_44[0],iVar21,iVar21)" identifier (argument_list "(param_2,iVar9,local_4c,0,0,local_44[0],iVar21,iVar21)" ( identifier , identifier , identifier , number_literal , number_literal , (subscript_expression "local_44[0]" identifier [ number_literal ]) , identifier , identifier )))) ;) (if_statement "if ((iVar9 == 0) ||\n         (iVar9 = bfd_set_section_contents\n                            (param_2,iVar12,local_48,0,0,local_30,extraout_ECX,extraout_ECX),\n         iVar9 == 0)) {\n        pcVar22 = "can\'t set debugging section contents";\n        iVar9 = iVar12;\n        goto LAB_00019fcf;\n      }" if (parenthesized_expression "((iVar9 == 0) ||\n         (iVar9 = bfd_set_section_contents\n                            (param_2,iVar12,local_48,0,0,local_30,extraout_ECX,extraout_ECX),\n         iVar9 == 0))" ( (binary_expression "(iVar9 == 0) ||\n         (iVar9 = bfd_set_section_contents\n                            (param_2,iVar12,local_48,0,0,local_30,extraout_ECX,extraout_ECX),\n         iVar9 == 0)" (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar9 = bfd_set_section_contents\n                            (param_2,iVar12,local_48,0,0,local_30,extraout_ECX,extraout_ECX),\n         iVar9 == 0)" ( (comma_expression "iVar9 = bfd_set_section_contents\n                            (param_2,iVar12,local_48,0,0,local_30,extraout_ECX,extraout_ECX),\n         iVar9 == 0" (assignment_expression "iVar9 = bfd_set_section_contents\n                            (param_2,iVar12,local_48,0,0,local_30,extraout_ECX,extraout_ECX)" identifier = (call_expression "bfd_set_section_contents\n                            (param_2,iVar12,local_48,0,0,local_30,extraout_ECX,extraout_ECX)" identifier (argument_list "(param_2,iVar12,local_48,0,0,local_30,extraout_ECX,extraout_ECX)" ( identifier , identifier , identifier , number_literal , number_literal , identifier , identifier , identifier )))) , (binary_expression "iVar9 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n        pcVar22 = "can\'t set debugging section contents";\n        iVar9 = iVar12;\n        goto LAB_00019fcf;\n      }" { (expression_statement "pcVar22 = "can\'t set debugging section contents";" (assignment_expression "pcVar22 = "can\'t set debugging section contents"" identifier = (string_literal ""can\'t set debugging section contents"" " string_content escape_sequence string_content ")) ;) (expression_statement "iVar9 = iVar12;" (assignment_expression "iVar9 = iVar12" identifier = identifier) ;) (goto_statement "goto LAB_00019fcf;" goto statement_identifier ;) })) })) }) (else_clause "else {\n    if (DAT_0003fb10 != 0 || DAT_0003fb74 != 0) goto LAB_00019037;\n    iVar9 = htab_elements(DAT_0003fb0c);\n    if (((iVar9 != 0) || (iVar9 = htab_elements(DAT_0003fb04), iVar9 != 0)) ||\n       ((iVar9 = htab_elements(DAT_0003fb00), iVar9 != 0 ||\n        (((((iVar9 = htab_elements(DAT_0003fafc), iVar9 != 0 ||\n            (iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0)) ||\n           (iVar9 = htab_elements(DAT_0003faf4), iVar9 != 0)) ||\n          ((iVar9 = htab_elements(DAT_0003faf0), DAT_0003fad8 != (char *)0x0 ||\n           (DAT_0003fba0 != (undefined4 *)0x0)))) ||\n         (((((((DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0) || DAT_0003fb1c != 0)\n            || DAT_0003fb18 != 0) || DAT_0003fae0 != 0) || DAT_0003fae4 != 0) || iVar9 != 0))))))\n    goto LAB_00019032;\n  }" else (compound_statement "{\n    if (DAT_0003fb10 != 0 || DAT_0003fb74 != 0) goto LAB_00019037;\n    iVar9 = htab_elements(DAT_0003fb0c);\n    if (((iVar9 != 0) || (iVar9 = htab_elements(DAT_0003fb04), iVar9 != 0)) ||\n       ((iVar9 = htab_elements(DAT_0003fb00), iVar9 != 0 ||\n        (((((iVar9 = htab_elements(DAT_0003fafc), iVar9 != 0 ||\n            (iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0)) ||\n           (iVar9 = htab_elements(DAT_0003faf4), iVar9 != 0)) ||\n          ((iVar9 = htab_elements(DAT_0003faf0), DAT_0003fad8 != (char *)0x0 ||\n           (DAT_0003fba0 != (undefined4 *)0x0)))) ||\n         (((((((DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0) || DAT_0003fb1c != 0)\n            || DAT_0003fb18 != 0) || DAT_0003fae0 != 0) || DAT_0003fae4 != 0) || iVar9 != 0))))))\n    goto LAB_00019032;\n  }" { (if_statement "if (DAT_0003fb10 != 0 || DAT_0003fb74 != 0) goto LAB_00019037;" if (parenthesized_expression "(DAT_0003fb10 != 0 || DAT_0003fb74 != 0)" ( (binary_expression "DAT_0003fb10 != 0 || DAT_0003fb74 != 0" (binary_expression "DAT_0003fb10 != 0" identifier != number_literal) || (binary_expression "DAT_0003fb74 != 0" identifier != number_literal)) )) (goto_statement "goto LAB_00019037;" goto statement_identifier ;)) (expression_statement "iVar9 = htab_elements(DAT_0003fb0c);" (assignment_expression "iVar9 = htab_elements(DAT_0003fb0c)" identifier = (call_expression "htab_elements(DAT_0003fb0c)" identifier (argument_list "(DAT_0003fb0c)" ( identifier )))) ;) (if_statement "if (((iVar9 != 0) || (iVar9 = htab_elements(DAT_0003fb04), iVar9 != 0)) ||\n       ((iVar9 = htab_elements(DAT_0003fb00), iVar9 != 0 ||\n        (((((iVar9 = htab_elements(DAT_0003fafc), iVar9 != 0 ||\n            (iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0)) ||\n           (iVar9 = htab_elements(DAT_0003faf4), iVar9 != 0)) ||\n          ((iVar9 = htab_elements(DAT_0003faf0), DAT_0003fad8 != (char *)0x0 ||\n           (DAT_0003fba0 != (undefined4 *)0x0)))) ||\n         (((((((DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0) || DAT_0003fb1c != 0)\n            || DAT_0003fb18 != 0) || DAT_0003fae0 != 0) || DAT_0003fae4 != 0) || iVar9 != 0))))))\n    goto LAB_00019032;" if (parenthesized_expression "(((iVar9 != 0) || (iVar9 = htab_elements(DAT_0003fb04), iVar9 != 0)) ||\n       ((iVar9 = htab_elements(DAT_0003fb00), iVar9 != 0 ||\n        (((((iVar9 = htab_elements(DAT_0003fafc), iVar9 != 0 ||\n            (iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0)) ||\n           (iVar9 = htab_elements(DAT_0003faf4), iVar9 != 0)) ||\n          ((iVar9 = htab_elements(DAT_0003faf0), DAT_0003fad8 != (char *)0x0 ||\n           (DAT_0003fba0 != (undefined4 *)0x0)))) ||\n         (((((((DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0) || DAT_0003fb1c != 0)\n            || DAT_0003fb18 != 0) || DAT_0003fae0 != 0) || DAT_0003fae4 != 0) || iVar9 != 0))))))" ( (binary_expression "((iVar9 != 0) || (iVar9 = htab_elements(DAT_0003fb04), iVar9 != 0)) ||\n       ((iVar9 = htab_elements(DAT_0003fb00), iVar9 != 0 ||\n        (((((iVar9 = htab_elements(DAT_0003fafc), iVar9 != 0 ||\n            (iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0)) ||\n           (iVar9 = htab_elements(DAT_0003faf4), iVar9 != 0)) ||\n          ((iVar9 = htab_elements(DAT_0003faf0), DAT_0003fad8 != (char *)0x0 ||\n           (DAT_0003fba0 != (undefined4 *)0x0)))) ||\n         (((((((DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0) || DAT_0003fb1c != 0)\n            || DAT_0003fb18 != 0) || DAT_0003fae0 != 0) || DAT_0003fae4 != 0) || iVar9 != 0)))))" (parenthesized_expression "((iVar9 != 0) || (iVar9 = htab_elements(DAT_0003fb04), iVar9 != 0))" ( (binary_expression "(iVar9 != 0) || (iVar9 = htab_elements(DAT_0003fb04), iVar9 != 0)" (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) || (parenthesized_expression "(iVar9 = htab_elements(DAT_0003fb04), iVar9 != 0)" ( (comma_expression "iVar9 = htab_elements(DAT_0003fb04), iVar9 != 0" (assignment_expression "iVar9 = htab_elements(DAT_0003fb04)" identifier = (call_expression "htab_elements(DAT_0003fb04)" identifier (argument_list "(DAT_0003fb04)" ( identifier )))) , (binary_expression "iVar9 != 0" identifier != number_literal)) ))) )) || (parenthesized_expression "((iVar9 = htab_elements(DAT_0003fb00), iVar9 != 0 ||\n        (((((iVar9 = htab_elements(DAT_0003fafc), iVar9 != 0 ||\n            (iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0)) ||\n           (iVar9 = htab_elements(DAT_0003faf4), iVar9 != 0)) ||\n          ((iVar9 = htab_elements(DAT_0003faf0), DAT_0003fad8 != (char *)0x0 ||\n           (DAT_0003fba0 != (undefined4 *)0x0)))) ||\n         (((((((DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0) || DAT_0003fb1c != 0)\n            || DAT_0003fb18 != 0) || DAT_0003fae0 != 0) || DAT_0003fae4 != 0) || iVar9 != 0)))))" ( (parenthesized_expression "(iVar9 = htab_elements(DAT_0003fb00), iVar9 != 0 ||\n        (((((iVar9 = htab_elements(DAT_0003fafc), iVar9 != 0 ||\n            (iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0)) ||\n           (iVar9 = htab_elements(DAT_0003faf4), iVar9 != 0)) ||\n          ((iVar9 = htab_elements(DAT_0003faf0), DAT_0003fad8 != (char *)0x0 ||\n           (DAT_0003fba0 != (undefined4 *)0x0)))) ||\n         (((((((DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0) || DAT_0003fb1c != 0)\n            || DAT_0003fb18 != 0) || DAT_0003fae0 != 0) || DAT_0003fae4 != 0) || iVar9 != 0))))" ( (comma_expression "iVar9 = htab_elements(DAT_0003fb00), iVar9 != 0 ||\n        (((((iVar9 = htab_elements(DAT_0003fafc), iVar9 != 0 ||\n            (iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0)) ||\n           (iVar9 = htab_elements(DAT_0003faf4), iVar9 != 0)) ||\n          ((iVar9 = htab_elements(DAT_0003faf0), DAT_0003fad8 != (char *)0x0 ||\n           (DAT_0003fba0 != (undefined4 *)0x0)))) ||\n         (((((((DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0) || DAT_0003fb1c != 0)\n            || DAT_0003fb18 != 0) || DAT_0003fae0 != 0) || DAT_0003fae4 != 0) || iVar9 != 0)))" (assignment_expression "iVar9 = htab_elements(DAT_0003fb00)" identifier = (call_expression "htab_elements(DAT_0003fb00)" identifier (argument_list "(DAT_0003fb00)" ( identifier )))) , (binary_expression "iVar9 != 0 ||\n        (((((iVar9 = htab_elements(DAT_0003fafc), iVar9 != 0 ||\n            (iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0)) ||\n           (iVar9 = htab_elements(DAT_0003faf4), iVar9 != 0)) ||\n          ((iVar9 = htab_elements(DAT_0003faf0), DAT_0003fad8 != (char *)0x0 ||\n           (DAT_0003fba0 != (undefined4 *)0x0)))) ||\n         (((((((DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0) || DAT_0003fb1c != 0)\n            || DAT_0003fb18 != 0) || DAT_0003fae0 != 0) || DAT_0003fae4 != 0) || iVar9 != 0)))" (binary_expression "iVar9 != 0" identifier != number_literal) || (parenthesized_expression "(((((iVar9 = htab_elements(DAT_0003fafc), iVar9 != 0 ||\n            (iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0)) ||\n           (iVar9 = htab_elements(DAT_0003faf4), iVar9 != 0)) ||\n          ((iVar9 = htab_elements(DAT_0003faf0), DAT_0003fad8 != (char *)0x0 ||\n           (DAT_0003fba0 != (undefined4 *)0x0)))) ||\n         (((((((DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0) || DAT_0003fb1c != 0)\n            || DAT_0003fb18 != 0) || DAT_0003fae0 != 0) || DAT_0003fae4 != 0) || iVar9 != 0)))" ( (parenthesized_expression "((((iVar9 = htab_elements(DAT_0003fafc), iVar9 != 0 ||\n            (iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0)) ||\n           (iVar9 = htab_elements(DAT_0003faf4), iVar9 != 0)) ||\n          ((iVar9 = htab_elements(DAT_0003faf0), DAT_0003fad8 != (char *)0x0 ||\n           (DAT_0003fba0 != (undefined4 *)0x0)))) ||\n         (((((((DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0) || DAT_0003fb1c != 0)\n            || DAT_0003fb18 != 0) || DAT_0003fae0 != 0) || DAT_0003fae4 != 0) || iVar9 != 0))" ( (binary_expression "(((iVar9 = htab_elements(DAT_0003fafc), iVar9 != 0 ||\n            (iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0)) ||\n           (iVar9 = htab_elements(DAT_0003faf4), iVar9 != 0)) ||\n          ((iVar9 = htab_elements(DAT_0003faf0), DAT_0003fad8 != (char *)0x0 ||\n           (DAT_0003fba0 != (undefined4 *)0x0)))) ||\n         (((((((DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0) || DAT_0003fb1c != 0)\n            || DAT_0003fb18 != 0) || DAT_0003fae0 != 0) || DAT_0003fae4 != 0) || iVar9 != 0)" (parenthesized_expression "(((iVar9 = htab_elements(DAT_0003fafc), iVar9 != 0 ||\n            (iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0)) ||\n           (iVar9 = htab_elements(DAT_0003faf4), iVar9 != 0)) ||\n          ((iVar9 = htab_elements(DAT_0003faf0), DAT_0003fad8 != (char *)0x0 ||\n           (DAT_0003fba0 != (undefined4 *)0x0))))" ( (binary_expression "((iVar9 = htab_elements(DAT_0003fafc), iVar9 != 0 ||\n            (iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0)) ||\n           (iVar9 = htab_elements(DAT_0003faf4), iVar9 != 0)) ||\n          ((iVar9 = htab_elements(DAT_0003faf0), DAT_0003fad8 != (char *)0x0 ||\n           (DAT_0003fba0 != (undefined4 *)0x0)))" (parenthesized_expression "((iVar9 = htab_elements(DAT_0003fafc), iVar9 != 0 ||\n            (iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0)) ||\n           (iVar9 = htab_elements(DAT_0003faf4), iVar9 != 0))" ( (binary_expression "(iVar9 = htab_elements(DAT_0003fafc), iVar9 != 0 ||\n            (iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0)) ||\n           (iVar9 = htab_elements(DAT_0003faf4), iVar9 != 0)" (parenthesized_expression "(iVar9 = htab_elements(DAT_0003fafc), iVar9 != 0 ||\n            (iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0))" ( (comma_expression "iVar9 = htab_elements(DAT_0003fafc), iVar9 != 0 ||\n            (iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0)" (assignment_expression "iVar9 = htab_elements(DAT_0003fafc)" identifier = (call_expression "htab_elements(DAT_0003fafc)" identifier (argument_list "(DAT_0003fafc)" ( identifier )))) , (binary_expression "iVar9 != 0 ||\n            (iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0)" (binary_expression "iVar9 != 0" identifier != number_literal) || (parenthesized_expression "(iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0)" ( (comma_expression "iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0" (assignment_expression "iVar9 = htab_elements(DAT_0003faf8)" identifier = (call_expression "htab_elements(DAT_0003faf8)" identifier (argument_list "(DAT_0003faf8)" ( identifier )))) , (binary_expression "iVar9 != 0" identifier != number_literal)) )))) )) || (parenthesized_expression "(iVar9 = htab_elements(DAT_0003faf4), iVar9 != 0)" ( (comma_expression "iVar9 = htab_elements(DAT_0003faf4), iVar9 != 0" (assignment_expression "iVar9 = htab_elements(DAT_0003faf4)" identifier = (call_expression "htab_elements(DAT_0003faf4)" identifier (argument_list "(DAT_0003faf4)" ( identifier )))) , (binary_expression "iVar9 != 0" identifier != number_literal)) ))) )) || (parenthesized_expression "((iVar9 = htab_elements(DAT_0003faf0), DAT_0003fad8 != (char *)0x0 ||\n           (DAT_0003fba0 != (undefined4 *)0x0)))" ( (parenthesized_expression "(iVar9 = htab_elements(DAT_0003faf0), DAT_0003fad8 != (char *)0x0 ||\n           (DAT_0003fba0 != (undefined4 *)0x0))" ( (comma_expression "iVar9 = htab_elements(DAT_0003faf0), DAT_0003fad8 != (char *)0x0 ||\n           (DAT_0003fba0 != (undefined4 *)0x0)" (assignment_expression "iVar9 = htab_elements(DAT_0003faf0)" identifier = (call_expression "htab_elements(DAT_0003faf0)" identifier (argument_list "(DAT_0003faf0)" ( identifier )))) , (binary_expression "DAT_0003fad8 != (char *)0x0 ||\n           (DAT_0003fba0 != (undefined4 *)0x0)" (binary_expression "DAT_0003fad8 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) || (parenthesized_expression "(DAT_0003fba0 != (undefined4 *)0x0)" ( (binary_expression "DAT_0003fba0 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )))) )) ))) )) || (parenthesized_expression "(((((((DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0) || DAT_0003fb1c != 0)\n            || DAT_0003fb18 != 0) || DAT_0003fae0 != 0) || DAT_0003fae4 != 0) || iVar9 != 0)" ( (binary_expression "((((((DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0) || DAT_0003fb1c != 0)\n            || DAT_0003fb18 != 0) || DAT_0003fae0 != 0) || DAT_0003fae4 != 0) || iVar9 != 0" (parenthesized_expression "((((((DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0) || DAT_0003fb1c != 0)\n            || DAT_0003fb18 != 0) || DAT_0003fae0 != 0) || DAT_0003fae4 != 0)" ( (binary_expression "(((((DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0) || DAT_0003fb1c != 0)\n            || DAT_0003fb18 != 0) || DAT_0003fae0 != 0) || DAT_0003fae4 != 0" (parenthesized_expression "(((((DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0) || DAT_0003fb1c != 0)\n            || DAT_0003fb18 != 0) || DAT_0003fae0 != 0)" ( (binary_expression "((((DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0) || DAT_0003fb1c != 0)\n            || DAT_0003fb18 != 0) || DAT_0003fae0 != 0" (parenthesized_expression "((((DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0) || DAT_0003fb1c != 0)\n            || DAT_0003fb18 != 0)" ( (binary_expression "(((DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0) || DAT_0003fb1c != 0)\n            || DAT_0003fb18 != 0" (parenthesized_expression "(((DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0) || DAT_0003fb1c != 0)" ( (binary_expression "((DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0) || DAT_0003fb1c != 0" (parenthesized_expression "((DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0)" ( (binary_expression "(DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0" (parenthesized_expression "(DAT_0003fb6c != 0 || DAT_0003fb68 != 0)" ( (binary_expression "DAT_0003fb6c != 0 || DAT_0003fb68 != 0" (binary_expression "DAT_0003fb6c != 0" identifier != number_literal) || (binary_expression "DAT_0003fb68 != 0" identifier != number_literal)) )) || (binary_expression "DAT_0003fb28 != 0" identifier != number_literal)) )) || (binary_expression "DAT_0003fb1c != 0" identifier != number_literal)) )) || (binary_expression "DAT_0003fb18 != 0" identifier != number_literal)) )) || (binary_expression "DAT_0003fae0 != 0" identifier != number_literal)) )) || (binary_expression "DAT_0003fae4 != 0" identifier != number_literal)) )) || (binary_expression "iVar9 != 0" identifier != number_literal)) ))) )) )))) )) ))) )) (goto_statement "goto LAB_00019032;" goto statement_identifier ;)) }))) (expression_statement "bfd_set_symtab(param_2,DAT_0003fb98,local_70);" (call_expression "bfd_set_symtab(param_2,DAT_0003fb98,local_70)" identifier (argument_list "(param_2,DAT_0003fb98,local_70)" ( identifier , identifier , identifier ))) ;) (expression_statement "bfd_map_over_sections(param_1,FUN_000181d0,param_2);" (call_expression "bfd_map_over_sections(param_1,FUN_000181d0,param_2)" identifier (argument_list "(param_1,FUN_000181d0,param_2)" ( identifier , identifier , identifier ))) ;) (expression_statement "bfd_map_over_sections(param_1,FUN_00017e40,param_2);" (call_expression "bfd_map_over_sections(param_1,FUN_00017e40,param_2)" identifier (argument_list "(param_1,FUN_00017e40,param_2)" ( identifier , identifier , identifier ))) ;) (expression_statement "psVar38 = param_1;" (assignment_expression "psVar38 = param_1" identifier = identifier) ;) (for_statement "for (puVar33 = DAT_0003fb38; puVar37 = DAT_0003fb34, puVar33 != (undefined4 *)0x0;\n      puVar33 = (undefined4 *)*puVar33) {\n    iVar9 = bfd_set_section_contents(param_2,puVar33[5],puVar33[4],0,0,puVar33[3]);\n    if (iVar9 == 0) {\n      psVar38 = (size_t *)puVar33[5];\n      local_50 = 0;\n      goto LAB_00019763;\n    }\n    psVar38 = param_2;\n  }" for ( (assignment_expression "puVar33 = DAT_0003fb38" identifier = identifier) ; (comma_expression "puVar37 = DAT_0003fb34, puVar33 != (undefined4 *)0x0" (assignment_expression "puVar37 = DAT_0003fb34" identifier = identifier) , (binary_expression "puVar33 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ; (assignment_expression "puVar33 = (undefined4 *)*puVar33" identifier = (cast_expression "(undefined4 *)*puVar33" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar33" * identifier))) ) (compound_statement "{\n    iVar9 = bfd_set_section_contents(param_2,puVar33[5],puVar33[4],0,0,puVar33[3]);\n    if (iVar9 == 0) {\n      psVar38 = (size_t *)puVar33[5];\n      local_50 = 0;\n      goto LAB_00019763;\n    }\n    psVar38 = param_2;\n  }" { (expression_statement "iVar9 = bfd_set_section_contents(param_2,puVar33[5],puVar33[4],0,0,puVar33[3]);" (assignment_expression "iVar9 = bfd_set_section_contents(param_2,puVar33[5],puVar33[4],0,0,puVar33[3])" identifier = (call_expression "bfd_set_section_contents(param_2,puVar33[5],puVar33[4],0,0,puVar33[3])" identifier (argument_list "(param_2,puVar33[5],puVar33[4],0,0,puVar33[3])" ( identifier , (subscript_expression "puVar33[5]" identifier [ number_literal ]) , (subscript_expression "puVar33[4]" identifier [ number_literal ]) , number_literal , number_literal , (subscript_expression "puVar33[3]" identifier [ number_literal ]) )))) ;) (if_statement "if (iVar9 == 0) {\n      psVar38 = (size_t *)puVar33[5];\n      local_50 = 0;\n      goto LAB_00019763;\n    }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n      psVar38 = (size_t *)puVar33[5];\n      local_50 = 0;\n      goto LAB_00019763;\n    }" { (expression_statement "psVar38 = (size_t *)puVar33[5];" (assignment_expression "psVar38 = (size_t *)puVar33[5]" identifier = (cast_expression "(size_t *)puVar33[5]" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar33[5]" identifier [ number_literal ]))) ;) (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_00019763;" goto statement_identifier ;) })) (expression_statement "psVar38 = param_2;" (assignment_expression "psVar38 = param_2" identifier = identifier) ;) })) (for_statement "for (; puVar37 != (undefined4 *)0x0; puVar37 = (undefined4 *)*puVar37) {\n    psVar38 = *(size_t **)(puVar37[5] + 0x3c);\n    local_50 = bfd_set_section_contents(param_2,psVar38,puVar37[4],0,0,puVar37[3]);\n    if (local_50 == 0) {\nLAB_00019763:\n      FUN_0002c160(0,param_2,psVar38,0);\n      return local_50;\n    }\n  }" for ( ; (binary_expression "puVar37 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "puVar37 = (undefined4 *)*puVar37" identifier = (cast_expression "(undefined4 *)*puVar37" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar37" * identifier))) ) (compound_statement "{\n    psVar38 = *(size_t **)(puVar37[5] + 0x3c);\n    local_50 = bfd_set_section_contents(param_2,psVar38,puVar37[4],0,0,puVar37[3]);\n    if (local_50 == 0) {\nLAB_00019763:\n      FUN_0002c160(0,param_2,psVar38,0);\n      return local_50;\n    }\n  }" { (expression_statement "psVar38 = *(size_t **)(puVar37[5] + 0x3c);" (assignment_expression "psVar38 = *(size_t **)(puVar37[5] + 0x3c)" identifier = (pointer_expression "*(size_t **)(puVar37[5] + 0x3c)" * (cast_expression "(size_t **)(puVar37[5] + 0x3c)" ( (type_descriptor "size_t **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar37[5] + 0x3c)" ( (binary_expression "puVar37[5] + 0x3c" (subscript_expression "puVar37[5]" identifier [ number_literal ]) + number_literal) ))))) ;) (expression_statement "local_50 = bfd_set_section_contents(param_2,psVar38,puVar37[4],0,0,puVar37[3]);" (assignment_expression "local_50 = bfd_set_section_contents(param_2,psVar38,puVar37[4],0,0,puVar37[3])" identifier = (call_expression "bfd_set_section_contents(param_2,psVar38,puVar37[4],0,0,puVar37[3])" identifier (argument_list "(param_2,psVar38,puVar37[4],0,0,puVar37[3])" ( identifier , identifier , (subscript_expression "puVar37[4]" identifier [ number_literal ]) , number_literal , number_literal , (subscript_expression "puVar37[3]" identifier [ number_literal ]) )))) ;) (if_statement "if (local_50 == 0) {\nLAB_00019763:\n      FUN_0002c160(0,param_2,psVar38,0);\n      return local_50;\n    }" if (parenthesized_expression "(local_50 == 0)" ( (binary_expression "local_50 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00019763:\n      FUN_0002c160(0,param_2,psVar38,0);\n      return local_50;\n    }" { (labeled_statement "LAB_00019763:\n      FUN_0002c160(0,param_2,psVar38,0);" statement_identifier : (expression_statement "FUN_0002c160(0,param_2,psVar38,0);" (call_expression "FUN_0002c160(0,param_2,psVar38,0)" identifier (argument_list "(0,param_2,psVar38,0)" ( number_literal , identifier , identifier , number_literal ))) ;)) (return_statement "return local_50;" return identifier ;) })) })) (expression_statement "uVar35 = 0;" (assignment_expression "uVar35 = 0" identifier = number_literal) ;) (if_statement "if (DAT_0003fb84 != 0) {\n    uVar35 = bfd_get_section_by_name(param_2,".gnu.build.attributes");\n    if (((uVar35 == 0) || (DAT_0003fb84 == 0)) ||\n       ((*(int *)(param_2[1] + 4) != 5 || (iVar9 = FUN_00017590(), iVar9 == 0)))) {\n      if (DAT_0003fba4 == 0) {\n        uVar10 = dcgettext(0,"could not find any mergeable note sections",5,0);\n        FUN_0002c160(0,param_2,uVar35,uVar10);\n      }\n    }\n    else {\n      iVar9 = bfd_set_section_contents(param_2,uVar35,DAT_0003fb80,0,0,DAT_0003fb7c,iVar9,iVar9);\n      if (iVar9 == 0) {\n        uVar10 = dcgettext(0,"error: failed to copy merged notes into output",5,0);\n        goto LAB_0001a2cd;\n      }\n    }\n    free(DAT_0003fb80);\n    DAT_0003fb80 = (size_t *)0x0;\n    DAT_0003fb84 = 0;\n    psVar38 = param_2;\n  }" if (parenthesized_expression "(DAT_0003fb84 != 0)" ( (binary_expression "DAT_0003fb84 != 0" identifier != number_literal) )) (compound_statement "{\n    uVar35 = bfd_get_section_by_name(param_2,".gnu.build.attributes");\n    if (((uVar35 == 0) || (DAT_0003fb84 == 0)) ||\n       ((*(int *)(param_2[1] + 4) != 5 || (iVar9 = FUN_00017590(), iVar9 == 0)))) {\n      if (DAT_0003fba4 == 0) {\n        uVar10 = dcgettext(0,"could not find any mergeable note sections",5,0);\n        FUN_0002c160(0,param_2,uVar35,uVar10);\n      }\n    }\n    else {\n      iVar9 = bfd_set_section_contents(param_2,uVar35,DAT_0003fb80,0,0,DAT_0003fb7c,iVar9,iVar9);\n      if (iVar9 == 0) {\n        uVar10 = dcgettext(0,"error: failed to copy merged notes into output",5,0);\n        goto LAB_0001a2cd;\n      }\n    }\n    free(DAT_0003fb80);\n    DAT_0003fb80 = (size_t *)0x0;\n    DAT_0003fb84 = 0;\n    psVar38 = param_2;\n  }" { (expression_statement "uVar35 = bfd_get_section_by_name(param_2,".gnu.build.attributes");" (assignment_expression "uVar35 = bfd_get_section_by_name(param_2,".gnu.build.attributes")" identifier = (call_expression "bfd_get_section_by_name(param_2,".gnu.build.attributes")" identifier (argument_list "(param_2,".gnu.build.attributes")" ( identifier , (string_literal "".gnu.build.attributes"" " string_content ") )))) ;) (if_statement "if (((uVar35 == 0) || (DAT_0003fb84 == 0)) ||\n       ((*(int *)(param_2[1] + 4) != 5 || (iVar9 = FUN_00017590(), iVar9 == 0)))) {\n      if (DAT_0003fba4 == 0) {\n        uVar10 = dcgettext(0,"could not find any mergeable note sections",5,0);\n        FUN_0002c160(0,param_2,uVar35,uVar10);\n      }\n    }\n    else {\n      iVar9 = bfd_set_section_contents(param_2,uVar35,DAT_0003fb80,0,0,DAT_0003fb7c,iVar9,iVar9);\n      if (iVar9 == 0) {\n        uVar10 = dcgettext(0,"error: failed to copy merged notes into output",5,0);\n        goto LAB_0001a2cd;\n      }\n    }" if (parenthesized_expression "(((uVar35 == 0) || (DAT_0003fb84 == 0)) ||\n       ((*(int *)(param_2[1] + 4) != 5 || (iVar9 = FUN_00017590(), iVar9 == 0))))" ( (binary_expression "((uVar35 == 0) || (DAT_0003fb84 == 0)) ||\n       ((*(int *)(param_2[1] + 4) != 5 || (iVar9 = FUN_00017590(), iVar9 == 0)))" (parenthesized_expression "((uVar35 == 0) || (DAT_0003fb84 == 0))" ( (binary_expression "(uVar35 == 0) || (DAT_0003fb84 == 0)" (parenthesized_expression "(uVar35 == 0)" ( (binary_expression "uVar35 == 0" identifier == number_literal) )) || (parenthesized_expression "(DAT_0003fb84 == 0)" ( (binary_expression "DAT_0003fb84 == 0" identifier == number_literal) ))) )) || (parenthesized_expression "((*(int *)(param_2[1] + 4) != 5 || (iVar9 = FUN_00017590(), iVar9 == 0)))" ( (parenthesized_expression "(*(int *)(param_2[1] + 4) != 5 || (iVar9 = FUN_00017590(), iVar9 == 0))" ( (binary_expression "*(int *)(param_2[1] + 4) != 5 || (iVar9 = FUN_00017590(), iVar9 == 0)" (binary_expression "*(int *)(param_2[1] + 4) != 5" (pointer_expression "*(int *)(param_2[1] + 4)" * (cast_expression "(int *)(param_2[1] + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2[1] + 4)" ( (binary_expression "param_2[1] + 4" (subscript_expression "param_2[1]" identifier [ number_literal ]) + number_literal) )))) != number_literal) || (parenthesized_expression "(iVar9 = FUN_00017590(), iVar9 == 0)" ( (comma_expression "iVar9 = FUN_00017590(), iVar9 == 0" (assignment_expression "iVar9 = FUN_00017590()" identifier = (call_expression "FUN_00017590()" identifier (argument_list "()" ( )))) , (binary_expression "iVar9 == 0" identifier == number_literal)) ))) )) ))) )) (compound_statement "{\n      if (DAT_0003fba4 == 0) {\n        uVar10 = dcgettext(0,"could not find any mergeable note sections",5,0);\n        FUN_0002c160(0,param_2,uVar35,uVar10);\n      }\n    }" { (if_statement "if (DAT_0003fba4 == 0) {\n        uVar10 = dcgettext(0,"could not find any mergeable note sections",5,0);\n        FUN_0002c160(0,param_2,uVar35,uVar10);\n      }" if (parenthesized_expression "(DAT_0003fba4 == 0)" ( (binary_expression "DAT_0003fba4 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar10 = dcgettext(0,"could not find any mergeable note sections",5,0);\n        FUN_0002c160(0,param_2,uVar35,uVar10);\n      }" { (expression_statement "uVar10 = dcgettext(0,"could not find any mergeable note sections",5,0);" (assignment_expression "uVar10 = dcgettext(0,"could not find any mergeable note sections",5,0)" identifier = (call_expression "dcgettext(0,"could not find any mergeable note sections",5,0)" identifier (argument_list "(0,"could not find any mergeable note sections",5,0)" ( number_literal , (string_literal ""could not find any mergeable note sections"" " string_content ") , number_literal , number_literal )))) ;) (expression_statement "FUN_0002c160(0,param_2,uVar35,uVar10);" (call_expression "FUN_0002c160(0,param_2,uVar35,uVar10)" identifier (argument_list "(0,param_2,uVar35,uVar10)" ( number_literal , identifier , identifier , identifier ))) ;) })) }) (else_clause "else {\n      iVar9 = bfd_set_section_contents(param_2,uVar35,DAT_0003fb80,0,0,DAT_0003fb7c,iVar9,iVar9);\n      if (iVar9 == 0) {\n        uVar10 = dcgettext(0,"error: failed to copy merged notes into output",5,0);\n        goto LAB_0001a2cd;\n      }\n    }" else (compound_statement "{\n      iVar9 = bfd_set_section_contents(param_2,uVar35,DAT_0003fb80,0,0,DAT_0003fb7c,iVar9,iVar9);\n      if (iVar9 == 0) {\n        uVar10 = dcgettext(0,"error: failed to copy merged notes into output",5,0);\n        goto LAB_0001a2cd;\n      }\n    }" { (expression_statement "iVar9 = bfd_set_section_contents(param_2,uVar35,DAT_0003fb80,0,0,DAT_0003fb7c,iVar9,iVar9);" (assignment_expression "iVar9 = bfd_set_section_contents(param_2,uVar35,DAT_0003fb80,0,0,DAT_0003fb7c,iVar9,iVar9)" identifier = (call_expression "bfd_set_section_contents(param_2,uVar35,DAT_0003fb80,0,0,DAT_0003fb7c,iVar9,iVar9)" identifier (argument_list "(param_2,uVar35,DAT_0003fb80,0,0,DAT_0003fb7c,iVar9,iVar9)" ( identifier , identifier , identifier , number_literal , number_literal , identifier , identifier , identifier )))) ;) (if_statement "if (iVar9 == 0) {\n        uVar10 = dcgettext(0,"error: failed to copy merged notes into output",5,0);\n        goto LAB_0001a2cd;\n      }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar10 = dcgettext(0,"error: failed to copy merged notes into output",5,0);\n        goto LAB_0001a2cd;\n      }" { (expression_statement "uVar10 = dcgettext(0,"error: failed to copy merged notes into output",5,0);" (assignment_expression "uVar10 = dcgettext(0,"error: failed to copy merged notes into output",5,0)" identifier = (call_expression "dcgettext(0,"error: failed to copy merged notes into output",5,0)" identifier (argument_list "(0,"error: failed to copy merged notes into output",5,0)" ( number_literal , (string_literal ""error: failed to copy merged notes into output"" " string_content ") , number_literal , number_literal )))) ;) (goto_statement "goto LAB_0001a2cd;" goto statement_identifier ;) })) }))) (expression_statement "free(DAT_0003fb80);" (call_expression "free(DAT_0003fb80)" identifier (argument_list "(DAT_0003fb80)" ( identifier ))) ;) (expression_statement "DAT_0003fb80 = (size_t *)0x0;" (assignment_expression "DAT_0003fb80 = (size_t *)0x0" identifier = (cast_expression "(size_t *)0x0" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "DAT_0003fb84 = 0;" (assignment_expression "DAT_0003fb84 = 0" identifier = number_literal) ;) (expression_statement "psVar38 = param_2;" (assignment_expression "psVar38 = param_2" identifier = identifier) ;) })) (if_statement "if ((DAT_0003fb2c != 0) &&\n     (iVar12 = bfd_fill_in_gnu_debuglink_section(param_2,local_98,DAT_0003fb2c),\n     iVar9 = DAT_0003fb2c, iVar12 == 0)) {\n    uVar10 = dcgettext(0,"cannot fill debug link section `%s\'",5,0);\n    FUN_0002c160(0,param_2,0,uVar10,iVar9);\n    return 0;\n  }" if (parenthesized_expression "((DAT_0003fb2c != 0) &&\n     (iVar12 = bfd_fill_in_gnu_debuglink_section(param_2,local_98,DAT_0003fb2c),\n     iVar9 = DAT_0003fb2c, iVar12 == 0))" ( (binary_expression "(DAT_0003fb2c != 0) &&\n     (iVar12 = bfd_fill_in_gnu_debuglink_section(param_2,local_98,DAT_0003fb2c),\n     iVar9 = DAT_0003fb2c, iVar12 == 0)" (parenthesized_expression "(DAT_0003fb2c != 0)" ( (binary_expression "DAT_0003fb2c != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar12 = bfd_fill_in_gnu_debuglink_section(param_2,local_98,DAT_0003fb2c),\n     iVar9 = DAT_0003fb2c, iVar12 == 0)" ( (comma_expression "iVar12 = bfd_fill_in_gnu_debuglink_section(param_2,local_98,DAT_0003fb2c),\n     iVar9 = DAT_0003fb2c, iVar12 == 0" (assignment_expression "iVar12 = bfd_fill_in_gnu_debuglink_section(param_2,local_98,DAT_0003fb2c)" identifier = (call_expression "bfd_fill_in_gnu_debuglink_section(param_2,local_98,DAT_0003fb2c)" identifier (argument_list "(param_2,local_98,DAT_0003fb2c)" ( identifier , identifier , identifier )))) , (comma_expression "iVar9 = DAT_0003fb2c, iVar12 == 0" (assignment_expression "iVar9 = DAT_0003fb2c" identifier = identifier) , (binary_expression "iVar12 == 0" identifier == number_literal))) ))) )) (compound_statement "{\n    uVar10 = dcgettext(0,"cannot fill debug link section `%s\'",5,0);\n    FUN_0002c160(0,param_2,0,uVar10,iVar9);\n    return 0;\n  }" { (expression_statement "uVar10 = dcgettext(0,"cannot fill debug link section `%s\'",5,0);" (assignment_expression "uVar10 = dcgettext(0,"cannot fill debug link section `%s\'",5,0)" identifier = (call_expression "dcgettext(0,"cannot fill debug link section `%s\'",5,0)" identifier (argument_list "(0,"cannot fill debug link section `%s\'",5,0)" ( number_literal , (string_literal ""cannot fill debug link section `%s\'"" " string_content escape_sequence ") , number_literal , number_literal )))) ;) (expression_statement "FUN_0002c160(0,param_2,0,uVar10,iVar9);" (call_expression "FUN_0002c160(0,param_2,0,uVar10,iVar9)" identifier (argument_list "(0,param_2,0,uVar10,iVar9)" ( number_literal , identifier , number_literal , identifier , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (if_statement "if (DAT_0003fb54 != 0 || DAT_0003fb4c != 0) {\n    uVar35 = 0x2000;\n    if (local_8c < 0x2001) {\n      uVar35 = local_8c;\n    }\n    psVar20 = (size_t *)xmalloc(uVar35);\n    sVar17 = (uint)DAT_0003fb50 * 0x1010101;\n    if (uVar35 < 4) {\n      if ((uVar35 != 0) && (*(char *)psVar20 = (char)sVar17, (uVar35 & 2) != 0)) {\n        *(short *)((int)psVar20 + (uVar35 - 2)) = (short)sVar17;\n      }\n    }\n    else {\n      *psVar20 = sVar17;\n      *(size_t *)((int)(psVar20 + -1) + uVar35) = sVar17;\n      psVar38 = (size_t *)((uint)(psVar20 + 1) & 0xfffffffc);\n      for (uVar26 = (int)psVar20 + (uVar35 - (int)((uint)(psVar20 + 1) & 0xfffffffc)) >> 2;\n          uVar26 != 0; uVar26 = uVar26 - 1) {\n        *psVar38 = sVar17;\n        psVar38 = psVar38 + (uint)bVar42 * -2 + 1;\n      }\n    }\n    psVar25 = (size_t *)param_2[0x1a];\n    if (psVar25 != (size_t *)0x0) {\n      psVar38 = (size_t *)0x0;\n      do {\n        uVar35 = *(uint *)((int)local_90 + (int)psVar38 * 4);\n        if (uVar35 != 0) {\n          iVar9 = local_84[(int)psVar38];\n          local_58 = 0;\n          local_5c = (int *)(*(int *)(iVar9 + 0x24) - uVar35);\n          while( true ) {\n            uVar26 = 0x2000;\n            if (uVar35 < 0x2001) {\n              uVar26 = uVar35;\n            }\n            iVar9 = bfd_set_section_contents(param_2,iVar9,psVar20,local_5c,local_58,uVar26);\n            if (iVar9 == 0) {\n              psVar38 = (size_t *)local_84[(int)psVar38];\n              local_50 = 0;\n              goto LAB_00019763;\n            }\n            bVar40 = CARRY4((uint)local_5c,uVar26);\n            local_5c = (int *)((int)local_5c + uVar26);\n            local_58 = local_58 + (uint)bVar40;\n            uVar35 = uVar35 - uVar26;\n            if (uVar35 == 0) break;\n            iVar9 = local_84[(int)psVar38];\n          }\n        }\n        psVar38 = (size_t *)((int)psVar38 + 1);\n      } while (psVar25 != psVar38);\n    }\n  }" if (parenthesized_expression "(DAT_0003fb54 != 0 || DAT_0003fb4c != 0)" ( (binary_expression "DAT_0003fb54 != 0 || DAT_0003fb4c != 0" (binary_expression "DAT_0003fb54 != 0" identifier != number_literal) || (binary_expression "DAT_0003fb4c != 0" identifier != number_literal)) )) (compound_statement "{\n    uVar35 = 0x2000;\n    if (local_8c < 0x2001) {\n      uVar35 = local_8c;\n    }\n    psVar20 = (size_t *)xmalloc(uVar35);\n    sVar17 = (uint)DAT_0003fb50 * 0x1010101;\n    if (uVar35 < 4) {\n      if ((uVar35 != 0) && (*(char *)psVar20 = (char)sVar17, (uVar35 & 2) != 0)) {\n        *(short *)((int)psVar20 + (uVar35 - 2)) = (short)sVar17;\n      }\n    }\n    else {\n      *psVar20 = sVar17;\n      *(size_t *)((int)(psVar20 + -1) + uVar35) = sVar17;\n      psVar38 = (size_t *)((uint)(psVar20 + 1) & 0xfffffffc);\n      for (uVar26 = (int)psVar20 + (uVar35 - (int)((uint)(psVar20 + 1) & 0xfffffffc)) >> 2;\n          uVar26 != 0; uVar26 = uVar26 - 1) {\n        *psVar38 = sVar17;\n        psVar38 = psVar38 + (uint)bVar42 * -2 + 1;\n      }\n    }\n    psVar25 = (size_t *)param_2[0x1a];\n    if (psVar25 != (size_t *)0x0) {\n      psVar38 = (size_t *)0x0;\n      do {\n        uVar35 = *(uint *)((int)local_90 + (int)psVar38 * 4);\n        if (uVar35 != 0) {\n          iVar9 = local_84[(int)psVar38];\n          local_58 = 0;\n          local_5c = (int *)(*(int *)(iVar9 + 0x24) - uVar35);\n          while( true ) {\n            uVar26 = 0x2000;\n            if (uVar35 < 0x2001) {\n              uVar26 = uVar35;\n            }\n            iVar9 = bfd_set_section_contents(param_2,iVar9,psVar20,local_5c,local_58,uVar26);\n            if (iVar9 == 0) {\n              psVar38 = (size_t *)local_84[(int)psVar38];\n              local_50 = 0;\n              goto LAB_00019763;\n            }\n            bVar40 = CARRY4((uint)local_5c,uVar26);\n            local_5c = (int *)((int)local_5c + uVar26);\n            local_58 = local_58 + (uint)bVar40;\n            uVar35 = uVar35 - uVar26;\n            if (uVar35 == 0) break;\n            iVar9 = local_84[(int)psVar38];\n          }\n        }\n        psVar38 = (size_t *)((int)psVar38 + 1);\n      } while (psVar25 != psVar38);\n    }\n  }" { (expression_statement "uVar35 = 0x2000;" (assignment_expression "uVar35 = 0x2000" identifier = number_literal) ;) (if_statement "if (local_8c < 0x2001) {\n      uVar35 = local_8c;\n    }" if (parenthesized_expression "(local_8c < 0x2001)" ( (binary_expression "local_8c < 0x2001" identifier < number_literal) )) (compound_statement "{\n      uVar35 = local_8c;\n    }" { (expression_statement "uVar35 = local_8c;" (assignment_expression "uVar35 = local_8c" identifier = identifier) ;) })) (expression_statement "psVar20 = (size_t *)xmalloc(uVar35);" (assignment_expression "psVar20 = (size_t *)xmalloc(uVar35)" identifier = (cast_expression "(size_t *)xmalloc(uVar35)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(uVar35)" identifier (argument_list "(uVar35)" ( identifier ))))) ;) (expression_statement "sVar17 = (uint)DAT_0003fb50 * 0x1010101;" (assignment_expression "sVar17 = (uint)DAT_0003fb50 * 0x1010101" identifier = (binary_expression "(uint)DAT_0003fb50 * 0x1010101" (cast_expression "(uint)DAT_0003fb50" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) ;) (if_statement "if (uVar35 < 4) {\n      if ((uVar35 != 0) && (*(char *)psVar20 = (char)sVar17, (uVar35 & 2) != 0)) {\n        *(short *)((int)psVar20 + (uVar35 - 2)) = (short)sVar17;\n      }\n    }\n    else {\n      *psVar20 = sVar17;\n      *(size_t *)((int)(psVar20 + -1) + uVar35) = sVar17;\n      psVar38 = (size_t *)((uint)(psVar20 + 1) & 0xfffffffc);\n      for (uVar26 = (int)psVar20 + (uVar35 - (int)((uint)(psVar20 + 1) & 0xfffffffc)) >> 2;\n          uVar26 != 0; uVar26 = uVar26 - 1) {\n        *psVar38 = sVar17;\n        psVar38 = psVar38 + (uint)bVar42 * -2 + 1;\n      }\n    }" if (parenthesized_expression "(uVar35 < 4)" ( (binary_expression "uVar35 < 4" identifier < number_literal) )) (compound_statement "{\n      if ((uVar35 != 0) && (*(char *)psVar20 = (char)sVar17, (uVar35 & 2) != 0)) {\n        *(short *)((int)psVar20 + (uVar35 - 2)) = (short)sVar17;\n      }\n    }" { (if_statement "if ((uVar35 != 0) && (*(char *)psVar20 = (char)sVar17, (uVar35 & 2) != 0)) {\n        *(short *)((int)psVar20 + (uVar35 - 2)) = (short)sVar17;\n      }" if (parenthesized_expression "((uVar35 != 0) && (*(char *)psVar20 = (char)sVar17, (uVar35 & 2) != 0))" ( (binary_expression "(uVar35 != 0) && (*(char *)psVar20 = (char)sVar17, (uVar35 & 2) != 0)" (parenthesized_expression "(uVar35 != 0)" ( (binary_expression "uVar35 != 0" identifier != number_literal) )) && (parenthesized_expression "(*(char *)psVar20 = (char)sVar17, (uVar35 & 2) != 0)" ( (comma_expression "*(char *)psVar20 = (char)sVar17, (uVar35 & 2) != 0" (assignment_expression "*(char *)psVar20 = (char)sVar17" (pointer_expression "*(char *)psVar20" * (cast_expression "(char *)psVar20" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = (cast_expression "(char)sVar17" ( (type_descriptor "char" primitive_type) ) identifier)) , (binary_expression "(uVar35 & 2) != 0" (parenthesized_expression "(uVar35 & 2)" ( (binary_expression "uVar35 & 2" identifier & number_literal) )) != number_literal)) ))) )) (compound_statement "{\n        *(short *)((int)psVar20 + (uVar35 - 2)) = (short)sVar17;\n      }" { (expression_statement "*(short *)((int)psVar20 + (uVar35 - 2)) = (short)sVar17;" (assignment_expression "*(short *)((int)psVar20 + (uVar35 - 2)) = (short)sVar17" (pointer_expression "*(short *)((int)psVar20 + (uVar35 - 2))" * (cast_expression "(short *)((int)psVar20 + (uVar35 - 2))" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psVar20 + (uVar35 - 2))" ( (binary_expression "(int)psVar20 + (uVar35 - 2)" (cast_expression "(int)psVar20" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(uVar35 - 2)" ( (binary_expression "uVar35 - 2" identifier - number_literal) ))) )))) = (cast_expression "(short)sVar17" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier)) ;) })) }) (else_clause "else {\n      *psVar20 = sVar17;\n      *(size_t *)((int)(psVar20 + -1) + uVar35) = sVar17;\n      psVar38 = (size_t *)((uint)(psVar20 + 1) & 0xfffffffc);\n      for (uVar26 = (int)psVar20 + (uVar35 - (int)((uint)(psVar20 + 1) & 0xfffffffc)) >> 2;\n          uVar26 != 0; uVar26 = uVar26 - 1) {\n        *psVar38 = sVar17;\n        psVar38 = psVar38 + (uint)bVar42 * -2 + 1;\n      }\n    }" else (compound_statement "{\n      *psVar20 = sVar17;\n      *(size_t *)((int)(psVar20 + -1) + uVar35) = sVar17;\n      psVar38 = (size_t *)((uint)(psVar20 + 1) & 0xfffffffc);\n      for (uVar26 = (int)psVar20 + (uVar35 - (int)((uint)(psVar20 + 1) & 0xfffffffc)) >> 2;\n          uVar26 != 0; uVar26 = uVar26 - 1) {\n        *psVar38 = sVar17;\n        psVar38 = psVar38 + (uint)bVar42 * -2 + 1;\n      }\n    }" { (expression_statement "*psVar20 = sVar17;" (assignment_expression "*psVar20 = sVar17" (pointer_expression "*psVar20" * identifier) = identifier) ;) (expression_statement "*(size_t *)((int)(psVar20 + -1) + uVar35) = sVar17;" (assignment_expression "*(size_t *)((int)(psVar20 + -1) + uVar35) = sVar17" (pointer_expression "*(size_t *)((int)(psVar20 + -1) + uVar35)" * (cast_expression "(size_t *)((int)(psVar20 + -1) + uVar35)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)(psVar20 + -1) + uVar35)" ( (binary_expression "(int)(psVar20 + -1) + uVar35" (cast_expression "(int)(psVar20 + -1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(psVar20 + -1)" ( (binary_expression "psVar20 + -1" identifier + number_literal) ))) + identifier) )))) = identifier) ;) (expression_statement "psVar38 = (size_t *)((uint)(psVar20 + 1) & 0xfffffffc);" (assignment_expression "psVar38 = (size_t *)((uint)(psVar20 + 1) & 0xfffffffc)" identifier = (cast_expression "(size_t *)((uint)(psVar20 + 1) & 0xfffffffc)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)(psVar20 + 1) & 0xfffffffc)" ( (binary_expression "(uint)(psVar20 + 1) & 0xfffffffc" (call_expression "(uint)(psVar20 + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(psVar20 + 1)" ( (binary_expression "psVar20 + 1" identifier + number_literal) ))) & number_literal) )))) ;) (for_statement "for (uVar26 = (int)psVar20 + (uVar35 - (int)((uint)(psVar20 + 1) & 0xfffffffc)) >> 2;\n          uVar26 != 0; uVar26 = uVar26 - 1) {\n        *psVar38 = sVar17;\n        psVar38 = psVar38 + (uint)bVar42 * -2 + 1;\n      }" for ( (assignment_expression "uVar26 = (int)psVar20 + (uVar35 - (int)((uint)(psVar20 + 1) & 0xfffffffc)) >> 2" identifier = (binary_expression "(int)psVar20 + (uVar35 - (int)((uint)(psVar20 + 1) & 0xfffffffc)) >> 2" (binary_expression "(int)psVar20 + (uVar35 - (int)((uint)(psVar20 + 1) & 0xfffffffc))" (cast_expression "(int)psVar20" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(uVar35 - (int)((uint)(psVar20 + 1) & 0xfffffffc))" ( (binary_expression "uVar35 - (int)((uint)(psVar20 + 1) & 0xfffffffc)" identifier - (cast_expression "(int)((uint)(psVar20 + 1) & 0xfffffffc)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((uint)(psVar20 + 1) & 0xfffffffc)" ( (binary_expression "(uint)(psVar20 + 1) & 0xfffffffc" (call_expression "(uint)(psVar20 + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(psVar20 + 1)" ( (binary_expression "psVar20 + 1" identifier + number_literal) ))) & number_literal) )))) ))) >> number_literal)) ; (binary_expression "uVar26 != 0" identifier != number_literal) ; (assignment_expression "uVar26 = uVar26 - 1" identifier = (binary_expression "uVar26 - 1" identifier - number_literal)) ) (compound_statement "{\n        *psVar38 = sVar17;\n        psVar38 = psVar38 + (uint)bVar42 * -2 + 1;\n      }" { (expression_statement "*psVar38 = sVar17;" (assignment_expression "*psVar38 = sVar17" (pointer_expression "*psVar38" * identifier) = identifier) ;) (expression_statement "psVar38 = psVar38 + (uint)bVar42 * -2 + 1;" (assignment_expression "psVar38 = psVar38 + (uint)bVar42 * -2 + 1" identifier = (binary_expression "psVar38 + (uint)bVar42 * -2 + 1" (binary_expression "psVar38 + (uint)bVar42 * -2" identifier + (binary_expression "(uint)bVar42 * -2" (cast_expression "(uint)bVar42" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) }))) (expression_statement "psVar25 = (size_t *)param_2[0x1a];" (assignment_expression "psVar25 = (size_t *)param_2[0x1a]" identifier = (cast_expression "(size_t *)param_2[0x1a]" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[0x1a]" identifier [ number_literal ]))) ;) (if_statement "if (psVar25 != (size_t *)0x0) {\n      psVar38 = (size_t *)0x0;\n      do {\n        uVar35 = *(uint *)((int)local_90 + (int)psVar38 * 4);\n        if (uVar35 != 0) {\n          iVar9 = local_84[(int)psVar38];\n          local_58 = 0;\n          local_5c = (int *)(*(int *)(iVar9 + 0x24) - uVar35);\n          while( true ) {\n            uVar26 = 0x2000;\n            if (uVar35 < 0x2001) {\n              uVar26 = uVar35;\n            }\n            iVar9 = bfd_set_section_contents(param_2,iVar9,psVar20,local_5c,local_58,uVar26);\n            if (iVar9 == 0) {\n              psVar38 = (size_t *)local_84[(int)psVar38];\n              local_50 = 0;\n              goto LAB_00019763;\n            }\n            bVar40 = CARRY4((uint)local_5c,uVar26);\n            local_5c = (int *)((int)local_5c + uVar26);\n            local_58 = local_58 + (uint)bVar40;\n            uVar35 = uVar35 - uVar26;\n            if (uVar35 == 0) break;\n            iVar9 = local_84[(int)psVar38];\n          }\n        }\n        psVar38 = (size_t *)((int)psVar38 + 1);\n      } while (psVar25 != psVar38);\n    }" if (parenthesized_expression "(psVar25 != (size_t *)0x0)" ( (binary_expression "psVar25 != (size_t *)0x0" identifier != (cast_expression "(size_t *)0x0" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      psVar38 = (size_t *)0x0;\n      do {\n        uVar35 = *(uint *)((int)local_90 + (int)psVar38 * 4);\n        if (uVar35 != 0) {\n          iVar9 = local_84[(int)psVar38];\n          local_58 = 0;\n          local_5c = (int *)(*(int *)(iVar9 + 0x24) - uVar35);\n          while( true ) {\n            uVar26 = 0x2000;\n            if (uVar35 < 0x2001) {\n              uVar26 = uVar35;\n            }\n            iVar9 = bfd_set_section_contents(param_2,iVar9,psVar20,local_5c,local_58,uVar26);\n            if (iVar9 == 0) {\n              psVar38 = (size_t *)local_84[(int)psVar38];\n              local_50 = 0;\n              goto LAB_00019763;\n            }\n            bVar40 = CARRY4((uint)local_5c,uVar26);\n            local_5c = (int *)((int)local_5c + uVar26);\n            local_58 = local_58 + (uint)bVar40;\n            uVar35 = uVar35 - uVar26;\n            if (uVar35 == 0) break;\n            iVar9 = local_84[(int)psVar38];\n          }\n        }\n        psVar38 = (size_t *)((int)psVar38 + 1);\n      } while (psVar25 != psVar38);\n    }" { (expression_statement "psVar38 = (size_t *)0x0;" (assignment_expression "psVar38 = (size_t *)0x0" identifier = (cast_expression "(size_t *)0x0" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n        uVar35 = *(uint *)((int)local_90 + (int)psVar38 * 4);\n        if (uVar35 != 0) {\n          iVar9 = local_84[(int)psVar38];\n          local_58 = 0;\n          local_5c = (int *)(*(int *)(iVar9 + 0x24) - uVar35);\n          while( true ) {\n            uVar26 = 0x2000;\n            if (uVar35 < 0x2001) {\n              uVar26 = uVar35;\n            }\n            iVar9 = bfd_set_section_contents(param_2,iVar9,psVar20,local_5c,local_58,uVar26);\n            if (iVar9 == 0) {\n              psVar38 = (size_t *)local_84[(int)psVar38];\n              local_50 = 0;\n              goto LAB_00019763;\n            }\n            bVar40 = CARRY4((uint)local_5c,uVar26);\n            local_5c = (int *)((int)local_5c + uVar26);\n            local_58 = local_58 + (uint)bVar40;\n            uVar35 = uVar35 - uVar26;\n            if (uVar35 == 0) break;\n            iVar9 = local_84[(int)psVar38];\n          }\n        }\n        psVar38 = (size_t *)((int)psVar38 + 1);\n      } while (psVar25 != psVar38);" do (compound_statement "{\n        uVar35 = *(uint *)((int)local_90 + (int)psVar38 * 4);\n        if (uVar35 != 0) {\n          iVar9 = local_84[(int)psVar38];\n          local_58 = 0;\n          local_5c = (int *)(*(int *)(iVar9 + 0x24) - uVar35);\n          while( true ) {\n            uVar26 = 0x2000;\n            if (uVar35 < 0x2001) {\n              uVar26 = uVar35;\n            }\n            iVar9 = bfd_set_section_contents(param_2,iVar9,psVar20,local_5c,local_58,uVar26);\n            if (iVar9 == 0) {\n              psVar38 = (size_t *)local_84[(int)psVar38];\n              local_50 = 0;\n              goto LAB_00019763;\n            }\n            bVar40 = CARRY4((uint)local_5c,uVar26);\n            local_5c = (int *)((int)local_5c + uVar26);\n            local_58 = local_58 + (uint)bVar40;\n            uVar35 = uVar35 - uVar26;\n            if (uVar35 == 0) break;\n            iVar9 = local_84[(int)psVar38];\n          }\n        }\n        psVar38 = (size_t *)((int)psVar38 + 1);\n      }" { (expression_statement "uVar35 = *(uint *)((int)local_90 + (int)psVar38 * 4);" (assignment_expression "uVar35 = *(uint *)((int)local_90 + (int)psVar38 * 4)" identifier = (pointer_expression "*(uint *)((int)local_90 + (int)psVar38 * 4)" * (cast_expression "(uint *)((int)local_90 + (int)psVar38 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + (int)psVar38 * 4)" ( (binary_expression "(int)local_90 + (int)psVar38 * 4" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(int)psVar38 * 4" (cast_expression "(int)psVar38" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ))))) ;) (if_statement "if (uVar35 != 0) {\n          iVar9 = local_84[(int)psVar38];\n          local_58 = 0;\n          local_5c = (int *)(*(int *)(iVar9 + 0x24) - uVar35);\n          while( true ) {\n            uVar26 = 0x2000;\n            if (uVar35 < 0x2001) {\n              uVar26 = uVar35;\n            }\n            iVar9 = bfd_set_section_contents(param_2,iVar9,psVar20,local_5c,local_58,uVar26);\n            if (iVar9 == 0) {\n              psVar38 = (size_t *)local_84[(int)psVar38];\n              local_50 = 0;\n              goto LAB_00019763;\n            }\n            bVar40 = CARRY4((uint)local_5c,uVar26);\n            local_5c = (int *)((int)local_5c + uVar26);\n            local_58 = local_58 + (uint)bVar40;\n            uVar35 = uVar35 - uVar26;\n            if (uVar35 == 0) break;\n            iVar9 = local_84[(int)psVar38];\n          }\n        }" if (parenthesized_expression "(uVar35 != 0)" ( (binary_expression "uVar35 != 0" identifier != number_literal) )) (compound_statement "{\n          iVar9 = local_84[(int)psVar38];\n          local_58 = 0;\n          local_5c = (int *)(*(int *)(iVar9 + 0x24) - uVar35);\n          while( true ) {\n            uVar26 = 0x2000;\n            if (uVar35 < 0x2001) {\n              uVar26 = uVar35;\n            }\n            iVar9 = bfd_set_section_contents(param_2,iVar9,psVar20,local_5c,local_58,uVar26);\n            if (iVar9 == 0) {\n              psVar38 = (size_t *)local_84[(int)psVar38];\n              local_50 = 0;\n              goto LAB_00019763;\n            }\n            bVar40 = CARRY4((uint)local_5c,uVar26);\n            local_5c = (int *)((int)local_5c + uVar26);\n            local_58 = local_58 + (uint)bVar40;\n            uVar35 = uVar35 - uVar26;\n            if (uVar35 == 0) break;\n            iVar9 = local_84[(int)psVar38];\n          }\n        }" { (expression_statement "iVar9 = local_84[(int)psVar38];" (assignment_expression "iVar9 = local_84[(int)psVar38]" identifier = (subscript_expression "local_84[(int)psVar38]" identifier [ (cast_expression "(int)psVar38" ( (type_descriptor "int" primitive_type) ) identifier) ])) ;) (expression_statement "local_58 = 0;" (assignment_expression "local_58 = 0" identifier = number_literal) ;) (expression_statement "local_5c = (int *)(*(int *)(iVar9 + 0x24) - uVar35);" (assignment_expression "local_5c = (int *)(*(int *)(iVar9 + 0x24) - uVar35)" identifier = (cast_expression "(int *)(*(int *)(iVar9 + 0x24) - uVar35)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar9 + 0x24) - uVar35)" ( (binary_expression "*(int *)(iVar9 + 0x24) - uVar35" (pointer_expression "*(int *)(iVar9 + 0x24)" * (cast_expression "(int *)(iVar9 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x24)" ( (binary_expression "iVar9 + 0x24" identifier + number_literal) )))) - identifier) )))) ;) (while_statement "while( true ) {\n            uVar26 = 0x2000;\n            if (uVar35 < 0x2001) {\n              uVar26 = uVar35;\n            }\n            iVar9 = bfd_set_section_contents(param_2,iVar9,psVar20,local_5c,local_58,uVar26);\n            if (iVar9 == 0) {\n              psVar38 = (size_t *)local_84[(int)psVar38];\n              local_50 = 0;\n              goto LAB_00019763;\n            }\n            bVar40 = CARRY4((uint)local_5c,uVar26);\n            local_5c = (int *)((int)local_5c + uVar26);\n            local_58 = local_58 + (uint)bVar40;\n            uVar35 = uVar35 - uVar26;\n            if (uVar35 == 0) break;\n            iVar9 = local_84[(int)psVar38];\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            uVar26 = 0x2000;\n            if (uVar35 < 0x2001) {\n              uVar26 = uVar35;\n            }\n            iVar9 = bfd_set_section_contents(param_2,iVar9,psVar20,local_5c,local_58,uVar26);\n            if (iVar9 == 0) {\n              psVar38 = (size_t *)local_84[(int)psVar38];\n              local_50 = 0;\n              goto LAB_00019763;\n            }\n            bVar40 = CARRY4((uint)local_5c,uVar26);\n            local_5c = (int *)((int)local_5c + uVar26);\n            local_58 = local_58 + (uint)bVar40;\n            uVar35 = uVar35 - uVar26;\n            if (uVar35 == 0) break;\n            iVar9 = local_84[(int)psVar38];\n          }" { (expression_statement "uVar26 = 0x2000;" (assignment_expression "uVar26 = 0x2000" identifier = number_literal) ;) (if_statement "if (uVar35 < 0x2001) {\n              uVar26 = uVar35;\n            }" if (parenthesized_expression "(uVar35 < 0x2001)" ( (binary_expression "uVar35 < 0x2001" identifier < number_literal) )) (compound_statement "{\n              uVar26 = uVar35;\n            }" { (expression_statement "uVar26 = uVar35;" (assignment_expression "uVar26 = uVar35" identifier = identifier) ;) })) (expression_statement "iVar9 = bfd_set_section_contents(param_2,iVar9,psVar20,local_5c,local_58,uVar26);" (assignment_expression "iVar9 = bfd_set_section_contents(param_2,iVar9,psVar20,local_5c,local_58,uVar26)" identifier = (call_expression "bfd_set_section_contents(param_2,iVar9,psVar20,local_5c,local_58,uVar26)" identifier (argument_list "(param_2,iVar9,psVar20,local_5c,local_58,uVar26)" ( identifier , identifier , identifier , identifier , identifier , identifier )))) ;) (if_statement "if (iVar9 == 0) {\n              psVar38 = (size_t *)local_84[(int)psVar38];\n              local_50 = 0;\n              goto LAB_00019763;\n            }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n              psVar38 = (size_t *)local_84[(int)psVar38];\n              local_50 = 0;\n              goto LAB_00019763;\n            }" { (expression_statement "psVar38 = (size_t *)local_84[(int)psVar38];" (assignment_expression "psVar38 = (size_t *)local_84[(int)psVar38]" identifier = (cast_expression "(size_t *)local_84[(int)psVar38]" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_84[(int)psVar38]" identifier [ (cast_expression "(int)psVar38" ( (type_descriptor "int" primitive_type) ) identifier) ]))) ;) (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_00019763;" goto statement_identifier ;) })) (expression_statement "bVar40 = CARRY4((uint)local_5c,uVar26);" (assignment_expression "bVar40 = CARRY4((uint)local_5c,uVar26)" identifier = (call_expression "CARRY4((uint)local_5c,uVar26)" identifier (argument_list "((uint)local_5c,uVar26)" ( (cast_expression "(uint)local_5c" ( (type_descriptor "uint" type_identifier) ) identifier) , identifier )))) ;) (expression_statement "local_5c = (int *)((int)local_5c + uVar26);" (assignment_expression "local_5c = (int *)((int)local_5c + uVar26)" identifier = (cast_expression "(int *)((int)local_5c + uVar26)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_5c + uVar26)" ( (binary_expression "(int)local_5c + uVar26" (cast_expression "(int)local_5c" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "local_58 = local_58 + (uint)bVar40;" (assignment_expression "local_58 = local_58 + (uint)bVar40" identifier = (binary_expression "local_58 + (uint)bVar40" identifier + (cast_expression "(uint)bVar40" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "uVar35 = uVar35 - uVar26;" (assignment_expression "uVar35 = uVar35 - uVar26" identifier = (binary_expression "uVar35 - uVar26" identifier - identifier)) ;) (if_statement "if (uVar35 == 0) break;" if (parenthesized_expression "(uVar35 == 0)" ( (binary_expression "uVar35 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar9 = local_84[(int)psVar38];" (assignment_expression "iVar9 = local_84[(int)psVar38]" identifier = (subscript_expression "local_84[(int)psVar38]" identifier [ (cast_expression "(int)psVar38" ( (type_descriptor "int" primitive_type) ) identifier) ])) ;) })) })) (expression_statement "psVar38 = (size_t *)((int)psVar38 + 1);" (assignment_expression "psVar38 = (size_t *)((int)psVar38 + 1)" identifier = (cast_expression "(size_t *)((int)psVar38 + 1)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psVar38 + 1)" ( (binary_expression "(int)psVar38 + 1" (cast_expression "(int)psVar38" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "(psVar25 != psVar38)" ( (binary_expression "psVar25 != psVar38" identifier != identifier) )) ;) })) })) (expression_statement "iVar9 = (**(code **)(param_2[1] + 0xa8))(param_1,param_2);" (assignment_expression "iVar9 = (**(code **)(param_2[1] + 0xa8))(param_1,param_2)" identifier = (call_expression "(**(code **)(param_2[1] + 0xa8))(param_1,param_2)" (parenthesized_expression "(**(code **)(param_2[1] + 0xa8))" ( (pointer_expression "**(code **)(param_2[1] + 0xa8)" * (pointer_expression "*(code **)(param_2[1] + 0xa8)" * (cast_expression "(code **)(param_2[1] + 0xa8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2[1] + 0xa8)" ( (binary_expression "param_2[1] + 0xa8" (subscript_expression "param_2[1]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(param_1,param_2)" ( identifier , identifier )))) ;) (if_statement "if (iVar9 != 0) {\n    if ((DAT_0003fb44 != 0) &&\n       (iVar12 = bfd_alt_mach_code(param_2,DAT_0003fb44,uVar35,uVar35), iVar9 = DAT_0003fb44,\n       iVar12 == 0)) {\n      uVar10 = dcgettext(0,"this target does not support %lu alternative machine codes",5,psVar38);\n      FUN_0002b6d0(uVar10,iVar9);\n      if (*(int *)(param_2[1] + 4) != 5) {\n        uVar10 = dcgettext(0,"ignoring the alternative value",5,extraout_ECX_00);\n        FUN_0002b6d0(uVar10);\n        return 1;\n      }\n      uVar10 = dcgettext(0,"treating that number as an absolute e_machine value instead",5,iVar9);\n      FUN_0002b6d0(uVar10);\n      *(short *)(param_2[0x27] + 0x26) = (short)DAT_0003fb44;\n    }\n    return 1;\n  }" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (compound_statement "{\n    if ((DAT_0003fb44 != 0) &&\n       (iVar12 = bfd_alt_mach_code(param_2,DAT_0003fb44,uVar35,uVar35), iVar9 = DAT_0003fb44,\n       iVar12 == 0)) {\n      uVar10 = dcgettext(0,"this target does not support %lu alternative machine codes",5,psVar38);\n      FUN_0002b6d0(uVar10,iVar9);\n      if (*(int *)(param_2[1] + 4) != 5) {\n        uVar10 = dcgettext(0,"ignoring the alternative value",5,extraout_ECX_00);\n        FUN_0002b6d0(uVar10);\n        return 1;\n      }\n      uVar10 = dcgettext(0,"treating that number as an absolute e_machine value instead",5,iVar9);\n      FUN_0002b6d0(uVar10);\n      *(short *)(param_2[0x27] + 0x26) = (short)DAT_0003fb44;\n    }\n    return 1;\n  }" { (if_statement "if ((DAT_0003fb44 != 0) &&\n       (iVar12 = bfd_alt_mach_code(param_2,DAT_0003fb44,uVar35,uVar35), iVar9 = DAT_0003fb44,\n       iVar12 == 0)) {\n      uVar10 = dcgettext(0,"this target does not support %lu alternative machine codes",5,psVar38);\n      FUN_0002b6d0(uVar10,iVar9);\n      if (*(int *)(param_2[1] + 4) != 5) {\n        uVar10 = dcgettext(0,"ignoring the alternative value",5,extraout_ECX_00);\n        FUN_0002b6d0(uVar10);\n        return 1;\n      }\n      uVar10 = dcgettext(0,"treating that number as an absolute e_machine value instead",5,iVar9);\n      FUN_0002b6d0(uVar10);\n      *(short *)(param_2[0x27] + 0x26) = (short)DAT_0003fb44;\n    }" if (parenthesized_expression "((DAT_0003fb44 != 0) &&\n       (iVar12 = bfd_alt_mach_code(param_2,DAT_0003fb44,uVar35,uVar35), iVar9 = DAT_0003fb44,\n       iVar12 == 0))" ( (binary_expression "(DAT_0003fb44 != 0) &&\n       (iVar12 = bfd_alt_mach_code(param_2,DAT_0003fb44,uVar35,uVar35), iVar9 = DAT_0003fb44,\n       iVar12 == 0)" (parenthesized_expression "(DAT_0003fb44 != 0)" ( (binary_expression "DAT_0003fb44 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar12 = bfd_alt_mach_code(param_2,DAT_0003fb44,uVar35,uVar35), iVar9 = DAT_0003fb44,\n       iVar12 == 0)" ( (comma_expression "iVar12 = bfd_alt_mach_code(param_2,DAT_0003fb44,uVar35,uVar35), iVar9 = DAT_0003fb44,\n       iVar12 == 0" (assignment_expression "iVar12 = bfd_alt_mach_code(param_2,DAT_0003fb44,uVar35,uVar35)" identifier = (call_expression "bfd_alt_mach_code(param_2,DAT_0003fb44,uVar35,uVar35)" identifier (argument_list "(param_2,DAT_0003fb44,uVar35,uVar35)" ( identifier , identifier , identifier , identifier )))) , (comma_expression "iVar9 = DAT_0003fb44,\n       iVar12 == 0" (assignment_expression "iVar9 = DAT_0003fb44" identifier = identifier) , (binary_expression "iVar12 == 0" identifier == number_literal))) ))) )) (compound_statement "{\n      uVar10 = dcgettext(0,"this target does not support %lu alternative machine codes",5,psVar38);\n      FUN_0002b6d0(uVar10,iVar9);\n      if (*(int *)(param_2[1] + 4) != 5) {\n        uVar10 = dcgettext(0,"ignoring the alternative value",5,extraout_ECX_00);\n        FUN_0002b6d0(uVar10);\n        return 1;\n      }\n      uVar10 = dcgettext(0,"treating that number as an absolute e_machine value instead",5,iVar9);\n      FUN_0002b6d0(uVar10);\n      *(short *)(param_2[0x27] + 0x26) = (short)DAT_0003fb44;\n    }" { (expression_statement "uVar10 = dcgettext(0,"this target does not support %lu alternative machine codes",5,psVar38);" (assignment_expression "uVar10 = dcgettext(0,"this target does not support %lu alternative machine codes",5,psVar38)" identifier = (call_expression "dcgettext(0,"this target does not support %lu alternative machine codes",5,psVar38)" identifier (argument_list "(0,"this target does not support %lu alternative machine codes",5,psVar38)" ( number_literal , (string_literal ""this target does not support %lu alternative machine codes"" " string_content ") , number_literal , identifier )))) ;) (expression_statement "FUN_0002b6d0(uVar10,iVar9);" (call_expression "FUN_0002b6d0(uVar10,iVar9)" identifier (argument_list "(uVar10,iVar9)" ( identifier , identifier ))) ;) (if_statement "if (*(int *)(param_2[1] + 4) != 5) {\n        uVar10 = dcgettext(0,"ignoring the alternative value",5,extraout_ECX_00);\n        FUN_0002b6d0(uVar10);\n        return 1;\n      }" if (parenthesized_expression "(*(int *)(param_2[1] + 4) != 5)" ( (binary_expression "*(int *)(param_2[1] + 4) != 5" (pointer_expression "*(int *)(param_2[1] + 4)" * (cast_expression "(int *)(param_2[1] + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2[1] + 4)" ( (binary_expression "param_2[1] + 4" (subscript_expression "param_2[1]" identifier [ number_literal ]) + number_literal) )))) != number_literal) )) (compound_statement "{\n        uVar10 = dcgettext(0,"ignoring the alternative value",5,extraout_ECX_00);\n        FUN_0002b6d0(uVar10);\n        return 1;\n      }" { (expression_statement "uVar10 = dcgettext(0,"ignoring the alternative value",5,extraout_ECX_00);" (assignment_expression "uVar10 = dcgettext(0,"ignoring the alternative value",5,extraout_ECX_00)" identifier = (call_expression "dcgettext(0,"ignoring the alternative value",5,extraout_ECX_00)" identifier (argument_list "(0,"ignoring the alternative value",5,extraout_ECX_00)" ( number_literal , (string_literal ""ignoring the alternative value"" " string_content ") , number_literal , identifier )))) ;) (expression_statement "FUN_0002b6d0(uVar10);" (call_expression "FUN_0002b6d0(uVar10)" identifier (argument_list "(uVar10)" ( identifier ))) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "uVar10 = dcgettext(0,"treating that number as an absolute e_machine value instead",5,iVar9);" (assignment_expression "uVar10 = dcgettext(0,"treating that number as an absolute e_machine value instead",5,iVar9)" identifier = (call_expression "dcgettext(0,"treating that number as an absolute e_machine value instead",5,iVar9)" identifier (argument_list "(0,"treating that number as an absolute e_machine value instead",5,iVar9)" ( number_literal , (string_literal ""treating that number as an absolute e_machine value instead"" " string_content ") , number_literal , identifier )))) ;) (expression_statement "FUN_0002b6d0(uVar10);" (call_expression "FUN_0002b6d0(uVar10)" identifier (argument_list "(uVar10)" ( identifier ))) ;) (expression_statement "*(short *)(param_2[0x27] + 0x26) = (short)DAT_0003fb44;" (assignment_expression "*(short *)(param_2[0x27] + 0x26) = (short)DAT_0003fb44" (pointer_expression "*(short *)(param_2[0x27] + 0x26)" * (cast_expression "(short *)(param_2[0x27] + 0x26)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2[0x27] + 0x26)" ( (binary_expression "param_2[0x27] + 0x26" (subscript_expression "param_2[0x27]" identifier [ number_literal ]) + number_literal) )))) = (cast_expression "(short)DAT_0003fb44" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier)) ;) })) (return_statement "return 1;" return number_literal ;) })) (expression_statement "uVar10 = dcgettext(0,"error copying private BFD data",5,psVar38);" (assignment_expression "uVar10 = dcgettext(0,"error copying private BFD data",5,psVar38)" identifier = (call_expression "dcgettext(0,"error copying private BFD data",5,psVar38)" identifier (argument_list "(0,"error copying private BFD data",5,psVar38)" ( number_literal , (string_literal ""error copying private BFD data"" " string_content ") , number_literal , identifier )))) ;) (expression_statement "uVar35 = 0;" (assignment_expression "uVar35 = 0" identifier = number_literal) ;) (labeled_statement "LAB_0001a2cd:\n  FUN_0002c160(0,param_2,uVar35,uVar10);" statement_identifier : (expression_statement "FUN_0002c160(0,param_2,uVar35,uVar10);" (call_expression "FUN_0002c160(0,param_2,uVar35,uVar10)" identifier (argument_list "(0,param_2,uVar35,uVar10)" ( number_literal , identifier , identifier , identifier ))) ;)) (return_statement "return 0;" return number_literal ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Type propagation algorithm not settling */\n/* WARNING: Enum "anon_enum_32": Some values do not have unique names */\n\nbfd_boolean __regparm3 copy_object(bfd *ibfd,bfd *obfd,bfd_arch_info_type *input_arch)\n\n{\n  void *__dest;\n  asymbol **ppaVar1;\n  asymbol **ppaVar2;\n  bfd_byte *pbVar3;\n  bfd_endian bVar4;\n  bfd_endian bVar5;\n  section_add *psVar6;\n  pe_tdata *ppVar7;\n  bfd_target *pbVar8;\n  _func_void_bfd_vma_void_ptr *p_Var9;\n  bfd_vma bVar10;\n  bfd_flavour bVar11;\n  bfd_vma *pbVar12;\n  bfd_vma *pbVar13;\n  section_add *psVar14;\n  section_rename *psVar15;\n  bfd_vma *pbVar16;\n  bfd_byte bVar17;\n  int iVar18;\n  bfd_architecture bVar19;\n  ulong uVar20;\n  bfd_boolean bVar21;\n  int iVar22;\n  char *pcVar23;\n  char *pcVar24;\n  long lVar25;\n  section_list *psVar26;\n  asection *paVar27;\n  FILE *__s;\n  char *pcVar28;\n  char *__format;\n  undefined4 uVar29;\n  undefined4 uVar30;\n  asymbol **ppaVar31;\n  bfd_section *pbVar32;\n  asymbol *paVar33;\n  size_t sVar34;\n  size_t sVar35;\n  bfd_byte *pbVar36;\n  asymbol *paVar37;\n  undefined4 *puVar38;\n  int iVar39;\n  int *piVar40;\n  char *pcVar41;\n  bfd *pbVar42;\n  bfd_vma bVar43;\n  void *pvVar44;\n  bfd_vma bVar45;\n  asection *sec_1;\n  undefined4 extraout_ECX;\n  asection *sec_1_00;\n  undefined4 extraout_ECX_00;\n  undefined4 extraout_ECX_01;\n  uint uVar46;\n  undefined4 extraout_ECX_02;\n  undefined4 extraout_ECX_03;\n  uint uVar47;\n  uint uVar48;\n  void *pvVar49;\n  undefined4 extraout_EDX;\n  addsym_node *ptr;\n  bfd_byte *pbVar50;\n  byte *pbVar51;\n  uchar **ppuVar52;\n  bfd_section *pbVar53;\n  bfd_section *pbVar54;\n  bfd *pbVar55;\n  bfd_vma *pbVar56;\n  bfd_byte *pbVar57;\n  uint uVar58;\n  byte *pbVar59;\n  internal_extra_pe_aouthdr *piVar60;\n  undefined1 *puVar61;\n  bfd *pbVar62;\n  bfd_vma *pbVar63;\n  bool bVar64;\n  bool bVar65;\n  byte bVar66;\n  undefined8 uVar67;\n  bfd_uint64_t bVar68;\n  bfd *pbVar69;\n  void *pvVar70;\n  bfd *pbVar71;\n  bfd *in_stack_ffffff54;\n  bfd *in_stack_ffffff58;\n  char *local_98;\n  bfd *local_94;\n  void *local_90;\n  bfd *local_8c;\n  int *local_84;\n  bfd_byte *local_80;\n  bfd_vma *local_7c;\n  bfd_byte *local_74;\n  int local_70;\n  uint local_6c;\n  asymbol **local_68;\n  bfd_vma *local_64;\n  bfd_vma *local_60;\n  bfd *local_5c;\n  int local_58;\n  bfd_boolean local_50;\n  bfd_byte *syms;\n  bfd_byte *strings;\n  char file_alignment [20];\n  bfd_byte *contents;\n  undefined4 local_2c;\n  undefined4 uStack_14;\n  \n  bVar66 = 0;\n  uStack_14 = 0x185fd;\n  bVar4 = ibfd->xvec->byteorder;\n  bVar5 = obfd->xvec->byteorder;\n  if ((bVar4 != bVar5 && bVar4 != BFD_ENDIAN_UNKNOWN) && (bVar5 != BFD_ENDIAN_UNKNOWN)) {\n    pcVar24 = (char *)dcgettext(0,"Unable to change endianness of input file(s)",5);\n    non_fatal(pcVar24);\n    return 0;\n  }\n  iVar18 = bfd_set_format(obfd,ibfd->field_0x28 & 7);\n  if (iVar18 == 0) {\n    bfd_nonfatal_message((char *)0x0,obfd,(asection *)0x0,(char *)0x0);\n    return 0;\n  }\n  if (ibfd->sections == (bfd_section *)0x0) {\n    pcVar23 = bfd_get_archive_filename(ibfd);\n    pcVar24 = "error: the input file \'%s\' has no sections";\n    goto LAB_00018bc8;\n  }\n  if (ibfd->xvec->flavour != bfd_target_elf_flavour) {\n    if ((do_debug_sections != _sch_isblank) && ((do_debug_sections & _sch_isblank) != nothing)) {\n      pcVar23 = bfd_get_archive_filename(ibfd);\n      pcVar24 = "--compress-debug-sections=[zlib|zlib-gnu|zlib-gabi] is unsupported on `%s\'";\nLAB_00018bc8:\n      pcVar24 = (char *)dcgettext(0,pcVar24,5);\n      non_fatal(pcVar24,pcVar23);\n      return 0;\n    }\n    if (do_elf_stt_common != unchanged) {\n      pcVar23 = bfd_get_archive_filename(ibfd);\n      pcVar24 = "--elf-stt-common=[yes|no] is unsupported on `%s\'";\n      goto LAB_00018bc8;\n    }\n  }\n  if (verbose != 0) {\n    pcVar24 = ibfd->xvec->name;\n    pcVar23 = obfd->xvec->name;\n    pcVar41 = obfd->filename;\n    pcVar28 = bfd_get_archive_filename(ibfd);\n    __format = (char *)dcgettext(0,"copy from `%s\' [%s] to `%s\' [%s]\n",5);\n    printf(__format,pcVar28,pcVar24,pcVar41,pcVar23);\n  }\n  iVar18 = 0;\n  if (extract_symbol == 0) {\n    bVar43 = set_start;\n    if (set_start_set == 0) {\n      bVar43 = ibfd->start_address;\n    }\n    iVar18 = bVar43 + change_start;\n  }\n  if ((obfd->field_0x28 & 7) != 3) {\n    uVar58 = ~bfd_flags_to_clear & obfd->xvec->object_flags &\n             (*(uint *)&ibfd->field_0x28 >> 5 & 0xfffff | bfd_flags_to_set);\n    if (strip_symbols == STRIP_ALL) {\n      uVar58 = uVar58 & 0xfffffffe;\n    }\n    iVar18 = bfd_set_start_address(obfd,iVar18);\n    if ((iVar18 == 0) || (iVar18 = bfd_set_file_flags(obfd,uVar58), iVar18 == 0)) goto LAB_00018840;\n  }\n  bVar19 = bfd_get_arch(ibfd);\n  uVar20 = bfd_get_mach(ibfd);\n  if (input_arch != (bfd_arch_info_type *)0x0) {\n    iVar18 = bfd_get_arch_info(ibfd);\n    if ((iVar18 == 0) || (iVar18 = bfd_get_arch_info(ibfd), *(int *)(iVar18 + 0xc) == 0)) {\n      bVar19 = input_arch->arch;\n      uVar20 = input_arch->mach;\n    }\n    else {\n      pcVar24 = bfd_get_archive_filename(ibfd);\n      pcVar23 = (char *)dcgettext(0,"Input file `%s\' ignores binary architecture parameter.",5);\n      non_fatal(pcVar23,pcVar24);\n    }\n  }\n  bVar21 = (*obfd->xvec->_bfd_set_arch_mach)(obfd,bVar19,uVar20);\n  if (bVar21 == 0) {\n    if ((ibfd->field_0x2b & 4) != 0) {\nLAB_000187e7:\n      iVar18 = bfd_get_arch(ibfd);\n      if (iVar18 == 0) {\n        pcVar23 = bfd_get_archive_filename(ibfd);\n        pcVar24 = "Unable to recognise the format of the input file `%s\'";\n      }\n      else {\n        uVar29 = bfd_get_mach(ibfd);\n        uVar30 = bfd_get_arch(ibfd);\n        pcVar23 = (char *)bfd_printable_arch_mach(uVar30,uVar29);\n        pcVar24 = "Output file cannot represent architecture `%s\'";\n      }\n      pcVar24 = (char *)dcgettext(0,pcVar24,5);\n      non_fatal(pcVar24,pcVar23);\n      return 0;\n    }\n    iVar18 = bfd_get_arch(ibfd);\n    iVar22 = bfd_get_arch(obfd);\n    if (iVar18 != iVar22) goto LAB_000187e7;\n  }\n  iVar18 = bfd_set_format(obfd,ibfd->field_0x28 & 7);\n  if (iVar18 == 0) {\nLAB_00018840:\n    bfd_nonfatal_message((char *)0x0,ibfd,(asection *)0x0,(char *)0x0);\n    return 0;\n  }\n  bVar11 = obfd->xvec->flavour;\n  bVar64 = bVar11 < bfd_target_coff_flavour;\n  bVar65 = bVar11 == bfd_target_coff_flavour;\n  if (bVar65) {\n    iVar18 = 4;\n    pbVar51 = (byte *)obfd->xvec->name;\n    pbVar59 = &DAT_0002e16a;\n    do {\n      if (iVar18 == 0) break;\n      iVar18 = iVar18 + -1;\n      bVar64 = *pbVar51 < *pbVar59;\n      bVar65 = *pbVar51 == *pbVar59;\n      pbVar51 = pbVar51 + (uint)bVar66 * -2 + 1;\n      pbVar59 = pbVar59 + (uint)bVar66 * -2 + 1;\n    } while (bVar65);\n    if ((!bVar64 && !bVar65) == bVar64) {\n      ppVar7 = (obfd->tdata).pe_obj_data;\n      bVar11 = ibfd->xvec->flavour;\n      bVar64 = bVar11 < bfd_target_coff_flavour;\n      bVar65 = bVar11 == bfd_target_coff_flavour;\n      if (bVar65) {\n        iVar18 = 4;\n        pbVar51 = (byte *)ibfd->xvec->name;\n        pbVar59 = &DAT_0002e16a;\n        do {\n          if (iVar18 == 0) break;\n          iVar18 = iVar18 + -1;\n          bVar64 = *pbVar51 < *pbVar59;\n          bVar65 = *pbVar51 == *pbVar59;\n          pbVar51 = pbVar51 + (uint)bVar66 * -2 + 1;\n          pbVar59 = pbVar59 + (uint)bVar66 * -2 + 1;\n        } while (bVar65);\n        if ((!bVar64 && !bVar65) == bVar64) {\n          ppuVar52 = &(((ibfd->tdata).elf_obj_data)->symtab_hdr).contents;\n          piVar60 = &ppVar7->pe_opthdr;\n          for (iVar18 = 0x38; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *(uchar **)piVar60 = *ppuVar52;\n            ppuVar52 = ppuVar52 + (uint)bVar66 * -2 + 1;\n            piVar60 = (internal_extra_pe_aouthdr *)((int)piVar60 + (uint)bVar66 * -8 + 4);\n          }\n        }\n      }\n      bVar43 = pe_file_alignment;\n      if (pe_file_alignment == 0xffffffff) {\n        pe_file_alignment = 0x200;\n        bVar43 = 0x200;\n      }\n      else {\n        (ppVar7->pe_opthdr).FileAlignment = pe_file_alignment;\n      }\n      if (pe_heap_commit != 0xffffffff) {\n        (ppVar7->pe_opthdr).SizeOfHeapCommit = pe_heap_commit;\n      }\n      if (pe_heap_reserve != 0xffffffff) {\n        (ppVar7->pe_opthdr).SizeOfHeapCommit = pe_heap_reserve;\n      }\n      if (pe_image_base != 0xffffffff) {\n        (ppVar7->pe_opthdr).ImageBase = pe_image_base;\n      }\n      bVar45 = pe_section_alignment;\n      if (pe_section_alignment == 0xffffffff) {\n        pe_section_alignment = 0x1000;\n        bVar45 = 0x1000;\n      }\n      else {\n        (ppVar7->pe_opthdr).SectionAlignment = pe_section_alignment;\n      }\n      if (pe_stack_commit != 0xffffffff) {\n        (ppVar7->pe_opthdr).SizeOfStackCommit = pe_stack_commit;\n      }\n      if (pe_stack_reserve != 0xffffffff) {\n        (ppVar7->pe_opthdr).SizeOfStackCommit = pe_stack_reserve;\n      }\n      if (pe_subsystem != -1) {\n        (ppVar7->pe_opthdr).Subsystem = pe_subsystem;\n      }\n      if (pe_major_subsystem_version != -1) {\n        (ppVar7->pe_opthdr).MajorSubsystemVersion = pe_major_subsystem_version;\n      }\n      if (pe_minor_subsystem_version != -1) {\n        (ppVar7->pe_opthdr).MinorSubsystemVersion = pe_minor_subsystem_version;\n      }\n      if (bVar45 < bVar43) {\n        sprintf(file_alignment,"%08lx",bVar43);\n        sprintf((char *)&contents,"%08lx",pe_section_alignment);\n        pcVar24 = (char *)dcgettext(0,"warning: file alignment (0x%s) > section alignment (0x%s)",5)\n        ;\n        non_fatal(pcVar24,file_alignment,&contents);\n      }\n    }\n  }\n  ppaVar31 = isympp;\n  if (isympp != (asymbol **)0x0) {\n    free(isympp);\n  }\n  if (ppaVar31 != osympp) {\n    free(osympp);\n  }\n  isympp = (asymbol **)0x0;\n  osympp = (asymbol **)0x0;\n  lVar25 = (*ibfd->xvec->_bfd_get_symtab_upper_bound)(ibfd);\n  if (lVar25 < 0) goto LAB_00018840;\n  osympp = (asymbol **)xmalloc(lVar25);\n  isympp = osympp;\n  local_70 = (*ibfd->xvec->_bfd_canonicalize_symtab)(ibfd,osympp);\n  if (local_70 < 0) goto LAB_00018840;\n  if (local_70 == 0) {\n    free(isympp);\n    isympp = (asymbol **)0x0;\n    osympp = (asymbol **)0x0;\n  }\n  bfd_map_over_sections(ibfd,setup_section,obfd);\n  psVar6 = add_sections;\n  if ((extract_symbol == 0) &&\n     (bVar21 = (*obfd->xvec->_bfd_copy_private_header_data)(ibfd,obfd), psVar6 = add_sections,\n     bVar21 == 0)) {\n    status = 1;\n    pcVar24 = (char *)dcgettext(0,"error in private header data",5);\n    bfd_nonfatal_message((char *)0x0,ibfd,(asection *)0x0,pcVar24);\n    psVar6 = add_sections;\n  }\n  for (; psVar14 = update_sections, psVar6 != (section_add *)0x0; psVar6 = psVar6->next) {\n    uVar58 = 0x128;\n    psVar26 = find_section_list(psVar6->name,0,0x40);\n    if (psVar26 != (section_list *)0x0) {\n      uVar58 = psVar26->flags | 0x100;\n    }\n    iVar18 = bfd_get_section_by_name(obfd,psVar6->name);\n    if (iVar18 != 0) {\n      pcVar23 = psVar6->name;\n      pcVar24 = "can\'t add section \'%s\'";\nLAB_00019719:\n      pcVar24 = (char *)dcgettext(0,pcVar24,5);\n      bfd_nonfatal_message((char *)0x0,obfd,(asection *)0x0,pcVar24,pcVar23);\n      return 0;\n    }\n    paVar27 = (asection *)bfd_make_section_with_flags(obfd,psVar6->name,uVar58 | 0x100000);\n    psVar6->section = paVar27;\n    if (paVar27 == (asection *)0x0) {\n      pcVar23 = psVar6->name;\n      pcVar24 = "can\'t create section `%s\'";\n      goto LAB_00019719;\n    }\n    iVar18 = bfd_set_section_size(obfd,paVar27,psVar6->size);\n    if (iVar18 == 0) {\n      pbVar62 = (bfd *)psVar6->section;\n      local_50 = 0;\n      goto LAB_00019763;\n    }\n    psVar26 = find_section_list(psVar6->name,0,0xc);\n    if (psVar26 != (section_list *)0x0) {\n      bVar43 = psVar26->vma_val;\n      paVar27 = psVar6->section;\n      paVar27->field_0x18 = paVar27->field_0x18 | 1;\n      paVar27->lma = bVar43;\n      paVar27->vma = bVar43;\n    }\n    psVar26 = find_section_list(psVar6->name,0,0x30);\n    if (psVar26 != (section_list *)0x0) {\n      psVar6->section->lma = psVar26->lma_val;\n    }\n  }\n  for (; psVar14 != (section_add *)0x0; psVar14 = psVar14->next) {\n    paVar27 = (asection *)bfd_get_section_by_name(ibfd,psVar14->name);\n    psVar14->section = paVar27;\n    if (paVar27 == (asection *)0x0) {\n      pcVar23 = psVar14->name;\n      pcVar24 = "error: %s not found, can\'t be updated";\n      goto LAB_00018bc8;\n    }\n    pbVar62 = (bfd *)paVar27->output_section;\n    local_50 = bfd_set_section_size(obfd,pbVar62,psVar14->size);\n    if (local_50 == 0) goto LAB_00019763;\n  }\n  local_5c = obfd;\n  if ((((merge_notes != 0) &&\n       (pbVar62 = (bfd *)bfd_get_section_by_name(ibfd,".gnu.build.attributes"),\n       pbVar62 != (bfd *)0x0)) && (merge_notes != 0)) &&\n     ((ibfd->xvec->flavour == bfd_target_elf_flavour &&\n      (bVar21 = is_merged_note_section(pbVar62,(asection *)&pbVar62->archive_next,sec_1),\n      bVar21 != 0)))) {\n    pbVar36 = (bfd_byte *)pbVar62->id;\n    if (pbVar36 == (bfd_byte *)0x0) {\n      pcVar24 = (char *)dcgettext(0,"warning: note section is empty",5,0);\n      bfd_nonfatal_message((char *)0x0,ibfd,(asection *)pbVar62,pcVar24);\n      merge_notes = 0;\n    }\n    else {\n      iVar18 = bfd_get_full_section_contents(ibfd,pbVar62,&merged_notes,pbVar36);\n      pbVar50 = merged_notes;\n      if (iVar18 == 0) {\n        pcVar24 = (char *)dcgettext(0,"warning: could not load note section",5,0);\n        bfd_nonfatal_message((char *)0x0,ibfd,(asection *)pbVar62,pcVar24);\n        free(merged_notes);\n        merged_notes = (bfd_byte *)0x0;\n        merge_notes = 0;\n      }\n      else {\n        iVar18 = bfd_get_reloc_upper_bound(ibfd,pbVar62,pbVar62,pbVar62);\n        pbVar42 = ibfd;\n        pbVar69 = pbVar62;\n        if (0 < iVar18) {\n          pbVar42 = (bfd *)xmalloc(iVar18);\n          pbVar69 = (bfd *)bfd_canonicalize_reloc(ibfd,pbVar62,pbVar42,isympp);\n          free(pbVar42);\n          if (pbVar69 == (bfd *)0x0) goto LAB_0001a478;\n          local_60 = (bfd_vma *)0x0;\n          goto LAB_0001a75c;\n        }\nLAB_0001a478:\n        pvVar70 = (void *)0x24;\n        pbVar71 = pbVar42;\n        local_60 = (bfd_vma *)xcalloc((uint)pbVar36 / 0xc,0x24,pbVar42,pbVar42);\n        local_90 = (void *)0x0;\n        local_98 = (char *)0x0;\n        local_8c = (bfd *)0x0;\n        local_94 = (bfd *)0x0;\n        local_6c = 0;\n        local_84 = (int *)0x0;\n        local_80 = (bfd_byte *)0x0;\n        pbVar57 = pbVar50;\n        pbVar55 = (bfd *)pbVar50;\n        local_74 = pbVar36;\n        local_64 = local_60;\n        while ((bfd_byte *)0xb < local_74) {\n          bVar43 = (*ibfd->xvec->bfd_getx32)(pbVar57);\n          uVar58 = bVar43 + 3 & 0xfffffffc;\n          *local_64 = uVar58;\n          bVar43 = (*ibfd->xvec->bfd_getx32)(pbVar57 + 4);\n          uVar47 = bVar43 + 3 & 0xfffffffc;\n          pbVar8 = ibfd->xvec;\n          local_64[1] = uVar47;\n          bVar43 = (*pbVar8->bfd_getx32)(pbVar57 + 8);\n          local_64[2] = bVar43;\n          if (1 < bVar43 - 0x100) {\n            pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute note: wrong note type",5,\n                                        extraout_ECX_01);\n            goto LAB_0001a72d;\n          }\n          iVar18 = uVar47 + uVar58;\n          if (local_74 < (bfd_byte *)(iVar18 + 0xcU)) {\n            pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute note: note too big",5,pbVar57\n                                       );\n            goto LAB_0001a72d;\n          }\n          if (uVar58 < 2) {\n            pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute note: name too small",5,\n                                        iVar18);\n            goto LAB_0001a72d;\n          }\n          local_64[3] = (bfd_vma)(pbVar57 + 0xc);\n          pbVar3 = pbVar57 + uVar58 + 0xc;\n          local_64[4] = (bfd_vma)pbVar3;\n          pbVar55 = (bfd *)(-0xc - iVar18);\n          local_74 = (bfd_byte *)((int)&pbVar55->filename + (int)local_74);\n          bVar17 = pbVar57[0xc];\n          if (bVar17 == '$') {\n            if ((pbVar57[0xd] == '\x01') && (pbVar57[0xe] == '1')) {\n              local_80 = (bfd_byte *)((int)local_80 + 1);\n            }\n          }\n          else if ((((4 < uVar58) && (bVar17 == 'G')) && (pbVar57[0xd] == 'A')) &&\n                  ((pbVar57[0xe] == '$' && (pbVar57[0xf] == '\x01')))) {\n            bVar17 = pbVar57[0x10];\n            if (bVar17 == '2') {\n              local_84 = (int *)((int)local_84 + 1);\n            }\n            else {\n              if (bVar17 != '3') {\n                pcVar24 = (char *)dcgettext(0,\n                                            "corrupt GNU build attribute note: unsupported version",\n                                            5,bVar17);\n                goto LAB_0001a72d;\n              }\n              local_6c = local_6c + 1;\n            }\n          }\n          if (uVar47 == 4) {\n            pbVar69 = (bfd *)(*ibfd->xvec->bfd_getx32)(pbVar3);\n            pcVar24 = (char *)0xffffffff;\n          }\n          else if (uVar47 < 5) {\n            if (uVar47 != 0) {\nLAB_0001a7ea:\n              pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute note: bad description size"\n                                          ,5,bVar17);\n              goto LAB_0001a72d;\n            }\n            pcVar24 = (char *)0x0;\n            pbVar69 = (bfd *)0x0;\n          }\n          else {\n            pbVar55 = ibfd;\n            if (uVar47 == 8) {\n              pbVar8 = ibfd->xvec;\n              if ((pbVar8->flavour == bfd_target_elf_flavour) &&\n                 (((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02')) {\n                bVar68 = (*pbVar8->bfd_getx64)(pbVar3);\n                pbVar69 = (bfd *)bVar68;\n                pcVar24 = (char *)0xffffffff;\n              }\n              else {\n                pbVar69 = (bfd *)(*pbVar8->bfd_getx32)(pbVar3);\n                pcVar24 = (char *)(*ibfd->xvec->bfd_getx32)(pbVar3 + 4);\n              }\n            }\n            else {\n              if (uVar47 != 0x10) goto LAB_0001a7ea;\n              bVar68 = (*ibfd->xvec->bfd_getx64)(pbVar3);\n              pbVar69 = (bfd *)bVar68;\n              bVar68 = (*ibfd->xvec->bfd_getx64)(pbVar3 + 8);\n              pcVar24 = (char *)bVar68;\n            }\n          }\n          if (bVar43 == 0x100) {\n            if (pbVar69 == (bfd *)0x0) {\n              pbVar69 = local_8c;\n            }\n            if (pcVar24 == (char *)0x0) {\n              pcVar24 = (char *)local_90;\n            }\n            local_64[6] = (bfd_vma)pbVar69;\n            local_64[7] = (bfd_vma)pcVar24;\n            local_90 = pcVar24;\n            local_8c = pbVar69;\n          }\n          else {\n            if (pbVar69 == (bfd *)0x0) {\n              pbVar69 = local_94;\n            }\n            if (pcVar24 == (char *)0x0) {\n              pcVar24 = local_98;\n            }\n            local_64[6] = (bfd_vma)pbVar69;\n            local_64[7] = (bfd_vma)pcVar24;\n            local_98 = pcVar24;\n            local_94 = pbVar69;\n          }\n          if (*(char *)(local_64[3] + (*local_64 - 1)) != '\0') {\n            pcVar24 = (char *)dcgettext(0,\n                                        "corrupt GNU build attribute note: name not NUL terminated",\n                                        5,*local_64);\n            goto LAB_0001a72d;\n          }\n          local_64 = local_64 + 9;\n          pbVar57 = pbVar57 + (int)(iVar18 + 0xcU);\n        }\n        if (local_74 == (bfd_byte *)0x0) {\n          uVar58 = (uint)local_84 | local_6c;\n          if (local_80 == (bfd_byte *)0x0 && uVar58 == 0) {\n            pcVar24 = (char *)dcgettext(0,\n                                        "bad GNU build attribute notes: no known versions detected",\n                                        5,uVar58);\n            goto LAB_0001a72d;\n          }\n          if (((local_80 != (bfd_byte *)0x0) && (uVar58 != 0)) ||\n             ((local_84 != (int *)0x0 && (local_6c != 0)))) {\n            pcVar24 = (char *)dcgettext(0,\n                                        "bad GNU build attribute notes: multiple different versions"\n                                        ,5,pbVar69);\n            goto LAB_0001a72d;\n          }\n          if ((local_80 == (bfd_byte *)0x1 || local_84 == (int *)0x1) || (local_6c == 1))\n          goto LAB_0001a75c;\n          uVar58 = -(uint)(local_80 == (bfd_byte *)0x0) & 2;\n          iVar18 = uVar58 + 1;\n          if (*(char *)(local_60[3] + iVar18) != '\x01') {\n            pcVar24 = (char *)dcgettext(0,\n                                        "bad GNU build attribute notes: first note not version note"\n                                        ,5,pbVar55);\n            goto LAB_0001a72d;\n          }\n          bVar64 = false;\n          iVar22 = uVar58 + 2;\n          pbVar56 = local_60;\nLAB_0001a954:\n          pbVar13 = pbVar56;\n          pbVar56 = pbVar13 + 9;\n          if (pbVar56 < local_64) {\n            if (pbVar13[0xb] == 0x100) {\n              pvVar44 = (void *)pbVar13[0xc];\n              local_7c = (bfd_vma *)0x0;\n              pbVar63 = pbVar56;\n              do {\n                do {\n                  pbVar12 = pbVar63;\n                  pbVar63 = pbVar12 + -9;\n                  if (pbVar63 < local_60) goto LAB_0001a954;\n                  pvVar49 = (void *)pbVar12[-6];\n                  pbVar16 = local_7c;\n                } while ((((local_7c == (bfd_vma *)0x0) && (pbVar12[-8] != 0)) &&\n                         (pbVar16 = pbVar63, pbVar12[-7] == 0x101)) ||\n                        ((local_7c = pbVar16,\n                         *(char *)((int)pvVar44 + iVar18) != *(char *)((int)pvVar49 + iVar18) ||\n                         (pbVar12[-7] != 0x100))));\n                if (*(char *)((int)pvVar49 + iVar18) != '\x04') {\n                  pbVar69 = (bfd *)*pbVar63;\n                  if ((((pbVar69 == (bfd *)*pbVar56) &&\n                       (pbVar71 = (bfd *)pbVar56, iVar39 = memcmp(pvVar49,pvVar44,(size_t)pbVar69),\n                       pvVar70 = pvVar44, pbVar42 = pbVar69, iVar39 == 0)) &&\n                      ((uVar58 = pbVar12[-2], uVar58 != 0 && (uVar47 = pbVar13[0x10], uVar47 != 0)))\n                      ) && ((0xfffffff0 < uVar58 || (pbVar13[0xf] <= (uVar58 + 0xf & 0xfffffff0)))))\n                  {\n                    pbVar13[0xb] = 0;\n                    if (uVar58 < uVar47) {\n                      pbVar12[-2] = uVar47;\n                    }\n                    bVar64 = true;\n                    if (local_6c != 0) {\n                      pbVar12[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((pbVar13[10] == 0) && (local_7c != (bfd_vma *)0x0)) && (local_7c[2] == 0))\n                    {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    pbVar13[0x11] = 1;\n                    pbVar13[0xb] = 0x101;\n                    pbVar12[-1] = 1;\n                    pbVar12[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }\n                uVar58 = 0;\n                for (iVar39 = 0; (int)*pbVar56 - iVar22 != iVar39; iVar39 = iVar39 + 1) {\n                  uVar58 = uVar58 | (uint)*(byte *)((int)pvVar44 + iVar39 + iVar22) <<\n                                    ((char)iVar39 * '\b' & 0x1fU);\n                }\n                bVar43 = *pbVar63;\n                local_5c = (bfd *)0x0;\n                for (uVar47 = 0; bVar43 - iVar22 != uVar47; uVar47 = uVar47 + 1) {\n                  local_5c = (bfd *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar49 + iVar22))[uVar47] <<\n                                    ((char)uVar47 * '\b' & 0x1fU));\n                }\n                uVar48 = 0;\n                uVar58 = (int)local_5c + uVar58;\n                for (uVar46 = uVar58; uVar46 != 0; uVar46 = uVar46 >> 8) {\n                  uVar48 = uVar48 + 1;\n                }\n                in_stack_ffffff54 = (bfd *)pbVar56;\n              } while (uVar47 <= uVar48);\n              puVar61 = (undefined1 *)((int)pvVar49 + iVar22);\n              while (puVar61 < (undefined1 *)((int)pvVar49 + bVar43)) {\n                *puVar61 = (char)uVar58;\n                if (uVar58 == 0) break;\n                uVar58 = uVar58 >> 8;\n                puVar61 = puVar61 + 1;\n              }\n              pbVar13[0xb] = 0;\n              bVar64 = true;\n            }\n            goto LAB_0001a954;\n          }\n          in_stack_ffffff58 = obfd;\n          local_5c = obfd;\n          if (!bVar64) goto LAB_0001a75c;\n          pvVar44 = (void *)xmalloc(pbVar36,pvVar70,pbVar42,pbVar71);\n          bVar43 = 0;\n          pvVar70 = pvVar44;\n          local_80 = pbVar50;\n          for (pbVar56 = local_60; pbVar56 < local_64; pbVar56 = pbVar56 + 9) {\n            bVar45 = *pbVar56;\n            sVar34 = pbVar56[1] + 0xc + bVar45;\n            bVar10 = pbVar56[2];\n            pvVar49 = pvVar70;\n            if (bVar10 != 0) {\n              if (pbVar56[8] == 0) {\n                memcpy(pvVar70,local_80,sVar34);\n                pvVar49 = (void *)((int)pvVar70 + sVar34);\n              }\n              else {\n                pbVar57 = (bfd_byte *)pbVar56[6];\n                p_Var9 = ibfd->xvec->bfd_putx32;\n                __dest = (void *)((int)pvVar70 + 0xc);\n                pvVar49 = (void *)((int)__dest + bVar45);\n                if ((pbVar57 == local_74) && (pbVar56[7] == bVar43)) {\n                  (*p_Var9)(bVar45,pvVar70);\n                  (*ibfd->xvec->bfd_putx32)(0,(void *)((int)pvVar70 + 4));\n                  (*ibfd->xvec->bfd_putx32)(bVar10,(void *)((int)pvVar70 + 8));\n                  memcpy(__dest,(void *)pbVar56[3],bVar45);\n                }\n                else {\n                  (*p_Var9)(bVar45,pvVar70);\n                  bVar43 = 8;\n                  if (ibfd->xvec->flavour == bfd_target_elf_flavour) {\n                    bVar43 = (uint)(((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02'\n                                   ) * 8 + 8;\n                  }\n                  (*ibfd->xvec->bfd_putx32)(bVar43,(void *)((int)pvVar70 + 4));\n                  (*ibfd->xvec->bfd_putx32)(bVar10,(void *)((int)pvVar70 + 8));\n                  memcpy(__dest,(void *)pbVar56[3],bVar45);\n                  pbVar8 = ibfd->xvec;\n                  if ((pbVar8->flavour == bfd_target_elf_flavour) &&\n                     (((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02')) {\n                    (*pbVar8->bfd_putx64)(ZEXT48(pbVar57),pvVar49);\n                    (*ibfd->xvec->bfd_putx64)((ulonglong)pbVar56[7],(void *)((int)pvVar49 + 8));\n                    pvVar49 = (void *)((int)pvVar49 + 0x10);\n                  }\n                  else {\n                    (*pbVar8->bfd_putx32)((bfd_vma)pbVar57,pvVar49);\n                    (*ibfd->xvec->bfd_putx32)(pbVar56[7],(void *)((int)pvVar49 + 4));\n                    pvVar49 = (void *)((int)pvVar49 + 8);\n                  }\n                }\n              }\n              local_74 = (bfd_byte *)pbVar56[6];\n              bVar43 = pbVar56[7];\n            }\n            local_80 = local_80 + sVar34;\n            pvVar70 = pvVar49;\n          }\n          pbVar57 = (bfd_byte *)((int)pvVar70 - (int)pvVar44);\n          memcpy(pbVar50,pvVar44,(size_t)pbVar57);\n          free(pvVar44);\n          free(local_60);\n          merged_size = (bfd_size_type)pbVar57;\n          if (pbVar36 != pbVar57) {\n            iVar18 = (int)pbVar62->proxy_origin;\n            uVar29 = extraout_ECX_02;\n            if ((iVar18 != 0) &&\n               (iVar18 = bfd_set_section_size(obfd,iVar18,pbVar57,extraout_EDX),\n               uVar29 = extraout_ECX_03, iVar18 != 0)) goto LAB_00018aad;\n            pcVar24 = (char *)dcgettext(0,"warning: failed to set merged notes size",5,uVar29);\n            bfd_nonfatal_message((char *)0x0,obfd,(asection *)pbVar62,pcVar24);\n          }\n        }\n        else {\n          pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute notes: excess data at end",5,\n                                      local_64);\nLAB_0001a72d:\n          if (pcVar24 != (char *)0x0) {\n            bfd_set_error(0x11);\n            bfd_nonfatal_message((char *)0x0,ibfd,(asection *)pbVar62,pcVar24);\n            status = 1;\n          }\nLAB_0001a75c:\n          free(local_60);\n        }\n        free(merged_notes);\n        merged_notes = (bfd_byte *)0x0;\n        merge_notes = 0;\n        merged_size = 0;\n      }\n    }\n  }\nLAB_00018aad:\n  obfd = local_5c;\n  local_98 = gnu_debuglink_filename;\n  for (psVar6 = dump_sections; gnu_debuglink_filename = local_98, psVar6 != (section_add *)0x0;\n      psVar6 = psVar6->next) {\n    paVar27 = (asection *)bfd_get_section_by_name(ibfd,psVar6->name);\n    if (paVar27 == (asection *)0x0) {\n      pcVar24 = psVar6->name;\n      pcVar23 = (char *)dcgettext(0,"can\'t dump section \'%s\' - it does not exist",5);\n      bfd_nonfatal_message((char *)0x0,ibfd,(asection *)0x0,pcVar23,pcVar24);\n    }\n    else {\n      if ((paVar27->flags & 0x100) == 0) {\n        pcVar24 = "can\'t dump section - it has no contents";\n      }\n      else {\n        sVar34 = paVar27->size;\n        if (sVar34 != 0) {\n          __s = fopen64(psVar6->filename,"w");\n          if (__s == (FILE *)0x0) {\n            pcVar24 = (char *)dcgettext(0,"could not open section dump file",5);\n            bfd_nonfatal_message(psVar6->filename,(bfd *)0x0,(asection *)0x0,pcVar24);\n          }\n          else {\n            iVar18 = bfd_malloc_and_get_section(ibfd,paVar27,&contents);\n            if (iVar18 == 0) {\n              pcVar24 = (char *)dcgettext(0,"could not retrieve section contents",5);\n              bfd_nonfatal_message((char *)0x0,ibfd,paVar27,pcVar24);\n            }\n            else {\n              sVar35 = fwrite(contents,1,sVar34,__s);\n              if (sVar34 != sVar35) {\n                piVar40 = __errno_location();\n                pcVar23 = strerror(*piVar40);\n                pcVar24 = psVar6->filename;\n                pcVar41 = (char *)dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                non_fatal(pcVar41,pcVar24,pcVar23);\n                free(contents);\n                return 0;\n              }\n            }\n            fclose(__s);\n            free(contents);\n          }\n          goto LAB_00018b49;\n        }\n        pcVar24 = "can\'t dump section - it is empty";\n      }\n      pcVar24 = (char *)dcgettext(0,pcVar24,5);\n      bfd_nonfatal_message((char *)0x0,ibfd,paVar27,pcVar24);\n    }\nLAB_00018b49:\n    local_98 = gnu_debuglink_filename;\n  }\n  if (local_98 != (char *)0x0) {\n    iVar18 = bfd_get_section_by_name(local_5c,".gnu_debuglink");\n    if (iVar18 == 0) {\n      local_98 = (char *)bfd_create_gnu_debuglink_section(local_5c,gnu_debuglink_filename);\n      pcVar24 = gnu_debuglink_filename;\n      if (local_98 == (char *)0x0) {\n        pcVar23 = (char *)dcgettext(0,"cannot create debug link section `%s\'",5,local_5c);\n        bfd_nonfatal_message((char *)0x0,local_5c,(asection *)0x0,pcVar23,pcVar24);\n        return 0;\n      }\n      if (local_5c->xvec->flavour == bfd_target_coff_flavour) {\n        pbVar32 = local_5c->sections;\n        pbVar54 = (bfd_section *)0x0;\n        if (pbVar32 == (bfd_section *)0x0) {\nLAB_0001a360:\n          uVar47 = 0x1000;\n        }\n        else {\n          do {\n            pbVar53 = pbVar54;\n            if (((pbVar32->vma != 0) && (pbVar53 = pbVar32, pbVar54 != (bfd_section *)0x0)) &&\n               (pbVar53 = pbVar54, pbVar54->vma < pbVar32->vma)) {\n              pbVar53 = pbVar32;\n            }\n            pbVar32 = pbVar32->next;\n            pbVar54 = pbVar53;\n          } while (pbVar32 != (bfd_section *)0x0);\n          if (pbVar53 == (bfd_section *)0x0) goto LAB_0001a360;\n          uVar58 = pbVar53->size + pbVar53->vma;\n          uVar47 = 0xffffffff;\n          if (uVar58 < 0xfffff001) {\n            uVar47 = uVar58 + 0xfff & 0xfffff000;\n          }\n        }\n        *(uint *)(local_98 + 0x20) = uVar47;\n        *(uint *)(local_98 + 0x1c) = uVar47;\n        local_98[0x18] = local_98[0x18] | 1;\n      }\n    }\n    else {\n      pcVar24 = local_5c->filename;\n      pcVar23 = (char *)dcgettext(0,"%s: debuglink section already exists",5);\n      non_fatal(pcVar23,pcVar24);\n      gnu_debuglink_filename = (char *)0x0;\n      local_98 = (char *)0x0;\n    }\n  }\n  pbVar62 = (bfd *)local_5c->section_count;\n  local_8c = pbVar62;\n  if (pbVar62 == (bfd *)0x0) {\nLAB_00018ff7:\n    local_90 = (void *)0x0;\n    local_84 = (int *)0x0;\n    pbVar69 = local_8c;\n  }\n  else {\n    if (gap_fill_set == 0 && pad_to_set == 0) {\n      local_8c = (bfd *)0x0;\n      goto LAB_00018ff7;\n    }\n    sVar34 = (int)pbVar62 * 4;\n    local_84 = (int *)xmalloc(sVar34);\n    contents = (bfd_byte *)local_84;\n    bfd_map_over_sections(local_5c,get_sections,&contents);\n    qsort(local_84,(size_t)pbVar62,4,compare_section_lma);\n    local_90 = (void *)xmalloc(sVar34);\n    memset(local_90,0,sVar34);\n    if ((gap_fill_set == 0) || (pbVar62 == (bfd *)0x1)) {\n      local_8c = (bfd *)0x0;\n    }\n    else {\n      puVar61 = (undefined1 *)0x0;\n      local_8c = (bfd *)0x0;\n      piVar40 = local_84;\n      do {\n        iVar18 = *piVar40;\n        puVar61 = puVar61 + 1;\n        pbVar69 = local_8c;\n        if ((*(uint *)(iVar18 + 0x14) & 0x102) == 0x102) {\n          uVar58 = *(int *)(iVar18 + 0x20) + *(int *)(iVar18 + 0x24);\n          if (uVar58 < *(uint *)(piVar40[1] + 0x20)) {\n            pbVar69 = (bfd *)(*(uint *)(piVar40[1] + 0x20) - uVar58);\n            uVar67 = bfd_set_section_size\n                               (local_5c,iVar18,(int)&pbVar69->filename + *(int *)(iVar18 + 0x24));\n            if ((int)uVar67 == 0) {\n              pcVar24 = (char *)dcgettext(0,"Can\'t fill gap after section",5,\n                                          (int)((ulonglong)uVar67 >> 0x20));\n              bfd_nonfatal_message((char *)0x0,local_5c,(asection *)*piVar40,pcVar24);\n              status = 1;\n              break;\n            }\n            *(bfd **)((int)local_90 + (int)puVar61 * 4 + -4) = pbVar69;\n            if (pbVar69 <= local_8c) {\n              pbVar69 = local_8c;\n            }\n          }\n        }\n        local_8c = pbVar69;\n        piVar40 = piVar40 + 1;\n      } while ((undefined1 *)((int)&pbVar62[-1].build_id + 3) != puVar61);\n    }\n    pbVar69 = local_8c;\n    if (pad_to_set != 0) {\n      iVar18 = local_84[(int)((int)&pbVar62[-1].build_id + 3)];\n      uVar58 = *(int *)(iVar18 + 0x24) + *(int *)(iVar18 + 0x20);\n      if (uVar58 < pad_to) {\n        iVar18 = bfd_set_section_size(local_5c,iVar18,pad_to - *(int *)(iVar18 + 0x20));\n        if (iVar18 == 0) {\n          pcVar24 = (char *)dcgettext(0,"can\'t add padding",5,uVar58);\n          bfd_nonfatal_message\n                    ((char *)0x0,local_5c,\n                     (asection *)local_84[(int)((int)&pbVar62[-1].build_id + 3)],pcVar24);\n          status = 1;\n        }\n        else {\n          pbVar69 = (bfd *)(pad_to - uVar58);\n          *(bfd **)((int)local_90 + (sVar34 - 4)) = pbVar69;\n          if (pbVar69 <= local_8c) {\n            pbVar69 = local_8c;\n          }\n        }\n      }\n    }\n  }\n  local_8c = pbVar69;\n  local_94 = (bfd *)0x0;\n  if (convert_debugging != 0) {\n    local_94 = (bfd *)read_debugging_info(ibfd,isympp,local_70,0);\n  }\n  if (strip_symbols - STRIP_DEBUG < 6) {\nLAB_00019032:\n    if (strip_symbols != STRIP_ALL) {\nLAB_00019037:\n      bfd_set_error(0);\n      bfd_map_over_sections(ibfd,mark_symbols_used_in_relocations,isympp);\n      iVar18 = bfd_get_error();\n      if (iVar18 != 0) {\n        status = 1;\n        return 0;\n      }\n    }\n    ppaVar31 = (asymbol **)xmalloc((add_symbols + local_70) * 4 + 4);\n    local_68 = isympp;\n    uVar58 = *(uint *)&ibfd->field_0x28;\n    osympp = ppaVar31;\n    if (local_70 != 0) {\n      ppaVar1 = isympp + local_70;\n      local_70 = 0;\n      pbVar32 = (bfd_section *)(PTR__bfd_std_section_0003efc8 + 0xa8);\n      do {\n        iVar18 = add_symbols;\n        paVar37 = *local_68;\n        uVar47 = paVar37->flags;\n        pbVar36 = (bfd_byte *)paVar37->name;\n        pbVar54 = paVar37->section;\n        if (((add_sym_list != (addsym_node *)0x0) && (0 < add_symbols)) &&\n           (pcVar24 = add_sym_list->othersym, pcVar24 != (char *)0x0)) {\n          local_5c = (bfd *)0x0;\n          ptr = add_sym_list;\n          while (iVar22 = strcmp(pcVar24,(char *)pbVar36), iVar22 != 0) {\n            local_5c = (bfd *)((int)local_5c + 1);\n            ptr = ptr->next;\n            if ((local_5c == (bfd *)iVar18) || (pcVar24 = ptr->othersym, pcVar24 == (char *)0x0))\n            goto LAB_00019180;\n          }\n          free(pcVar24);\n          ptr->othersym = "";\n          ppaVar2 = ppaVar31 + local_70;\n          local_70 = local_70 + 1;\n          paVar33 = create_new_symbol(ptr,obfd);\n          *ppaVar2 = paVar33;\n        }\nLAB_00019180:\n        iVar18 = htab_elements(redefine_specific_htab);\n        pbVar50 = pbVar36;\n        if ((iVar18 != 0) || (section_rename_list != (section_rename *)0x0)) {\n          local_2c = 0;\n          contents = pbVar36;\n          iVar18 = htab_find(redefine_specific_htab,&contents);\n          if (((iVar18 == 0) || (pbVar50 = *(bfd_byte **)(iVar18 + 4), pbVar36 == pbVar50)) &&\n             (psVar15 = section_rename_list, (uVar47 & 0x100) != 0)) {\n            for (; pbVar50 = pbVar36, psVar15 != (section_rename *)0x0; psVar15 = psVar15->next) {\n              iVar18 = strcmp(psVar15->old_name,(char *)pbVar36);\n              if (iVar18 == 0) {\n                pbVar50 = (bfd_byte *)psVar15->new_name;\n                break;\n              }\n            }\n          }\n          paVar37->name = (char *)pbVar50;\n        }\n        pcVar24 = prefix_symbols_string;\n        bVar17 = ibfd->xvec->symbol_leading_char;\n        if (*pbVar50 == bVar17) {\n          if (change_leading_char == 0) {\n            if ((remove_leading_char == 0) ||\n               ((((uVar47 & 0x82) == 0 && (pbVar54 != pbVar32)) &&\n                ((paVar37->section->flags & 0x1000) == 0)))) goto LAB_00019203;\nLAB_0001943c:\n            pbVar50 = pbVar50 + 1;\n            paVar37->name = (char *)pbVar50;\n            goto LAB_00019203;\n          }\n          bVar17 = obfd->xvec->symbol_leading_char;\n          if (bVar17 == '\0') goto LAB_0001943c;\n          if (prefix_symbols_string != (char *)0x0) {\n            pbVar50 = pbVar50 + 1;\n            paVar37->name = (char *)pbVar50;\n            goto LAB_0001945b;\n          }\n          *pbVar50 = bVar17;\n          paVar37->name = (char *)pbVar50;\n        }\n        else {\n          if (((change_leading_char == 0) || (obfd->xvec->symbol_leading_char == '\0')) ||\n             (bVar17 != '\0')) {\nLAB_00019203:\n            if (pcVar24 == (char *)0x0) goto LAB_0001926f;\n            sVar34 = strlen(pcVar24);\n            sVar35 = strlen((char *)pbVar50);\n            pbVar36 = (bfd_byte *)xmalloc(sVar34 + 2 + sVar35);\n            local_5c = (bfd *)pbVar36;\n          }\n          else {\nLAB_0001945b:\n            sVar34 = strlen(pcVar24);\n            sVar35 = strlen((char *)pbVar50);\n            pbVar36 = (bfd_byte *)xmalloc(sVar34 + 2 + sVar35);\n            local_5c = (bfd *)(pbVar36 + 1);\n            *pbVar36 = obfd->xvec->symbol_leading_char;\n          }\n          pcVar24 = prefix_symbols_string;\n          if (prefix_symbols_string != (char *)0x0) {\n            strcpy((char *)local_5c,prefix_symbols_string);\n            sVar34 = strlen(pcVar24);\n            local_5c = (bfd *)((int)local_5c + sVar34);\n          }\n          strcpy((char *)local_5c,(char *)pbVar50);\n          paVar37->name = (char *)pbVar36;\n          pbVar50 = pbVar36;\n        }\nLAB_0001926f:\n        if (strip_symbols == STRIP_ALL) goto LAB_000192f8;\n        if ((uVar47 & 0x20) == 0) {\n          if (((uVar47 & 0x100) == 0) || (((*paVar37->section->symbol_ptr_ptr)->flags & 0x20) == 0))\n          {\n            if ((((uVar58 >> 5 & 0x42) == 0) &&\n                (((uVar47 & 0x82) != 0 || ((paVar37->section->flags & 0x1000) != 0)))) ||\n               (iVar18 = bfd_decode_symclass(paVar37), iVar18 == 0x49)) {\nLAB_00019528:\n              bVar21 = is_specified_symbol((char *)pbVar50,strip_specific_htab);\n              if (bVar21 == 0) goto LAB_000192e0;\n            }\n            else if ((((uVar47 & 0x82) == 0) &&\n                     (pbVar54 != (bfd_section *)(PTR__bfd_std_section_0003efc8 + 0xa8))) &&\n                    ((paVar37->section->flags & 0x1000) == 0)) {\n              if ((uVar47 & 4) == 0) {\n                if (((ibfd->xvec->flavour != bfd_target_coff_flavour) ||\n                    (pvVar70 = paVar37->section->used_by_bfd, pvVar70 == (void *)0x0)) ||\n                   (*(int *)((int)pvVar70 + 0x24) == 0)) {\n                  if ((strip_symbols == STRIP_UNNEEDED) || (discard_locals == LOCALS_ALL))\n                  goto LAB_000192f8;\n                  if (discard_locals == LOCALS_START_L) {\n                    iVar18 = bfd_is_local_label(ibfd,paVar37,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }\n                goto LAB_00019528;\n              }\n              iVar18 = convert_debugging;\n              if (1 < strip_symbols - STRIP_DEBUG) {\njoined_r0x0001a13f:\n                if (iVar18 == 0) goto LAB_00019528;\n              }\n            }\n            else if (strip_symbols != STRIP_UNNEEDED) goto LAB_00019528;\n          }\n          else {\n            bVar21 = is_specified_symbol((char *)pbVar50,strip_specific_htab);\n            if (bVar21 != 0) {\n              pcVar24 = (char *)dcgettext(0,\n                                          "not stripping symbol `%s\' because it is named in a relocation"\n                                          ,5,bVar21);\n              non_fatal(pcVar24,pbVar50);\n              status = 1;\n            }\nLAB_000192e0:\n            bVar21 = is_specified_symbol((char *)pbVar50,strip_unneeded_htab);\n            if (bVar21 == 0) goto LAB_0001931c;\n          }\nLAB_000192f8:\n          if (((keep_file_symbols != 0) && ((uVar47 & 0x4000) != 0)) ||\n             (bVar21 = is_specified_symbol((char *)pbVar50,keep_specific_htab), bVar21 != 0))\n          goto LAB_0001931c;\n        }\n        else {\n          bVar21 = is_specified_symbol((char *)pbVar50,strip_specific_htab);\n          if (bVar21 != 0) {\n            pcVar24 = (char *)dcgettext(0,\n                                        "not stripping symbol `%s\' because it is named in a relocation"\n                                        ,5);\n            non_fatal(pcVar24,pbVar50);\n            status = 1;\n          }\nLAB_0001931c:\n          bVar21 = is_strip_section(in_stack_ffffff54,(asection *)in_stack_ffffff58);\n          if (bVar21 == 0) {\n            if (((uVar47 & 2) != 0) &&\n               ((weaken != 0 ||\n                (bVar21 = is_specified_symbol((char *)pbVar50,weaken_specific_htab), bVar21 != 0))))\n            {\n              paVar37->flags = paVar37->flags & 0xfffffffd | 0x80;\n            }\n            if (pbVar54 != (bfd_section *)(PTR__bfd_std_section_0003efc8 + 0xa8)) {\n              if (((uVar47 & 0x82) != 0) &&\n                 (((bVar21 = is_specified_symbol((char *)pbVar50,localize_specific_htab),\n                   bVar21 != 0 ||\n                   ((iVar18 = htab_elements(keepglobal_specific_htab), iVar18 != 0 &&\n                    (bVar21 = is_specified_symbol((char *)pbVar50,keepglobal_specific_htab),\n                    bVar21 == 0)))) ||\n                  ((localize_hidden != 0 &&\n                   ((((pbVar62 = paVar37->the_bfd, pbVar62 != (bfd *)0x0 &&\n                      (pbVar62->xvec->flavour == bfd_target_elf_flavour)) &&\n                     ((pbVar62->tdata).aout_data != (aout_data_struct *)0x0)) &&\n                    ((*(byte *)((int)&paVar37[1].flags + 1) & 3) - 1 < 2)))))))) {\n                paVar37->flags = paVar37->flags & 0xffffff7d | 1;\n              }\n              if (((uVar47 & 1) != 0) &&\n                 (bVar21 = is_specified_symbol((char *)pbVar50,globalize_specific_htab), bVar21 != 0\n                 )) {\n                paVar37->flags = paVar37->flags & 0xfffffffe | 2;\n              }\n            }\n            ppaVar31[local_70] = paVar37;\n            local_70 = local_70 + 1;\n          }\n        }\n        local_68 = local_68 + 1;\n      } while (ppaVar1 != local_68);\n    }\n    local_5c = (bfd *)add_sym_list;\n    if ((add_sym_list != (addsym_node *)0x0) && (0 < add_symbols)) {\n      iVar18 = 0;\n      do {\n        pcVar24 = (char *)local_5c->lru_next;\n        if (pcVar24 == (char *)0x0) {\n          paVar37 = create_new_symbol((addsym_node *)local_5c,obfd);\n          ppaVar31[local_70] = paVar37;\n          local_70 = local_70 + 1;\n        }\n        else if (*pcVar24 != '\0') {\n          pcVar23 = (char *)dcgettext(0,"\'before=%s\' not found",5,local_70);\n                    /* WARNING: Subroutine does not return */\n          fatal(pcVar23,pcVar24);\n        }\n        iVar18 = iVar18 + 1;\n        local_5c = (bfd *)local_5c->filename;\n      } while (iVar18 < add_symbols);\n    }\n    ppaVar31[local_70] = (asymbol *)0x0;\n    if ((convert_debugging != 0) && (local_94 != (bfd *)0x0)) {\n      bVar11 = obfd->xvec->flavour;\n      if ((bVar11 != bfd_target_coff_flavour) && (bVar11 != bfd_target_elf_flavour)) {\n        pcVar24 = obfd->xvec->name;\n        pcVar23 = (char *)dcgettext(0,"don\'t know how to write debugging information for %s",5);\n        bfd_nonfatal_message((char *)0x0,obfd,(asection *)0x0,pcVar23,pcVar24);\n        status = 1;\n        return 0;\n      }\n      bVar21 = write_stabs_in_sections_debugging_info\n                         (obfd,local_94,&syms,(bfd_size_type *)file_alignment,&strings,\n                          (bfd_size_type *)&contents);\n      if (bVar21 == 0) {\n        status = 1;\n        return 0;\n      }\n      iVar18 = bfd_make_section_with_flags(obfd,".stab",0x2108);\n      iVar22 = bfd_make_section_with_flags(obfd,".stabstr",0x2108);\n      if ((((iVar18 == 0) || (iVar22 == 0)) ||\n          (iVar39 = bfd_set_section_size(obfd,iVar18,file_alignment._0_4_,iVar22), iVar39 == 0)) ||\n         (iVar39 = bfd_set_section_size(obfd,iVar22,contents,iVar39), iVar39 == 0)) {\n        pcVar24 = "can\'t create debugging section";\nLAB_00019fcf:\n        pcVar24 = (char *)dcgettext(0,pcVar24,5,iVar18);\n        bfd_nonfatal_message((char *)0x0,obfd,(asection *)0x0,pcVar24);\n        status = 1;\n        return 0;\n      }\n      *(undefined4 *)(iVar18 + 0x40) = 2;\n      *(undefined4 *)(iVar22 + 0x40) = 0;\n      iVar18 = bfd_set_section_contents(obfd,iVar18,syms,0,0,file_alignment._0_4_,iVar39,iVar39);\n      if ((iVar18 == 0) ||\n         (iVar18 = bfd_set_section_contents\n                             (obfd,iVar22,strings,0,0,contents,extraout_ECX,extraout_ECX),\n         iVar18 == 0)) {\n        pcVar24 = "can\'t set debugging section contents";\n        iVar18 = iVar22;\n        goto LAB_00019fcf;\n      }\n    }\n  }\n  else {\n    if (localize_hidden != 0 || discard_locals != LOCALS_UNDEF) goto LAB_00019037;\n    iVar18 = htab_elements(strip_specific_htab);\n    if (((iVar18 != 0) || (iVar18 = htab_elements(keep_specific_htab), iVar18 != 0)) ||\n       ((iVar18 = htab_elements(localize_specific_htab), iVar18 != 0 ||\n        (((((iVar18 = htab_elements(globalize_specific_htab), iVar18 != 0 ||\n            (iVar18 = htab_elements(keepglobal_specific_htab), iVar18 != 0)) ||\n           (iVar18 = htab_elements(weaken_specific_htab), iVar18 != 0)) ||\n          ((iVar18 = htab_elements(redefine_specific_htab), prefix_symbols_string != (char *)0x0 ||\n           (section_rename_list != (section_rename *)0x0)))) ||\n         (((((((sections_removed != 0 || sections_copied != 0) || convert_debugging != 0) ||\n             change_leading_char != 0) || remove_leading_char != 0) || weaken != 0) ||\n          add_symbols != 0) || iVar18 != 0)))))) goto LAB_00019032;\n  }\n  bfd_set_symtab(obfd,osympp,local_70);\n  bfd_map_over_sections(ibfd,copy_relocations_in_section,obfd);\n  bfd_map_over_sections(ibfd,copy_section,obfd);\n  pbVar62 = ibfd;\n  for (psVar6 = add_sections; psVar14 = update_sections, psVar6 != (section_add *)0x0;\n      psVar6 = psVar6->next) {\n    iVar18 = bfd_set_section_contents(obfd,psVar6->section,psVar6->contents,0,0,psVar6->size);\n    if (iVar18 == 0) {\n      pbVar62 = (bfd *)psVar6->section;\n      local_50 = 0;\n      goto LAB_00019763;\n    }\n    pbVar62 = obfd;\n  }\n  for (; psVar14 != (section_add *)0x0; psVar14 = psVar14->next) {\n    pbVar62 = (bfd *)psVar14->section->output_section;\n    local_50 = bfd_set_section_contents(obfd,pbVar62,psVar14->contents,0,0,psVar14->size);\n    if (local_50 == 0) {\nLAB_00019763:\n      bfd_nonfatal_message((char *)0x0,obfd,(asection *)pbVar62,(char *)0x0);\n      return local_50;\n    }\n  }\n  pbVar69 = (bfd *)0x0;\n  if (merge_notes != 0) {\n    pbVar69 = (bfd *)bfd_get_section_by_name(obfd,".gnu.build.attributes");\n    if (((pbVar69 == (bfd *)0x0) || (merge_notes == 0)) ||\n       ((obfd->xvec->flavour != bfd_target_elf_flavour ||\n        (bVar21 = is_merged_note_section(pbVar69,(asection *)&pbVar69->archive_next,sec_1_00),\n        bVar21 == 0)))) {\n      if (is_strip == 0) {\n        pcVar24 = (char *)dcgettext(0,"could not find any mergeable note sections",5,0);\n        bfd_nonfatal_message((char *)0x0,obfd,(asection *)pbVar69,pcVar24);\n      }\n    }\n    else {\n      iVar18 = bfd_set_section_contents(obfd,pbVar69,merged_notes,0,0,merged_size,bVar21,bVar21);\n      if (iVar18 == 0) {\n        pcVar24 = (char *)dcgettext(0,"error: failed to copy merged notes into output",5,0);\n        goto LAB_0001a2cd;\n      }\n    }\n    free(merged_notes);\n    merged_notes = (bfd_byte *)0x0;\n    merge_notes = 0;\n    pbVar62 = obfd;\n  }\n  if ((gnu_debuglink_filename != (char *)0x0) &&\n     (iVar18 = bfd_fill_in_gnu_debuglink_section(obfd,local_98,gnu_debuglink_filename),\n     pcVar24 = gnu_debuglink_filename, iVar18 == 0)) {\n    pcVar23 = (char *)dcgettext(0,"cannot fill debug link section `%s\'",5,0);\n    bfd_nonfatal_message((char *)0x0,obfd,(asection *)0x0,pcVar23,pcVar24);\n    return 0;\n  }\n  if (gap_fill_set != 0 || pad_to_set != 0) {\n    pbVar69 = (bfd *)0x2000;\n    if (local_8c < (bfd *)0x2001) {\n      pbVar69 = local_8c;\n    }\n    puVar38 = (undefined4 *)xmalloc(pbVar69);\n    pcVar24 = (char *)((uint)gap_fill * 0x1010101);\n    if (pbVar69 < (bfd *)0x4) {\n      if ((pbVar69 != (bfd *)0x0) && (*(char *)puVar38 = (char)pcVar24, ((uint)pbVar69 & 2) != 0)) {\n        *(short *)((int)puVar38 + -2 + (int)pbVar69) = (short)pcVar24;\n      }\n    }\n    else {\n      *puVar38 = pcVar24;\n      *(char **)((int)(puVar38 + -1) + (int)pbVar69) = pcVar24;\n      pbVar62 = (bfd *)((uint)(puVar38 + 1) & 0xfffffffc);\n      for (uVar58 = (uint)(((int)puVar38 - (int)((uint)(puVar38 + 1) & 0xfffffffc)) + (int)pbVar69)\n                    >> 2; uVar58 != 0; uVar58 = uVar58 - 1) {\n        pbVar62->filename = pcVar24;\n        pbVar62 = (bfd *)((int)pbVar62 + (uint)bVar66 * -8 + 4);\n      }\n    }\n    pbVar42 = (bfd *)obfd->section_count;\n    if (pbVar42 != (bfd *)0x0) {\n      pbVar62 = (bfd *)0x0;\n      do {\n        pbVar69 = *(bfd **)((int)local_90 + (int)pbVar62 * 4);\n        if (pbVar69 != (bfd *)0x0) {\n          iVar18 = local_84[(int)pbVar62];\n          local_58 = 0;\n          local_5c = (bfd *)(*(int *)(iVar18 + 0x24) - (int)pbVar69);\n          while( true ) {\n            pbVar55 = (bfd *)0x2000;\n            if (pbVar69 < (bfd *)0x2001) {\n              pbVar55 = pbVar69;\n            }\n            iVar18 = bfd_set_section_contents(obfd,iVar18,puVar38,local_5c,local_58,pbVar55);\n            if (iVar18 == 0) {\n              pbVar62 = (bfd *)local_84[(int)pbVar62];\n              local_50 = 0;\n              goto LAB_00019763;\n            }\n            bVar64 = CARRY4((uint)local_5c,(uint)pbVar55);\n            local_5c = (bfd *)((int)&pbVar55->filename + (int)local_5c);\n            local_58 = local_58 + (uint)bVar64;\n            pbVar69 = (bfd *)((int)pbVar69 - (int)pbVar55);\n            if (pbVar69 == (bfd *)0x0) break;\n            iVar18 = local_84[(int)pbVar62];\n          }\n        }\n        pbVar62 = (bfd *)((int)&pbVar62->filename + 1);\n      } while (pbVar42 != pbVar62);\n    }\n  }\n  bVar21 = (*obfd->xvec->_bfd_copy_private_bfd_data)(ibfd,obfd);\n  if (bVar21 != 0) {\n    if ((use_alt_mach_code != 0) &&\n       (iVar18 = bfd_alt_mach_code(obfd,use_alt_mach_code,pbVar69,pbVar69),\n       uVar20 = use_alt_mach_code, iVar18 == 0)) {\n      pcVar24 = (char *)dcgettext(0,"this target does not support %lu alternative machine codes",5,\n                                  pbVar62);\n      non_fatal(pcVar24,uVar20);\n      if (obfd->xvec->flavour != bfd_target_elf_flavour) {\n        pcVar24 = (char *)dcgettext(0,"ignoring the alternative value",5,extraout_ECX_00);\n        non_fatal(pcVar24);\n        return 1;\n      }\n      pcVar24 = (char *)dcgettext(0,"treating that number as an absolute e_machine value instead",5,\n                                  uVar20);\n      non_fatal(pcVar24);\n      *(short *)((int)&((obfd->tdata).coff_obj_data)->local_n_btshft + 2) = (short)use_alt_mach_code\n      ;\n    }\n    return 1;\n  }\n  pcVar24 = (char *)dcgettext(0,"error copying private BFD data",5,pbVar62);\n  pbVar69 = (bfd *)0x0;\nLAB_0001a2cd:\n  bfd_nonfatal_message((char *)0x0,obfd,(asection *)pbVar69,pcVar24);\n  return 0;\n}\n\n" comment comment comment (function_definition "bfd_boolean __regparm3 copy_object(bfd *ibfd,bfd *obfd,bfd_arch_info_type *input_arch)\n\n{\n  void *__dest;\n  asymbol **ppaVar1;\n  asymbol **ppaVar2;\n  bfd_byte *pbVar3;\n  bfd_endian bVar4;\n  bfd_endian bVar5;\n  section_add *psVar6;\n  pe_tdata *ppVar7;\n  bfd_target *pbVar8;\n  _func_void_bfd_vma_void_ptr *p_Var9;\n  bfd_vma bVar10;\n  bfd_flavour bVar11;\n  bfd_vma *pbVar12;\n  bfd_vma *pbVar13;\n  section_add *psVar14;\n  section_rename *psVar15;\n  bfd_vma *pbVar16;\n  bfd_byte bVar17;\n  int iVar18;\n  bfd_architecture bVar19;\n  ulong uVar20;\n  bfd_boolean bVar21;\n  int iVar22;\n  char *pcVar23;\n  char *pcVar24;\n  long lVar25;\n  section_list *psVar26;\n  asection *paVar27;\n  FILE *__s;\n  char *pcVar28;\n  char *__format;\n  undefined4 uVar29;\n  undefined4 uVar30;\n  asymbol **ppaVar31;\n  bfd_section *pbVar32;\n  asymbol *paVar33;\n  size_t sVar34;\n  size_t sVar35;\n  bfd_byte *pbVar36;\n  asymbol *paVar37;\n  undefined4 *puVar38;\n  int iVar39;\n  int *piVar40;\n  char *pcVar41;\n  bfd *pbVar42;\n  bfd_vma bVar43;\n  void *pvVar44;\n  bfd_vma bVar45;\n  asection *sec_1;\n  undefined4 extraout_ECX;\n  asection *sec_1_00;\n  undefined4 extraout_ECX_00;\n  undefined4 extraout_ECX_01;\n  uint uVar46;\n  undefined4 extraout_ECX_02;\n  undefined4 extraout_ECX_03;\n  uint uVar47;\n  uint uVar48;\n  void *pvVar49;\n  undefined4 extraout_EDX;\n  addsym_node *ptr;\n  bfd_byte *pbVar50;\n  byte *pbVar51;\n  uchar **ppuVar52;\n  bfd_section *pbVar53;\n  bfd_section *pbVar54;\n  bfd *pbVar55;\n  bfd_vma *pbVar56;\n  bfd_byte *pbVar57;\n  uint uVar58;\n  byte *pbVar59;\n  internal_extra_pe_aouthdr *piVar60;\n  undefined1 *puVar61;\n  bfd *pbVar62;\n  bfd_vma *pbVar63;\n  bool bVar64;\n  bool bVar65;\n  byte bVar66;\n  undefined8 uVar67;\n  bfd_uint64_t bVar68;\n  bfd *pbVar69;\n  void *pvVar70;\n  bfd *pbVar71;\n  bfd *in_stack_ffffff54;\n  bfd *in_stack_ffffff58;\n  char *local_98;\n  bfd *local_94;\n  void *local_90;\n  bfd *local_8c;\n  int *local_84;\n  bfd_byte *local_80;\n  bfd_vma *local_7c;\n  bfd_byte *local_74;\n  int local_70;\n  uint local_6c;\n  asymbol **local_68;\n  bfd_vma *local_64;\n  bfd_vma *local_60;\n  bfd *local_5c;\n  int local_58;\n  bfd_boolean local_50;\n  bfd_byte *syms;\n  bfd_byte *strings;\n  char file_alignment [20];\n  bfd_byte *contents;\n  undefined4 local_2c;\n  undefined4 uStack_14;\n  \n  bVar66 = 0;\n  uStack_14 = 0x185fd;\n  bVar4 = ibfd->xvec->byteorder;\n  bVar5 = obfd->xvec->byteorder;\n  if ((bVar4 != bVar5 && bVar4 != BFD_ENDIAN_UNKNOWN) && (bVar5 != BFD_ENDIAN_UNKNOWN)) {\n    pcVar24 = (char *)dcgettext(0,"Unable to change endianness of input file(s)",5);\n    non_fatal(pcVar24);\n    return 0;\n  }\n  iVar18 = bfd_set_format(obfd,ibfd->field_0x28 & 7);\n  if (iVar18 == 0) {\n    bfd_nonfatal_message((char *)0x0,obfd,(asection *)0x0,(char *)0x0);\n    return 0;\n  }\n  if (ibfd->sections == (bfd_section *)0x0) {\n    pcVar23 = bfd_get_archive_filename(ibfd);\n    pcVar24 = "error: the input file \'%s\' has no sections";\n    goto LAB_00018bc8;\n  }\n  if (ibfd->xvec->flavour != bfd_target_elf_flavour) {\n    if ((do_debug_sections != _sch_isblank) && ((do_debug_sections & _sch_isblank) != nothing)) {\n      pcVar23 = bfd_get_archive_filename(ibfd);\n      pcVar24 = "--compress-debug-sections=[zlib|zlib-gnu|zlib-gabi] is unsupported on `%s\'";\nLAB_00018bc8:\n      pcVar24 = (char *)dcgettext(0,pcVar24,5);\n      non_fatal(pcVar24,pcVar23);\n      return 0;\n    }\n    if (do_elf_stt_common != unchanged) {\n      pcVar23 = bfd_get_archive_filename(ibfd);\n      pcVar24 = "--elf-stt-common=[yes|no] is unsupported on `%s\'";\n      goto LAB_00018bc8;\n    }\n  }\n  if (verbose != 0) {\n    pcVar24 = ibfd->xvec->name;\n    pcVar23 = obfd->xvec->name;\n    pcVar41 = obfd->filename;\n    pcVar28 = bfd_get_archive_filename(ibfd);\n    __format = (char *)dcgettext(0,"copy from `%s\' [%s] to `%s\' [%s]\n",5);\n    printf(__format,pcVar28,pcVar24,pcVar41,pcVar23);\n  }\n  iVar18 = 0;\n  if (extract_symbol == 0) {\n    bVar43 = set_start;\n    if (set_start_set == 0) {\n      bVar43 = ibfd->start_address;\n    }\n    iVar18 = bVar43 + change_start;\n  }\n  if ((obfd->field_0x28 & 7) != 3) {\n    uVar58 = ~bfd_flags_to_clear & obfd->xvec->object_flags &\n             (*(uint *)&ibfd->field_0x28 >> 5 & 0xfffff | bfd_flags_to_set);\n    if (strip_symbols == STRIP_ALL) {\n      uVar58 = uVar58 & 0xfffffffe;\n    }\n    iVar18 = bfd_set_start_address(obfd,iVar18);\n    if ((iVar18 == 0) || (iVar18 = bfd_set_file_flags(obfd,uVar58), iVar18 == 0)) goto LAB_00018840;\n  }\n  bVar19 = bfd_get_arch(ibfd);\n  uVar20 = bfd_get_mach(ibfd);\n  if (input_arch != (bfd_arch_info_type *)0x0) {\n    iVar18 = bfd_get_arch_info(ibfd);\n    if ((iVar18 == 0) || (iVar18 = bfd_get_arch_info(ibfd), *(int *)(iVar18 + 0xc) == 0)) {\n      bVar19 = input_arch->arch;\n      uVar20 = input_arch->mach;\n    }\n    else {\n      pcVar24 = bfd_get_archive_filename(ibfd);\n      pcVar23 = (char *)dcgettext(0,"Input file `%s\' ignores binary architecture parameter.",5);\n      non_fatal(pcVar23,pcVar24);\n    }\n  }\n  bVar21 = (*obfd->xvec->_bfd_set_arch_mach)(obfd,bVar19,uVar20);\n  if (bVar21 == 0) {\n    if ((ibfd->field_0x2b & 4) != 0) {\nLAB_000187e7:\n      iVar18 = bfd_get_arch(ibfd);\n      if (iVar18 == 0) {\n        pcVar23 = bfd_get_archive_filename(ibfd);\n        pcVar24 = "Unable to recognise the format of the input file `%s\'";\n      }\n      else {\n        uVar29 = bfd_get_mach(ibfd);\n        uVar30 = bfd_get_arch(ibfd);\n        pcVar23 = (char *)bfd_printable_arch_mach(uVar30,uVar29);\n        pcVar24 = "Output file cannot represent architecture `%s\'";\n      }\n      pcVar24 = (char *)dcgettext(0,pcVar24,5);\n      non_fatal(pcVar24,pcVar23);\n      return 0;\n    }\n    iVar18 = bfd_get_arch(ibfd);\n    iVar22 = bfd_get_arch(obfd);\n    if (iVar18 != iVar22) goto LAB_000187e7;\n  }\n  iVar18 = bfd_set_format(obfd,ibfd->field_0x28 & 7);\n  if (iVar18 == 0) {\nLAB_00018840:\n    bfd_nonfatal_message((char *)0x0,ibfd,(asection *)0x0,(char *)0x0);\n    return 0;\n  }\n  bVar11 = obfd->xvec->flavour;\n  bVar64 = bVar11 < bfd_target_coff_flavour;\n  bVar65 = bVar11 == bfd_target_coff_flavour;\n  if (bVar65) {\n    iVar18 = 4;\n    pbVar51 = (byte *)obfd->xvec->name;\n    pbVar59 = &DAT_0002e16a;\n    do {\n      if (iVar18 == 0) break;\n      iVar18 = iVar18 + -1;\n      bVar64 = *pbVar51 < *pbVar59;\n      bVar65 = *pbVar51 == *pbVar59;\n      pbVar51 = pbVar51 + (uint)bVar66 * -2 + 1;\n      pbVar59 = pbVar59 + (uint)bVar66 * -2 + 1;\n    } while (bVar65);\n    if ((!bVar64 && !bVar65) == bVar64) {\n      ppVar7 = (obfd->tdata).pe_obj_data;\n      bVar11 = ibfd->xvec->flavour;\n      bVar64 = bVar11 < bfd_target_coff_flavour;\n      bVar65 = bVar11 == bfd_target_coff_flavour;\n      if (bVar65) {\n        iVar18 = 4;\n        pbVar51 = (byte *)ibfd->xvec->name;\n        pbVar59 = &DAT_0002e16a;\n        do {\n          if (iVar18 == 0) break;\n          iVar18 = iVar18 + -1;\n          bVar64 = *pbVar51 < *pbVar59;\n          bVar65 = *pbVar51 == *pbVar59;\n          pbVar51 = pbVar51 + (uint)bVar66 * -2 + 1;\n          pbVar59 = pbVar59 + (uint)bVar66 * -2 + 1;\n        } while (bVar65);\n        if ((!bVar64 && !bVar65) == bVar64) {\n          ppuVar52 = &(((ibfd->tdata).elf_obj_data)->symtab_hdr).contents;\n          piVar60 = &ppVar7->pe_opthdr;\n          for (iVar18 = 0x38; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *(uchar **)piVar60 = *ppuVar52;\n            ppuVar52 = ppuVar52 + (uint)bVar66 * -2 + 1;\n            piVar60 = (internal_extra_pe_aouthdr *)((int)piVar60 + (uint)bVar66 * -8 + 4);\n          }\n        }\n      }\n      bVar43 = pe_file_alignment;\n      if (pe_file_alignment == 0xffffffff) {\n        pe_file_alignment = 0x200;\n        bVar43 = 0x200;\n      }\n      else {\n        (ppVar7->pe_opthdr).FileAlignment = pe_file_alignment;\n      }\n      if (pe_heap_commit != 0xffffffff) {\n        (ppVar7->pe_opthdr).SizeOfHeapCommit = pe_heap_commit;\n      }\n      if (pe_heap_reserve != 0xffffffff) {\n        (ppVar7->pe_opthdr).SizeOfHeapCommit = pe_heap_reserve;\n      }\n      if (pe_image_base != 0xffffffff) {\n        (ppVar7->pe_opthdr).ImageBase = pe_image_base;\n      }\n      bVar45 = pe_section_alignment;\n      if (pe_section_alignment == 0xffffffff) {\n        pe_section_alignment = 0x1000;\n        bVar45 = 0x1000;\n      }\n      else {\n        (ppVar7->pe_opthdr).SectionAlignment = pe_section_alignment;\n      }\n      if (pe_stack_commit != 0xffffffff) {\n        (ppVar7->pe_opthdr).SizeOfStackCommit = pe_stack_commit;\n      }\n      if (pe_stack_reserve != 0xffffffff) {\n        (ppVar7->pe_opthdr).SizeOfStackCommit = pe_stack_reserve;\n      }\n      if (pe_subsystem != -1) {\n        (ppVar7->pe_opthdr).Subsystem = pe_subsystem;\n      }\n      if (pe_major_subsystem_version != -1) {\n        (ppVar7->pe_opthdr).MajorSubsystemVersion = pe_major_subsystem_version;\n      }\n      if (pe_minor_subsystem_version != -1) {\n        (ppVar7->pe_opthdr).MinorSubsystemVersion = pe_minor_subsystem_version;\n      }\n      if (bVar45 < bVar43) {\n        sprintf(file_alignment,"%08lx",bVar43);\n        sprintf((char *)&contents,"%08lx",pe_section_alignment);\n        pcVar24 = (char *)dcgettext(0,"warning: file alignment (0x%s) > section alignment (0x%s)",5)\n        ;\n        non_fatal(pcVar24,file_alignment,&contents);\n      }\n    }\n  }\n  ppaVar31 = isympp;\n  if (isympp != (asymbol **)0x0) {\n    free(isympp);\n  }\n  if (ppaVar31 != osympp) {\n    free(osympp);\n  }\n  isympp = (asymbol **)0x0;\n  osympp = (asymbol **)0x0;\n  lVar25 = (*ibfd->xvec->_bfd_get_symtab_upper_bound)(ibfd);\n  if (lVar25 < 0) goto LAB_00018840;\n  osympp = (asymbol **)xmalloc(lVar25);\n  isympp = osympp;\n  local_70 = (*ibfd->xvec->_bfd_canonicalize_symtab)(ibfd,osympp);\n  if (local_70 < 0) goto LAB_00018840;\n  if (local_70 == 0) {\n    free(isympp);\n    isympp = (asymbol **)0x0;\n    osympp = (asymbol **)0x0;\n  }\n  bfd_map_over_sections(ibfd,setup_section,obfd);\n  psVar6 = add_sections;\n  if ((extract_symbol == 0) &&\n     (bVar21 = (*obfd->xvec->_bfd_copy_private_header_data)(ibfd,obfd), psVar6 = add_sections,\n     bVar21 == 0)) {\n    status = 1;\n    pcVar24 = (char *)dcgettext(0,"error in private header data",5);\n    bfd_nonfatal_message((char *)0x0,ibfd,(asection *)0x0,pcVar24);\n    psVar6 = add_sections;\n  }\n  for (; psVar14 = update_sections, psVar6 != (section_add *)0x0; psVar6 = psVar6->next) {\n    uVar58 = 0x128;\n    psVar26 = find_section_list(psVar6->name,0,0x40);\n    if (psVar26 != (section_list *)0x0) {\n      uVar58 = psVar26->flags | 0x100;\n    }\n    iVar18 = bfd_get_section_by_name(obfd,psVar6->name);\n    if (iVar18 != 0) {\n      pcVar23 = psVar6->name;\n      pcVar24 = "can\'t add section \'%s\'";\nLAB_00019719:\n      pcVar24 = (char *)dcgettext(0,pcVar24,5);\n      bfd_nonfatal_message((char *)0x0,obfd,(asection *)0x0,pcVar24,pcVar23);\n      return 0;\n    }\n    paVar27 = (asection *)bfd_make_section_with_flags(obfd,psVar6->name,uVar58 | 0x100000);\n    psVar6->section = paVar27;\n    if (paVar27 == (asection *)0x0) {\n      pcVar23 = psVar6->name;\n      pcVar24 = "can\'t create section `%s\'";\n      goto LAB_00019719;\n    }\n    iVar18 = bfd_set_section_size(obfd,paVar27,psVar6->size);\n    if (iVar18 == 0) {\n      pbVar62 = (bfd *)psVar6->section;\n      local_50 = 0;\n      goto LAB_00019763;\n    }\n    psVar26 = find_section_list(psVar6->name,0,0xc);\n    if (psVar26 != (section_list *)0x0) {\n      bVar43 = psVar26->vma_val;\n      paVar27 = psVar6->section;\n      paVar27->field_0x18 = paVar27->field_0x18 | 1;\n      paVar27->lma = bVar43;\n      paVar27->vma = bVar43;\n    }\n    psVar26 = find_section_list(psVar6->name,0,0x30);\n    if (psVar26 != (section_list *)0x0) {\n      psVar6->section->lma = psVar26->lma_val;\n    }\n  }\n  for (; psVar14 != (section_add *)0x0; psVar14 = psVar14->next) {\n    paVar27 = (asection *)bfd_get_section_by_name(ibfd,psVar14->name);\n    psVar14->section = paVar27;\n    if (paVar27 == (asection *)0x0) {\n      pcVar23 = psVar14->name;\n      pcVar24 = "error: %s not found, can\'t be updated";\n      goto LAB_00018bc8;\n    }\n    pbVar62 = (bfd *)paVar27->output_section;\n    local_50 = bfd_set_section_size(obfd,pbVar62,psVar14->size);\n    if (local_50 == 0) goto LAB_00019763;\n  }\n  local_5c = obfd;\n  if ((((merge_notes != 0) &&\n       (pbVar62 = (bfd *)bfd_get_section_by_name(ibfd,".gnu.build.attributes"),\n       pbVar62 != (bfd *)0x0)) && (merge_notes != 0)) &&\n     ((ibfd->xvec->flavour == bfd_target_elf_flavour &&\n      (bVar21 = is_merged_note_section(pbVar62,(asection *)&pbVar62->archive_next,sec_1),\n      bVar21 != 0)))) {\n    pbVar36 = (bfd_byte *)pbVar62->id;\n    if (pbVar36 == (bfd_byte *)0x0) {\n      pcVar24 = (char *)dcgettext(0,"warning: note section is empty",5,0);\n      bfd_nonfatal_message((char *)0x0,ibfd,(asection *)pbVar62,pcVar24);\n      merge_notes = 0;\n    }\n    else {\n      iVar18 = bfd_get_full_section_contents(ibfd,pbVar62,&merged_notes,pbVar36);\n      pbVar50 = merged_notes;\n      if (iVar18 == 0) {\n        pcVar24 = (char *)dcgettext(0,"warning: could not load note section",5,0);\n        bfd_nonfatal_message((char *)0x0,ibfd,(asection *)pbVar62,pcVar24);\n        free(merged_notes);\n        merged_notes = (bfd_byte *)0x0;\n        merge_notes = 0;\n      }\n      else {\n        iVar18 = bfd_get_reloc_upper_bound(ibfd,pbVar62,pbVar62,pbVar62);\n        pbVar42 = ibfd;\n        pbVar69 = pbVar62;\n        if (0 < iVar18) {\n          pbVar42 = (bfd *)xmalloc(iVar18);\n          pbVar69 = (bfd *)bfd_canonicalize_reloc(ibfd,pbVar62,pbVar42,isympp);\n          free(pbVar42);\n          if (pbVar69 == (bfd *)0x0) goto LAB_0001a478;\n          local_60 = (bfd_vma *)0x0;\n          goto LAB_0001a75c;\n        }\nLAB_0001a478:\n        pvVar70 = (void *)0x24;\n        pbVar71 = pbVar42;\n        local_60 = (bfd_vma *)xcalloc((uint)pbVar36 / 0xc,0x24,pbVar42,pbVar42);\n        local_90 = (void *)0x0;\n        local_98 = (char *)0x0;\n        local_8c = (bfd *)0x0;\n        local_94 = (bfd *)0x0;\n        local_6c = 0;\n        local_84 = (int *)0x0;\n        local_80 = (bfd_byte *)0x0;\n        pbVar57 = pbVar50;\n        pbVar55 = (bfd *)pbVar50;\n        local_74 = pbVar36;\n        local_64 = local_60;\n        while ((bfd_byte *)0xb < local_74) {\n          bVar43 = (*ibfd->xvec->bfd_getx32)(pbVar57);\n          uVar58 = bVar43 + 3 & 0xfffffffc;\n          *local_64 = uVar58;\n          bVar43 = (*ibfd->xvec->bfd_getx32)(pbVar57 + 4);\n          uVar47 = bVar43 + 3 & 0xfffffffc;\n          pbVar8 = ibfd->xvec;\n          local_64[1] = uVar47;\n          bVar43 = (*pbVar8->bfd_getx32)(pbVar57 + 8);\n          local_64[2] = bVar43;\n          if (1 < bVar43 - 0x100) {\n            pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute note: wrong note type",5,\n                                        extraout_ECX_01);\n            goto LAB_0001a72d;\n          }\n          iVar18 = uVar47 + uVar58;\n          if (local_74 < (bfd_byte *)(iVar18 + 0xcU)) {\n            pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute note: note too big",5,pbVar57\n                                       );\n            goto LAB_0001a72d;\n          }\n          if (uVar58 < 2) {\n            pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute note: name too small",5,\n                                        iVar18);\n            goto LAB_0001a72d;\n          }\n          local_64[3] = (bfd_vma)(pbVar57 + 0xc);\n          pbVar3 = pbVar57 + uVar58 + 0xc;\n          local_64[4] = (bfd_vma)pbVar3;\n          pbVar55 = (bfd *)(-0xc - iVar18);\n          local_74 = (bfd_byte *)((int)&pbVar55->filename + (int)local_74);\n          bVar17 = pbVar57[0xc];\n          if (bVar17 == '$') {\n            if ((pbVar57[0xd] == '\x01') && (pbVar57[0xe] == '1')) {\n              local_80 = (bfd_byte *)((int)local_80 + 1);\n            }\n          }\n          else if ((((4 < uVar58) && (bVar17 == 'G')) && (pbVar57[0xd] == 'A')) &&\n                  ((pbVar57[0xe] == '$' && (pbVar57[0xf] == '\x01')))) {\n            bVar17 = pbVar57[0x10];\n            if (bVar17 == '2') {\n              local_84 = (int *)((int)local_84 + 1);\n            }\n            else {\n              if (bVar17 != '3') {\n                pcVar24 = (char *)dcgettext(0,\n                                            "corrupt GNU build attribute note: unsupported version",\n                                            5,bVar17);\n                goto LAB_0001a72d;\n              }\n              local_6c = local_6c + 1;\n            }\n          }\n          if (uVar47 == 4) {\n            pbVar69 = (bfd *)(*ibfd->xvec->bfd_getx32)(pbVar3);\n            pcVar24 = (char *)0xffffffff;\n          }\n          else if (uVar47 < 5) {\n            if (uVar47 != 0) {\nLAB_0001a7ea:\n              pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute note: bad description size"\n                                          ,5,bVar17);\n              goto LAB_0001a72d;\n            }\n            pcVar24 = (char *)0x0;\n            pbVar69 = (bfd *)0x0;\n          }\n          else {\n            pbVar55 = ibfd;\n            if (uVar47 == 8) {\n              pbVar8 = ibfd->xvec;\n              if ((pbVar8->flavour == bfd_target_elf_flavour) &&\n                 (((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02')) {\n                bVar68 = (*pbVar8->bfd_getx64)(pbVar3);\n                pbVar69 = (bfd *)bVar68;\n                pcVar24 = (char *)0xffffffff;\n              }\n              else {\n                pbVar69 = (bfd *)(*pbVar8->bfd_getx32)(pbVar3);\n                pcVar24 = (char *)(*ibfd->xvec->bfd_getx32)(pbVar3 + 4);\n              }\n            }\n            else {\n              if (uVar47 != 0x10) goto LAB_0001a7ea;\n              bVar68 = (*ibfd->xvec->bfd_getx64)(pbVar3);\n              pbVar69 = (bfd *)bVar68;\n              bVar68 = (*ibfd->xvec->bfd_getx64)(pbVar3 + 8);\n              pcVar24 = (char *)bVar68;\n            }\n          }\n          if (bVar43 == 0x100) {\n            if (pbVar69 == (bfd *)0x0) {\n              pbVar69 = local_8c;\n            }\n            if (pcVar24 == (char *)0x0) {\n              pcVar24 = (char *)local_90;\n            }\n            local_64[6] = (bfd_vma)pbVar69;\n            local_64[7] = (bfd_vma)pcVar24;\n            local_90 = pcVar24;\n            local_8c = pbVar69;\n          }\n          else {\n            if (pbVar69 == (bfd *)0x0) {\n              pbVar69 = local_94;\n            }\n            if (pcVar24 == (char *)0x0) {\n              pcVar24 = local_98;\n            }\n            local_64[6] = (bfd_vma)pbVar69;\n            local_64[7] = (bfd_vma)pcVar24;\n            local_98 = pcVar24;\n            local_94 = pbVar69;\n          }\n          if (*(char *)(local_64[3] + (*local_64 - 1)) != '\0') {\n            pcVar24 = (char *)dcgettext(0,\n                                        "corrupt GNU build attribute note: name not NUL terminated",\n                                        5,*local_64);\n            goto LAB_0001a72d;\n          }\n          local_64 = local_64 + 9;\n          pbVar57 = pbVar57 + (int)(iVar18 + 0xcU);\n        }\n        if (local_74 == (bfd_byte *)0x0) {\n          uVar58 = (uint)local_84 | local_6c;\n          if (local_80 == (bfd_byte *)0x0 && uVar58 == 0) {\n            pcVar24 = (char *)dcgettext(0,\n                                        "bad GNU build attribute notes: no known versions detected",\n                                        5,uVar58);\n            goto LAB_0001a72d;\n          }\n          if (((local_80 != (bfd_byte *)0x0) && (uVar58 != 0)) ||\n             ((local_84 != (int *)0x0 && (local_6c != 0)))) {\n            pcVar24 = (char *)dcgettext(0,\n                                        "bad GNU build attribute notes: multiple different versions"\n                                        ,5,pbVar69);\n            goto LAB_0001a72d;\n          }\n          if ((local_80 == (bfd_byte *)0x1 || local_84 == (int *)0x1) || (local_6c == 1))\n          goto LAB_0001a75c;\n          uVar58 = -(uint)(local_80 == (bfd_byte *)0x0) & 2;\n          iVar18 = uVar58 + 1;\n          if (*(char *)(local_60[3] + iVar18) != '\x01') {\n            pcVar24 = (char *)dcgettext(0,\n                                        "bad GNU build attribute notes: first note not version note"\n                                        ,5,pbVar55);\n            goto LAB_0001a72d;\n          }\n          bVar64 = false;\n          iVar22 = uVar58 + 2;\n          pbVar56 = local_60;\nLAB_0001a954:\n          pbVar13 = pbVar56;\n          pbVar56 = pbVar13 + 9;\n          if (pbVar56 < local_64) {\n            if (pbVar13[0xb] == 0x100) {\n              pvVar44 = (void *)pbVar13[0xc];\n              local_7c = (bfd_vma *)0x0;\n              pbVar63 = pbVar56;\n              do {\n                do {\n                  pbVar12 = pbVar63;\n                  pbVar63 = pbVar12 + -9;\n                  if (pbVar63 < local_60) goto LAB_0001a954;\n                  pvVar49 = (void *)pbVar12[-6];\n                  pbVar16 = local_7c;\n                } while ((((local_7c == (bfd_vma *)0x0) && (pbVar12[-8] != 0)) &&\n                         (pbVar16 = pbVar63, pbVar12[-7] == 0x101)) ||\n                        ((local_7c = pbVar16,\n                         *(char *)((int)pvVar44 + iVar18) != *(char *)((int)pvVar49 + iVar18) ||\n                         (pbVar12[-7] != 0x100))));\n                if (*(char *)((int)pvVar49 + iVar18) != '\x04') {\n                  pbVar69 = (bfd *)*pbVar63;\n                  if ((((pbVar69 == (bfd *)*pbVar56) &&\n                       (pbVar71 = (bfd *)pbVar56, iVar39 = memcmp(pvVar49,pvVar44,(size_t)pbVar69),\n                       pvVar70 = pvVar44, pbVar42 = pbVar69, iVar39 == 0)) &&\n                      ((uVar58 = pbVar12[-2], uVar58 != 0 && (uVar47 = pbVar13[0x10], uVar47 != 0)))\n                      ) && ((0xfffffff0 < uVar58 || (pbVar13[0xf] <= (uVar58 + 0xf & 0xfffffff0)))))\n                  {\n                    pbVar13[0xb] = 0;\n                    if (uVar58 < uVar47) {\n                      pbVar12[-2] = uVar47;\n                    }\n                    bVar64 = true;\n                    if (local_6c != 0) {\n                      pbVar12[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((pbVar13[10] == 0) && (local_7c != (bfd_vma *)0x0)) && (local_7c[2] == 0))\n                    {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    pbVar13[0x11] = 1;\n                    pbVar13[0xb] = 0x101;\n                    pbVar12[-1] = 1;\n                    pbVar12[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }\n                uVar58 = 0;\n                for (iVar39 = 0; (int)*pbVar56 - iVar22 != iVar39; iVar39 = iVar39 + 1) {\n                  uVar58 = uVar58 | (uint)*(byte *)((int)pvVar44 + iVar39 + iVar22) <<\n                                    ((char)iVar39 * '\b' & 0x1fU);\n                }\n                bVar43 = *pbVar63;\n                local_5c = (bfd *)0x0;\n                for (uVar47 = 0; bVar43 - iVar22 != uVar47; uVar47 = uVar47 + 1) {\n                  local_5c = (bfd *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar49 + iVar22))[uVar47] <<\n                                    ((char)uVar47 * '\b' & 0x1fU));\n                }\n                uVar48 = 0;\n                uVar58 = (int)local_5c + uVar58;\n                for (uVar46 = uVar58; uVar46 != 0; uVar46 = uVar46 >> 8) {\n                  uVar48 = uVar48 + 1;\n                }\n                in_stack_ffffff54 = (bfd *)pbVar56;\n              } while (uVar47 <= uVar48);\n              puVar61 = (undefined1 *)((int)pvVar49 + iVar22);\n              while (puVar61 < (undefined1 *)((int)pvVar49 + bVar43)) {\n                *puVar61 = (char)uVar58;\n                if (uVar58 == 0) break;\n                uVar58 = uVar58 >> 8;\n                puVar61 = puVar61 + 1;\n              }\n              pbVar13[0xb] = 0;\n              bVar64 = true;\n            }\n            goto LAB_0001a954;\n          }\n          in_stack_ffffff58 = obfd;\n          local_5c = obfd;\n          if (!bVar64) goto LAB_0001a75c;\n          pvVar44 = (void *)xmalloc(pbVar36,pvVar70,pbVar42,pbVar71);\n          bVar43 = 0;\n          pvVar70 = pvVar44;\n          local_80 = pbVar50;\n          for (pbVar56 = local_60; pbVar56 < local_64; pbVar56 = pbVar56 + 9) {\n            bVar45 = *pbVar56;\n            sVar34 = pbVar56[1] + 0xc + bVar45;\n            bVar10 = pbVar56[2];\n            pvVar49 = pvVar70;\n            if (bVar10 != 0) {\n              if (pbVar56[8] == 0) {\n                memcpy(pvVar70,local_80,sVar34);\n                pvVar49 = (void *)((int)pvVar70 + sVar34);\n              }\n              else {\n                pbVar57 = (bfd_byte *)pbVar56[6];\n                p_Var9 = ibfd->xvec->bfd_putx32;\n                __dest = (void *)((int)pvVar70 + 0xc);\n                pvVar49 = (void *)((int)__dest + bVar45);\n                if ((pbVar57 == local_74) && (pbVar56[7] == bVar43)) {\n                  (*p_Var9)(bVar45,pvVar70);\n                  (*ibfd->xvec->bfd_putx32)(0,(void *)((int)pvVar70 + 4));\n                  (*ibfd->xvec->bfd_putx32)(bVar10,(void *)((int)pvVar70 + 8));\n                  memcpy(__dest,(void *)pbVar56[3],bVar45);\n                }\n                else {\n                  (*p_Var9)(bVar45,pvVar70);\n                  bVar43 = 8;\n                  if (ibfd->xvec->flavour == bfd_target_elf_flavour) {\n                    bVar43 = (uint)(((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02'\n                                   ) * 8 + 8;\n                  }\n                  (*ibfd->xvec->bfd_putx32)(bVar43,(void *)((int)pvVar70 + 4));\n                  (*ibfd->xvec->bfd_putx32)(bVar10,(void *)((int)pvVar70 + 8));\n                  memcpy(__dest,(void *)pbVar56[3],bVar45);\n                  pbVar8 = ibfd->xvec;\n                  if ((pbVar8->flavour == bfd_target_elf_flavour) &&\n                     (((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02')) {\n                    (*pbVar8->bfd_putx64)(ZEXT48(pbVar57),pvVar49);\n                    (*ibfd->xvec->bfd_putx64)((ulonglong)pbVar56[7],(void *)((int)pvVar49 + 8));\n                    pvVar49 = (void *)((int)pvVar49 + 0x10);\n                  }\n                  else {\n                    (*pbVar8->bfd_putx32)((bfd_vma)pbVar57,pvVar49);\n                    (*ibfd->xvec->bfd_putx32)(pbVar56[7],(void *)((int)pvVar49 + 4));\n                    pvVar49 = (void *)((int)pvVar49 + 8);\n                  }\n                }\n              }\n              local_74 = (bfd_byte *)pbVar56[6];\n              bVar43 = pbVar56[7];\n            }\n            local_80 = local_80 + sVar34;\n            pvVar70 = pvVar49;\n          }\n          pbVar57 = (bfd_byte *)((int)pvVar70 - (int)pvVar44);\n          memcpy(pbVar50,pvVar44,(size_t)pbVar57);\n          free(pvVar44);\n          free(local_60);\n          merged_size = (bfd_size_type)pbVar57;\n          if (pbVar36 != pbVar57) {\n            iVar18 = (int)pbVar62->proxy_origin;\n            uVar29 = extraout_ECX_02;\n            if ((iVar18 != 0) &&\n               (iVar18 = bfd_set_section_size(obfd,iVar18,pbVar57,extraout_EDX),\n               uVar29 = extraout_ECX_03, iVar18 != 0)) goto LAB_00018aad;\n            pcVar24 = (char *)dcgettext(0,"warning: failed to set merged notes size",5,uVar29);\n            bfd_nonfatal_message((char *)0x0,obfd,(asection *)pbVar62,pcVar24);\n          }\n        }\n        else {\n          pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute notes: excess data at end",5,\n                                      local_64);\nLAB_0001a72d:\n          if (pcVar24 != (char *)0x0) {\n            bfd_set_error(0x11);\n            bfd_nonfatal_message((char *)0x0,ibfd,(asection *)pbVar62,pcVar24);\n            status = 1;\n          }\nLAB_0001a75c:\n          free(local_60);\n        }\n        free(merged_notes);\n        merged_notes = (bfd_byte *)0x0;\n        merge_notes = 0;\n        merged_size = 0;\n      }\n    }\n  }\nLAB_00018aad:\n  obfd = local_5c;\n  local_98 = gnu_debuglink_filename;\n  for (psVar6 = dump_sections; gnu_debuglink_filename = local_98, psVar6 != (section_add *)0x0;\n      psVar6 = psVar6->next) {\n    paVar27 = (asection *)bfd_get_section_by_name(ibfd,psVar6->name);\n    if (paVar27 == (asection *)0x0) {\n      pcVar24 = psVar6->name;\n      pcVar23 = (char *)dcgettext(0,"can\'t dump section \'%s\' - it does not exist",5);\n      bfd_nonfatal_message((char *)0x0,ibfd,(asection *)0x0,pcVar23,pcVar24);\n    }\n    else {\n      if ((paVar27->flags & 0x100) == 0) {\n        pcVar24 = "can\'t dump section - it has no contents";\n      }\n      else {\n        sVar34 = paVar27->size;\n        if (sVar34 != 0) {\n          __s = fopen64(psVar6->filename,"w");\n          if (__s == (FILE *)0x0) {\n            pcVar24 = (char *)dcgettext(0,"could not open section dump file",5);\n            bfd_nonfatal_message(psVar6->filename,(bfd *)0x0,(asection *)0x0,pcVar24);\n          }\n          else {\n            iVar18 = bfd_malloc_and_get_section(ibfd,paVar27,&contents);\n            if (iVar18 == 0) {\n              pcVar24 = (char *)dcgettext(0,"could not retrieve section contents",5);\n              bfd_nonfatal_message((char *)0x0,ibfd,paVar27,pcVar24);\n            }\n            else {\n              sVar35 = fwrite(contents,1,sVar34,__s);\n              if (sVar34 != sVar35) {\n                piVar40 = __errno_location();\n                pcVar23 = strerror(*piVar40);\n                pcVar24 = psVar6->filename;\n                pcVar41 = (char *)dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                non_fatal(pcVar41,pcVar24,pcVar23);\n                free(contents);\n                return 0;\n              }\n            }\n            fclose(__s);\n            free(contents);\n          }\n          goto LAB_00018b49;\n        }\n        pcVar24 = "can\'t dump section - it is empty";\n      }\n      pcVar24 = (char *)dcgettext(0,pcVar24,5);\n      bfd_nonfatal_message((char *)0x0,ibfd,paVar27,pcVar24);\n    }\nLAB_00018b49:\n    local_98 = gnu_debuglink_filename;\n  }\n  if (local_98 != (char *)0x0) {\n    iVar18 = bfd_get_section_by_name(local_5c,".gnu_debuglink");\n    if (iVar18 == 0) {\n      local_98 = (char *)bfd_create_gnu_debuglink_section(local_5c,gnu_debuglink_filename);\n      pcVar24 = gnu_debuglink_filename;\n      if (local_98 == (char *)0x0) {\n        pcVar23 = (char *)dcgettext(0,"cannot create debug link section `%s\'",5,local_5c);\n        bfd_nonfatal_message((char *)0x0,local_5c,(asection *)0x0,pcVar23,pcVar24);\n        return 0;\n      }\n      if (local_5c->xvec->flavour == bfd_target_coff_flavour) {\n        pbVar32 = local_5c->sections;\n        pbVar54 = (bfd_section *)0x0;\n        if (pbVar32 == (bfd_section *)0x0) {\nLAB_0001a360:\n          uVar47 = 0x1000;\n        }\n        else {\n          do {\n            pbVar53 = pbVar54;\n            if (((pbVar32->vma != 0) && (pbVar53 = pbVar32, pbVar54 != (bfd_section *)0x0)) &&\n               (pbVar53 = pbVar54, pbVar54->vma < pbVar32->vma)) {\n              pbVar53 = pbVar32;\n            }\n            pbVar32 = pbVar32->next;\n            pbVar54 = pbVar53;\n          } while (pbVar32 != (bfd_section *)0x0);\n          if (pbVar53 == (bfd_section *)0x0) goto LAB_0001a360;\n          uVar58 = pbVar53->size + pbVar53->vma;\n          uVar47 = 0xffffffff;\n          if (uVar58 < 0xfffff001) {\n            uVar47 = uVar58 + 0xfff & 0xfffff000;\n          }\n        }\n        *(uint *)(local_98 + 0x20) = uVar47;\n        *(uint *)(local_98 + 0x1c) = uVar47;\n        local_98[0x18] = local_98[0x18] | 1;\n      }\n    }\n    else {\n      pcVar24 = local_5c->filename;\n      pcVar23 = (char *)dcgettext(0,"%s: debuglink section already exists",5);\n      non_fatal(pcVar23,pcVar24);\n      gnu_debuglink_filename = (char *)0x0;\n      local_98 = (char *)0x0;\n    }\n  }\n  pbVar62 = (bfd *)local_5c->section_count;\n  local_8c = pbVar62;\n  if (pbVar62 == (bfd *)0x0) {\nLAB_00018ff7:\n    local_90 = (void *)0x0;\n    local_84 = (int *)0x0;\n    pbVar69 = local_8c;\n  }\n  else {\n    if (gap_fill_set == 0 && pad_to_set == 0) {\n      local_8c = (bfd *)0x0;\n      goto LAB_00018ff7;\n    }\n    sVar34 = (int)pbVar62 * 4;\n    local_84 = (int *)xmalloc(sVar34);\n    contents = (bfd_byte *)local_84;\n    bfd_map_over_sections(local_5c,get_sections,&contents);\n    qsort(local_84,(size_t)pbVar62,4,compare_section_lma);\n    local_90 = (void *)xmalloc(sVar34);\n    memset(local_90,0,sVar34);\n    if ((gap_fill_set == 0) || (pbVar62 == (bfd *)0x1)) {\n      local_8c = (bfd *)0x0;\n    }\n    else {\n      puVar61 = (undefined1 *)0x0;\n      local_8c = (bfd *)0x0;\n      piVar40 = local_84;\n      do {\n        iVar18 = *piVar40;\n        puVar61 = puVar61 + 1;\n        pbVar69 = local_8c;\n        if ((*(uint *)(iVar18 + 0x14) & 0x102) == 0x102) {\n          uVar58 = *(int *)(iVar18 + 0x20) + *(int *)(iVar18 + 0x24);\n          if (uVar58 < *(uint *)(piVar40[1] + 0x20)) {\n            pbVar69 = (bfd *)(*(uint *)(piVar40[1] + 0x20) - uVar58);\n            uVar67 = bfd_set_section_size\n                               (local_5c,iVar18,(int)&pbVar69->filename + *(int *)(iVar18 + 0x24));\n            if ((int)uVar67 == 0) {\n              pcVar24 = (char *)dcgettext(0,"Can\'t fill gap after section",5,\n                                          (int)((ulonglong)uVar67 >> 0x20));\n              bfd_nonfatal_message((char *)0x0,local_5c,(asection *)*piVar40,pcVar24);\n              status = 1;\n              break;\n            }\n            *(bfd **)((int)local_90 + (int)puVar61 * 4 + -4) = pbVar69;\n            if (pbVar69 <= local_8c) {\n              pbVar69 = local_8c;\n            }\n          }\n        }\n        local_8c = pbVar69;\n        piVar40 = piVar40 + 1;\n      } while ((undefined1 *)((int)&pbVar62[-1].build_id + 3) != puVar61);\n    }\n    pbVar69 = local_8c;\n    if (pad_to_set != 0) {\n      iVar18 = local_84[(int)((int)&pbVar62[-1].build_id + 3)];\n      uVar58 = *(int *)(iVar18 + 0x24) + *(int *)(iVar18 + 0x20);\n      if (uVar58 < pad_to) {\n        iVar18 = bfd_set_section_size(local_5c,iVar18,pad_to - *(int *)(iVar18 + 0x20));\n        if (iVar18 == 0) {\n          pcVar24 = (char *)dcgettext(0,"can\'t add padding",5,uVar58);\n          bfd_nonfatal_message\n                    ((char *)0x0,local_5c,\n                     (asection *)local_84[(int)((int)&pbVar62[-1].build_id + 3)],pcVar24);\n          status = 1;\n        }\n        else {\n          pbVar69 = (bfd *)(pad_to - uVar58);\n          *(bfd **)((int)local_90 + (sVar34 - 4)) = pbVar69;\n          if (pbVar69 <= local_8c) {\n            pbVar69 = local_8c;\n          }\n        }\n      }\n    }\n  }\n  local_8c = pbVar69;\n  local_94 = (bfd *)0x0;\n  if (convert_debugging != 0) {\n    local_94 = (bfd *)read_debugging_info(ibfd,isympp,local_70,0);\n  }\n  if (strip_symbols - STRIP_DEBUG < 6) {\nLAB_00019032:\n    if (strip_symbols != STRIP_ALL) {\nLAB_00019037:\n      bfd_set_error(0);\n      bfd_map_over_sections(ibfd,mark_symbols_used_in_relocations,isympp);\n      iVar18 = bfd_get_error();\n      if (iVar18 != 0) {\n        status = 1;\n        return 0;\n      }\n    }\n    ppaVar31 = (asymbol **)xmalloc((add_symbols + local_70) * 4 + 4);\n    local_68 = isympp;\n    uVar58 = *(uint *)&ibfd->field_0x28;\n    osympp = ppaVar31;\n    if (local_70 != 0) {\n      ppaVar1 = isympp + local_70;\n      local_70 = 0;\n      pbVar32 = (bfd_section *)(PTR__bfd_std_section_0003efc8 + 0xa8);\n      do {\n        iVar18 = add_symbols;\n        paVar37 = *local_68;\n        uVar47 = paVar37->flags;\n        pbVar36 = (bfd_byte *)paVar37->name;\n        pbVar54 = paVar37->section;\n        if (((add_sym_list != (addsym_node *)0x0) && (0 < add_symbols)) &&\n           (pcVar24 = add_sym_list->othersym, pcVar24 != (char *)0x0)) {\n          local_5c = (bfd *)0x0;\n          ptr = add_sym_list;\n          while (iVar22 = strcmp(pcVar24,(char *)pbVar36), iVar22 != 0) {\n            local_5c = (bfd *)((int)local_5c + 1);\n            ptr = ptr->next;\n            if ((local_5c == (bfd *)iVar18) || (pcVar24 = ptr->othersym, pcVar24 == (char *)0x0))\n            goto LAB_00019180;\n          }\n          free(pcVar24);\n          ptr->othersym = "";\n          ppaVar2 = ppaVar31 + local_70;\n          local_70 = local_70 + 1;\n          paVar33 = create_new_symbol(ptr,obfd);\n          *ppaVar2 = paVar33;\n        }\nLAB_00019180:\n        iVar18 = htab_elements(redefine_specific_htab);\n        pbVar50 = pbVar36;\n        if ((iVar18 != 0) || (section_rename_list != (section_rename *)0x0)) {\n          local_2c = 0;\n          contents = pbVar36;\n          iVar18 = htab_find(redefine_specific_htab,&contents);\n          if (((iVar18 == 0) || (pbVar50 = *(bfd_byte **)(iVar18 + 4), pbVar36 == pbVar50)) &&\n             (psVar15 = section_rename_list, (uVar47 & 0x100) != 0)) {\n            for (; pbVar50 = pbVar36, psVar15 != (section_rename *)0x0; psVar15 = psVar15->next) {\n              iVar18 = strcmp(psVar15->old_name,(char *)pbVar36);\n              if (iVar18 == 0) {\n                pbVar50 = (bfd_byte *)psVar15->new_name;\n                break;\n              }\n            }\n          }\n          paVar37->name = (char *)pbVar50;\n        }\n        pcVar24 = prefix_symbols_string;\n        bVar17 = ibfd->xvec->symbol_leading_char;\n        if (*pbVar50 == bVar17) {\n          if (change_leading_char == 0) {\n            if ((remove_leading_char == 0) ||\n               ((((uVar47 & 0x82) == 0 && (pbVar54 != pbVar32)) &&\n                ((paVar37->section->flags & 0x1000) == 0)))) goto LAB_00019203;\nLAB_0001943c:\n            pbVar50 = pbVar50 + 1;\n            paVar37->name = (char *)pbVar50;\n            goto LAB_00019203;\n          }\n          bVar17 = obfd->xvec->symbol_leading_char;\n          if (bVar17 == '\0') goto LAB_0001943c;\n          if (prefix_symbols_string != (char *)0x0) {\n            pbVar50 = pbVar50 + 1;\n            paVar37->name = (char *)pbVar50;\n            goto LAB_0001945b;\n          }\n          *pbVar50 = bVar17;\n          paVar37->name = (char *)pbVar50;\n        }\n        else {\n          if (((change_leading_char == 0) || (obfd->xvec->symbol_leading_char == '\0')) ||\n             (bVar17 != '\0')) {\nLAB_00019203:\n            if (pcVar24 == (char *)0x0) goto LAB_0001926f;\n            sVar34 = strlen(pcVar24);\n            sVar35 = strlen((char *)pbVar50);\n            pbVar36 = (bfd_byte *)xmalloc(sVar34 + 2 + sVar35);\n            local_5c = (bfd *)pbVar36;\n          }\n          else {\nLAB_0001945b:\n            sVar34 = strlen(pcVar24);\n            sVar35 = strlen((char *)pbVar50);\n            pbVar36 = (bfd_byte *)xmalloc(sVar34 + 2 + sVar35);\n            local_5c = (bfd *)(pbVar36 + 1);\n            *pbVar36 = obfd->xvec->symbol_leading_char;\n          }\n          pcVar24 = prefix_symbols_string;\n          if (prefix_symbols_string != (char *)0x0) {\n            strcpy((char *)local_5c,prefix_symbols_string);\n            sVar34 = strlen(pcVar24);\n            local_5c = (bfd *)((int)local_5c + sVar34);\n          }\n          strcpy((char *)local_5c,(char *)pbVar50);\n          paVar37->name = (char *)pbVar36;\n          pbVar50 = pbVar36;\n        }\nLAB_0001926f:\n        if (strip_symbols == STRIP_ALL) goto LAB_000192f8;\n        if ((uVar47 & 0x20) == 0) {\n          if (((uVar47 & 0x100) == 0) || (((*paVar37->section->symbol_ptr_ptr)->flags & 0x20) == 0))\n          {\n            if ((((uVar58 >> 5 & 0x42) == 0) &&\n                (((uVar47 & 0x82) != 0 || ((paVar37->section->flags & 0x1000) != 0)))) ||\n               (iVar18 = bfd_decode_symclass(paVar37), iVar18 == 0x49)) {\nLAB_00019528:\n              bVar21 = is_specified_symbol((char *)pbVar50,strip_specific_htab);\n              if (bVar21 == 0) goto LAB_000192e0;\n            }\n            else if ((((uVar47 & 0x82) == 0) &&\n                     (pbVar54 != (bfd_section *)(PTR__bfd_std_section_0003efc8 + 0xa8))) &&\n                    ((paVar37->section->flags & 0x1000) == 0)) {\n              if ((uVar47 & 4) == 0) {\n                if (((ibfd->xvec->flavour != bfd_target_coff_flavour) ||\n                    (pvVar70 = paVar37->section->used_by_bfd, pvVar70 == (void *)0x0)) ||\n                   (*(int *)((int)pvVar70 + 0x24) == 0)) {\n                  if ((strip_symbols == STRIP_UNNEEDED) || (discard_locals == LOCALS_ALL))\n                  goto LAB_000192f8;\n                  if (discard_locals == LOCALS_START_L) {\n                    iVar18 = bfd_is_local_label(ibfd,paVar37,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }\n                goto LAB_00019528;\n              }\n              iVar18 = convert_debugging;\n              if (1 < strip_symbols - STRIP_DEBUG) {\njoined_r0x0001a13f:\n                if (iVar18 == 0) goto LAB_00019528;\n              }\n            }\n            else if (strip_symbols != STRIP_UNNEEDED) goto LAB_00019528;\n          }\n          else {\n            bVar21 = is_specified_symbol((char *)pbVar50,strip_specific_htab);\n            if (bVar21 != 0) {\n              pcVar24 = (char *)dcgettext(0,\n                                          "not stripping symbol `%s\' because it is named in a relocation"\n                                          ,5,bVar21);\n              non_fatal(pcVar24,pbVar50);\n              status = 1;\n            }\nLAB_000192e0:\n            bVar21 = is_specified_symbol((char *)pbVar50,strip_unneeded_htab);\n            if (bVar21 == 0) goto LAB_0001931c;\n          }\nLAB_000192f8:\n          if (((keep_file_symbols != 0) && ((uVar47 & 0x4000) != 0)) ||\n             (bVar21 = is_specified_symbol((char *)pbVar50,keep_specific_htab), bVar21 != 0))\n          goto LAB_0001931c;\n        }\n        else {\n          bVar21 = is_specified_symbol((char *)pbVar50,strip_specific_htab);\n          if (bVar21 != 0) {\n            pcVar24 = (char *)dcgettext(0,\n                                        "not stripping symbol `%s\' because it is named in a relocation"\n                                        ,5);\n            non_fatal(pcVar24,pbVar50);\n            status = 1;\n          }\nLAB_0001931c:\n          bVar21 = is_strip_section(in_stack_ffffff54,(asection *)in_stack_ffffff58);\n          if (bVar21 == 0) {\n            if (((uVar47 & 2) != 0) &&\n               ((weaken != 0 ||\n                (bVar21 = is_specified_symbol((char *)pbVar50,weaken_specific_htab), bVar21 != 0))))\n            {\n              paVar37->flags = paVar37->flags & 0xfffffffd | 0x80;\n            }\n            if (pbVar54 != (bfd_section *)(PTR__bfd_std_section_0003efc8 + 0xa8)) {\n              if (((uVar47 & 0x82) != 0) &&\n                 (((bVar21 = is_specified_symbol((char *)pbVar50,localize_specific_htab),\n                   bVar21 != 0 ||\n                   ((iVar18 = htab_elements(keepglobal_specific_htab), iVar18 != 0 &&\n                    (bVar21 = is_specified_symbol((char *)pbVar50,keepglobal_specific_htab),\n                    bVar21 == 0)))) ||\n                  ((localize_hidden != 0 &&\n                   ((((pbVar62 = paVar37->the_bfd, pbVar62 != (bfd *)0x0 &&\n                      (pbVar62->xvec->flavour == bfd_target_elf_flavour)) &&\n                     ((pbVar62->tdata).aout_data != (aout_data_struct *)0x0)) &&\n                    ((*(byte *)((int)&paVar37[1].flags + 1) & 3) - 1 < 2)))))))) {\n                paVar37->flags = paVar37->flags & 0xffffff7d | 1;\n              }\n              if (((uVar47 & 1) != 0) &&\n                 (bVar21 = is_specified_symbol((char *)pbVar50,globalize_specific_htab), bVar21 != 0\n                 )) {\n                paVar37->flags = paVar37->flags & 0xfffffffe | 2;\n              }\n            }\n            ppaVar31[local_70] = paVar37;\n            local_70 = local_70 + 1;\n          }\n        }\n        local_68 = local_68 + 1;\n      } while (ppaVar1 != local_68);\n    }\n    local_5c = (bfd *)add_sym_list;\n    if ((add_sym_list != (addsym_node *)0x0) && (0 < add_symbols)) {\n      iVar18 = 0;\n      do {\n        pcVar24 = (char *)local_5c->lru_next;\n        if (pcVar24 == (char *)0x0) {\n          paVar37 = create_new_symbol((addsym_node *)local_5c,obfd);\n          ppaVar31[local_70] = paVar37;\n          local_70 = local_70 + 1;\n        }\n        else if (*pcVar24 != '\0') {\n          pcVar23 = (char *)dcgettext(0,"\'before=%s\' not found",5,local_70);\n                    /* WARNING: Subroutine does not return */\n          fatal(pcVar23,pcVar24);\n        }\n        iVar18 = iVar18 + 1;\n        local_5c = (bfd *)local_5c->filename;\n      } while (iVar18 < add_symbols);\n    }\n    ppaVar31[local_70] = (asymbol *)0x0;\n    if ((convert_debugging != 0) && (local_94 != (bfd *)0x0)) {\n      bVar11 = obfd->xvec->flavour;\n      if ((bVar11 != bfd_target_coff_flavour) && (bVar11 != bfd_target_elf_flavour)) {\n        pcVar24 = obfd->xvec->name;\n        pcVar23 = (char *)dcgettext(0,"don\'t know how to write debugging information for %s",5);\n        bfd_nonfatal_message((char *)0x0,obfd,(asection *)0x0,pcVar23,pcVar24);\n        status = 1;\n        return 0;\n      }\n      bVar21 = write_stabs_in_sections_debugging_info\n                         (obfd,local_94,&syms,(bfd_size_type *)file_alignment,&strings,\n                          (bfd_size_type *)&contents);\n      if (bVar21 == 0) {\n        status = 1;\n        return 0;\n      }\n      iVar18 = bfd_make_section_with_flags(obfd,".stab",0x2108);\n      iVar22 = bfd_make_section_with_flags(obfd,".stabstr",0x2108);\n      if ((((iVar18 == 0) || (iVar22 == 0)) ||\n          (iVar39 = bfd_set_section_size(obfd,iVar18,file_alignment._0_4_,iVar22), iVar39 == 0)) ||\n         (iVar39 = bfd_set_section_size(obfd,iVar22,contents,iVar39), iVar39 == 0)) {\n        pcVar24 = "can\'t create debugging section";\nLAB_00019fcf:\n        pcVar24 = (char *)dcgettext(0,pcVar24,5,iVar18);\n        bfd_nonfatal_message((char *)0x0,obfd,(asection *)0x0,pcVar24);\n        status = 1;\n        return 0;\n      }\n      *(undefined4 *)(iVar18 + 0x40) = 2;\n      *(undefined4 *)(iVar22 + 0x40) = 0;\n      iVar18 = bfd_set_section_contents(obfd,iVar18,syms,0,0,file_alignment._0_4_,iVar39,iVar39);\n      if ((iVar18 == 0) ||\n         (iVar18 = bfd_set_section_contents\n                             (obfd,iVar22,strings,0,0,contents,extraout_ECX,extraout_ECX),\n         iVar18 == 0)) {\n        pcVar24 = "can\'t set debugging section contents";\n        iVar18 = iVar22;\n        goto LAB_00019fcf;\n      }\n    }\n  }\n  else {\n    if (localize_hidden != 0 || discard_locals != LOCALS_UNDEF) goto LAB_00019037;\n    iVar18 = htab_elements(strip_specific_htab);\n    if (((iVar18 != 0) || (iVar18 = htab_elements(keep_specific_htab), iVar18 != 0)) ||\n       ((iVar18 = htab_elements(localize_specific_htab), iVar18 != 0 ||\n        (((((iVar18 = htab_elements(globalize_specific_htab), iVar18 != 0 ||\n            (iVar18 = htab_elements(keepglobal_specific_htab), iVar18 != 0)) ||\n           (iVar18 = htab_elements(weaken_specific_htab), iVar18 != 0)) ||\n          ((iVar18 = htab_elements(redefine_specific_htab), prefix_symbols_string != (char *)0x0 ||\n           (section_rename_list != (section_rename *)0x0)))) ||\n         (((((((sections_removed != 0 || sections_copied != 0) || convert_debugging != 0) ||\n             change_leading_char != 0) || remove_leading_char != 0) || weaken != 0) ||\n          add_symbols != 0) || iVar18 != 0)))))) goto LAB_00019032;\n  }\n  bfd_set_symtab(obfd,osympp,local_70);\n  bfd_map_over_sections(ibfd,copy_relocations_in_section,obfd);\n  bfd_map_over_sections(ibfd,copy_section,obfd);\n  pbVar62 = ibfd;\n  for (psVar6 = add_sections; psVar14 = update_sections, psVar6 != (section_add *)0x0;\n      psVar6 = psVar6->next) {\n    iVar18 = bfd_set_section_contents(obfd,psVar6->section,psVar6->contents,0,0,psVar6->size);\n    if (iVar18 == 0) {\n      pbVar62 = (bfd *)psVar6->section;\n      local_50 = 0;\n      goto LAB_00019763;\n    }\n    pbVar62 = obfd;\n  }\n  for (; psVar14 != (section_add *)0x0; psVar14 = psVar14->next) {\n    pbVar62 = (bfd *)psVar14->section->output_section;\n    local_50 = bfd_set_section_contents(obfd,pbVar62,psVar14->contents,0,0,psVar14->size);\n    if (local_50 == 0) {\nLAB_00019763:\n      bfd_nonfatal_message((char *)0x0,obfd,(asection *)pbVar62,(char *)0x0);\n      return local_50;\n    }\n  }\n  pbVar69 = (bfd *)0x0;\n  if (merge_notes != 0) {\n    pbVar69 = (bfd *)bfd_get_section_by_name(obfd,".gnu.build.attributes");\n    if (((pbVar69 == (bfd *)0x0) || (merge_notes == 0)) ||\n       ((obfd->xvec->flavour != bfd_target_elf_flavour ||\n        (bVar21 = is_merged_note_section(pbVar69,(asection *)&pbVar69->archive_next,sec_1_00),\n        bVar21 == 0)))) {\n      if (is_strip == 0) {\n        pcVar24 = (char *)dcgettext(0,"could not find any mergeable note sections",5,0);\n        bfd_nonfatal_message((char *)0x0,obfd,(asection *)pbVar69,pcVar24);\n      }\n    }\n    else {\n      iVar18 = bfd_set_section_contents(obfd,pbVar69,merged_notes,0,0,merged_size,bVar21,bVar21);\n      if (iVar18 == 0) {\n        pcVar24 = (char *)dcgettext(0,"error: failed to copy merged notes into output",5,0);\n        goto LAB_0001a2cd;\n      }\n    }\n    free(merged_notes);\n    merged_notes = (bfd_byte *)0x0;\n    merge_notes = 0;\n    pbVar62 = obfd;\n  }\n  if ((gnu_debuglink_filename != (char *)0x0) &&\n     (iVar18 = bfd_fill_in_gnu_debuglink_section(obfd,local_98,gnu_debuglink_filename),\n     pcVar24 = gnu_debuglink_filename, iVar18 == 0)) {\n    pcVar23 = (char *)dcgettext(0,"cannot fill debug link section `%s\'",5,0);\n    bfd_nonfatal_message((char *)0x0,obfd,(asection *)0x0,pcVar23,pcVar24);\n    return 0;\n  }\n  if (gap_fill_set != 0 || pad_to_set != 0) {\n    pbVar69 = (bfd *)0x2000;\n    if (local_8c < (bfd *)0x2001) {\n      pbVar69 = local_8c;\n    }\n    puVar38 = (undefined4 *)xmalloc(pbVar69);\n    pcVar24 = (char *)((uint)gap_fill * 0x1010101);\n    if (pbVar69 < (bfd *)0x4) {\n      if ((pbVar69 != (bfd *)0x0) && (*(char *)puVar38 = (char)pcVar24, ((uint)pbVar69 & 2) != 0)) {\n        *(short *)((int)puVar38 + -2 + (int)pbVar69) = (short)pcVar24;\n      }\n    }\n    else {\n      *puVar38 = pcVar24;\n      *(char **)((int)(puVar38 + -1) + (int)pbVar69) = pcVar24;\n      pbVar62 = (bfd *)((uint)(puVar38 + 1) & 0xfffffffc);\n      for (uVar58 = (uint)(((int)puVar38 - (int)((uint)(puVar38 + 1) & 0xfffffffc)) + (int)pbVar69)\n                    >> 2; uVar58 != 0; uVar58 = uVar58 - 1) {\n        pbVar62->filename = pcVar24;\n        pbVar62 = (bfd *)((int)pbVar62 + (uint)bVar66 * -8 + 4);\n      }\n    }\n    pbVar42 = (bfd *)obfd->section_count;\n    if (pbVar42 != (bfd *)0x0) {\n      pbVar62 = (bfd *)0x0;\n      do {\n        pbVar69 = *(bfd **)((int)local_90 + (int)pbVar62 * 4);\n        if (pbVar69 != (bfd *)0x0) {\n          iVar18 = local_84[(int)pbVar62];\n          local_58 = 0;\n          local_5c = (bfd *)(*(int *)(iVar18 + 0x24) - (int)pbVar69);\n          while( true ) {\n            pbVar55 = (bfd *)0x2000;\n            if (pbVar69 < (bfd *)0x2001) {\n              pbVar55 = pbVar69;\n            }\n            iVar18 = bfd_set_section_contents(obfd,iVar18,puVar38,local_5c,local_58,pbVar55);\n            if (iVar18 == 0) {\n              pbVar62 = (bfd *)local_84[(int)pbVar62];\n              local_50 = 0;\n              goto LAB_00019763;\n            }\n            bVar64 = CARRY4((uint)local_5c,(uint)pbVar55);\n            local_5c = (bfd *)((int)&pbVar55->filename + (int)local_5c);\n            local_58 = local_58 + (uint)bVar64;\n            pbVar69 = (bfd *)((int)pbVar69 - (int)pbVar55);\n            if (pbVar69 == (bfd *)0x0) break;\n            iVar18 = local_84[(int)pbVar62];\n          }\n        }\n        pbVar62 = (bfd *)((int)&pbVar62->filename + 1);\n      } while (pbVar42 != pbVar62);\n    }\n  }\n  bVar21 = (*obfd->xvec->_bfd_copy_private_bfd_data)(ibfd,obfd);\n  if (bVar21 != 0) {\n    if ((use_alt_mach_code != 0) &&\n       (iVar18 = bfd_alt_mach_code(obfd,use_alt_mach_code,pbVar69,pbVar69),\n       uVar20 = use_alt_mach_code, iVar18 == 0)) {\n      pcVar24 = (char *)dcgettext(0,"this target does not support %lu alternative machine codes",5,\n                                  pbVar62);\n      non_fatal(pcVar24,uVar20);\n      if (obfd->xvec->flavour != bfd_target_elf_flavour) {\n        pcVar24 = (char *)dcgettext(0,"ignoring the alternative value",5,extraout_ECX_00);\n        non_fatal(pcVar24);\n        return 1;\n      }\n      pcVar24 = (char *)dcgettext(0,"treating that number as an absolute e_machine value instead",5,\n                                  uVar20);\n      non_fatal(pcVar24);\n      *(short *)((int)&((obfd->tdata).coff_obj_data)->local_n_btshft + 2) = (short)use_alt_mach_code\n      ;\n    }\n    return 1;\n  }\n  pcVar24 = (char *)dcgettext(0,"error copying private BFD data",5,pbVar62);\n  pbVar69 = (bfd *)0x0;\nLAB_0001a2cd:\n  bfd_nonfatal_message((char *)0x0,obfd,(asection *)pbVar69,pcVar24);\n  return 0;\n}" type_identifier (ERROR "__regparm3" identifier) (function_declarator "copy_object(bfd *ibfd,bfd *obfd,bfd_arch_info_type *input_arch)" identifier (parameter_list "(bfd *ibfd,bfd *obfd,bfd_arch_info_type *input_arch)" ( (parameter_declaration "bfd *ibfd" type_identifier (pointer_declarator "*ibfd" * identifier)) , (parameter_declaration "bfd *obfd" type_identifier (pointer_declarator "*obfd" * identifier)) , (parameter_declaration "bfd_arch_info_type *input_arch" type_identifier (pointer_declarator "*input_arch" * identifier)) ))) (compound_statement "{\n  void *__dest;\n  asymbol **ppaVar1;\n  asymbol **ppaVar2;\n  bfd_byte *pbVar3;\n  bfd_endian bVar4;\n  bfd_endian bVar5;\n  section_add *psVar6;\n  pe_tdata *ppVar7;\n  bfd_target *pbVar8;\n  _func_void_bfd_vma_void_ptr *p_Var9;\n  bfd_vma bVar10;\n  bfd_flavour bVar11;\n  bfd_vma *pbVar12;\n  bfd_vma *pbVar13;\n  section_add *psVar14;\n  section_rename *psVar15;\n  bfd_vma *pbVar16;\n  bfd_byte bVar17;\n  int iVar18;\n  bfd_architecture bVar19;\n  ulong uVar20;\n  bfd_boolean bVar21;\n  int iVar22;\n  char *pcVar23;\n  char *pcVar24;\n  long lVar25;\n  section_list *psVar26;\n  asection *paVar27;\n  FILE *__s;\n  char *pcVar28;\n  char *__format;\n  undefined4 uVar29;\n  undefined4 uVar30;\n  asymbol **ppaVar31;\n  bfd_section *pbVar32;\n  asymbol *paVar33;\n  size_t sVar34;\n  size_t sVar35;\n  bfd_byte *pbVar36;\n  asymbol *paVar37;\n  undefined4 *puVar38;\n  int iVar39;\n  int *piVar40;\n  char *pcVar41;\n  bfd *pbVar42;\n  bfd_vma bVar43;\n  void *pvVar44;\n  bfd_vma bVar45;\n  asection *sec_1;\n  undefined4 extraout_ECX;\n  asection *sec_1_00;\n  undefined4 extraout_ECX_00;\n  undefined4 extraout_ECX_01;\n  uint uVar46;\n  undefined4 extraout_ECX_02;\n  undefined4 extraout_ECX_03;\n  uint uVar47;\n  uint uVar48;\n  void *pvVar49;\n  undefined4 extraout_EDX;\n  addsym_node *ptr;\n  bfd_byte *pbVar50;\n  byte *pbVar51;\n  uchar **ppuVar52;\n  bfd_section *pbVar53;\n  bfd_section *pbVar54;\n  bfd *pbVar55;\n  bfd_vma *pbVar56;\n  bfd_byte *pbVar57;\n  uint uVar58;\n  byte *pbVar59;\n  internal_extra_pe_aouthdr *piVar60;\n  undefined1 *puVar61;\n  bfd *pbVar62;\n  bfd_vma *pbVar63;\n  bool bVar64;\n  bool bVar65;\n  byte bVar66;\n  undefined8 uVar67;\n  bfd_uint64_t bVar68;\n  bfd *pbVar69;\n  void *pvVar70;\n  bfd *pbVar71;\n  bfd *in_stack_ffffff54;\n  bfd *in_stack_ffffff58;\n  char *local_98;\n  bfd *local_94;\n  void *local_90;\n  bfd *local_8c;\n  int *local_84;\n  bfd_byte *local_80;\n  bfd_vma *local_7c;\n  bfd_byte *local_74;\n  int local_70;\n  uint local_6c;\n  asymbol **local_68;\n  bfd_vma *local_64;\n  bfd_vma *local_60;\n  bfd *local_5c;\n  int local_58;\n  bfd_boolean local_50;\n  bfd_byte *syms;\n  bfd_byte *strings;\n  char file_alignment [20];\n  bfd_byte *contents;\n  undefined4 local_2c;\n  undefined4 uStack_14;\n  \n  bVar66 = 0;\n  uStack_14 = 0x185fd;\n  bVar4 = ibfd->xvec->byteorder;\n  bVar5 = obfd->xvec->byteorder;\n  if ((bVar4 != bVar5 && bVar4 != BFD_ENDIAN_UNKNOWN) && (bVar5 != BFD_ENDIAN_UNKNOWN)) {\n    pcVar24 = (char *)dcgettext(0,"Unable to change endianness of input file(s)",5);\n    non_fatal(pcVar24);\n    return 0;\n  }\n  iVar18 = bfd_set_format(obfd,ibfd->field_0x28 & 7);\n  if (iVar18 == 0) {\n    bfd_nonfatal_message((char *)0x0,obfd,(asection *)0x0,(char *)0x0);\n    return 0;\n  }\n  if (ibfd->sections == (bfd_section *)0x0) {\n    pcVar23 = bfd_get_archive_filename(ibfd);\n    pcVar24 = "error: the input file \'%s\' has no sections";\n    goto LAB_00018bc8;\n  }\n  if (ibfd->xvec->flavour != bfd_target_elf_flavour) {\n    if ((do_debug_sections != _sch_isblank) && ((do_debug_sections & _sch_isblank) != nothing)) {\n      pcVar23 = bfd_get_archive_filename(ibfd);\n      pcVar24 = "--compress-debug-sections=[zlib|zlib-gnu|zlib-gabi] is unsupported on `%s\'";\nLAB_00018bc8:\n      pcVar24 = (char *)dcgettext(0,pcVar24,5);\n      non_fatal(pcVar24,pcVar23);\n      return 0;\n    }\n    if (do_elf_stt_common != unchanged) {\n      pcVar23 = bfd_get_archive_filename(ibfd);\n      pcVar24 = "--elf-stt-common=[yes|no] is unsupported on `%s\'";\n      goto LAB_00018bc8;\n    }\n  }\n  if (verbose != 0) {\n    pcVar24 = ibfd->xvec->name;\n    pcVar23 = obfd->xvec->name;\n    pcVar41 = obfd->filename;\n    pcVar28 = bfd_get_archive_filename(ibfd);\n    __format = (char *)dcgettext(0,"copy from `%s\' [%s] to `%s\' [%s]\n",5);\n    printf(__format,pcVar28,pcVar24,pcVar41,pcVar23);\n  }\n  iVar18 = 0;\n  if (extract_symbol == 0) {\n    bVar43 = set_start;\n    if (set_start_set == 0) {\n      bVar43 = ibfd->start_address;\n    }\n    iVar18 = bVar43 + change_start;\n  }\n  if ((obfd->field_0x28 & 7) != 3) {\n    uVar58 = ~bfd_flags_to_clear & obfd->xvec->object_flags &\n             (*(uint *)&ibfd->field_0x28 >> 5 & 0xfffff | bfd_flags_to_set);\n    if (strip_symbols == STRIP_ALL) {\n      uVar58 = uVar58 & 0xfffffffe;\n    }\n    iVar18 = bfd_set_start_address(obfd,iVar18);\n    if ((iVar18 == 0) || (iVar18 = bfd_set_file_flags(obfd,uVar58), iVar18 == 0)) goto LAB_00018840;\n  }\n  bVar19 = bfd_get_arch(ibfd);\n  uVar20 = bfd_get_mach(ibfd);\n  if (input_arch != (bfd_arch_info_type *)0x0) {\n    iVar18 = bfd_get_arch_info(ibfd);\n    if ((iVar18 == 0) || (iVar18 = bfd_get_arch_info(ibfd), *(int *)(iVar18 + 0xc) == 0)) {\n      bVar19 = input_arch->arch;\n      uVar20 = input_arch->mach;\n    }\n    else {\n      pcVar24 = bfd_get_archive_filename(ibfd);\n      pcVar23 = (char *)dcgettext(0,"Input file `%s\' ignores binary architecture parameter.",5);\n      non_fatal(pcVar23,pcVar24);\n    }\n  }\n  bVar21 = (*obfd->xvec->_bfd_set_arch_mach)(obfd,bVar19,uVar20);\n  if (bVar21 == 0) {\n    if ((ibfd->field_0x2b & 4) != 0) {\nLAB_000187e7:\n      iVar18 = bfd_get_arch(ibfd);\n      if (iVar18 == 0) {\n        pcVar23 = bfd_get_archive_filename(ibfd);\n        pcVar24 = "Unable to recognise the format of the input file `%s\'";\n      }\n      else {\n        uVar29 = bfd_get_mach(ibfd);\n        uVar30 = bfd_get_arch(ibfd);\n        pcVar23 = (char *)bfd_printable_arch_mach(uVar30,uVar29);\n        pcVar24 = "Output file cannot represent architecture `%s\'";\n      }\n      pcVar24 = (char *)dcgettext(0,pcVar24,5);\n      non_fatal(pcVar24,pcVar23);\n      return 0;\n    }\n    iVar18 = bfd_get_arch(ibfd);\n    iVar22 = bfd_get_arch(obfd);\n    if (iVar18 != iVar22) goto LAB_000187e7;\n  }\n  iVar18 = bfd_set_format(obfd,ibfd->field_0x28 & 7);\n  if (iVar18 == 0) {\nLAB_00018840:\n    bfd_nonfatal_message((char *)0x0,ibfd,(asection *)0x0,(char *)0x0);\n    return 0;\n  }\n  bVar11 = obfd->xvec->flavour;\n  bVar64 = bVar11 < bfd_target_coff_flavour;\n  bVar65 = bVar11 == bfd_target_coff_flavour;\n  if (bVar65) {\n    iVar18 = 4;\n    pbVar51 = (byte *)obfd->xvec->name;\n    pbVar59 = &DAT_0002e16a;\n    do {\n      if (iVar18 == 0) break;\n      iVar18 = iVar18 + -1;\n      bVar64 = *pbVar51 < *pbVar59;\n      bVar65 = *pbVar51 == *pbVar59;\n      pbVar51 = pbVar51 + (uint)bVar66 * -2 + 1;\n      pbVar59 = pbVar59 + (uint)bVar66 * -2 + 1;\n    } while (bVar65);\n    if ((!bVar64 && !bVar65) == bVar64) {\n      ppVar7 = (obfd->tdata).pe_obj_data;\n      bVar11 = ibfd->xvec->flavour;\n      bVar64 = bVar11 < bfd_target_coff_flavour;\n      bVar65 = bVar11 == bfd_target_coff_flavour;\n      if (bVar65) {\n        iVar18 = 4;\n        pbVar51 = (byte *)ibfd->xvec->name;\n        pbVar59 = &DAT_0002e16a;\n        do {\n          if (iVar18 == 0) break;\n          iVar18 = iVar18 + -1;\n          bVar64 = *pbVar51 < *pbVar59;\n          bVar65 = *pbVar51 == *pbVar59;\n          pbVar51 = pbVar51 + (uint)bVar66 * -2 + 1;\n          pbVar59 = pbVar59 + (uint)bVar66 * -2 + 1;\n        } while (bVar65);\n        if ((!bVar64 && !bVar65) == bVar64) {\n          ppuVar52 = &(((ibfd->tdata).elf_obj_data)->symtab_hdr).contents;\n          piVar60 = &ppVar7->pe_opthdr;\n          for (iVar18 = 0x38; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *(uchar **)piVar60 = *ppuVar52;\n            ppuVar52 = ppuVar52 + (uint)bVar66 * -2 + 1;\n            piVar60 = (internal_extra_pe_aouthdr *)((int)piVar60 + (uint)bVar66 * -8 + 4);\n          }\n        }\n      }\n      bVar43 = pe_file_alignment;\n      if (pe_file_alignment == 0xffffffff) {\n        pe_file_alignment = 0x200;\n        bVar43 = 0x200;\n      }\n      else {\n        (ppVar7->pe_opthdr).FileAlignment = pe_file_alignment;\n      }\n      if (pe_heap_commit != 0xffffffff) {\n        (ppVar7->pe_opthdr).SizeOfHeapCommit = pe_heap_commit;\n      }\n      if (pe_heap_reserve != 0xffffffff) {\n        (ppVar7->pe_opthdr).SizeOfHeapCommit = pe_heap_reserve;\n      }\n      if (pe_image_base != 0xffffffff) {\n        (ppVar7->pe_opthdr).ImageBase = pe_image_base;\n      }\n      bVar45 = pe_section_alignment;\n      if (pe_section_alignment == 0xffffffff) {\n        pe_section_alignment = 0x1000;\n        bVar45 = 0x1000;\n      }\n      else {\n        (ppVar7->pe_opthdr).SectionAlignment = pe_section_alignment;\n      }\n      if (pe_stack_commit != 0xffffffff) {\n        (ppVar7->pe_opthdr).SizeOfStackCommit = pe_stack_commit;\n      }\n      if (pe_stack_reserve != 0xffffffff) {\n        (ppVar7->pe_opthdr).SizeOfStackCommit = pe_stack_reserve;\n      }\n      if (pe_subsystem != -1) {\n        (ppVar7->pe_opthdr).Subsystem = pe_subsystem;\n      }\n      if (pe_major_subsystem_version != -1) {\n        (ppVar7->pe_opthdr).MajorSubsystemVersion = pe_major_subsystem_version;\n      }\n      if (pe_minor_subsystem_version != -1) {\n        (ppVar7->pe_opthdr).MinorSubsystemVersion = pe_minor_subsystem_version;\n      }\n      if (bVar45 < bVar43) {\n        sprintf(file_alignment,"%08lx",bVar43);\n        sprintf((char *)&contents,"%08lx",pe_section_alignment);\n        pcVar24 = (char *)dcgettext(0,"warning: file alignment (0x%s) > section alignment (0x%s)",5)\n        ;\n        non_fatal(pcVar24,file_alignment,&contents);\n      }\n    }\n  }\n  ppaVar31 = isympp;\n  if (isympp != (asymbol **)0x0) {\n    free(isympp);\n  }\n  if (ppaVar31 != osympp) {\n    free(osympp);\n  }\n  isympp = (asymbol **)0x0;\n  osympp = (asymbol **)0x0;\n  lVar25 = (*ibfd->xvec->_bfd_get_symtab_upper_bound)(ibfd);\n  if (lVar25 < 0) goto LAB_00018840;\n  osympp = (asymbol **)xmalloc(lVar25);\n  isympp = osympp;\n  local_70 = (*ibfd->xvec->_bfd_canonicalize_symtab)(ibfd,osympp);\n  if (local_70 < 0) goto LAB_00018840;\n  if (local_70 == 0) {\n    free(isympp);\n    isympp = (asymbol **)0x0;\n    osympp = (asymbol **)0x0;\n  }\n  bfd_map_over_sections(ibfd,setup_section,obfd);\n  psVar6 = add_sections;\n  if ((extract_symbol == 0) &&\n     (bVar21 = (*obfd->xvec->_bfd_copy_private_header_data)(ibfd,obfd), psVar6 = add_sections,\n     bVar21 == 0)) {\n    status = 1;\n    pcVar24 = (char *)dcgettext(0,"error in private header data",5);\n    bfd_nonfatal_message((char *)0x0,ibfd,(asection *)0x0,pcVar24);\n    psVar6 = add_sections;\n  }\n  for (; psVar14 = update_sections, psVar6 != (section_add *)0x0; psVar6 = psVar6->next) {\n    uVar58 = 0x128;\n    psVar26 = find_section_list(psVar6->name,0,0x40);\n    if (psVar26 != (section_list *)0x0) {\n      uVar58 = psVar26->flags | 0x100;\n    }\n    iVar18 = bfd_get_section_by_name(obfd,psVar6->name);\n    if (iVar18 != 0) {\n      pcVar23 = psVar6->name;\n      pcVar24 = "can\'t add section \'%s\'";\nLAB_00019719:\n      pcVar24 = (char *)dcgettext(0,pcVar24,5);\n      bfd_nonfatal_message((char *)0x0,obfd,(asection *)0x0,pcVar24,pcVar23);\n      return 0;\n    }\n    paVar27 = (asection *)bfd_make_section_with_flags(obfd,psVar6->name,uVar58 | 0x100000);\n    psVar6->section = paVar27;\n    if (paVar27 == (asection *)0x0) {\n      pcVar23 = psVar6->name;\n      pcVar24 = "can\'t create section `%s\'";\n      goto LAB_00019719;\n    }\n    iVar18 = bfd_set_section_size(obfd,paVar27,psVar6->size);\n    if (iVar18 == 0) {\n      pbVar62 = (bfd *)psVar6->section;\n      local_50 = 0;\n      goto LAB_00019763;\n    }\n    psVar26 = find_section_list(psVar6->name,0,0xc);\n    if (psVar26 != (section_list *)0x0) {\n      bVar43 = psVar26->vma_val;\n      paVar27 = psVar6->section;\n      paVar27->field_0x18 = paVar27->field_0x18 | 1;\n      paVar27->lma = bVar43;\n      paVar27->vma = bVar43;\n    }\n    psVar26 = find_section_list(psVar6->name,0,0x30);\n    if (psVar26 != (section_list *)0x0) {\n      psVar6->section->lma = psVar26->lma_val;\n    }\n  }\n  for (; psVar14 != (section_add *)0x0; psVar14 = psVar14->next) {\n    paVar27 = (asection *)bfd_get_section_by_name(ibfd,psVar14->name);\n    psVar14->section = paVar27;\n    if (paVar27 == (asection *)0x0) {\n      pcVar23 = psVar14->name;\n      pcVar24 = "error: %s not found, can\'t be updated";\n      goto LAB_00018bc8;\n    }\n    pbVar62 = (bfd *)paVar27->output_section;\n    local_50 = bfd_set_section_size(obfd,pbVar62,psVar14->size);\n    if (local_50 == 0) goto LAB_00019763;\n  }\n  local_5c = obfd;\n  if ((((merge_notes != 0) &&\n       (pbVar62 = (bfd *)bfd_get_section_by_name(ibfd,".gnu.build.attributes"),\n       pbVar62 != (bfd *)0x0)) && (merge_notes != 0)) &&\n     ((ibfd->xvec->flavour == bfd_target_elf_flavour &&\n      (bVar21 = is_merged_note_section(pbVar62,(asection *)&pbVar62->archive_next,sec_1),\n      bVar21 != 0)))) {\n    pbVar36 = (bfd_byte *)pbVar62->id;\n    if (pbVar36 == (bfd_byte *)0x0) {\n      pcVar24 = (char *)dcgettext(0,"warning: note section is empty",5,0);\n      bfd_nonfatal_message((char *)0x0,ibfd,(asection *)pbVar62,pcVar24);\n      merge_notes = 0;\n    }\n    else {\n      iVar18 = bfd_get_full_section_contents(ibfd,pbVar62,&merged_notes,pbVar36);\n      pbVar50 = merged_notes;\n      if (iVar18 == 0) {\n        pcVar24 = (char *)dcgettext(0,"warning: could not load note section",5,0);\n        bfd_nonfatal_message((char *)0x0,ibfd,(asection *)pbVar62,pcVar24);\n        free(merged_notes);\n        merged_notes = (bfd_byte *)0x0;\n        merge_notes = 0;\n      }\n      else {\n        iVar18 = bfd_get_reloc_upper_bound(ibfd,pbVar62,pbVar62,pbVar62);\n        pbVar42 = ibfd;\n        pbVar69 = pbVar62;\n        if (0 < iVar18) {\n          pbVar42 = (bfd *)xmalloc(iVar18);\n          pbVar69 = (bfd *)bfd_canonicalize_reloc(ibfd,pbVar62,pbVar42,isympp);\n          free(pbVar42);\n          if (pbVar69 == (bfd *)0x0) goto LAB_0001a478;\n          local_60 = (bfd_vma *)0x0;\n          goto LAB_0001a75c;\n        }\nLAB_0001a478:\n        pvVar70 = (void *)0x24;\n        pbVar71 = pbVar42;\n        local_60 = (bfd_vma *)xcalloc((uint)pbVar36 / 0xc,0x24,pbVar42,pbVar42);\n        local_90 = (void *)0x0;\n        local_98 = (char *)0x0;\n        local_8c = (bfd *)0x0;\n        local_94 = (bfd *)0x0;\n        local_6c = 0;\n        local_84 = (int *)0x0;\n        local_80 = (bfd_byte *)0x0;\n        pbVar57 = pbVar50;\n        pbVar55 = (bfd *)pbVar50;\n        local_74 = pbVar36;\n        local_64 = local_60;\n        while ((bfd_byte *)0xb < local_74) {\n          bVar43 = (*ibfd->xvec->bfd_getx32)(pbVar57);\n          uVar58 = bVar43 + 3 & 0xfffffffc;\n          *local_64 = uVar58;\n          bVar43 = (*ibfd->xvec->bfd_getx32)(pbVar57 + 4);\n          uVar47 = bVar43 + 3 & 0xfffffffc;\n          pbVar8 = ibfd->xvec;\n          local_64[1] = uVar47;\n          bVar43 = (*pbVar8->bfd_getx32)(pbVar57 + 8);\n          local_64[2] = bVar43;\n          if (1 < bVar43 - 0x100) {\n            pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute note: wrong note type",5,\n                                        extraout_ECX_01);\n            goto LAB_0001a72d;\n          }\n          iVar18 = uVar47 + uVar58;\n          if (local_74 < (bfd_byte *)(iVar18 + 0xcU)) {\n            pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute note: note too big",5,pbVar57\n                                       );\n            goto LAB_0001a72d;\n          }\n          if (uVar58 < 2) {\n            pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute note: name too small",5,\n                                        iVar18);\n            goto LAB_0001a72d;\n          }\n          local_64[3] = (bfd_vma)(pbVar57 + 0xc);\n          pbVar3 = pbVar57 + uVar58 + 0xc;\n          local_64[4] = (bfd_vma)pbVar3;\n          pbVar55 = (bfd *)(-0xc - iVar18);\n          local_74 = (bfd_byte *)((int)&pbVar55->filename + (int)local_74);\n          bVar17 = pbVar57[0xc];\n          if (bVar17 == '$') {\n            if ((pbVar57[0xd] == '\x01') && (pbVar57[0xe] == '1')) {\n              local_80 = (bfd_byte *)((int)local_80 + 1);\n            }\n          }\n          else if ((((4 < uVar58) && (bVar17 == 'G')) && (pbVar57[0xd] == 'A')) &&\n                  ((pbVar57[0xe] == '$' && (pbVar57[0xf] == '\x01')))) {\n            bVar17 = pbVar57[0x10];\n            if (bVar17 == '2') {\n              local_84 = (int *)((int)local_84 + 1);\n            }\n            else {\n              if (bVar17 != '3') {\n                pcVar24 = (char *)dcgettext(0,\n                                            "corrupt GNU build attribute note: unsupported version",\n                                            5,bVar17);\n                goto LAB_0001a72d;\n              }\n              local_6c = local_6c + 1;\n            }\n          }\n          if (uVar47 == 4) {\n            pbVar69 = (bfd *)(*ibfd->xvec->bfd_getx32)(pbVar3);\n            pcVar24 = (char *)0xffffffff;\n          }\n          else if (uVar47 < 5) {\n            if (uVar47 != 0) {\nLAB_0001a7ea:\n              pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute note: bad description size"\n                                          ,5,bVar17);\n              goto LAB_0001a72d;\n            }\n            pcVar24 = (char *)0x0;\n            pbVar69 = (bfd *)0x0;\n          }\n          else {\n            pbVar55 = ibfd;\n            if (uVar47 == 8) {\n              pbVar8 = ibfd->xvec;\n              if ((pbVar8->flavour == bfd_target_elf_flavour) &&\n                 (((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02')) {\n                bVar68 = (*pbVar8->bfd_getx64)(pbVar3);\n                pbVar69 = (bfd *)bVar68;\n                pcVar24 = (char *)0xffffffff;\n              }\n              else {\n                pbVar69 = (bfd *)(*pbVar8->bfd_getx32)(pbVar3);\n                pcVar24 = (char *)(*ibfd->xvec->bfd_getx32)(pbVar3 + 4);\n              }\n            }\n            else {\n              if (uVar47 != 0x10) goto LAB_0001a7ea;\n              bVar68 = (*ibfd->xvec->bfd_getx64)(pbVar3);\n              pbVar69 = (bfd *)bVar68;\n              bVar68 = (*ibfd->xvec->bfd_getx64)(pbVar3 + 8);\n              pcVar24 = (char *)bVar68;\n            }\n          }\n          if (bVar43 == 0x100) {\n            if (pbVar69 == (bfd *)0x0) {\n              pbVar69 = local_8c;\n            }\n            if (pcVar24 == (char *)0x0) {\n              pcVar24 = (char *)local_90;\n            }\n            local_64[6] = (bfd_vma)pbVar69;\n            local_64[7] = (bfd_vma)pcVar24;\n            local_90 = pcVar24;\n            local_8c = pbVar69;\n          }\n          else {\n            if (pbVar69 == (bfd *)0x0) {\n              pbVar69 = local_94;\n            }\n            if (pcVar24 == (char *)0x0) {\n              pcVar24 = local_98;\n            }\n            local_64[6] = (bfd_vma)pbVar69;\n            local_64[7] = (bfd_vma)pcVar24;\n            local_98 = pcVar24;\n            local_94 = pbVar69;\n          }\n          if (*(char *)(local_64[3] + (*local_64 - 1)) != '\0') {\n            pcVar24 = (char *)dcgettext(0,\n                                        "corrupt GNU build attribute note: name not NUL terminated",\n                                        5,*local_64);\n            goto LAB_0001a72d;\n          }\n          local_64 = local_64 + 9;\n          pbVar57 = pbVar57 + (int)(iVar18 + 0xcU);\n        }\n        if (local_74 == (bfd_byte *)0x0) {\n          uVar58 = (uint)local_84 | local_6c;\n          if (local_80 == (bfd_byte *)0x0 && uVar58 == 0) {\n            pcVar24 = (char *)dcgettext(0,\n                                        "bad GNU build attribute notes: no known versions detected",\n                                        5,uVar58);\n            goto LAB_0001a72d;\n          }\n          if (((local_80 != (bfd_byte *)0x0) && (uVar58 != 0)) ||\n             ((local_84 != (int *)0x0 && (local_6c != 0)))) {\n            pcVar24 = (char *)dcgettext(0,\n                                        "bad GNU build attribute notes: multiple different versions"\n                                        ,5,pbVar69);\n            goto LAB_0001a72d;\n          }\n          if ((local_80 == (bfd_byte *)0x1 || local_84 == (int *)0x1) || (local_6c == 1))\n          goto LAB_0001a75c;\n          uVar58 = -(uint)(local_80 == (bfd_byte *)0x0) & 2;\n          iVar18 = uVar58 + 1;\n          if (*(char *)(local_60[3] + iVar18) != '\x01') {\n            pcVar24 = (char *)dcgettext(0,\n                                        "bad GNU build attribute notes: first note not version note"\n                                        ,5,pbVar55);\n            goto LAB_0001a72d;\n          }\n          bVar64 = false;\n          iVar22 = uVar58 + 2;\n          pbVar56 = local_60;\nLAB_0001a954:\n          pbVar13 = pbVar56;\n          pbVar56 = pbVar13 + 9;\n          if (pbVar56 < local_64) {\n            if (pbVar13[0xb] == 0x100) {\n              pvVar44 = (void *)pbVar13[0xc];\n              local_7c = (bfd_vma *)0x0;\n              pbVar63 = pbVar56;\n              do {\n                do {\n                  pbVar12 = pbVar63;\n                  pbVar63 = pbVar12 + -9;\n                  if (pbVar63 < local_60) goto LAB_0001a954;\n                  pvVar49 = (void *)pbVar12[-6];\n                  pbVar16 = local_7c;\n                } while ((((local_7c == (bfd_vma *)0x0) && (pbVar12[-8] != 0)) &&\n                         (pbVar16 = pbVar63, pbVar12[-7] == 0x101)) ||\n                        ((local_7c = pbVar16,\n                         *(char *)((int)pvVar44 + iVar18) != *(char *)((int)pvVar49 + iVar18) ||\n                         (pbVar12[-7] != 0x100))));\n                if (*(char *)((int)pvVar49 + iVar18) != '\x04') {\n                  pbVar69 = (bfd *)*pbVar63;\n                  if ((((pbVar69 == (bfd *)*pbVar56) &&\n                       (pbVar71 = (bfd *)pbVar56, iVar39 = memcmp(pvVar49,pvVar44,(size_t)pbVar69),\n                       pvVar70 = pvVar44, pbVar42 = pbVar69, iVar39 == 0)) &&\n                      ((uVar58 = pbVar12[-2], uVar58 != 0 && (uVar47 = pbVar13[0x10], uVar47 != 0)))\n                      ) && ((0xfffffff0 < uVar58 || (pbVar13[0xf] <= (uVar58 + 0xf & 0xfffffff0)))))\n                  {\n                    pbVar13[0xb] = 0;\n                    if (uVar58 < uVar47) {\n                      pbVar12[-2] = uVar47;\n                    }\n                    bVar64 = true;\n                    if (local_6c != 0) {\n                      pbVar12[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((pbVar13[10] == 0) && (local_7c != (bfd_vma *)0x0)) && (local_7c[2] == 0))\n                    {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    pbVar13[0x11] = 1;\n                    pbVar13[0xb] = 0x101;\n                    pbVar12[-1] = 1;\n                    pbVar12[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }\n                uVar58 = 0;\n                for (iVar39 = 0; (int)*pbVar56 - iVar22 != iVar39; iVar39 = iVar39 + 1) {\n                  uVar58 = uVar58 | (uint)*(byte *)((int)pvVar44 + iVar39 + iVar22) <<\n                                    ((char)iVar39 * '\b' & 0x1fU);\n                }\n                bVar43 = *pbVar63;\n                local_5c = (bfd *)0x0;\n                for (uVar47 = 0; bVar43 - iVar22 != uVar47; uVar47 = uVar47 + 1) {\n                  local_5c = (bfd *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar49 + iVar22))[uVar47] <<\n                                    ((char)uVar47 * '\b' & 0x1fU));\n                }\n                uVar48 = 0;\n                uVar58 = (int)local_5c + uVar58;\n                for (uVar46 = uVar58; uVar46 != 0; uVar46 = uVar46 >> 8) {\n                  uVar48 = uVar48 + 1;\n                }\n                in_stack_ffffff54 = (bfd *)pbVar56;\n              } while (uVar47 <= uVar48);\n              puVar61 = (undefined1 *)((int)pvVar49 + iVar22);\n              while (puVar61 < (undefined1 *)((int)pvVar49 + bVar43)) {\n                *puVar61 = (char)uVar58;\n                if (uVar58 == 0) break;\n                uVar58 = uVar58 >> 8;\n                puVar61 = puVar61 + 1;\n              }\n              pbVar13[0xb] = 0;\n              bVar64 = true;\n            }\n            goto LAB_0001a954;\n          }\n          in_stack_ffffff58 = obfd;\n          local_5c = obfd;\n          if (!bVar64) goto LAB_0001a75c;\n          pvVar44 = (void *)xmalloc(pbVar36,pvVar70,pbVar42,pbVar71);\n          bVar43 = 0;\n          pvVar70 = pvVar44;\n          local_80 = pbVar50;\n          for (pbVar56 = local_60; pbVar56 < local_64; pbVar56 = pbVar56 + 9) {\n            bVar45 = *pbVar56;\n            sVar34 = pbVar56[1] + 0xc + bVar45;\n            bVar10 = pbVar56[2];\n            pvVar49 = pvVar70;\n            if (bVar10 != 0) {\n              if (pbVar56[8] == 0) {\n                memcpy(pvVar70,local_80,sVar34);\n                pvVar49 = (void *)((int)pvVar70 + sVar34);\n              }\n              else {\n                pbVar57 = (bfd_byte *)pbVar56[6];\n                p_Var9 = ibfd->xvec->bfd_putx32;\n                __dest = (void *)((int)pvVar70 + 0xc);\n                pvVar49 = (void *)((int)__dest + bVar45);\n                if ((pbVar57 == local_74) && (pbVar56[7] == bVar43)) {\n                  (*p_Var9)(bVar45,pvVar70);\n                  (*ibfd->xvec->bfd_putx32)(0,(void *)((int)pvVar70 + 4));\n                  (*ibfd->xvec->bfd_putx32)(bVar10,(void *)((int)pvVar70 + 8));\n                  memcpy(__dest,(void *)pbVar56[3],bVar45);\n                }\n                else {\n                  (*p_Var9)(bVar45,pvVar70);\n                  bVar43 = 8;\n                  if (ibfd->xvec->flavour == bfd_target_elf_flavour) {\n                    bVar43 = (uint)(((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02'\n                                   ) * 8 + 8;\n                  }\n                  (*ibfd->xvec->bfd_putx32)(bVar43,(void *)((int)pvVar70 + 4));\n                  (*ibfd->xvec->bfd_putx32)(bVar10,(void *)((int)pvVar70 + 8));\n                  memcpy(__dest,(void *)pbVar56[3],bVar45);\n                  pbVar8 = ibfd->xvec;\n                  if ((pbVar8->flavour == bfd_target_elf_flavour) &&\n                     (((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02')) {\n                    (*pbVar8->bfd_putx64)(ZEXT48(pbVar57),pvVar49);\n                    (*ibfd->xvec->bfd_putx64)((ulonglong)pbVar56[7],(void *)((int)pvVar49 + 8));\n                    pvVar49 = (void *)((int)pvVar49 + 0x10);\n                  }\n                  else {\n                    (*pbVar8->bfd_putx32)((bfd_vma)pbVar57,pvVar49);\n                    (*ibfd->xvec->bfd_putx32)(pbVar56[7],(void *)((int)pvVar49 + 4));\n                    pvVar49 = (void *)((int)pvVar49 + 8);\n                  }\n                }\n              }\n              local_74 = (bfd_byte *)pbVar56[6];\n              bVar43 = pbVar56[7];\n            }\n            local_80 = local_80 + sVar34;\n            pvVar70 = pvVar49;\n          }\n          pbVar57 = (bfd_byte *)((int)pvVar70 - (int)pvVar44);\n          memcpy(pbVar50,pvVar44,(size_t)pbVar57);\n          free(pvVar44);\n          free(local_60);\n          merged_size = (bfd_size_type)pbVar57;\n          if (pbVar36 != pbVar57) {\n            iVar18 = (int)pbVar62->proxy_origin;\n            uVar29 = extraout_ECX_02;\n            if ((iVar18 != 0) &&\n               (iVar18 = bfd_set_section_size(obfd,iVar18,pbVar57,extraout_EDX),\n               uVar29 = extraout_ECX_03, iVar18 != 0)) goto LAB_00018aad;\n            pcVar24 = (char *)dcgettext(0,"warning: failed to set merged notes size",5,uVar29);\n            bfd_nonfatal_message((char *)0x0,obfd,(asection *)pbVar62,pcVar24);\n          }\n        }\n        else {\n          pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute notes: excess data at end",5,\n                                      local_64);\nLAB_0001a72d:\n          if (pcVar24 != (char *)0x0) {\n            bfd_set_error(0x11);\n            bfd_nonfatal_message((char *)0x0,ibfd,(asection *)pbVar62,pcVar24);\n            status = 1;\n          }\nLAB_0001a75c:\n          free(local_60);\n        }\n        free(merged_notes);\n        merged_notes = (bfd_byte *)0x0;\n        merge_notes = 0;\n        merged_size = 0;\n      }\n    }\n  }\nLAB_00018aad:\n  obfd = local_5c;\n  local_98 = gnu_debuglink_filename;\n  for (psVar6 = dump_sections; gnu_debuglink_filename = local_98, psVar6 != (section_add *)0x0;\n      psVar6 = psVar6->next) {\n    paVar27 = (asection *)bfd_get_section_by_name(ibfd,psVar6->name);\n    if (paVar27 == (asection *)0x0) {\n      pcVar24 = psVar6->name;\n      pcVar23 = (char *)dcgettext(0,"can\'t dump section \'%s\' - it does not exist",5);\n      bfd_nonfatal_message((char *)0x0,ibfd,(asection *)0x0,pcVar23,pcVar24);\n    }\n    else {\n      if ((paVar27->flags & 0x100) == 0) {\n        pcVar24 = "can\'t dump section - it has no contents";\n      }\n      else {\n        sVar34 = paVar27->size;\n        if (sVar34 != 0) {\n          __s = fopen64(psVar6->filename,"w");\n          if (__s == (FILE *)0x0) {\n            pcVar24 = (char *)dcgettext(0,"could not open section dump file",5);\n            bfd_nonfatal_message(psVar6->filename,(bfd *)0x0,(asection *)0x0,pcVar24);\n          }\n          else {\n            iVar18 = bfd_malloc_and_get_section(ibfd,paVar27,&contents);\n            if (iVar18 == 0) {\n              pcVar24 = (char *)dcgettext(0,"could not retrieve section contents",5);\n              bfd_nonfatal_message((char *)0x0,ibfd,paVar27,pcVar24);\n            }\n            else {\n              sVar35 = fwrite(contents,1,sVar34,__s);\n              if (sVar34 != sVar35) {\n                piVar40 = __errno_location();\n                pcVar23 = strerror(*piVar40);\n                pcVar24 = psVar6->filename;\n                pcVar41 = (char *)dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                non_fatal(pcVar41,pcVar24,pcVar23);\n                free(contents);\n                return 0;\n              }\n            }\n            fclose(__s);\n            free(contents);\n          }\n          goto LAB_00018b49;\n        }\n        pcVar24 = "can\'t dump section - it is empty";\n      }\n      pcVar24 = (char *)dcgettext(0,pcVar24,5);\n      bfd_nonfatal_message((char *)0x0,ibfd,paVar27,pcVar24);\n    }\nLAB_00018b49:\n    local_98 = gnu_debuglink_filename;\n  }\n  if (local_98 != (char *)0x0) {\n    iVar18 = bfd_get_section_by_name(local_5c,".gnu_debuglink");\n    if (iVar18 == 0) {\n      local_98 = (char *)bfd_create_gnu_debuglink_section(local_5c,gnu_debuglink_filename);\n      pcVar24 = gnu_debuglink_filename;\n      if (local_98 == (char *)0x0) {\n        pcVar23 = (char *)dcgettext(0,"cannot create debug link section `%s\'",5,local_5c);\n        bfd_nonfatal_message((char *)0x0,local_5c,(asection *)0x0,pcVar23,pcVar24);\n        return 0;\n      }\n      if (local_5c->xvec->flavour == bfd_target_coff_flavour) {\n        pbVar32 = local_5c->sections;\n        pbVar54 = (bfd_section *)0x0;\n        if (pbVar32 == (bfd_section *)0x0) {\nLAB_0001a360:\n          uVar47 = 0x1000;\n        }\n        else {\n          do {\n            pbVar53 = pbVar54;\n            if (((pbVar32->vma != 0) && (pbVar53 = pbVar32, pbVar54 != (bfd_section *)0x0)) &&\n               (pbVar53 = pbVar54, pbVar54->vma < pbVar32->vma)) {\n              pbVar53 = pbVar32;\n            }\n            pbVar32 = pbVar32->next;\n            pbVar54 = pbVar53;\n          } while (pbVar32 != (bfd_section *)0x0);\n          if (pbVar53 == (bfd_section *)0x0) goto LAB_0001a360;\n          uVar58 = pbVar53->size + pbVar53->vma;\n          uVar47 = 0xffffffff;\n          if (uVar58 < 0xfffff001) {\n            uVar47 = uVar58 + 0xfff & 0xfffff000;\n          }\n        }\n        *(uint *)(local_98 + 0x20) = uVar47;\n        *(uint *)(local_98 + 0x1c) = uVar47;\n        local_98[0x18] = local_98[0x18] | 1;\n      }\n    }\n    else {\n      pcVar24 = local_5c->filename;\n      pcVar23 = (char *)dcgettext(0,"%s: debuglink section already exists",5);\n      non_fatal(pcVar23,pcVar24);\n      gnu_debuglink_filename = (char *)0x0;\n      local_98 = (char *)0x0;\n    }\n  }\n  pbVar62 = (bfd *)local_5c->section_count;\n  local_8c = pbVar62;\n  if (pbVar62 == (bfd *)0x0) {\nLAB_00018ff7:\n    local_90 = (void *)0x0;\n    local_84 = (int *)0x0;\n    pbVar69 = local_8c;\n  }\n  else {\n    if (gap_fill_set == 0 && pad_to_set == 0) {\n      local_8c = (bfd *)0x0;\n      goto LAB_00018ff7;\n    }\n    sVar34 = (int)pbVar62 * 4;\n    local_84 = (int *)xmalloc(sVar34);\n    contents = (bfd_byte *)local_84;\n    bfd_map_over_sections(local_5c,get_sections,&contents);\n    qsort(local_84,(size_t)pbVar62,4,compare_section_lma);\n    local_90 = (void *)xmalloc(sVar34);\n    memset(local_90,0,sVar34);\n    if ((gap_fill_set == 0) || (pbVar62 == (bfd *)0x1)) {\n      local_8c = (bfd *)0x0;\n    }\n    else {\n      puVar61 = (undefined1 *)0x0;\n      local_8c = (bfd *)0x0;\n      piVar40 = local_84;\n      do {\n        iVar18 = *piVar40;\n        puVar61 = puVar61 + 1;\n        pbVar69 = local_8c;\n        if ((*(uint *)(iVar18 + 0x14) & 0x102) == 0x102) {\n          uVar58 = *(int *)(iVar18 + 0x20) + *(int *)(iVar18 + 0x24);\n          if (uVar58 < *(uint *)(piVar40[1] + 0x20)) {\n            pbVar69 = (bfd *)(*(uint *)(piVar40[1] + 0x20) - uVar58);\n            uVar67 = bfd_set_section_size\n                               (local_5c,iVar18,(int)&pbVar69->filename + *(int *)(iVar18 + 0x24));\n            if ((int)uVar67 == 0) {\n              pcVar24 = (char *)dcgettext(0,"Can\'t fill gap after section",5,\n                                          (int)((ulonglong)uVar67 >> 0x20));\n              bfd_nonfatal_message((char *)0x0,local_5c,(asection *)*piVar40,pcVar24);\n              status = 1;\n              break;\n            }\n            *(bfd **)((int)local_90 + (int)puVar61 * 4 + -4) = pbVar69;\n            if (pbVar69 <= local_8c) {\n              pbVar69 = local_8c;\n            }\n          }\n        }\n        local_8c = pbVar69;\n        piVar40 = piVar40 + 1;\n      } while ((undefined1 *)((int)&pbVar62[-1].build_id + 3) != puVar61);\n    }\n    pbVar69 = local_8c;\n    if (pad_to_set != 0) {\n      iVar18 = local_84[(int)((int)&pbVar62[-1].build_id + 3)];\n      uVar58 = *(int *)(iVar18 + 0x24) + *(int *)(iVar18 + 0x20);\n      if (uVar58 < pad_to) {\n        iVar18 = bfd_set_section_size(local_5c,iVar18,pad_to - *(int *)(iVar18 + 0x20));\n        if (iVar18 == 0) {\n          pcVar24 = (char *)dcgettext(0,"can\'t add padding",5,uVar58);\n          bfd_nonfatal_message\n                    ((char *)0x0,local_5c,\n                     (asection *)local_84[(int)((int)&pbVar62[-1].build_id + 3)],pcVar24);\n          status = 1;\n        }\n        else {\n          pbVar69 = (bfd *)(pad_to - uVar58);\n          *(bfd **)((int)local_90 + (sVar34 - 4)) = pbVar69;\n          if (pbVar69 <= local_8c) {\n            pbVar69 = local_8c;\n          }\n        }\n      }\n    }\n  }\n  local_8c = pbVar69;\n  local_94 = (bfd *)0x0;\n  if (convert_debugging != 0) {\n    local_94 = (bfd *)read_debugging_info(ibfd,isympp,local_70,0);\n  }\n  if (strip_symbols - STRIP_DEBUG < 6) {\nLAB_00019032:\n    if (strip_symbols != STRIP_ALL) {\nLAB_00019037:\n      bfd_set_error(0);\n      bfd_map_over_sections(ibfd,mark_symbols_used_in_relocations,isympp);\n      iVar18 = bfd_get_error();\n      if (iVar18 != 0) {\n        status = 1;\n        return 0;\n      }\n    }\n    ppaVar31 = (asymbol **)xmalloc((add_symbols + local_70) * 4 + 4);\n    local_68 = isympp;\n    uVar58 = *(uint *)&ibfd->field_0x28;\n    osympp = ppaVar31;\n    if (local_70 != 0) {\n      ppaVar1 = isympp + local_70;\n      local_70 = 0;\n      pbVar32 = (bfd_section *)(PTR__bfd_std_section_0003efc8 + 0xa8);\n      do {\n        iVar18 = add_symbols;\n        paVar37 = *local_68;\n        uVar47 = paVar37->flags;\n        pbVar36 = (bfd_byte *)paVar37->name;\n        pbVar54 = paVar37->section;\n        if (((add_sym_list != (addsym_node *)0x0) && (0 < add_symbols)) &&\n           (pcVar24 = add_sym_list->othersym, pcVar24 != (char *)0x0)) {\n          local_5c = (bfd *)0x0;\n          ptr = add_sym_list;\n          while (iVar22 = strcmp(pcVar24,(char *)pbVar36), iVar22 != 0) {\n            local_5c = (bfd *)((int)local_5c + 1);\n            ptr = ptr->next;\n            if ((local_5c == (bfd *)iVar18) || (pcVar24 = ptr->othersym, pcVar24 == (char *)0x0))\n            goto LAB_00019180;\n          }\n          free(pcVar24);\n          ptr->othersym = "";\n          ppaVar2 = ppaVar31 + local_70;\n          local_70 = local_70 + 1;\n          paVar33 = create_new_symbol(ptr,obfd);\n          *ppaVar2 = paVar33;\n        }\nLAB_00019180:\n        iVar18 = htab_elements(redefine_specific_htab);\n        pbVar50 = pbVar36;\n        if ((iVar18 != 0) || (section_rename_list != (section_rename *)0x0)) {\n          local_2c = 0;\n          contents = pbVar36;\n          iVar18 = htab_find(redefine_specific_htab,&contents);\n          if (((iVar18 == 0) || (pbVar50 = *(bfd_byte **)(iVar18 + 4), pbVar36 == pbVar50)) &&\n             (psVar15 = section_rename_list, (uVar47 & 0x100) != 0)) {\n            for (; pbVar50 = pbVar36, psVar15 != (section_rename *)0x0; psVar15 = psVar15->next) {\n              iVar18 = strcmp(psVar15->old_name,(char *)pbVar36);\n              if (iVar18 == 0) {\n                pbVar50 = (bfd_byte *)psVar15->new_name;\n                break;\n              }\n            }\n          }\n          paVar37->name = (char *)pbVar50;\n        }\n        pcVar24 = prefix_symbols_string;\n        bVar17 = ibfd->xvec->symbol_leading_char;\n        if (*pbVar50 == bVar17) {\n          if (change_leading_char == 0) {\n            if ((remove_leading_char == 0) ||\n               ((((uVar47 & 0x82) == 0 && (pbVar54 != pbVar32)) &&\n                ((paVar37->section->flags & 0x1000) == 0)))) goto LAB_00019203;\nLAB_0001943c:\n            pbVar50 = pbVar50 + 1;\n            paVar37->name = (char *)pbVar50;\n            goto LAB_00019203;\n          }\n          bVar17 = obfd->xvec->symbol_leading_char;\n          if (bVar17 == '\0') goto LAB_0001943c;\n          if (prefix_symbols_string != (char *)0x0) {\n            pbVar50 = pbVar50 + 1;\n            paVar37->name = (char *)pbVar50;\n            goto LAB_0001945b;\n          }\n          *pbVar50 = bVar17;\n          paVar37->name = (char *)pbVar50;\n        }\n        else {\n          if (((change_leading_char == 0) || (obfd->xvec->symbol_leading_char == '\0')) ||\n             (bVar17 != '\0')) {\nLAB_00019203:\n            if (pcVar24 == (char *)0x0) goto LAB_0001926f;\n            sVar34 = strlen(pcVar24);\n            sVar35 = strlen((char *)pbVar50);\n            pbVar36 = (bfd_byte *)xmalloc(sVar34 + 2 + sVar35);\n            local_5c = (bfd *)pbVar36;\n          }\n          else {\nLAB_0001945b:\n            sVar34 = strlen(pcVar24);\n            sVar35 = strlen((char *)pbVar50);\n            pbVar36 = (bfd_byte *)xmalloc(sVar34 + 2 + sVar35);\n            local_5c = (bfd *)(pbVar36 + 1);\n            *pbVar36 = obfd->xvec->symbol_leading_char;\n          }\n          pcVar24 = prefix_symbols_string;\n          if (prefix_symbols_string != (char *)0x0) {\n            strcpy((char *)local_5c,prefix_symbols_string);\n            sVar34 = strlen(pcVar24);\n            local_5c = (bfd *)((int)local_5c + sVar34);\n          }\n          strcpy((char *)local_5c,(char *)pbVar50);\n          paVar37->name = (char *)pbVar36;\n          pbVar50 = pbVar36;\n        }\nLAB_0001926f:\n        if (strip_symbols == STRIP_ALL) goto LAB_000192f8;\n        if ((uVar47 & 0x20) == 0) {\n          if (((uVar47 & 0x100) == 0) || (((*paVar37->section->symbol_ptr_ptr)->flags & 0x20) == 0))\n          {\n            if ((((uVar58 >> 5 & 0x42) == 0) &&\n                (((uVar47 & 0x82) != 0 || ((paVar37->section->flags & 0x1000) != 0)))) ||\n               (iVar18 = bfd_decode_symclass(paVar37), iVar18 == 0x49)) {\nLAB_00019528:\n              bVar21 = is_specified_symbol((char *)pbVar50,strip_specific_htab);\n              if (bVar21 == 0) goto LAB_000192e0;\n            }\n            else if ((((uVar47 & 0x82) == 0) &&\n                     (pbVar54 != (bfd_section *)(PTR__bfd_std_section_0003efc8 + 0xa8))) &&\n                    ((paVar37->section->flags & 0x1000) == 0)) {\n              if ((uVar47 & 4) == 0) {\n                if (((ibfd->xvec->flavour != bfd_target_coff_flavour) ||\n                    (pvVar70 = paVar37->section->used_by_bfd, pvVar70 == (void *)0x0)) ||\n                   (*(int *)((int)pvVar70 + 0x24) == 0)) {\n                  if ((strip_symbols == STRIP_UNNEEDED) || (discard_locals == LOCALS_ALL))\n                  goto LAB_000192f8;\n                  if (discard_locals == LOCALS_START_L) {\n                    iVar18 = bfd_is_local_label(ibfd,paVar37,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }\n                goto LAB_00019528;\n              }\n              iVar18 = convert_debugging;\n              if (1 < strip_symbols - STRIP_DEBUG) {\njoined_r0x0001a13f:\n                if (iVar18 == 0) goto LAB_00019528;\n              }\n            }\n            else if (strip_symbols != STRIP_UNNEEDED) goto LAB_00019528;\n          }\n          else {\n            bVar21 = is_specified_symbol((char *)pbVar50,strip_specific_htab);\n            if (bVar21 != 0) {\n              pcVar24 = (char *)dcgettext(0,\n                                          "not stripping symbol `%s\' because it is named in a relocation"\n                                          ,5,bVar21);\n              non_fatal(pcVar24,pbVar50);\n              status = 1;\n            }\nLAB_000192e0:\n            bVar21 = is_specified_symbol((char *)pbVar50,strip_unneeded_htab);\n            if (bVar21 == 0) goto LAB_0001931c;\n          }\nLAB_000192f8:\n          if (((keep_file_symbols != 0) && ((uVar47 & 0x4000) != 0)) ||\n             (bVar21 = is_specified_symbol((char *)pbVar50,keep_specific_htab), bVar21 != 0))\n          goto LAB_0001931c;\n        }\n        else {\n          bVar21 = is_specified_symbol((char *)pbVar50,strip_specific_htab);\n          if (bVar21 != 0) {\n            pcVar24 = (char *)dcgettext(0,\n                                        "not stripping symbol `%s\' because it is named in a relocation"\n                                        ,5);\n            non_fatal(pcVar24,pbVar50);\n            status = 1;\n          }\nLAB_0001931c:\n          bVar21 = is_strip_section(in_stack_ffffff54,(asection *)in_stack_ffffff58);\n          if (bVar21 == 0) {\n            if (((uVar47 & 2) != 0) &&\n               ((weaken != 0 ||\n                (bVar21 = is_specified_symbol((char *)pbVar50,weaken_specific_htab), bVar21 != 0))))\n            {\n              paVar37->flags = paVar37->flags & 0xfffffffd | 0x80;\n            }\n            if (pbVar54 != (bfd_section *)(PTR__bfd_std_section_0003efc8 + 0xa8)) {\n              if (((uVar47 & 0x82) != 0) &&\n                 (((bVar21 = is_specified_symbol((char *)pbVar50,localize_specific_htab),\n                   bVar21 != 0 ||\n                   ((iVar18 = htab_elements(keepglobal_specific_htab), iVar18 != 0 &&\n                    (bVar21 = is_specified_symbol((char *)pbVar50,keepglobal_specific_htab),\n                    bVar21 == 0)))) ||\n                  ((localize_hidden != 0 &&\n                   ((((pbVar62 = paVar37->the_bfd, pbVar62 != (bfd *)0x0 &&\n                      (pbVar62->xvec->flavour == bfd_target_elf_flavour)) &&\n                     ((pbVar62->tdata).aout_data != (aout_data_struct *)0x0)) &&\n                    ((*(byte *)((int)&paVar37[1].flags + 1) & 3) - 1 < 2)))))))) {\n                paVar37->flags = paVar37->flags & 0xffffff7d | 1;\n              }\n              if (((uVar47 & 1) != 0) &&\n                 (bVar21 = is_specified_symbol((char *)pbVar50,globalize_specific_htab), bVar21 != 0\n                 )) {\n                paVar37->flags = paVar37->flags & 0xfffffffe | 2;\n              }\n            }\n            ppaVar31[local_70] = paVar37;\n            local_70 = local_70 + 1;\n          }\n        }\n        local_68 = local_68 + 1;\n      } while (ppaVar1 != local_68);\n    }\n    local_5c = (bfd *)add_sym_list;\n    if ((add_sym_list != (addsym_node *)0x0) && (0 < add_symbols)) {\n      iVar18 = 0;\n      do {\n        pcVar24 = (char *)local_5c->lru_next;\n        if (pcVar24 == (char *)0x0) {\n          paVar37 = create_new_symbol((addsym_node *)local_5c,obfd);\n          ppaVar31[local_70] = paVar37;\n          local_70 = local_70 + 1;\n        }\n        else if (*pcVar24 != '\0') {\n          pcVar23 = (char *)dcgettext(0,"\'before=%s\' not found",5,local_70);\n                    /* WARNING: Subroutine does not return */\n          fatal(pcVar23,pcVar24);\n        }\n        iVar18 = iVar18 + 1;\n        local_5c = (bfd *)local_5c->filename;\n      } while (iVar18 < add_symbols);\n    }\n    ppaVar31[local_70] = (asymbol *)0x0;\n    if ((convert_debugging != 0) && (local_94 != (bfd *)0x0)) {\n      bVar11 = obfd->xvec->flavour;\n      if ((bVar11 != bfd_target_coff_flavour) && (bVar11 != bfd_target_elf_flavour)) {\n        pcVar24 = obfd->xvec->name;\n        pcVar23 = (char *)dcgettext(0,"don\'t know how to write debugging information for %s",5);\n        bfd_nonfatal_message((char *)0x0,obfd,(asection *)0x0,pcVar23,pcVar24);\n        status = 1;\n        return 0;\n      }\n      bVar21 = write_stabs_in_sections_debugging_info\n                         (obfd,local_94,&syms,(bfd_size_type *)file_alignment,&strings,\n                          (bfd_size_type *)&contents);\n      if (bVar21 == 0) {\n        status = 1;\n        return 0;\n      }\n      iVar18 = bfd_make_section_with_flags(obfd,".stab",0x2108);\n      iVar22 = bfd_make_section_with_flags(obfd,".stabstr",0x2108);\n      if ((((iVar18 == 0) || (iVar22 == 0)) ||\n          (iVar39 = bfd_set_section_size(obfd,iVar18,file_alignment._0_4_,iVar22), iVar39 == 0)) ||\n         (iVar39 = bfd_set_section_size(obfd,iVar22,contents,iVar39), iVar39 == 0)) {\n        pcVar24 = "can\'t create debugging section";\nLAB_00019fcf:\n        pcVar24 = (char *)dcgettext(0,pcVar24,5,iVar18);\n        bfd_nonfatal_message((char *)0x0,obfd,(asection *)0x0,pcVar24);\n        status = 1;\n        return 0;\n      }\n      *(undefined4 *)(iVar18 + 0x40) = 2;\n      *(undefined4 *)(iVar22 + 0x40) = 0;\n      iVar18 = bfd_set_section_contents(obfd,iVar18,syms,0,0,file_alignment._0_4_,iVar39,iVar39);\n      if ((iVar18 == 0) ||\n         (iVar18 = bfd_set_section_contents\n                             (obfd,iVar22,strings,0,0,contents,extraout_ECX,extraout_ECX),\n         iVar18 == 0)) {\n        pcVar24 = "can\'t set debugging section contents";\n        iVar18 = iVar22;\n        goto LAB_00019fcf;\n      }\n    }\n  }\n  else {\n    if (localize_hidden != 0 || discard_locals != LOCALS_UNDEF) goto LAB_00019037;\n    iVar18 = htab_elements(strip_specific_htab);\n    if (((iVar18 != 0) || (iVar18 = htab_elements(keep_specific_htab), iVar18 != 0)) ||\n       ((iVar18 = htab_elements(localize_specific_htab), iVar18 != 0 ||\n        (((((iVar18 = htab_elements(globalize_specific_htab), iVar18 != 0 ||\n            (iVar18 = htab_elements(keepglobal_specific_htab), iVar18 != 0)) ||\n           (iVar18 = htab_elements(weaken_specific_htab), iVar18 != 0)) ||\n          ((iVar18 = htab_elements(redefine_specific_htab), prefix_symbols_string != (char *)0x0 ||\n           (section_rename_list != (section_rename *)0x0)))) ||\n         (((((((sections_removed != 0 || sections_copied != 0) || convert_debugging != 0) ||\n             change_leading_char != 0) || remove_leading_char != 0) || weaken != 0) ||\n          add_symbols != 0) || iVar18 != 0)))))) goto LAB_00019032;\n  }\n  bfd_set_symtab(obfd,osympp,local_70);\n  bfd_map_over_sections(ibfd,copy_relocations_in_section,obfd);\n  bfd_map_over_sections(ibfd,copy_section,obfd);\n  pbVar62 = ibfd;\n  for (psVar6 = add_sections; psVar14 = update_sections, psVar6 != (section_add *)0x0;\n      psVar6 = psVar6->next) {\n    iVar18 = bfd_set_section_contents(obfd,psVar6->section,psVar6->contents,0,0,psVar6->size);\n    if (iVar18 == 0) {\n      pbVar62 = (bfd *)psVar6->section;\n      local_50 = 0;\n      goto LAB_00019763;\n    }\n    pbVar62 = obfd;\n  }\n  for (; psVar14 != (section_add *)0x0; psVar14 = psVar14->next) {\n    pbVar62 = (bfd *)psVar14->section->output_section;\n    local_50 = bfd_set_section_contents(obfd,pbVar62,psVar14->contents,0,0,psVar14->size);\n    if (local_50 == 0) {\nLAB_00019763:\n      bfd_nonfatal_message((char *)0x0,obfd,(asection *)pbVar62,(char *)0x0);\n      return local_50;\n    }\n  }\n  pbVar69 = (bfd *)0x0;\n  if (merge_notes != 0) {\n    pbVar69 = (bfd *)bfd_get_section_by_name(obfd,".gnu.build.attributes");\n    if (((pbVar69 == (bfd *)0x0) || (merge_notes == 0)) ||\n       ((obfd->xvec->flavour != bfd_target_elf_flavour ||\n        (bVar21 = is_merged_note_section(pbVar69,(asection *)&pbVar69->archive_next,sec_1_00),\n        bVar21 == 0)))) {\n      if (is_strip == 0) {\n        pcVar24 = (char *)dcgettext(0,"could not find any mergeable note sections",5,0);\n        bfd_nonfatal_message((char *)0x0,obfd,(asection *)pbVar69,pcVar24);\n      }\n    }\n    else {\n      iVar18 = bfd_set_section_contents(obfd,pbVar69,merged_notes,0,0,merged_size,bVar21,bVar21);\n      if (iVar18 == 0) {\n        pcVar24 = (char *)dcgettext(0,"error: failed to copy merged notes into output",5,0);\n        goto LAB_0001a2cd;\n      }\n    }\n    free(merged_notes);\n    merged_notes = (bfd_byte *)0x0;\n    merge_notes = 0;\n    pbVar62 = obfd;\n  }\n  if ((gnu_debuglink_filename != (char *)0x0) &&\n     (iVar18 = bfd_fill_in_gnu_debuglink_section(obfd,local_98,gnu_debuglink_filename),\n     pcVar24 = gnu_debuglink_filename, iVar18 == 0)) {\n    pcVar23 = (char *)dcgettext(0,"cannot fill debug link section `%s\'",5,0);\n    bfd_nonfatal_message((char *)0x0,obfd,(asection *)0x0,pcVar23,pcVar24);\n    return 0;\n  }\n  if (gap_fill_set != 0 || pad_to_set != 0) {\n    pbVar69 = (bfd *)0x2000;\n    if (local_8c < (bfd *)0x2001) {\n      pbVar69 = local_8c;\n    }\n    puVar38 = (undefined4 *)xmalloc(pbVar69);\n    pcVar24 = (char *)((uint)gap_fill * 0x1010101);\n    if (pbVar69 < (bfd *)0x4) {\n      if ((pbVar69 != (bfd *)0x0) && (*(char *)puVar38 = (char)pcVar24, ((uint)pbVar69 & 2) != 0)) {\n        *(short *)((int)puVar38 + -2 + (int)pbVar69) = (short)pcVar24;\n      }\n    }\n    else {\n      *puVar38 = pcVar24;\n      *(char **)((int)(puVar38 + -1) + (int)pbVar69) = pcVar24;\n      pbVar62 = (bfd *)((uint)(puVar38 + 1) & 0xfffffffc);\n      for (uVar58 = (uint)(((int)puVar38 - (int)((uint)(puVar38 + 1) & 0xfffffffc)) + (int)pbVar69)\n                    >> 2; uVar58 != 0; uVar58 = uVar58 - 1) {\n        pbVar62->filename = pcVar24;\n        pbVar62 = (bfd *)((int)pbVar62 + (uint)bVar66 * -8 + 4);\n      }\n    }\n    pbVar42 = (bfd *)obfd->section_count;\n    if (pbVar42 != (bfd *)0x0) {\n      pbVar62 = (bfd *)0x0;\n      do {\n        pbVar69 = *(bfd **)((int)local_90 + (int)pbVar62 * 4);\n        if (pbVar69 != (bfd *)0x0) {\n          iVar18 = local_84[(int)pbVar62];\n          local_58 = 0;\n          local_5c = (bfd *)(*(int *)(iVar18 + 0x24) - (int)pbVar69);\n          while( true ) {\n            pbVar55 = (bfd *)0x2000;\n            if (pbVar69 < (bfd *)0x2001) {\n              pbVar55 = pbVar69;\n            }\n            iVar18 = bfd_set_section_contents(obfd,iVar18,puVar38,local_5c,local_58,pbVar55);\n            if (iVar18 == 0) {\n              pbVar62 = (bfd *)local_84[(int)pbVar62];\n              local_50 = 0;\n              goto LAB_00019763;\n            }\n            bVar64 = CARRY4((uint)local_5c,(uint)pbVar55);\n            local_5c = (bfd *)((int)&pbVar55->filename + (int)local_5c);\n            local_58 = local_58 + (uint)bVar64;\n            pbVar69 = (bfd *)((int)pbVar69 - (int)pbVar55);\n            if (pbVar69 == (bfd *)0x0) break;\n            iVar18 = local_84[(int)pbVar62];\n          }\n        }\n        pbVar62 = (bfd *)((int)&pbVar62->filename + 1);\n      } while (pbVar42 != pbVar62);\n    }\n  }\n  bVar21 = (*obfd->xvec->_bfd_copy_private_bfd_data)(ibfd,obfd);\n  if (bVar21 != 0) {\n    if ((use_alt_mach_code != 0) &&\n       (iVar18 = bfd_alt_mach_code(obfd,use_alt_mach_code,pbVar69,pbVar69),\n       uVar20 = use_alt_mach_code, iVar18 == 0)) {\n      pcVar24 = (char *)dcgettext(0,"this target does not support %lu alternative machine codes",5,\n                                  pbVar62);\n      non_fatal(pcVar24,uVar20);\n      if (obfd->xvec->flavour != bfd_target_elf_flavour) {\n        pcVar24 = (char *)dcgettext(0,"ignoring the alternative value",5,extraout_ECX_00);\n        non_fatal(pcVar24);\n        return 1;\n      }\n      pcVar24 = (char *)dcgettext(0,"treating that number as an absolute e_machine value instead",5,\n                                  uVar20);\n      non_fatal(pcVar24);\n      *(short *)((int)&((obfd->tdata).coff_obj_data)->local_n_btshft + 2) = (short)use_alt_mach_code\n      ;\n    }\n    return 1;\n  }\n  pcVar24 = (char *)dcgettext(0,"error copying private BFD data",5,pbVar62);\n  pbVar69 = (bfd *)0x0;\nLAB_0001a2cd:\n  bfd_nonfatal_message((char *)0x0,obfd,(asection *)pbVar69,pcVar24);\n  return 0;\n}" { (declaration "void *__dest;" primitive_type (pointer_declarator "*__dest" * identifier) ;) (declaration "asymbol **ppaVar1;" type_identifier (pointer_declarator "**ppaVar1" * (pointer_declarator "*ppaVar1" * identifier)) ;) (declaration "asymbol **ppaVar2;" type_identifier (pointer_declarator "**ppaVar2" * (pointer_declarator "*ppaVar2" * identifier)) ;) (declaration "bfd_byte *pbVar3;" type_identifier (pointer_declarator "*pbVar3" * identifier) ;) (declaration "bfd_endian bVar4;" type_identifier identifier ;) (declaration "bfd_endian bVar5;" type_identifier identifier ;) (declaration "section_add *psVar6;" type_identifier (pointer_declarator "*psVar6" * identifier) ;) (declaration "pe_tdata *ppVar7;" type_identifier (pointer_declarator "*ppVar7" * identifier) ;) (declaration "bfd_target *pbVar8;" type_identifier (pointer_declarator "*pbVar8" * identifier) ;) (declaration "_func_void_bfd_vma_void_ptr *p_Var9;" type_identifier (pointer_declarator "*p_Var9" * identifier) ;) (declaration "bfd_vma bVar10;" type_identifier identifier ;) (declaration "bfd_flavour bVar11;" type_identifier identifier ;) (declaration "bfd_vma *pbVar12;" type_identifier (pointer_declarator "*pbVar12" * identifier) ;) (declaration "bfd_vma *pbVar13;" type_identifier (pointer_declarator "*pbVar13" * identifier) ;) (declaration "section_add *psVar14;" type_identifier (pointer_declarator "*psVar14" * identifier) ;) (declaration "section_rename *psVar15;" type_identifier (pointer_declarator "*psVar15" * identifier) ;) (declaration "bfd_vma *pbVar16;" type_identifier (pointer_declarator "*pbVar16" * identifier) ;) (declaration "bfd_byte bVar17;" type_identifier identifier ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "bfd_architecture bVar19;" type_identifier identifier ;) (declaration "ulong uVar20;" type_identifier identifier ;) (declaration "bfd_boolean bVar21;" type_identifier identifier ;) (declaration "int iVar22;" primitive_type identifier ;) (declaration "char *pcVar23;" primitive_type (pointer_declarator "*pcVar23" * identifier) ;) (declaration "char *pcVar24;" primitive_type (pointer_declarator "*pcVar24" * identifier) ;) (declaration "long lVar25;" (sized_type_specifier "long" long) identifier ;) (declaration "section_list *psVar26;" type_identifier (pointer_declarator "*psVar26" * identifier) ;) (declaration "asection *paVar27;" type_identifier (pointer_declarator "*paVar27" * identifier) ;) (declaration "FILE *__s;" type_identifier (pointer_declarator "*__s" * identifier) ;) (declaration "char *pcVar28;" primitive_type (pointer_declarator "*pcVar28" * identifier) ;) (declaration "char *__format;" primitive_type (pointer_declarator "*__format" * identifier) ;) (declaration "undefined4 uVar29;" type_identifier identifier ;) (declaration "undefined4 uVar30;" type_identifier identifier ;) (declaration "asymbol **ppaVar31;" type_identifier (pointer_declarator "**ppaVar31" * (pointer_declarator "*ppaVar31" * identifier)) ;) (declaration "bfd_section *pbVar32;" type_identifier (pointer_declarator "*pbVar32" * identifier) ;) (declaration "asymbol *paVar33;" type_identifier (pointer_declarator "*paVar33" * identifier) ;) (declaration "size_t sVar34;" primitive_type identifier ;) (declaration "size_t sVar35;" primitive_type identifier ;) (declaration "bfd_byte *pbVar36;" type_identifier (pointer_declarator "*pbVar36" * identifier) ;) (declaration "asymbol *paVar37;" type_identifier (pointer_declarator "*paVar37" * identifier) ;) (declaration "undefined4 *puVar38;" type_identifier (pointer_declarator "*puVar38" * identifier) ;) (declaration "int iVar39;" primitive_type identifier ;) (declaration "int *piVar40;" primitive_type (pointer_declarator "*piVar40" * identifier) ;) (declaration "char *pcVar41;" primitive_type (pointer_declarator "*pcVar41" * identifier) ;) (declaration "bfd *pbVar42;" type_identifier (pointer_declarator "*pbVar42" * identifier) ;) (declaration "bfd_vma bVar43;" type_identifier identifier ;) (declaration "void *pvVar44;" primitive_type (pointer_declarator "*pvVar44" * identifier) ;) (declaration "bfd_vma bVar45;" type_identifier identifier ;) (declaration "asection *sec_1;" type_identifier (pointer_declarator "*sec_1" * identifier) ;) (declaration "undefined4 extraout_ECX;" type_identifier identifier ;) (declaration "asection *sec_1_00;" type_identifier (pointer_declarator "*sec_1_00" * identifier) ;) (declaration "undefined4 extraout_ECX_00;" type_identifier identifier ;) (declaration "undefined4 extraout_ECX_01;" type_identifier identifier ;) (declaration "uint uVar46;" type_identifier identifier ;) (declaration "undefined4 extraout_ECX_02;" type_identifier identifier ;) (declaration "undefined4 extraout_ECX_03;" type_identifier identifier ;) (declaration "uint uVar47;" type_identifier identifier ;) (declaration "uint uVar48;" type_identifier identifier ;) (declaration "void *pvVar49;" primitive_type (pointer_declarator "*pvVar49" * identifier) ;) (declaration "undefined4 extraout_EDX;" type_identifier identifier ;) (declaration "addsym_node *ptr;" type_identifier (pointer_declarator "*ptr" * identifier) ;) (declaration "bfd_byte *pbVar50;" type_identifier (pointer_declarator "*pbVar50" * identifier) ;) (declaration "byte *pbVar51;" type_identifier (pointer_declarator "*pbVar51" * identifier) ;) (declaration "uchar **ppuVar52;" type_identifier (pointer_declarator "**ppuVar52" * (pointer_declarator "*ppuVar52" * identifier)) ;) (declaration "bfd_section *pbVar53;" type_identifier (pointer_declarator "*pbVar53" * identifier) ;) (declaration "bfd_section *pbVar54;" type_identifier (pointer_declarator "*pbVar54" * identifier) ;) (declaration "bfd *pbVar55;" type_identifier (pointer_declarator "*pbVar55" * identifier) ;) (declaration "bfd_vma *pbVar56;" type_identifier (pointer_declarator "*pbVar56" * identifier) ;) (declaration "bfd_byte *pbVar57;" type_identifier (pointer_declarator "*pbVar57" * identifier) ;) (declaration "uint uVar58;" type_identifier identifier ;) (declaration "byte *pbVar59;" type_identifier (pointer_declarator "*pbVar59" * identifier) ;) (declaration "internal_extra_pe_aouthdr *piVar60;" type_identifier (pointer_declarator "*piVar60" * identifier) ;) (declaration "undefined1 *puVar61;" type_identifier (pointer_declarator "*puVar61" * identifier) ;) (declaration "bfd *pbVar62;" type_identifier (pointer_declarator "*pbVar62" * identifier) ;) (declaration "bfd_vma *pbVar63;" type_identifier (pointer_declarator "*pbVar63" * identifier) ;) (declaration "bool bVar64;" primitive_type identifier ;) (declaration "bool bVar65;" primitive_type identifier ;) (declaration "byte bVar66;" type_identifier identifier ;) (declaration "undefined8 uVar67;" type_identifier identifier ;) (declaration "bfd_uint64_t bVar68;" type_identifier identifier ;) (declaration "bfd *pbVar69;" type_identifier (pointer_declarator "*pbVar69" * identifier) ;) (declaration "void *pvVar70;" primitive_type (pointer_declarator "*pvVar70" * identifier) ;) (declaration "bfd *pbVar71;" type_identifier (pointer_declarator "*pbVar71" * identifier) ;) (declaration "bfd *in_stack_ffffff54;" type_identifier (pointer_declarator "*in_stack_ffffff54" * identifier) ;) (declaration "bfd *in_stack_ffffff58;" type_identifier (pointer_declarator "*in_stack_ffffff58" * identifier) ;) (declaration "char *local_98;" primitive_type (pointer_declarator "*local_98" * identifier) ;) (declaration "bfd *local_94;" type_identifier (pointer_declarator "*local_94" * identifier) ;) (declaration "void *local_90;" primitive_type (pointer_declarator "*local_90" * identifier) ;) (declaration "bfd *local_8c;" type_identifier (pointer_declarator "*local_8c" * identifier) ;) (declaration "int *local_84;" primitive_type (pointer_declarator "*local_84" * identifier) ;) (declaration "bfd_byte *local_80;" type_identifier (pointer_declarator "*local_80" * identifier) ;) (declaration "bfd_vma *local_7c;" type_identifier (pointer_declarator "*local_7c" * identifier) ;) (declaration "bfd_byte *local_74;" type_identifier (pointer_declarator "*local_74" * identifier) ;) (declaration "int local_70;" primitive_type identifier ;) (declaration "uint local_6c;" type_identifier identifier ;) (declaration "asymbol **local_68;" type_identifier (pointer_declarator "**local_68" * (pointer_declarator "*local_68" * identifier)) ;) (declaration "bfd_vma *local_64;" type_identifier (pointer_declarator "*local_64" * identifier) ;) (declaration "bfd_vma *local_60;" type_identifier (pointer_declarator "*local_60" * identifier) ;) (declaration "bfd *local_5c;" type_identifier (pointer_declarator "*local_5c" * identifier) ;) (declaration "int local_58;" primitive_type identifier ;) (declaration "bfd_boolean local_50;" type_identifier identifier ;) (declaration "bfd_byte *syms;" type_identifier (pointer_declarator "*syms" * identifier) ;) (declaration "bfd_byte *strings;" type_identifier (pointer_declarator "*strings" * identifier) ;) (declaration "char file_alignment [20];" primitive_type (array_declarator "file_alignment [20]" identifier [ number_literal ]) ;) (declaration "bfd_byte *contents;" type_identifier (pointer_declarator "*contents" * identifier) ;) (declaration "undefined4 local_2c;" type_identifier identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "bVar66 = 0;" (assignment_expression "bVar66 = 0" identifier = number_literal) ;) (expression_statement "uStack_14 = 0x185fd;" (assignment_expression "uStack_14 = 0x185fd" identifier = number_literal) ;) (expression_statement "bVar4 = ibfd->xvec->byteorder;" (assignment_expression "bVar4 = ibfd->xvec->byteorder" identifier = (field_expression "ibfd->xvec->byteorder" (field_expression "ibfd->xvec" identifier -> field_identifier) -> field_identifier)) ;) (expression_statement "bVar5 = obfd->xvec->byteorder;" (assignment_expression "bVar5 = obfd->xvec->byteorder" identifier = (field_expression "obfd->xvec->byteorder" (field_expression "obfd->xvec" identifier -> field_identifier) -> field_identifier)) ;) (if_statement "if ((bVar4 != bVar5 && bVar4 != BFD_ENDIAN_UNKNOWN) && (bVar5 != BFD_ENDIAN_UNKNOWN)) {\n    pcVar24 = (char *)dcgettext(0,"Unable to change endianness of input file(s)",5);\n    non_fatal(pcVar24);\n    return 0;\n  }" if (parenthesized_expression "((bVar4 != bVar5 && bVar4 != BFD_ENDIAN_UNKNOWN) && (bVar5 != BFD_ENDIAN_UNKNOWN))" ( (binary_expression "(bVar4 != bVar5 && bVar4 != BFD_ENDIAN_UNKNOWN) && (bVar5 != BFD_ENDIAN_UNKNOWN)" (parenthesized_expression "(bVar4 != bVar5 && bVar4 != BFD_ENDIAN_UNKNOWN)" ( (binary_expression "bVar4 != bVar5 && bVar4 != BFD_ENDIAN_UNKNOWN" (binary_expression "bVar4 != bVar5" identifier != identifier) && (binary_expression "bVar4 != BFD_ENDIAN_UNKNOWN" identifier != identifier)) )) && (parenthesized_expression "(bVar5 != BFD_ENDIAN_UNKNOWN)" ( (binary_expression "bVar5 != BFD_ENDIAN_UNKNOWN" identifier != identifier) ))) )) (compound_statement "{\n    pcVar24 = (char *)dcgettext(0,"Unable to change endianness of input file(s)",5);\n    non_fatal(pcVar24);\n    return 0;\n  }" { (expression_statement "pcVar24 = (char *)dcgettext(0,"Unable to change endianness of input file(s)",5);" (assignment_expression "pcVar24 = (char *)dcgettext(0,"Unable to change endianness of input file(s)",5)" identifier = (cast_expression "(char *)dcgettext(0,"Unable to change endianness of input file(s)",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Unable to change endianness of input file(s)",5)" identifier (argument_list "(0,"Unable to change endianness of input file(s)",5)" ( number_literal , (string_literal ""Unable to change endianness of input file(s)"" " string_content ") , number_literal ))))) ;) (expression_statement "non_fatal(pcVar24);" (call_expression "non_fatal(pcVar24)" identifier (argument_list "(pcVar24)" ( identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "iVar18 = bfd_set_format(obfd,ibfd->field_0x28 & 7);" (assignment_expression "iVar18 = bfd_set_format(obfd,ibfd->field_0x28 & 7)" identifier = (call_expression "bfd_set_format(obfd,ibfd->field_0x28 & 7)" identifier (argument_list "(obfd,ibfd->field_0x28 & 7)" ( identifier , (binary_expression "ibfd->field_0x28 & 7" (field_expression "ibfd->field_0x28" identifier -> field_identifier) & number_literal) )))) ;) (if_statement "if (iVar18 == 0) {\n    bfd_nonfatal_message((char *)0x0,obfd,(asection *)0x0,(char *)0x0);\n    return 0;\n  }" if (parenthesized_expression "(iVar18 == 0)" ( (binary_expression "iVar18 == 0" identifier == number_literal) )) (compound_statement "{\n    bfd_nonfatal_message((char *)0x0,obfd,(asection *)0x0,(char *)0x0);\n    return 0;\n  }" { (expression_statement "bfd_nonfatal_message((char *)0x0,obfd,(asection *)0x0,(char *)0x0);" (call_expression "bfd_nonfatal_message((char *)0x0,obfd,(asection *)0x0,(char *)0x0)" identifier (argument_list "((char *)0x0,obfd,(asection *)0x0,(char *)0x0)" ( (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) , identifier , (cast_expression "(asection *)0x0" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ))) ;) (return_statement "return 0;" return number_literal ;) })) (if_statement "if (ibfd->sections == (bfd_section *)0x0) {\n    pcVar23 = bfd_get_archive_filename(ibfd);\n    pcVar24 = "error: the input file \'%s\' has no sections";\n    goto LAB_00018bc8;\n  }" if (parenthesized_expression "(ibfd->sections == (bfd_section *)0x0)" ( (binary_expression "ibfd->sections == (bfd_section *)0x0" (field_expression "ibfd->sections" identifier -> field_identifier) == (cast_expression "(bfd_section *)0x0" ( (type_descriptor "bfd_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pcVar23 = bfd_get_archive_filename(ibfd);\n    pcVar24 = "error: the input file \'%s\' has no sections";\n    goto LAB_00018bc8;\n  }" { (expression_statement "pcVar23 = bfd_get_archive_filename(ibfd);" (assignment_expression "pcVar23 = bfd_get_archive_filename(ibfd)" identifier = (call_expression "bfd_get_archive_filename(ibfd)" identifier (argument_list "(ibfd)" ( identifier )))) ;) (expression_statement "pcVar24 = "error: the input file \'%s\' has no sections";" (assignment_expression "pcVar24 = "error: the input file \'%s\' has no sections"" identifier = (string_literal ""error: the input file \'%s\' has no sections"" " string_content escape_sequence string_content escape_sequence string_content ")) ;) (goto_statement "goto LAB_00018bc8;" goto statement_identifier ;) })) (if_statement "if (ibfd->xvec->flavour != bfd_target_elf_flavour) {\n    if ((do_debug_sections != _sch_isblank) && ((do_debug_sections & _sch_isblank) != nothing)) {\n      pcVar23 = bfd_get_archive_filename(ibfd);\n      pcVar24 = "--compress-debug-sections=[zlib|zlib-gnu|zlib-gabi] is unsupported on `%s\'";\nLAB_00018bc8:\n      pcVar24 = (char *)dcgettext(0,pcVar24,5);\n      non_fatal(pcVar24,pcVar23);\n      return 0;\n    }\n    if (do_elf_stt_common != unchanged) {\n      pcVar23 = bfd_get_archive_filename(ibfd);\n      pcVar24 = "--elf-stt-common=[yes|no] is unsupported on `%s\'";\n      goto LAB_00018bc8;\n    }\n  }" if (parenthesized_expression "(ibfd->xvec->flavour != bfd_target_elf_flavour)" ( (binary_expression "ibfd->xvec->flavour != bfd_target_elf_flavour" (field_expression "ibfd->xvec->flavour" (field_expression "ibfd->xvec" identifier -> field_identifier) -> field_identifier) != identifier) )) (compound_statement "{\n    if ((do_debug_sections != _sch_isblank) && ((do_debug_sections & _sch_isblank) != nothing)) {\n      pcVar23 = bfd_get_archive_filename(ibfd);\n      pcVar24 = "--compress-debug-sections=[zlib|zlib-gnu|zlib-gabi] is unsupported on `%s\'";\nLAB_00018bc8:\n      pcVar24 = (char *)dcgettext(0,pcVar24,5);\n      non_fatal(pcVar24,pcVar23);\n      return 0;\n    }\n    if (do_elf_stt_common != unchanged) {\n      pcVar23 = bfd_get_archive_filename(ibfd);\n      pcVar24 = "--elf-stt-common=[yes|no] is unsupported on `%s\'";\n      goto LAB_00018bc8;\n    }\n  }" { (if_statement "if ((do_debug_sections != _sch_isblank) && ((do_debug_sections & _sch_isblank) != nothing)) {\n      pcVar23 = bfd_get_archive_filename(ibfd);\n      pcVar24 = "--compress-debug-sections=[zlib|zlib-gnu|zlib-gabi] is unsupported on `%s\'";\nLAB_00018bc8:\n      pcVar24 = (char *)dcgettext(0,pcVar24,5);\n      non_fatal(pcVar24,pcVar23);\n      return 0;\n    }" if (parenthesized_expression "((do_debug_sections != _sch_isblank) && ((do_debug_sections & _sch_isblank) != nothing))" ( (binary_expression "(do_debug_sections != _sch_isblank) && ((do_debug_sections & _sch_isblank) != nothing)" (parenthesized_expression "(do_debug_sections != _sch_isblank)" ( (binary_expression "do_debug_sections != _sch_isblank" identifier != identifier) )) && (parenthesized_expression "((do_debug_sections & _sch_isblank) != nothing)" ( (binary_expression "(do_debug_sections & _sch_isblank) != nothing" (parenthesized_expression "(do_debug_sections & _sch_isblank)" ( (binary_expression "do_debug_sections & _sch_isblank" identifier & identifier) )) != identifier) ))) )) (compound_statement "{\n      pcVar23 = bfd_get_archive_filename(ibfd);\n      pcVar24 = "--compress-debug-sections=[zlib|zlib-gnu|zlib-gabi] is unsupported on `%s\'";\nLAB_00018bc8:\n      pcVar24 = (char *)dcgettext(0,pcVar24,5);\n      non_fatal(pcVar24,pcVar23);\n      return 0;\n    }" { (expression_statement "pcVar23 = bfd_get_archive_filename(ibfd);" (assignment_expression "pcVar23 = bfd_get_archive_filename(ibfd)" identifier = (call_expression "bfd_get_archive_filename(ibfd)" identifier (argument_list "(ibfd)" ( identifier )))) ;) (expression_statement "pcVar24 = "--compress-debug-sections=[zlib|zlib-gnu|zlib-gabi] is unsupported on `%s\'";" (assignment_expression "pcVar24 = "--compress-debug-sections=[zlib|zlib-gnu|zlib-gabi] is unsupported on `%s\'"" identifier = (string_literal ""--compress-debug-sections=[zlib|zlib-gnu|zlib-gabi] is unsupported on `%s\'"" " string_content escape_sequence ")) ;) (labeled_statement "LAB_00018bc8:\n      pcVar24 = (char *)dcgettext(0,pcVar24,5);" statement_identifier : (expression_statement "pcVar24 = (char *)dcgettext(0,pcVar24,5);" (assignment_expression "pcVar24 = (char *)dcgettext(0,pcVar24,5)" identifier = (cast_expression "(char *)dcgettext(0,pcVar24,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar24,5)" identifier (argument_list "(0,pcVar24,5)" ( number_literal , identifier , number_literal ))))) ;)) (expression_statement "non_fatal(pcVar24,pcVar23);" (call_expression "non_fatal(pcVar24,pcVar23)" identifier (argument_list "(pcVar24,pcVar23)" ( identifier , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (if_statement "if (do_elf_stt_common != unchanged) {\n      pcVar23 = bfd_get_archive_filename(ibfd);\n      pcVar24 = "--elf-stt-common=[yes|no] is unsupported on `%s\'";\n      goto LAB_00018bc8;\n    }" if (parenthesized_expression "(do_elf_stt_common != unchanged)" ( (binary_expression "do_elf_stt_common != unchanged" identifier != identifier) )) (compound_statement "{\n      pcVar23 = bfd_get_archive_filename(ibfd);\n      pcVar24 = "--elf-stt-common=[yes|no] is unsupported on `%s\'";\n      goto LAB_00018bc8;\n    }" { (expression_statement "pcVar23 = bfd_get_archive_filename(ibfd);" (assignment_expression "pcVar23 = bfd_get_archive_filename(ibfd)" identifier = (call_expression "bfd_get_archive_filename(ibfd)" identifier (argument_list "(ibfd)" ( identifier )))) ;) (expression_statement "pcVar24 = "--elf-stt-common=[yes|no] is unsupported on `%s\'";" (assignment_expression "pcVar24 = "--elf-stt-common=[yes|no] is unsupported on `%s\'"" identifier = (string_literal ""--elf-stt-common=[yes|no] is unsupported on `%s\'"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_00018bc8;" goto statement_identifier ;) })) })) (if_statement "if (verbose != 0) {\n    pcVar24 = ibfd->xvec->name;\n    pcVar23 = obfd->xvec->name;\n    pcVar41 = obfd->filename;\n    pcVar28 = bfd_get_archive_filename(ibfd);\n    __format = (char *)dcgettext(0,"copy from `%s\' [%s] to `%s\' [%s]\n",5);\n    printf(__format,pcVar28,pcVar24,pcVar41,pcVar23);\n  }" if (parenthesized_expression "(verbose != 0)" ( (binary_expression "verbose != 0" identifier != number_literal) )) (compound_statement "{\n    pcVar24 = ibfd->xvec->name;\n    pcVar23 = obfd->xvec->name;\n    pcVar41 = obfd->filename;\n    pcVar28 = bfd_get_archive_filename(ibfd);\n    __format = (char *)dcgettext(0,"copy from `%s\' [%s] to `%s\' [%s]\n",5);\n    printf(__format,pcVar28,pcVar24,pcVar41,pcVar23);\n  }" { (expression_statement "pcVar24 = ibfd->xvec->name;" (assignment_expression "pcVar24 = ibfd->xvec->name" identifier = (field_expression "ibfd->xvec->name" (field_expression "ibfd->xvec" identifier -> field_identifier) -> field_identifier)) ;) (expression_statement "pcVar23 = obfd->xvec->name;" (assignment_expression "pcVar23 = obfd->xvec->name" identifier = (field_expression "obfd->xvec->name" (field_expression "obfd->xvec" identifier -> field_identifier) -> field_identifier)) ;) (expression_statement "pcVar41 = obfd->filename;" (assignment_expression "pcVar41 = obfd->filename" identifier = (field_expression "obfd->filename" identifier -> field_identifier)) ;) (expression_statement "pcVar28 = bfd_get_archive_filename(ibfd);" (assignment_expression "pcVar28 = bfd_get_archive_filename(ibfd)" identifier = (call_expression "bfd_get_archive_filename(ibfd)" identifier (argument_list "(ibfd)" ( identifier )))) ;) (expression_statement "__format = (char *)dcgettext(0,"copy from `%s\' [%s] to `%s\' [%s]\n",5);" (assignment_expression "__format = (char *)dcgettext(0,"copy from `%s\' [%s] to `%s\' [%s]\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"copy from `%s\' [%s] to `%s\' [%s]\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"copy from `%s\' [%s] to `%s\' [%s]\n",5)" identifier (argument_list "(0,"copy from `%s\' [%s] to `%s\' [%s]\n",5)" ( number_literal , (string_literal ""copy from `%s\' [%s] to `%s\' [%s]\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(__format,pcVar28,pcVar24,pcVar41,pcVar23);" (call_expression "printf(__format,pcVar28,pcVar24,pcVar41,pcVar23)" identifier (argument_list "(__format,pcVar28,pcVar24,pcVar41,pcVar23)" ( identifier , identifier , identifier , identifier , identifier ))) ;) })) (expression_statement "iVar18 = 0;" (assignment_expression "iVar18 = 0" identifier = number_literal) ;) (if_statement "if (extract_symbol == 0) {\n    bVar43 = set_start;\n    if (set_start_set == 0) {\n      bVar43 = ibfd->start_address;\n    }\n    iVar18 = bVar43 + change_start;\n  }" if (parenthesized_expression "(extract_symbol == 0)" ( (binary_expression "extract_symbol == 0" identifier == number_literal) )) (compound_statement "{\n    bVar43 = set_start;\n    if (set_start_set == 0) {\n      bVar43 = ibfd->start_address;\n    }\n    iVar18 = bVar43 + change_start;\n  }" { (expression_statement "bVar43 = set_start;" (assignment_expression "bVar43 = set_start" identifier = identifier) ;) (if_statement "if (set_start_set == 0) {\n      bVar43 = ibfd->start_address;\n    }" if (parenthesized_expression "(set_start_set == 0)" ( (binary_expression "set_start_set == 0" identifier == number_literal) )) (compound_statement "{\n      bVar43 = ibfd->start_address;\n    }" { (expression_statement "bVar43 = ibfd->start_address;" (assignment_expression "bVar43 = ibfd->start_address" identifier = (field_expression "ibfd->start_address" identifier -> field_identifier)) ;) })) (expression_statement "iVar18 = bVar43 + change_start;" (assignment_expression "iVar18 = bVar43 + change_start" identifier = (binary_expression "bVar43 + change_start" identifier + identifier)) ;) })) (if_statement "if ((obfd->field_0x28 & 7) != 3) {\n    uVar58 = ~bfd_flags_to_clear & obfd->xvec->object_flags &\n             (*(uint *)&ibfd->field_0x28 >> 5 & 0xfffff | bfd_flags_to_set);\n    if (strip_symbols == STRIP_ALL) {\n      uVar58 = uVar58 & 0xfffffffe;\n    }\n    iVar18 = bfd_set_start_address(obfd,iVar18);\n    if ((iVar18 == 0) || (iVar18 = bfd_set_file_flags(obfd,uVar58), iVar18 == 0)) goto LAB_00018840;\n  }" if (parenthesized_expression "((obfd->field_0x28 & 7) != 3)" ( (binary_expression "(obfd->field_0x28 & 7) != 3" (parenthesized_expression "(obfd->field_0x28 & 7)" ( (binary_expression "obfd->field_0x28 & 7" (field_expression "obfd->field_0x28" identifier -> field_identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n    uVar58 = ~bfd_flags_to_clear & obfd->xvec->object_flags &\n             (*(uint *)&ibfd->field_0x28 >> 5 & 0xfffff | bfd_flags_to_set);\n    if (strip_symbols == STRIP_ALL) {\n      uVar58 = uVar58 & 0xfffffffe;\n    }\n    iVar18 = bfd_set_start_address(obfd,iVar18);\n    if ((iVar18 == 0) || (iVar18 = bfd_set_file_flags(obfd,uVar58), iVar18 == 0)) goto LAB_00018840;\n  }" { (expression_statement "uVar58 = ~bfd_flags_to_clear & obfd->xvec->object_flags &\n             (*(uint *)&ibfd->field_0x28 >> 5 & 0xfffff | bfd_flags_to_set);" (assignment_expression "uVar58 = ~bfd_flags_to_clear & obfd->xvec->object_flags &\n             (*(uint *)&ibfd->field_0x28 >> 5 & 0xfffff | bfd_flags_to_set)" identifier = (binary_expression "~bfd_flags_to_clear & obfd->xvec->object_flags &\n             (*(uint *)&ibfd->field_0x28 >> 5 & 0xfffff | bfd_flags_to_set)" (binary_expression "~bfd_flags_to_clear & obfd->xvec->object_flags" (unary_expression "~bfd_flags_to_clear" ~ identifier) & (field_expression "obfd->xvec->object_flags" (field_expression "obfd->xvec" identifier -> field_identifier) -> field_identifier)) & (parenthesized_expression "(*(uint *)&ibfd->field_0x28 >> 5 & 0xfffff | bfd_flags_to_set)" ( (binary_expression "*(uint *)&ibfd->field_0x28 >> 5 & 0xfffff | bfd_flags_to_set" (binary_expression "*(uint *)&ibfd->field_0x28 >> 5 & 0xfffff" (binary_expression "*(uint *)&ibfd->field_0x28 >> 5" (pointer_expression "*(uint *)&ibfd->field_0x28" * (cast_expression "(uint *)&ibfd->field_0x28" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&ibfd->field_0x28" & (field_expression "ibfd->field_0x28" identifier -> field_identifier)))) >> number_literal) & number_literal) | identifier) )))) ;) (if_statement "if (strip_symbols == STRIP_ALL) {\n      uVar58 = uVar58 & 0xfffffffe;\n    }" if (parenthesized_expression "(strip_symbols == STRIP_ALL)" ( (binary_expression "strip_symbols == STRIP_ALL" identifier == identifier) )) (compound_statement "{\n      uVar58 = uVar58 & 0xfffffffe;\n    }" { (expression_statement "uVar58 = uVar58 & 0xfffffffe;" (assignment_expression "uVar58 = uVar58 & 0xfffffffe" identifier = (binary_expression "uVar58 & 0xfffffffe" identifier & number_literal)) ;) })) (expression_statement "iVar18 = bfd_set_start_address(obfd,iVar18);" (assignment_expression "iVar18 = bfd_set_start_address(obfd,iVar18)" identifier = (call_expression "bfd_set_start_address(obfd,iVar18)" identifier (argument_list "(obfd,iVar18)" ( identifier , identifier )))) ;) (if_statement "if ((iVar18 == 0) || (iVar18 = bfd_set_file_flags(obfd,uVar58), iVar18 == 0)) goto LAB_00018840;" if (parenthesized_expression "((iVar18 == 0) || (iVar18 = bfd_set_file_flags(obfd,uVar58), iVar18 == 0))" ( (binary_expression "(iVar18 == 0) || (iVar18 = bfd_set_file_flags(obfd,uVar58), iVar18 == 0)" (parenthesized_expression "(iVar18 == 0)" ( (binary_expression "iVar18 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar18 = bfd_set_file_flags(obfd,uVar58), iVar18 == 0)" ( (comma_expression "iVar18 = bfd_set_file_flags(obfd,uVar58), iVar18 == 0" (assignment_expression "iVar18 = bfd_set_file_flags(obfd,uVar58)" identifier = (call_expression "bfd_set_file_flags(obfd,uVar58)" identifier (argument_list "(obfd,uVar58)" ( identifier , identifier )))) , (binary_expression "iVar18 == 0" identifier == number_literal)) ))) )) (goto_statement "goto LAB_00018840;" goto statement_identifier ;)) })) (expression_statement "bVar19 = bfd_get_arch(ibfd);" (assignment_expression "bVar19 = bfd_get_arch(ibfd)" identifier = (call_expression "bfd_get_arch(ibfd)" identifier (argument_list "(ibfd)" ( identifier )))) ;) (expression_statement "uVar20 = bfd_get_mach(ibfd);" (assignment_expression "uVar20 = bfd_get_mach(ibfd)" identifier = (call_expression "bfd_get_mach(ibfd)" identifier (argument_list "(ibfd)" ( identifier )))) ;) (if_statement "if (input_arch != (bfd_arch_info_type *)0x0) {\n    iVar18 = bfd_get_arch_info(ibfd);\n    if ((iVar18 == 0) || (iVar18 = bfd_get_arch_info(ibfd), *(int *)(iVar18 + 0xc) == 0)) {\n      bVar19 = input_arch->arch;\n      uVar20 = input_arch->mach;\n    }\n    else {\n      pcVar24 = bfd_get_archive_filename(ibfd);\n      pcVar23 = (char *)dcgettext(0,"Input file `%s\' ignores binary architecture parameter.",5);\n      non_fatal(pcVar23,pcVar24);\n    }\n  }" if (parenthesized_expression "(input_arch != (bfd_arch_info_type *)0x0)" ( (binary_expression "input_arch != (bfd_arch_info_type *)0x0" identifier != (cast_expression "(bfd_arch_info_type *)0x0" ( (type_descriptor "bfd_arch_info_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar18 = bfd_get_arch_info(ibfd);\n    if ((iVar18 == 0) || (iVar18 = bfd_get_arch_info(ibfd), *(int *)(iVar18 + 0xc) == 0)) {\n      bVar19 = input_arch->arch;\n      uVar20 = input_arch->mach;\n    }\n    else {\n      pcVar24 = bfd_get_archive_filename(ibfd);\n      pcVar23 = (char *)dcgettext(0,"Input file `%s\' ignores binary architecture parameter.",5);\n      non_fatal(pcVar23,pcVar24);\n    }\n  }" { (expression_statement "iVar18 = bfd_get_arch_info(ibfd);" (assignment_expression "iVar18 = bfd_get_arch_info(ibfd)" identifier = (call_expression "bfd_get_arch_info(ibfd)" identifier (argument_list "(ibfd)" ( identifier )))) ;) (if_statement "if ((iVar18 == 0) || (iVar18 = bfd_get_arch_info(ibfd), *(int *)(iVar18 + 0xc) == 0)) {\n      bVar19 = input_arch->arch;\n      uVar20 = input_arch->mach;\n    }\n    else {\n      pcVar24 = bfd_get_archive_filename(ibfd);\n      pcVar23 = (char *)dcgettext(0,"Input file `%s\' ignores binary architecture parameter.",5);\n      non_fatal(pcVar23,pcVar24);\n    }" if (parenthesized_expression "((iVar18 == 0) || (iVar18 = bfd_get_arch_info(ibfd), *(int *)(iVar18 + 0xc) == 0))" ( (binary_expression "(iVar18 == 0) || (iVar18 = bfd_get_arch_info(ibfd), *(int *)(iVar18 + 0xc) == 0)" (parenthesized_expression "(iVar18 == 0)" ( (binary_expression "iVar18 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar18 = bfd_get_arch_info(ibfd), *(int *)(iVar18 + 0xc) == 0)" ( (comma_expression "iVar18 = bfd_get_arch_info(ibfd), *(int *)(iVar18 + 0xc) == 0" (assignment_expression "iVar18 = bfd_get_arch_info(ibfd)" identifier = (call_expression "bfd_get_arch_info(ibfd)" identifier (argument_list "(ibfd)" ( identifier )))) , (binary_expression "*(int *)(iVar18 + 0xc) == 0" (pointer_expression "*(int *)(iVar18 + 0xc)" * (cast_expression "(int *)(iVar18 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + 0xc)" ( (binary_expression "iVar18 + 0xc" identifier + number_literal) )))) == number_literal)) ))) )) (compound_statement "{\n      bVar19 = input_arch->arch;\n      uVar20 = input_arch->mach;\n    }" { (expression_statement "bVar19 = input_arch->arch;" (assignment_expression "bVar19 = input_arch->arch" identifier = (field_expression "input_arch->arch" identifier -> field_identifier)) ;) (expression_statement "uVar20 = input_arch->mach;" (assignment_expression "uVar20 = input_arch->mach" identifier = (field_expression "input_arch->mach" identifier -> field_identifier)) ;) }) (else_clause "else {\n      pcVar24 = bfd_get_archive_filename(ibfd);\n      pcVar23 = (char *)dcgettext(0,"Input file `%s\' ignores binary architecture parameter.",5);\n      non_fatal(pcVar23,pcVar24);\n    }" else (compound_statement "{\n      pcVar24 = bfd_get_archive_filename(ibfd);\n      pcVar23 = (char *)dcgettext(0,"Input file `%s\' ignores binary architecture parameter.",5);\n      non_fatal(pcVar23,pcVar24);\n    }" { (expression_statement "pcVar24 = bfd_get_archive_filename(ibfd);" (assignment_expression "pcVar24 = bfd_get_archive_filename(ibfd)" identifier = (call_expression "bfd_get_archive_filename(ibfd)" identifier (argument_list "(ibfd)" ( identifier )))) ;) (expression_statement "pcVar23 = (char *)dcgettext(0,"Input file `%s\' ignores binary architecture parameter.",5);" (assignment_expression "pcVar23 = (char *)dcgettext(0,"Input file `%s\' ignores binary architecture parameter.",5)" identifier = (cast_expression "(char *)dcgettext(0,"Input file `%s\' ignores binary architecture parameter.",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Input file `%s\' ignores binary architecture parameter.",5)" identifier (argument_list "(0,"Input file `%s\' ignores binary architecture parameter.",5)" ( number_literal , (string_literal ""Input file `%s\' ignores binary architecture parameter."" " string_content escape_sequence string_content ") , number_literal ))))) ;) (expression_statement "non_fatal(pcVar23,pcVar24);" (call_expression "non_fatal(pcVar23,pcVar24)" identifier (argument_list "(pcVar23,pcVar24)" ( identifier , identifier ))) ;) }))) })) (expression_statement "bVar21 = (*obfd->xvec->_bfd_set_arch_mach)(obfd,bVar19,uVar20);" (assignment_expression "bVar21 = (*obfd->xvec->_bfd_set_arch_mach)(obfd,bVar19,uVar20)" identifier = (call_expression "(*obfd->xvec->_bfd_set_arch_mach)(obfd,bVar19,uVar20)" (parenthesized_expression "(*obfd->xvec->_bfd_set_arch_mach)" ( (pointer_expression "*obfd->xvec->_bfd_set_arch_mach" * (field_expression "obfd->xvec->_bfd_set_arch_mach" (field_expression "obfd->xvec" identifier -> field_identifier) -> field_identifier)) )) (argument_list "(obfd,bVar19,uVar20)" ( identifier , identifier , identifier )))) ;) (if_statement "if (bVar21 == 0) {\n    if ((ibfd->field_0x2b & 4) != 0) {\nLAB_000187e7:\n      iVar18 = bfd_get_arch(ibfd);\n      if (iVar18 == 0) {\n        pcVar23 = bfd_get_archive_filename(ibfd);\n        pcVar24 = "Unable to recognise the format of the input file `%s\'";\n      }\n      else {\n        uVar29 = bfd_get_mach(ibfd);\n        uVar30 = bfd_get_arch(ibfd);\n        pcVar23 = (char *)bfd_printable_arch_mach(uVar30,uVar29);\n        pcVar24 = "Output file cannot represent architecture `%s\'";\n      }\n      pcVar24 = (char *)dcgettext(0,pcVar24,5);\n      non_fatal(pcVar24,pcVar23);\n      return 0;\n    }\n    iVar18 = bfd_get_arch(ibfd);\n    iVar22 = bfd_get_arch(obfd);\n    if (iVar18 != iVar22) goto LAB_000187e7;\n  }" if (parenthesized_expression "(bVar21 == 0)" ( (binary_expression "bVar21 == 0" identifier == number_literal) )) (compound_statement "{\n    if ((ibfd->field_0x2b & 4) != 0) {\nLAB_000187e7:\n      iVar18 = bfd_get_arch(ibfd);\n      if (iVar18 == 0) {\n        pcVar23 = bfd_get_archive_filename(ibfd);\n        pcVar24 = "Unable to recognise the format of the input file `%s\'";\n      }\n      else {\n        uVar29 = bfd_get_mach(ibfd);\n        uVar30 = bfd_get_arch(ibfd);\n        pcVar23 = (char *)bfd_printable_arch_mach(uVar30,uVar29);\n        pcVar24 = "Output file cannot represent architecture `%s\'";\n      }\n      pcVar24 = (char *)dcgettext(0,pcVar24,5);\n      non_fatal(pcVar24,pcVar23);\n      return 0;\n    }\n    iVar18 = bfd_get_arch(ibfd);\n    iVar22 = bfd_get_arch(obfd);\n    if (iVar18 != iVar22) goto LAB_000187e7;\n  }" { (if_statement "if ((ibfd->field_0x2b & 4) != 0) {\nLAB_000187e7:\n      iVar18 = bfd_get_arch(ibfd);\n      if (iVar18 == 0) {\n        pcVar23 = bfd_get_archive_filename(ibfd);\n        pcVar24 = "Unable to recognise the format of the input file `%s\'";\n      }\n      else {\n        uVar29 = bfd_get_mach(ibfd);\n        uVar30 = bfd_get_arch(ibfd);\n        pcVar23 = (char *)bfd_printable_arch_mach(uVar30,uVar29);\n        pcVar24 = "Output file cannot represent architecture `%s\'";\n      }\n      pcVar24 = (char *)dcgettext(0,pcVar24,5);\n      non_fatal(pcVar24,pcVar23);\n      return 0;\n    }" if (parenthesized_expression "((ibfd->field_0x2b & 4) != 0)" ( (binary_expression "(ibfd->field_0x2b & 4) != 0" (parenthesized_expression "(ibfd->field_0x2b & 4)" ( (binary_expression "ibfd->field_0x2b & 4" (field_expression "ibfd->field_0x2b" identifier -> field_identifier) & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_000187e7:\n      iVar18 = bfd_get_arch(ibfd);\n      if (iVar18 == 0) {\n        pcVar23 = bfd_get_archive_filename(ibfd);\n        pcVar24 = "Unable to recognise the format of the input file `%s\'";\n      }\n      else {\n        uVar29 = bfd_get_mach(ibfd);\n        uVar30 = bfd_get_arch(ibfd);\n        pcVar23 = (char *)bfd_printable_arch_mach(uVar30,uVar29);\n        pcVar24 = "Output file cannot represent architecture `%s\'";\n      }\n      pcVar24 = (char *)dcgettext(0,pcVar24,5);\n      non_fatal(pcVar24,pcVar23);\n      return 0;\n    }" { (labeled_statement "LAB_000187e7:\n      iVar18 = bfd_get_arch(ibfd);" statement_identifier : (expression_statement "iVar18 = bfd_get_arch(ibfd);" (assignment_expression "iVar18 = bfd_get_arch(ibfd)" identifier = (call_expression "bfd_get_arch(ibfd)" identifier (argument_list "(ibfd)" ( identifier )))) ;)) (if_statement "if (iVar18 == 0) {\n        pcVar23 = bfd_get_archive_filename(ibfd);\n        pcVar24 = "Unable to recognise the format of the input file `%s\'";\n      }\n      else {\n        uVar29 = bfd_get_mach(ibfd);\n        uVar30 = bfd_get_arch(ibfd);\n        pcVar23 = (char *)bfd_printable_arch_mach(uVar30,uVar29);\n        pcVar24 = "Output file cannot represent architecture `%s\'";\n      }" if (parenthesized_expression "(iVar18 == 0)" ( (binary_expression "iVar18 == 0" identifier == number_literal) )) (compound_statement "{\n        pcVar23 = bfd_get_archive_filename(ibfd);\n        pcVar24 = "Unable to recognise the format of the input file `%s\'";\n      }" { (expression_statement "pcVar23 = bfd_get_archive_filename(ibfd);" (assignment_expression "pcVar23 = bfd_get_archive_filename(ibfd)" identifier = (call_expression "bfd_get_archive_filename(ibfd)" identifier (argument_list "(ibfd)" ( identifier )))) ;) (expression_statement "pcVar24 = "Unable to recognise the format of the input file `%s\'";" (assignment_expression "pcVar24 = "Unable to recognise the format of the input file `%s\'"" identifier = (string_literal ""Unable to recognise the format of the input file `%s\'"" " string_content escape_sequence ")) ;) }) (else_clause "else {\n        uVar29 = bfd_get_mach(ibfd);\n        uVar30 = bfd_get_arch(ibfd);\n        pcVar23 = (char *)bfd_printable_arch_mach(uVar30,uVar29);\n        pcVar24 = "Output file cannot represent architecture `%s\'";\n      }" else (compound_statement "{\n        uVar29 = bfd_get_mach(ibfd);\n        uVar30 = bfd_get_arch(ibfd);\n        pcVar23 = (char *)bfd_printable_arch_mach(uVar30,uVar29);\n        pcVar24 = "Output file cannot represent architecture `%s\'";\n      }" { (expression_statement "uVar29 = bfd_get_mach(ibfd);" (assignment_expression "uVar29 = bfd_get_mach(ibfd)" identifier = (call_expression "bfd_get_mach(ibfd)" identifier (argument_list "(ibfd)" ( identifier )))) ;) (expression_statement "uVar30 = bfd_get_arch(ibfd);" (assignment_expression "uVar30 = bfd_get_arch(ibfd)" identifier = (call_expression "bfd_get_arch(ibfd)" identifier (argument_list "(ibfd)" ( identifier )))) ;) (expression_statement "pcVar23 = (char *)bfd_printable_arch_mach(uVar30,uVar29);" (assignment_expression "pcVar23 = (char *)bfd_printable_arch_mach(uVar30,uVar29)" identifier = (cast_expression "(char *)bfd_printable_arch_mach(uVar30,uVar29)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "bfd_printable_arch_mach(uVar30,uVar29)" identifier (argument_list "(uVar30,uVar29)" ( identifier , identifier ))))) ;) (expression_statement "pcVar24 = "Output file cannot represent architecture `%s\'";" (assignment_expression "pcVar24 = "Output file cannot represent architecture `%s\'"" identifier = (string_literal ""Output file cannot represent architecture `%s\'"" " string_content escape_sequence ")) ;) }))) (expression_statement "pcVar24 = (char *)dcgettext(0,pcVar24,5);" (assignment_expression "pcVar24 = (char *)dcgettext(0,pcVar24,5)" identifier = (cast_expression "(char *)dcgettext(0,pcVar24,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar24,5)" identifier (argument_list "(0,pcVar24,5)" ( number_literal , identifier , number_literal ))))) ;) (expression_statement "non_fatal(pcVar24,pcVar23);" (call_expression "non_fatal(pcVar24,pcVar23)" identifier (argument_list "(pcVar24,pcVar23)" ( identifier , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "iVar18 = bfd_get_arch(ibfd);" (assignment_expression "iVar18 = bfd_get_arch(ibfd)" identifier = (call_expression "bfd_get_arch(ibfd)" identifier (argument_list "(ibfd)" ( identifier )))) ;) (expression_statement "iVar22 = bfd_get_arch(obfd);" (assignment_expression "iVar22 = bfd_get_arch(obfd)" identifier = (call_expression "bfd_get_arch(obfd)" identifier (argument_list "(obfd)" ( identifier )))) ;) (if_statement "if (iVar18 != iVar22) goto LAB_000187e7;" if (parenthesized_expression "(iVar18 != iVar22)" ( (binary_expression "iVar18 != iVar22" identifier != identifier) )) (goto_statement "goto LAB_000187e7;" goto statement_identifier ;)) })) (expression_statement "iVar18 = bfd_set_format(obfd,ibfd->field_0x28 & 7);" (assignment_expression "iVar18 = bfd_set_format(obfd,ibfd->field_0x28 & 7)" identifier = (call_expression "bfd_set_format(obfd,ibfd->field_0x28 & 7)" identifier (argument_list "(obfd,ibfd->field_0x28 & 7)" ( identifier , (binary_expression "ibfd->field_0x28 & 7" (field_expression "ibfd->field_0x28" identifier -> field_identifier) & number_literal) )))) ;) (if_statement "if (iVar18 == 0) {\nLAB_00018840:\n    bfd_nonfatal_message((char *)0x0,ibfd,(asection *)0x0,(char *)0x0);\n    return 0;\n  }" if (parenthesized_expression "(iVar18 == 0)" ( (binary_expression "iVar18 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00018840:\n    bfd_nonfatal_message((char *)0x0,ibfd,(asection *)0x0,(char *)0x0);\n    return 0;\n  }" { (labeled_statement "LAB_00018840:\n    bfd_nonfatal_message((char *)0x0,ibfd,(asection *)0x0,(char *)0x0);" statement_identifier : (expression_statement "bfd_nonfatal_message((char *)0x0,ibfd,(asection *)0x0,(char *)0x0);" (call_expression "bfd_nonfatal_message((char *)0x0,ibfd,(asection *)0x0,(char *)0x0)" identifier (argument_list "((char *)0x0,ibfd,(asection *)0x0,(char *)0x0)" ( (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) , identifier , (cast_expression "(asection *)0x0" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ))) ;)) (return_statement "return 0;" return number_literal ;) })) (expression_statement "bVar11 = obfd->xvec->flavour;" (assignment_expression "bVar11 = obfd->xvec->flavour" identifier = (field_expression "obfd->xvec->flavour" (field_expression "obfd->xvec" identifier -> field_identifier) -> field_identifier)) ;) (expression_statement "bVar64 = bVar11 < bfd_target_coff_flavour;" (assignment_expression "bVar64 = bVar11 < bfd_target_coff_flavour" identifier = (binary_expression "bVar11 < bfd_target_coff_flavour" identifier < identifier)) ;) (expression_statement "bVar65 = bVar11 == bfd_target_coff_flavour;" (assignment_expression "bVar65 = bVar11 == bfd_target_coff_flavour" identifier = (binary_expression "bVar11 == bfd_target_coff_flavour" identifier == identifier)) ;) (if_statement "if (bVar65) {\n    iVar18 = 4;\n    pbVar51 = (byte *)obfd->xvec->name;\n    pbVar59 = &DAT_0002e16a;\n    do {\n      if (iVar18 == 0) break;\n      iVar18 = iVar18 + -1;\n      bVar64 = *pbVar51 < *pbVar59;\n      bVar65 = *pbVar51 == *pbVar59;\n      pbVar51 = pbVar51 + (uint)bVar66 * -2 + 1;\n      pbVar59 = pbVar59 + (uint)bVar66 * -2 + 1;\n    } while (bVar65);\n    if ((!bVar64 && !bVar65) == bVar64) {\n      ppVar7 = (obfd->tdata).pe_obj_data;\n      bVar11 = ibfd->xvec->flavour;\n      bVar64 = bVar11 < bfd_target_coff_flavour;\n      bVar65 = bVar11 == bfd_target_coff_flavour;\n      if (bVar65) {\n        iVar18 = 4;\n        pbVar51 = (byte *)ibfd->xvec->name;\n        pbVar59 = &DAT_0002e16a;\n        do {\n          if (iVar18 == 0) break;\n          iVar18 = iVar18 + -1;\n          bVar64 = *pbVar51 < *pbVar59;\n          bVar65 = *pbVar51 == *pbVar59;\n          pbVar51 = pbVar51 + (uint)bVar66 * -2 + 1;\n          pbVar59 = pbVar59 + (uint)bVar66 * -2 + 1;\n        } while (bVar65);\n        if ((!bVar64 && !bVar65) == bVar64) {\n          ppuVar52 = &(((ibfd->tdata).elf_obj_data)->symtab_hdr).contents;\n          piVar60 = &ppVar7->pe_opthdr;\n          for (iVar18 = 0x38; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *(uchar **)piVar60 = *ppuVar52;\n            ppuVar52 = ppuVar52 + (uint)bVar66 * -2 + 1;\n            piVar60 = (internal_extra_pe_aouthdr *)((int)piVar60 + (uint)bVar66 * -8 + 4);\n          }\n        }\n      }\n      bVar43 = pe_file_alignment;\n      if (pe_file_alignment == 0xffffffff) {\n        pe_file_alignment = 0x200;\n        bVar43 = 0x200;\n      }\n      else {\n        (ppVar7->pe_opthdr).FileAlignment = pe_file_alignment;\n      }\n      if (pe_heap_commit != 0xffffffff) {\n        (ppVar7->pe_opthdr).SizeOfHeapCommit = pe_heap_commit;\n      }\n      if (pe_heap_reserve != 0xffffffff) {\n        (ppVar7->pe_opthdr).SizeOfHeapCommit = pe_heap_reserve;\n      }\n      if (pe_image_base != 0xffffffff) {\n        (ppVar7->pe_opthdr).ImageBase = pe_image_base;\n      }\n      bVar45 = pe_section_alignment;\n      if (pe_section_alignment == 0xffffffff) {\n        pe_section_alignment = 0x1000;\n        bVar45 = 0x1000;\n      }\n      else {\n        (ppVar7->pe_opthdr).SectionAlignment = pe_section_alignment;\n      }\n      if (pe_stack_commit != 0xffffffff) {\n        (ppVar7->pe_opthdr).SizeOfStackCommit = pe_stack_commit;\n      }\n      if (pe_stack_reserve != 0xffffffff) {\n        (ppVar7->pe_opthdr).SizeOfStackCommit = pe_stack_reserve;\n      }\n      if (pe_subsystem != -1) {\n        (ppVar7->pe_opthdr).Subsystem = pe_subsystem;\n      }\n      if (pe_major_subsystem_version != -1) {\n        (ppVar7->pe_opthdr).MajorSubsystemVersion = pe_major_subsystem_version;\n      }\n      if (pe_minor_subsystem_version != -1) {\n        (ppVar7->pe_opthdr).MinorSubsystemVersion = pe_minor_subsystem_version;\n      }\n      if (bVar45 < bVar43) {\n        sprintf(file_alignment,"%08lx",bVar43);\n        sprintf((char *)&contents,"%08lx",pe_section_alignment);\n        pcVar24 = (char *)dcgettext(0,"warning: file alignment (0x%s) > section alignment (0x%s)",5)\n        ;\n        non_fatal(pcVar24,file_alignment,&contents);\n      }\n    }\n  }" if (parenthesized_expression "(bVar65)" ( identifier )) (compound_statement "{\n    iVar18 = 4;\n    pbVar51 = (byte *)obfd->xvec->name;\n    pbVar59 = &DAT_0002e16a;\n    do {\n      if (iVar18 == 0) break;\n      iVar18 = iVar18 + -1;\n      bVar64 = *pbVar51 < *pbVar59;\n      bVar65 = *pbVar51 == *pbVar59;\n      pbVar51 = pbVar51 + (uint)bVar66 * -2 + 1;\n      pbVar59 = pbVar59 + (uint)bVar66 * -2 + 1;\n    } while (bVar65);\n    if ((!bVar64 && !bVar65) == bVar64) {\n      ppVar7 = (obfd->tdata).pe_obj_data;\n      bVar11 = ibfd->xvec->flavour;\n      bVar64 = bVar11 < bfd_target_coff_flavour;\n      bVar65 = bVar11 == bfd_target_coff_flavour;\n      if (bVar65) {\n        iVar18 = 4;\n        pbVar51 = (byte *)ibfd->xvec->name;\n        pbVar59 = &DAT_0002e16a;\n        do {\n          if (iVar18 == 0) break;\n          iVar18 = iVar18 + -1;\n          bVar64 = *pbVar51 < *pbVar59;\n          bVar65 = *pbVar51 == *pbVar59;\n          pbVar51 = pbVar51 + (uint)bVar66 * -2 + 1;\n          pbVar59 = pbVar59 + (uint)bVar66 * -2 + 1;\n        } while (bVar65);\n        if ((!bVar64 && !bVar65) == bVar64) {\n          ppuVar52 = &(((ibfd->tdata).elf_obj_data)->symtab_hdr).contents;\n          piVar60 = &ppVar7->pe_opthdr;\n          for (iVar18 = 0x38; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *(uchar **)piVar60 = *ppuVar52;\n            ppuVar52 = ppuVar52 + (uint)bVar66 * -2 + 1;\n            piVar60 = (internal_extra_pe_aouthdr *)((int)piVar60 + (uint)bVar66 * -8 + 4);\n          }\n        }\n      }\n      bVar43 = pe_file_alignment;\n      if (pe_file_alignment == 0xffffffff) {\n        pe_file_alignment = 0x200;\n        bVar43 = 0x200;\n      }\n      else {\n        (ppVar7->pe_opthdr).FileAlignment = pe_file_alignment;\n      }\n      if (pe_heap_commit != 0xffffffff) {\n        (ppVar7->pe_opthdr).SizeOfHeapCommit = pe_heap_commit;\n      }\n      if (pe_heap_reserve != 0xffffffff) {\n        (ppVar7->pe_opthdr).SizeOfHeapCommit = pe_heap_reserve;\n      }\n      if (pe_image_base != 0xffffffff) {\n        (ppVar7->pe_opthdr).ImageBase = pe_image_base;\n      }\n      bVar45 = pe_section_alignment;\n      if (pe_section_alignment == 0xffffffff) {\n        pe_section_alignment = 0x1000;\n        bVar45 = 0x1000;\n      }\n      else {\n        (ppVar7->pe_opthdr).SectionAlignment = pe_section_alignment;\n      }\n      if (pe_stack_commit != 0xffffffff) {\n        (ppVar7->pe_opthdr).SizeOfStackCommit = pe_stack_commit;\n      }\n      if (pe_stack_reserve != 0xffffffff) {\n        (ppVar7->pe_opthdr).SizeOfStackCommit = pe_stack_reserve;\n      }\n      if (pe_subsystem != -1) {\n        (ppVar7->pe_opthdr).Subsystem = pe_subsystem;\n      }\n      if (pe_major_subsystem_version != -1) {\n        (ppVar7->pe_opthdr).MajorSubsystemVersion = pe_major_subsystem_version;\n      }\n      if (pe_minor_subsystem_version != -1) {\n        (ppVar7->pe_opthdr).MinorSubsystemVersion = pe_minor_subsystem_version;\n      }\n      if (bVar45 < bVar43) {\n        sprintf(file_alignment,"%08lx",bVar43);\n        sprintf((char *)&contents,"%08lx",pe_section_alignment);\n        pcVar24 = (char *)dcgettext(0,"warning: file alignment (0x%s) > section alignment (0x%s)",5)\n        ;\n        non_fatal(pcVar24,file_alignment,&contents);\n      }\n    }\n  }" { (expression_statement "iVar18 = 4;" (assignment_expression "iVar18 = 4" identifier = number_literal) ;) (expression_statement "pbVar51 = (byte *)obfd->xvec->name;" (assignment_expression "pbVar51 = (byte *)obfd->xvec->name" identifier = (cast_expression "(byte *)obfd->xvec->name" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "obfd->xvec->name" (field_expression "obfd->xvec" identifier -> field_identifier) -> field_identifier))) ;) (expression_statement "pbVar59 = &DAT_0002e16a;" (assignment_expression "pbVar59 = &DAT_0002e16a" identifier = (pointer_expression "&DAT_0002e16a" & identifier)) ;) (do_statement "do {\n      if (iVar18 == 0) break;\n      iVar18 = iVar18 + -1;\n      bVar64 = *pbVar51 < *pbVar59;\n      bVar65 = *pbVar51 == *pbVar59;\n      pbVar51 = pbVar51 + (uint)bVar66 * -2 + 1;\n      pbVar59 = pbVar59 + (uint)bVar66 * -2 + 1;\n    } while (bVar65);" do (compound_statement "{\n      if (iVar18 == 0) break;\n      iVar18 = iVar18 + -1;\n      bVar64 = *pbVar51 < *pbVar59;\n      bVar65 = *pbVar51 == *pbVar59;\n      pbVar51 = pbVar51 + (uint)bVar66 * -2 + 1;\n      pbVar59 = pbVar59 + (uint)bVar66 * -2 + 1;\n    }" { (if_statement "if (iVar18 == 0) break;" if (parenthesized_expression "(iVar18 == 0)" ( (binary_expression "iVar18 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar18 = iVar18 + -1;" (assignment_expression "iVar18 = iVar18 + -1" identifier = (binary_expression "iVar18 + -1" identifier + number_literal)) ;) (expression_statement "bVar64 = *pbVar51 < *pbVar59;" (assignment_expression "bVar64 = *pbVar51 < *pbVar59" identifier = (binary_expression "*pbVar51 < *pbVar59" (pointer_expression "*pbVar51" * identifier) < (pointer_expression "*pbVar59" * identifier))) ;) (expression_statement "bVar65 = *pbVar51 == *pbVar59;" (assignment_expression "bVar65 = *pbVar51 == *pbVar59" identifier = (binary_expression "*pbVar51 == *pbVar59" (pointer_expression "*pbVar51" * identifier) == (pointer_expression "*pbVar59" * identifier))) ;) (expression_statement "pbVar51 = pbVar51 + (uint)bVar66 * -2 + 1;" (assignment_expression "pbVar51 = pbVar51 + (uint)bVar66 * -2 + 1" identifier = (binary_expression "pbVar51 + (uint)bVar66 * -2 + 1" (binary_expression "pbVar51 + (uint)bVar66 * -2" identifier + (binary_expression "(uint)bVar66 * -2" (cast_expression "(uint)bVar66" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar59 = pbVar59 + (uint)bVar66 * -2 + 1;" (assignment_expression "pbVar59 = pbVar59 + (uint)bVar66 * -2 + 1" identifier = (binary_expression "pbVar59 + (uint)bVar66 * -2 + 1" (binary_expression "pbVar59 + (uint)bVar66 * -2" identifier + (binary_expression "(uint)bVar66 * -2" (cast_expression "(uint)bVar66" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar65)" ( identifier )) ;) (if_statement "if ((!bVar64 && !bVar65) == bVar64) {\n      ppVar7 = (obfd->tdata).pe_obj_data;\n      bVar11 = ibfd->xvec->flavour;\n      bVar64 = bVar11 < bfd_target_coff_flavour;\n      bVar65 = bVar11 == bfd_target_coff_flavour;\n      if (bVar65) {\n        iVar18 = 4;\n        pbVar51 = (byte *)ibfd->xvec->name;\n        pbVar59 = &DAT_0002e16a;\n        do {\n          if (iVar18 == 0) break;\n          iVar18 = iVar18 + -1;\n          bVar64 = *pbVar51 < *pbVar59;\n          bVar65 = *pbVar51 == *pbVar59;\n          pbVar51 = pbVar51 + (uint)bVar66 * -2 + 1;\n          pbVar59 = pbVar59 + (uint)bVar66 * -2 + 1;\n        } while (bVar65);\n        if ((!bVar64 && !bVar65) == bVar64) {\n          ppuVar52 = &(((ibfd->tdata).elf_obj_data)->symtab_hdr).contents;\n          piVar60 = &ppVar7->pe_opthdr;\n          for (iVar18 = 0x38; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *(uchar **)piVar60 = *ppuVar52;\n            ppuVar52 = ppuVar52 + (uint)bVar66 * -2 + 1;\n            piVar60 = (internal_extra_pe_aouthdr *)((int)piVar60 + (uint)bVar66 * -8 + 4);\n          }\n        }\n      }\n      bVar43 = pe_file_alignment;\n      if (pe_file_alignment == 0xffffffff) {\n        pe_file_alignment = 0x200;\n        bVar43 = 0x200;\n      }\n      else {\n        (ppVar7->pe_opthdr).FileAlignment = pe_file_alignment;\n      }\n      if (pe_heap_commit != 0xffffffff) {\n        (ppVar7->pe_opthdr).SizeOfHeapCommit = pe_heap_commit;\n      }\n      if (pe_heap_reserve != 0xffffffff) {\n        (ppVar7->pe_opthdr).SizeOfHeapCommit = pe_heap_reserve;\n      }\n      if (pe_image_base != 0xffffffff) {\n        (ppVar7->pe_opthdr).ImageBase = pe_image_base;\n      }\n      bVar45 = pe_section_alignment;\n      if (pe_section_alignment == 0xffffffff) {\n        pe_section_alignment = 0x1000;\n        bVar45 = 0x1000;\n      }\n      else {\n        (ppVar7->pe_opthdr).SectionAlignment = pe_section_alignment;\n      }\n      if (pe_stack_commit != 0xffffffff) {\n        (ppVar7->pe_opthdr).SizeOfStackCommit = pe_stack_commit;\n      }\n      if (pe_stack_reserve != 0xffffffff) {\n        (ppVar7->pe_opthdr).SizeOfStackCommit = pe_stack_reserve;\n      }\n      if (pe_subsystem != -1) {\n        (ppVar7->pe_opthdr).Subsystem = pe_subsystem;\n      }\n      if (pe_major_subsystem_version != -1) {\n        (ppVar7->pe_opthdr).MajorSubsystemVersion = pe_major_subsystem_version;\n      }\n      if (pe_minor_subsystem_version != -1) {\n        (ppVar7->pe_opthdr).MinorSubsystemVersion = pe_minor_subsystem_version;\n      }\n      if (bVar45 < bVar43) {\n        sprintf(file_alignment,"%08lx",bVar43);\n        sprintf((char *)&contents,"%08lx",pe_section_alignment);\n        pcVar24 = (char *)dcgettext(0,"warning: file alignment (0x%s) > section alignment (0x%s)",5)\n        ;\n        non_fatal(pcVar24,file_alignment,&contents);\n      }\n    }" if (parenthesized_expression "((!bVar64 && !bVar65) == bVar64)" ( (binary_expression "(!bVar64 && !bVar65) == bVar64" (parenthesized_expression "(!bVar64 && !bVar65)" ( (binary_expression "!bVar64 && !bVar65" (unary_expression "!bVar64" ! identifier) && (unary_expression "!bVar65" ! identifier)) )) == identifier) )) (compound_statement "{\n      ppVar7 = (obfd->tdata).pe_obj_data;\n      bVar11 = ibfd->xvec->flavour;\n      bVar64 = bVar11 < bfd_target_coff_flavour;\n      bVar65 = bVar11 == bfd_target_coff_flavour;\n      if (bVar65) {\n        iVar18 = 4;\n        pbVar51 = (byte *)ibfd->xvec->name;\n        pbVar59 = &DAT_0002e16a;\n        do {\n          if (iVar18 == 0) break;\n          iVar18 = iVar18 + -1;\n          bVar64 = *pbVar51 < *pbVar59;\n          bVar65 = *pbVar51 == *pbVar59;\n          pbVar51 = pbVar51 + (uint)bVar66 * -2 + 1;\n          pbVar59 = pbVar59 + (uint)bVar66 * -2 + 1;\n        } while (bVar65);\n        if ((!bVar64 && !bVar65) == bVar64) {\n          ppuVar52 = &(((ibfd->tdata).elf_obj_data)->symtab_hdr).contents;\n          piVar60 = &ppVar7->pe_opthdr;\n          for (iVar18 = 0x38; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *(uchar **)piVar60 = *ppuVar52;\n            ppuVar52 = ppuVar52 + (uint)bVar66 * -2 + 1;\n            piVar60 = (internal_extra_pe_aouthdr *)((int)piVar60 + (uint)bVar66 * -8 + 4);\n          }\n        }\n      }\n      bVar43 = pe_file_alignment;\n      if (pe_file_alignment == 0xffffffff) {\n        pe_file_alignment = 0x200;\n        bVar43 = 0x200;\n      }\n      else {\n        (ppVar7->pe_opthdr).FileAlignment = pe_file_alignment;\n      }\n      if (pe_heap_commit != 0xffffffff) {\n        (ppVar7->pe_opthdr).SizeOfHeapCommit = pe_heap_commit;\n      }\n      if (pe_heap_reserve != 0xffffffff) {\n        (ppVar7->pe_opthdr).SizeOfHeapCommit = pe_heap_reserve;\n      }\n      if (pe_image_base != 0xffffffff) {\n        (ppVar7->pe_opthdr).ImageBase = pe_image_base;\n      }\n      bVar45 = pe_section_alignment;\n      if (pe_section_alignment == 0xffffffff) {\n        pe_section_alignment = 0x1000;\n        bVar45 = 0x1000;\n      }\n      else {\n        (ppVar7->pe_opthdr).SectionAlignment = pe_section_alignment;\n      }\n      if (pe_stack_commit != 0xffffffff) {\n        (ppVar7->pe_opthdr).SizeOfStackCommit = pe_stack_commit;\n      }\n      if (pe_stack_reserve != 0xffffffff) {\n        (ppVar7->pe_opthdr).SizeOfStackCommit = pe_stack_reserve;\n      }\n      if (pe_subsystem != -1) {\n        (ppVar7->pe_opthdr).Subsystem = pe_subsystem;\n      }\n      if (pe_major_subsystem_version != -1) {\n        (ppVar7->pe_opthdr).MajorSubsystemVersion = pe_major_subsystem_version;\n      }\n      if (pe_minor_subsystem_version != -1) {\n        (ppVar7->pe_opthdr).MinorSubsystemVersion = pe_minor_subsystem_version;\n      }\n      if (bVar45 < bVar43) {\n        sprintf(file_alignment,"%08lx",bVar43);\n        sprintf((char *)&contents,"%08lx",pe_section_alignment);\n        pcVar24 = (char *)dcgettext(0,"warning: file alignment (0x%s) > section alignment (0x%s)",5)\n        ;\n        non_fatal(pcVar24,file_alignment,&contents);\n      }\n    }" { (expression_statement "ppVar7 = (obfd->tdata).pe_obj_data;" (assignment_expression "ppVar7 = (obfd->tdata).pe_obj_data" identifier = (field_expression "(obfd->tdata).pe_obj_data" (parenthesized_expression "(obfd->tdata)" ( (field_expression "obfd->tdata" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "bVar11 = ibfd->xvec->flavour;" (assignment_expression "bVar11 = ibfd->xvec->flavour" identifier = (field_expression "ibfd->xvec->flavour" (field_expression "ibfd->xvec" identifier -> field_identifier) -> field_identifier)) ;) (expression_statement "bVar64 = bVar11 < bfd_target_coff_flavour;" (assignment_expression "bVar64 = bVar11 < bfd_target_coff_flavour" identifier = (binary_expression "bVar11 < bfd_target_coff_flavour" identifier < identifier)) ;) (expression_statement "bVar65 = bVar11 == bfd_target_coff_flavour;" (assignment_expression "bVar65 = bVar11 == bfd_target_coff_flavour" identifier = (binary_expression "bVar11 == bfd_target_coff_flavour" identifier == identifier)) ;) (if_statement "if (bVar65) {\n        iVar18 = 4;\n        pbVar51 = (byte *)ibfd->xvec->name;\n        pbVar59 = &DAT_0002e16a;\n        do {\n          if (iVar18 == 0) break;\n          iVar18 = iVar18 + -1;\n          bVar64 = *pbVar51 < *pbVar59;\n          bVar65 = *pbVar51 == *pbVar59;\n          pbVar51 = pbVar51 + (uint)bVar66 * -2 + 1;\n          pbVar59 = pbVar59 + (uint)bVar66 * -2 + 1;\n        } while (bVar65);\n        if ((!bVar64 && !bVar65) == bVar64) {\n          ppuVar52 = &(((ibfd->tdata).elf_obj_data)->symtab_hdr).contents;\n          piVar60 = &ppVar7->pe_opthdr;\n          for (iVar18 = 0x38; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *(uchar **)piVar60 = *ppuVar52;\n            ppuVar52 = ppuVar52 + (uint)bVar66 * -2 + 1;\n            piVar60 = (internal_extra_pe_aouthdr *)((int)piVar60 + (uint)bVar66 * -8 + 4);\n          }\n        }\n      }" if (parenthesized_expression "(bVar65)" ( identifier )) (compound_statement "{\n        iVar18 = 4;\n        pbVar51 = (byte *)ibfd->xvec->name;\n        pbVar59 = &DAT_0002e16a;\n        do {\n          if (iVar18 == 0) break;\n          iVar18 = iVar18 + -1;\n          bVar64 = *pbVar51 < *pbVar59;\n          bVar65 = *pbVar51 == *pbVar59;\n          pbVar51 = pbVar51 + (uint)bVar66 * -2 + 1;\n          pbVar59 = pbVar59 + (uint)bVar66 * -2 + 1;\n        } while (bVar65);\n        if ((!bVar64 && !bVar65) == bVar64) {\n          ppuVar52 = &(((ibfd->tdata).elf_obj_data)->symtab_hdr).contents;\n          piVar60 = &ppVar7->pe_opthdr;\n          for (iVar18 = 0x38; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *(uchar **)piVar60 = *ppuVar52;\n            ppuVar52 = ppuVar52 + (uint)bVar66 * -2 + 1;\n            piVar60 = (internal_extra_pe_aouthdr *)((int)piVar60 + (uint)bVar66 * -8 + 4);\n          }\n        }\n      }" { (expression_statement "iVar18 = 4;" (assignment_expression "iVar18 = 4" identifier = number_literal) ;) (expression_statement "pbVar51 = (byte *)ibfd->xvec->name;" (assignment_expression "pbVar51 = (byte *)ibfd->xvec->name" identifier = (cast_expression "(byte *)ibfd->xvec->name" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "ibfd->xvec->name" (field_expression "ibfd->xvec" identifier -> field_identifier) -> field_identifier))) ;) (expression_statement "pbVar59 = &DAT_0002e16a;" (assignment_expression "pbVar59 = &DAT_0002e16a" identifier = (pointer_expression "&DAT_0002e16a" & identifier)) ;) (do_statement "do {\n          if (iVar18 == 0) break;\n          iVar18 = iVar18 + -1;\n          bVar64 = *pbVar51 < *pbVar59;\n          bVar65 = *pbVar51 == *pbVar59;\n          pbVar51 = pbVar51 + (uint)bVar66 * -2 + 1;\n          pbVar59 = pbVar59 + (uint)bVar66 * -2 + 1;\n        } while (bVar65);" do (compound_statement "{\n          if (iVar18 == 0) break;\n          iVar18 = iVar18 + -1;\n          bVar64 = *pbVar51 < *pbVar59;\n          bVar65 = *pbVar51 == *pbVar59;\n          pbVar51 = pbVar51 + (uint)bVar66 * -2 + 1;\n          pbVar59 = pbVar59 + (uint)bVar66 * -2 + 1;\n        }" { (if_statement "if (iVar18 == 0) break;" if (parenthesized_expression "(iVar18 == 0)" ( (binary_expression "iVar18 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar18 = iVar18 + -1;" (assignment_expression "iVar18 = iVar18 + -1" identifier = (binary_expression "iVar18 + -1" identifier + number_literal)) ;) (expression_statement "bVar64 = *pbVar51 < *pbVar59;" (assignment_expression "bVar64 = *pbVar51 < *pbVar59" identifier = (binary_expression "*pbVar51 < *pbVar59" (pointer_expression "*pbVar51" * identifier) < (pointer_expression "*pbVar59" * identifier))) ;) (expression_statement "bVar65 = *pbVar51 == *pbVar59;" (assignment_expression "bVar65 = *pbVar51 == *pbVar59" identifier = (binary_expression "*pbVar51 == *pbVar59" (pointer_expression "*pbVar51" * identifier) == (pointer_expression "*pbVar59" * identifier))) ;) (expression_statement "pbVar51 = pbVar51 + (uint)bVar66 * -2 + 1;" (assignment_expression "pbVar51 = pbVar51 + (uint)bVar66 * -2 + 1" identifier = (binary_expression "pbVar51 + (uint)bVar66 * -2 + 1" (binary_expression "pbVar51 + (uint)bVar66 * -2" identifier + (binary_expression "(uint)bVar66 * -2" (cast_expression "(uint)bVar66" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar59 = pbVar59 + (uint)bVar66 * -2 + 1;" (assignment_expression "pbVar59 = pbVar59 + (uint)bVar66 * -2 + 1" identifier = (binary_expression "pbVar59 + (uint)bVar66 * -2 + 1" (binary_expression "pbVar59 + (uint)bVar66 * -2" identifier + (binary_expression "(uint)bVar66 * -2" (cast_expression "(uint)bVar66" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar65)" ( identifier )) ;) (if_statement "if ((!bVar64 && !bVar65) == bVar64) {\n          ppuVar52 = &(((ibfd->tdata).elf_obj_data)->symtab_hdr).contents;\n          piVar60 = &ppVar7->pe_opthdr;\n          for (iVar18 = 0x38; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *(uchar **)piVar60 = *ppuVar52;\n            ppuVar52 = ppuVar52 + (uint)bVar66 * -2 + 1;\n            piVar60 = (internal_extra_pe_aouthdr *)((int)piVar60 + (uint)bVar66 * -8 + 4);\n          }\n        }" if (parenthesized_expression "((!bVar64 && !bVar65) == bVar64)" ( (binary_expression "(!bVar64 && !bVar65) == bVar64" (parenthesized_expression "(!bVar64 && !bVar65)" ( (binary_expression "!bVar64 && !bVar65" (unary_expression "!bVar64" ! identifier) && (unary_expression "!bVar65" ! identifier)) )) == identifier) )) (compound_statement "{\n          ppuVar52 = &(((ibfd->tdata).elf_obj_data)->symtab_hdr).contents;\n          piVar60 = &ppVar7->pe_opthdr;\n          for (iVar18 = 0x38; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *(uchar **)piVar60 = *ppuVar52;\n            ppuVar52 = ppuVar52 + (uint)bVar66 * -2 + 1;\n            piVar60 = (internal_extra_pe_aouthdr *)((int)piVar60 + (uint)bVar66 * -8 + 4);\n          }\n        }" { (expression_statement "ppuVar52 = &(((ibfd->tdata).elf_obj_data)->symtab_hdr).contents;" (assignment_expression "ppuVar52 = &(((ibfd->tdata).elf_obj_data)->symtab_hdr).contents" identifier = (pointer_expression "&(((ibfd->tdata).elf_obj_data)->symtab_hdr).contents" & (field_expression "(((ibfd->tdata).elf_obj_data)->symtab_hdr).contents" (parenthesized_expression "(((ibfd->tdata).elf_obj_data)->symtab_hdr)" ( (field_expression "((ibfd->tdata).elf_obj_data)->symtab_hdr" (parenthesized_expression "((ibfd->tdata).elf_obj_data)" ( (field_expression "(ibfd->tdata).elf_obj_data" (parenthesized_expression "(ibfd->tdata)" ( (field_expression "ibfd->tdata" identifier -> field_identifier) )) . field_identifier) )) -> field_identifier) )) . field_identifier))) ;) (expression_statement "piVar60 = &ppVar7->pe_opthdr;" (assignment_expression "piVar60 = &ppVar7->pe_opthdr" identifier = (pointer_expression "&ppVar7->pe_opthdr" & (field_expression "ppVar7->pe_opthdr" identifier -> field_identifier))) ;) (for_statement "for (iVar18 = 0x38; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *(uchar **)piVar60 = *ppuVar52;\n            ppuVar52 = ppuVar52 + (uint)bVar66 * -2 + 1;\n            piVar60 = (internal_extra_pe_aouthdr *)((int)piVar60 + (uint)bVar66 * -8 + 4);\n          }" for ( (assignment_expression "iVar18 = 0x38" identifier = number_literal) ; (binary_expression "iVar18 != 0" identifier != number_literal) ; (assignment_expression "iVar18 = iVar18 + -1" identifier = (binary_expression "iVar18 + -1" identifier + number_literal)) ) (compound_statement "{\n            *(uchar **)piVar60 = *ppuVar52;\n            ppuVar52 = ppuVar52 + (uint)bVar66 * -2 + 1;\n            piVar60 = (internal_extra_pe_aouthdr *)((int)piVar60 + (uint)bVar66 * -8 + 4);\n          }" { (expression_statement "*(uchar **)piVar60 = *ppuVar52;" (assignment_expression "*(uchar **)piVar60 = *ppuVar52" (pointer_expression "*(uchar **)piVar60" * (cast_expression "(uchar **)piVar60" ( (type_descriptor "uchar **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) = (pointer_expression "*ppuVar52" * identifier)) ;) (expression_statement "ppuVar52 = ppuVar52 + (uint)bVar66 * -2 + 1;" (assignment_expression "ppuVar52 = ppuVar52 + (uint)bVar66 * -2 + 1" identifier = (binary_expression "ppuVar52 + (uint)bVar66 * -2 + 1" (binary_expression "ppuVar52 + (uint)bVar66 * -2" identifier + (binary_expression "(uint)bVar66 * -2" (cast_expression "(uint)bVar66" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "piVar60 = (internal_extra_pe_aouthdr *)((int)piVar60 + (uint)bVar66 * -8 + 4);" (assignment_expression "piVar60 = (internal_extra_pe_aouthdr *)((int)piVar60 + (uint)bVar66 * -8 + 4)" identifier = (cast_expression "(internal_extra_pe_aouthdr *)((int)piVar60 + (uint)bVar66 * -8 + 4)" ( (type_descriptor "internal_extra_pe_aouthdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar60 + (uint)bVar66 * -8 + 4)" ( (binary_expression "(int)piVar60 + (uint)bVar66 * -8 + 4" (binary_expression "(int)piVar60 + (uint)bVar66 * -8" (cast_expression "(int)piVar60" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar66 * -8" (cast_expression "(uint)bVar66" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) })) })) })) (expression_statement "bVar43 = pe_file_alignment;" (assignment_expression "bVar43 = pe_file_alignment" identifier = identifier) ;) (if_statement "if (pe_file_alignment == 0xffffffff) {\n        pe_file_alignment = 0x200;\n        bVar43 = 0x200;\n      }\n      else {\n        (ppVar7->pe_opthdr).FileAlignment = pe_file_alignment;\n      }" if (parenthesized_expression "(pe_file_alignment == 0xffffffff)" ( (binary_expression "pe_file_alignment == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n        pe_file_alignment = 0x200;\n        bVar43 = 0x200;\n      }" { (expression_statement "pe_file_alignment = 0x200;" (assignment_expression "pe_file_alignment = 0x200" identifier = number_literal) ;) (expression_statement "bVar43 = 0x200;" (assignment_expression "bVar43 = 0x200" identifier = number_literal) ;) }) (else_clause "else {\n        (ppVar7->pe_opthdr).FileAlignment = pe_file_alignment;\n      }" else (compound_statement "{\n        (ppVar7->pe_opthdr).FileAlignment = pe_file_alignment;\n      }" { (expression_statement "(ppVar7->pe_opthdr).FileAlignment = pe_file_alignment;" (assignment_expression "(ppVar7->pe_opthdr).FileAlignment = pe_file_alignment" (field_expression "(ppVar7->pe_opthdr).FileAlignment" (parenthesized_expression "(ppVar7->pe_opthdr)" ( (field_expression "ppVar7->pe_opthdr" identifier -> field_identifier) )) . field_identifier) = identifier) ;) }))) (if_statement "if (pe_heap_commit != 0xffffffff) {\n        (ppVar7->pe_opthdr).SizeOfHeapCommit = pe_heap_commit;\n      }" if (parenthesized_expression "(pe_heap_commit != 0xffffffff)" ( (binary_expression "pe_heap_commit != 0xffffffff" identifier != number_literal) )) (compound_statement "{\n        (ppVar7->pe_opthdr).SizeOfHeapCommit = pe_heap_commit;\n      }" { (expression_statement "(ppVar7->pe_opthdr).SizeOfHeapCommit = pe_heap_commit;" (assignment_expression "(ppVar7->pe_opthdr).SizeOfHeapCommit = pe_heap_commit" (field_expression "(ppVar7->pe_opthdr).SizeOfHeapCommit" (parenthesized_expression "(ppVar7->pe_opthdr)" ( (field_expression "ppVar7->pe_opthdr" identifier -> field_identifier) )) . field_identifier) = identifier) ;) })) (if_statement "if (pe_heap_reserve != 0xffffffff) {\n        (ppVar7->pe_opthdr).SizeOfHeapCommit = pe_heap_reserve;\n      }" if (parenthesized_expression "(pe_heap_reserve != 0xffffffff)" ( (binary_expression "pe_heap_reserve != 0xffffffff" identifier != number_literal) )) (compound_statement "{\n        (ppVar7->pe_opthdr).SizeOfHeapCommit = pe_heap_reserve;\n      }" { (expression_statement "(ppVar7->pe_opthdr).SizeOfHeapCommit = pe_heap_reserve;" (assignment_expression "(ppVar7->pe_opthdr).SizeOfHeapCommit = pe_heap_reserve" (field_expression "(ppVar7->pe_opthdr).SizeOfHeapCommit" (parenthesized_expression "(ppVar7->pe_opthdr)" ( (field_expression "ppVar7->pe_opthdr" identifier -> field_identifier) )) . field_identifier) = identifier) ;) })) (if_statement "if (pe_image_base != 0xffffffff) {\n        (ppVar7->pe_opthdr).ImageBase = pe_image_base;\n      }" if (parenthesized_expression "(pe_image_base != 0xffffffff)" ( (binary_expression "pe_image_base != 0xffffffff" identifier != number_literal) )) (compound_statement "{\n        (ppVar7->pe_opthdr).ImageBase = pe_image_base;\n      }" { (expression_statement "(ppVar7->pe_opthdr).ImageBase = pe_image_base;" (assignment_expression "(ppVar7->pe_opthdr).ImageBase = pe_image_base" (field_expression "(ppVar7->pe_opthdr).ImageBase" (parenthesized_expression "(ppVar7->pe_opthdr)" ( (field_expression "ppVar7->pe_opthdr" identifier -> field_identifier) )) . field_identifier) = identifier) ;) })) (expression_statement "bVar45 = pe_section_alignment;" (assignment_expression "bVar45 = pe_section_alignment" identifier = identifier) ;) (if_statement "if (pe_section_alignment == 0xffffffff) {\n        pe_section_alignment = 0x1000;\n        bVar45 = 0x1000;\n      }\n      else {\n        (ppVar7->pe_opthdr).SectionAlignment = pe_section_alignment;\n      }" if (parenthesized_expression "(pe_section_alignment == 0xffffffff)" ( (binary_expression "pe_section_alignment == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n        pe_section_alignment = 0x1000;\n        bVar45 = 0x1000;\n      }" { (expression_statement "pe_section_alignment = 0x1000;" (assignment_expression "pe_section_alignment = 0x1000" identifier = number_literal) ;) (expression_statement "bVar45 = 0x1000;" (assignment_expression "bVar45 = 0x1000" identifier = number_literal) ;) }) (else_clause "else {\n        (ppVar7->pe_opthdr).SectionAlignment = pe_section_alignment;\n      }" else (compound_statement "{\n        (ppVar7->pe_opthdr).SectionAlignment = pe_section_alignment;\n      }" { (expression_statement "(ppVar7->pe_opthdr).SectionAlignment = pe_section_alignment;" (assignment_expression "(ppVar7->pe_opthdr).SectionAlignment = pe_section_alignment" (field_expression "(ppVar7->pe_opthdr).SectionAlignment" (parenthesized_expression "(ppVar7->pe_opthdr)" ( (field_expression "ppVar7->pe_opthdr" identifier -> field_identifier) )) . field_identifier) = identifier) ;) }))) (if_statement "if (pe_stack_commit != 0xffffffff) {\n        (ppVar7->pe_opthdr).SizeOfStackCommit = pe_stack_commit;\n      }" if (parenthesized_expression "(pe_stack_commit != 0xffffffff)" ( (binary_expression "pe_stack_commit != 0xffffffff" identifier != number_literal) )) (compound_statement "{\n        (ppVar7->pe_opthdr).SizeOfStackCommit = pe_stack_commit;\n      }" { (expression_statement "(ppVar7->pe_opthdr).SizeOfStackCommit = pe_stack_commit;" (assignment_expression "(ppVar7->pe_opthdr).SizeOfStackCommit = pe_stack_commit" (field_expression "(ppVar7->pe_opthdr).SizeOfStackCommit" (parenthesized_expression "(ppVar7->pe_opthdr)" ( (field_expression "ppVar7->pe_opthdr" identifier -> field_identifier) )) . field_identifier) = identifier) ;) })) (if_statement "if (pe_stack_reserve != 0xffffffff) {\n        (ppVar7->pe_opthdr).SizeOfStackCommit = pe_stack_reserve;\n      }" if (parenthesized_expression "(pe_stack_reserve != 0xffffffff)" ( (binary_expression "pe_stack_reserve != 0xffffffff" identifier != number_literal) )) (compound_statement "{\n        (ppVar7->pe_opthdr).SizeOfStackCommit = pe_stack_reserve;\n      }" { (expression_statement "(ppVar7->pe_opthdr).SizeOfStackCommit = pe_stack_reserve;" (assignment_expression "(ppVar7->pe_opthdr).SizeOfStackCommit = pe_stack_reserve" (field_expression "(ppVar7->pe_opthdr).SizeOfStackCommit" (parenthesized_expression "(ppVar7->pe_opthdr)" ( (field_expression "ppVar7->pe_opthdr" identifier -> field_identifier) )) . field_identifier) = identifier) ;) })) (if_statement "if (pe_subsystem != -1) {\n        (ppVar7->pe_opthdr).Subsystem = pe_subsystem;\n      }" if (parenthesized_expression "(pe_subsystem != -1)" ( (binary_expression "pe_subsystem != -1" identifier != number_literal) )) (compound_statement "{\n        (ppVar7->pe_opthdr).Subsystem = pe_subsystem;\n      }" { (expression_statement "(ppVar7->pe_opthdr).Subsystem = pe_subsystem;" (assignment_expression "(ppVar7->pe_opthdr).Subsystem = pe_subsystem" (field_expression "(ppVar7->pe_opthdr).Subsystem" (parenthesized_expression "(ppVar7->pe_opthdr)" ( (field_expression "ppVar7->pe_opthdr" identifier -> field_identifier) )) . field_identifier) = identifier) ;) })) (if_statement "if (pe_major_subsystem_version != -1) {\n        (ppVar7->pe_opthdr).MajorSubsystemVersion = pe_major_subsystem_version;\n      }" if (parenthesized_expression "(pe_major_subsystem_version != -1)" ( (binary_expression "pe_major_subsystem_version != -1" identifier != number_literal) )) (compound_statement "{\n        (ppVar7->pe_opthdr).MajorSubsystemVersion = pe_major_subsystem_version;\n      }" { (expression_statement "(ppVar7->pe_opthdr).MajorSubsystemVersion = pe_major_subsystem_version;" (assignment_expression "(ppVar7->pe_opthdr).MajorSubsystemVersion = pe_major_subsystem_version" (field_expression "(ppVar7->pe_opthdr).MajorSubsystemVersion" (parenthesized_expression "(ppVar7->pe_opthdr)" ( (field_expression "ppVar7->pe_opthdr" identifier -> field_identifier) )) . field_identifier) = identifier) ;) })) (if_statement "if (pe_minor_subsystem_version != -1) {\n        (ppVar7->pe_opthdr).MinorSubsystemVersion = pe_minor_subsystem_version;\n      }" if (parenthesized_expression "(pe_minor_subsystem_version != -1)" ( (binary_expression "pe_minor_subsystem_version != -1" identifier != number_literal) )) (compound_statement "{\n        (ppVar7->pe_opthdr).MinorSubsystemVersion = pe_minor_subsystem_version;\n      }" { (expression_statement "(ppVar7->pe_opthdr).MinorSubsystemVersion = pe_minor_subsystem_version;" (assignment_expression "(ppVar7->pe_opthdr).MinorSubsystemVersion = pe_minor_subsystem_version" (field_expression "(ppVar7->pe_opthdr).MinorSubsystemVersion" (parenthesized_expression "(ppVar7->pe_opthdr)" ( (field_expression "ppVar7->pe_opthdr" identifier -> field_identifier) )) . field_identifier) = identifier) ;) })) (if_statement "if (bVar45 < bVar43) {\n        sprintf(file_alignment,"%08lx",bVar43);\n        sprintf((char *)&contents,"%08lx",pe_section_alignment);\n        pcVar24 = (char *)dcgettext(0,"warning: file alignment (0x%s) > section alignment (0x%s)",5)\n        ;\n        non_fatal(pcVar24,file_alignment,&contents);\n      }" if (parenthesized_expression "(bVar45 < bVar43)" ( (binary_expression "bVar45 < bVar43" identifier < identifier) )) (compound_statement "{\n        sprintf(file_alignment,"%08lx",bVar43);\n        sprintf((char *)&contents,"%08lx",pe_section_alignment);\n        pcVar24 = (char *)dcgettext(0,"warning: file alignment (0x%s) > section alignment (0x%s)",5)\n        ;\n        non_fatal(pcVar24,file_alignment,&contents);\n      }" { (expression_statement "sprintf(file_alignment,"%08lx",bVar43);" (call_expression "sprintf(file_alignment,"%08lx",bVar43)" identifier (argument_list "(file_alignment,"%08lx",bVar43)" ( identifier , (string_literal ""%08lx"" " string_content ") , identifier ))) ;) (expression_statement "sprintf((char *)&contents,"%08lx",pe_section_alignment);" (call_expression "sprintf((char *)&contents,"%08lx",pe_section_alignment)" identifier (argument_list "((char *)&contents,"%08lx",pe_section_alignment)" ( (cast_expression "(char *)&contents" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&contents" & identifier)) , (string_literal ""%08lx"" " string_content ") , identifier ))) ;) (expression_statement "pcVar24 = (char *)dcgettext(0,"warning: file alignment (0x%s) > section alignment (0x%s)",5)\n        ;" (assignment_expression "pcVar24 = (char *)dcgettext(0,"warning: file alignment (0x%s) > section alignment (0x%s)",5)" identifier = (cast_expression "(char *)dcgettext(0,"warning: file alignment (0x%s) > section alignment (0x%s)",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"warning: file alignment (0x%s) > section alignment (0x%s)",5)" identifier (argument_list "(0,"warning: file alignment (0x%s) > section alignment (0x%s)",5)" ( number_literal , (string_literal ""warning: file alignment (0x%s) > section alignment (0x%s)"" " string_content ") , number_literal ))))) ;) (expression_statement "non_fatal(pcVar24,file_alignment,&contents);" (call_expression "non_fatal(pcVar24,file_alignment,&contents)" identifier (argument_list "(pcVar24,file_alignment,&contents)" ( identifier , identifier , (pointer_expression "&contents" & identifier) ))) ;) })) })) })) (expression_statement "ppaVar31 = isympp;" (assignment_expression "ppaVar31 = isympp" identifier = identifier) ;) (if_statement "if (isympp != (asymbol **)0x0) {\n    free(isympp);\n  }" if (parenthesized_expression "(isympp != (asymbol **)0x0)" ( (binary_expression "isympp != (asymbol **)0x0" identifier != (cast_expression "(asymbol **)0x0" ( (type_descriptor "asymbol **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n    free(isympp);\n  }" { (expression_statement "free(isympp);" (call_expression "free(isympp)" identifier (argument_list "(isympp)" ( identifier ))) ;) })) (if_statement "if (ppaVar31 != osympp) {\n    free(osympp);\n  }" if (parenthesized_expression "(ppaVar31 != osympp)" ( (binary_expression "ppaVar31 != osympp" identifier != identifier) )) (compound_statement "{\n    free(osympp);\n  }" { (expression_statement "free(osympp);" (call_expression "free(osympp)" identifier (argument_list "(osympp)" ( identifier ))) ;) })) (expression_statement "isympp = (asymbol **)0x0;" (assignment_expression "isympp = (asymbol **)0x0" identifier = (cast_expression "(asymbol **)0x0" ( (type_descriptor "asymbol **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "osympp = (asymbol **)0x0;" (assignment_expression "osympp = (asymbol **)0x0" identifier = (cast_expression "(asymbol **)0x0" ( (type_descriptor "asymbol **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "lVar25 = (*ibfd->xvec->_bfd_get_symtab_upper_bound)(ibfd);" (assignment_expression "lVar25 = (*ibfd->xvec->_bfd_get_symtab_upper_bound)(ibfd)" identifier = (call_expression "(*ibfd->xvec->_bfd_get_symtab_upper_bound)(ibfd)" (parenthesized_expression "(*ibfd->xvec->_bfd_get_symtab_upper_bound)" ( (pointer_expression "*ibfd->xvec->_bfd_get_symtab_upper_bound" * (field_expression "ibfd->xvec->_bfd_get_symtab_upper_bound" (field_expression "ibfd->xvec" identifier -> field_identifier) -> field_identifier)) )) (argument_list "(ibfd)" ( identifier )))) ;) (if_statement "if (lVar25 < 0) goto LAB_00018840;" if (parenthesized_expression "(lVar25 < 0)" ( (binary_expression "lVar25 < 0" identifier < number_literal) )) (goto_statement "goto LAB_00018840;" goto statement_identifier ;)) (expression_statement "osympp = (asymbol **)xmalloc(lVar25);" (assignment_expression "osympp = (asymbol **)xmalloc(lVar25)" identifier = (cast_expression "(asymbol **)xmalloc(lVar25)" ( (type_descriptor "asymbol **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "xmalloc(lVar25)" identifier (argument_list "(lVar25)" ( identifier ))))) ;) (expression_statement "isympp = osympp;" (assignment_expression "isympp = osympp" identifier = identifier) ;) (expression_statement "local_70 = (*ibfd->xvec->_bfd_canonicalize_symtab)(ibfd,osympp);" (assignment_expression "local_70 = (*ibfd->xvec->_bfd_canonicalize_symtab)(ibfd,osympp)" identifier = (call_expression "(*ibfd->xvec->_bfd_canonicalize_symtab)(ibfd,osympp)" (parenthesized_expression "(*ibfd->xvec->_bfd_canonicalize_symtab)" ( (pointer_expression "*ibfd->xvec->_bfd_canonicalize_symtab" * (field_expression "ibfd->xvec->_bfd_canonicalize_symtab" (field_expression "ibfd->xvec" identifier -> field_identifier) -> field_identifier)) )) (argument_list "(ibfd,osympp)" ( identifier , identifier )))) ;) (if_statement "if (local_70 < 0) goto LAB_00018840;" if (parenthesized_expression "(local_70 < 0)" ( (binary_expression "local_70 < 0" identifier < number_literal) )) (goto_statement "goto LAB_00018840;" goto statement_identifier ;)) (if_statement "if (local_70 == 0) {\n    free(isympp);\n    isympp = (asymbol **)0x0;\n    osympp = (asymbol **)0x0;\n  }" if (parenthesized_expression "(local_70 == 0)" ( (binary_expression "local_70 == 0" identifier == number_literal) )) (compound_statement "{\n    free(isympp);\n    isympp = (asymbol **)0x0;\n    osympp = (asymbol **)0x0;\n  }" { (expression_statement "free(isympp);" (call_expression "free(isympp)" identifier (argument_list "(isympp)" ( identifier ))) ;) (expression_statement "isympp = (asymbol **)0x0;" (assignment_expression "isympp = (asymbol **)0x0" identifier = (cast_expression "(asymbol **)0x0" ( (type_descriptor "asymbol **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "osympp = (asymbol **)0x0;" (assignment_expression "osympp = (asymbol **)0x0" identifier = (cast_expression "(asymbol **)0x0" ( (type_descriptor "asymbol **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) })) (expression_statement "bfd_map_over_sections(ibfd,setup_section,obfd);" (call_expression "bfd_map_over_sections(ibfd,setup_section,obfd)" identifier (argument_list "(ibfd,setup_section,obfd)" ( identifier , identifier , identifier ))) ;) (expression_statement "psVar6 = add_sections;" (assignment_expression "psVar6 = add_sections" identifier = identifier) ;) (if_statement "if ((extract_symbol == 0) &&\n     (bVar21 = (*obfd->xvec->_bfd_copy_private_header_data)(ibfd,obfd), psVar6 = add_sections,\n     bVar21 == 0)) {\n    status = 1;\n    pcVar24 = (char *)dcgettext(0,"error in private header data",5);\n    bfd_nonfatal_message((char *)0x0,ibfd,(asection *)0x0,pcVar24);\n    psVar6 = add_sections;\n  }" if (parenthesized_expression "((extract_symbol == 0) &&\n     (bVar21 = (*obfd->xvec->_bfd_copy_private_header_data)(ibfd,obfd), psVar6 = add_sections,\n     bVar21 == 0))" ( (binary_expression "(extract_symbol == 0) &&\n     (bVar21 = (*obfd->xvec->_bfd_copy_private_header_data)(ibfd,obfd), psVar6 = add_sections,\n     bVar21 == 0)" (parenthesized_expression "(extract_symbol == 0)" ( (binary_expression "extract_symbol == 0" identifier == number_literal) )) && (parenthesized_expression "(bVar21 = (*obfd->xvec->_bfd_copy_private_header_data)(ibfd,obfd), psVar6 = add_sections,\n     bVar21 == 0)" ( (comma_expression "bVar21 = (*obfd->xvec->_bfd_copy_private_header_data)(ibfd,obfd), psVar6 = add_sections,\n     bVar21 == 0" (assignment_expression "bVar21 = (*obfd->xvec->_bfd_copy_private_header_data)(ibfd,obfd)" identifier = (call_expression "(*obfd->xvec->_bfd_copy_private_header_data)(ibfd,obfd)" (parenthesized_expression "(*obfd->xvec->_bfd_copy_private_header_data)" ( (pointer_expression "*obfd->xvec->_bfd_copy_private_header_data" * (field_expression "obfd->xvec->_bfd_copy_private_header_data" (field_expression "obfd->xvec" identifier -> field_identifier) -> field_identifier)) )) (argument_list "(ibfd,obfd)" ( identifier , identifier )))) , (comma_expression "psVar6 = add_sections,\n     bVar21 == 0" (assignment_expression "psVar6 = add_sections" identifier = identifier) , (binary_expression "bVar21 == 0" identifier == number_literal))) ))) )) (compound_statement "{\n    status = 1;\n    pcVar24 = (char *)dcgettext(0,"error in private header data",5);\n    bfd_nonfatal_message((char *)0x0,ibfd,(asection *)0x0,pcVar24);\n    psVar6 = add_sections;\n  }" { (expression_statement "status = 1;" (assignment_expression "status = 1" identifier = number_literal) ;) (expression_statement "pcVar24 = (char *)dcgettext(0,"error in private header data",5);" (assignment_expression "pcVar24 = (char *)dcgettext(0,"error in private header data",5)" identifier = (cast_expression "(char *)dcgettext(0,"error in private header data",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"error in private header data",5)" identifier (argument_list "(0,"error in private header data",5)" ( number_literal , (string_literal ""error in private header data"" " string_content ") , number_literal ))))) ;) (expression_statement "bfd_nonfatal_message((char *)0x0,ibfd,(asection *)0x0,pcVar24);" (call_expression "bfd_nonfatal_message((char *)0x0,ibfd,(asection *)0x0,pcVar24)" identifier (argument_list "((char *)0x0,ibfd,(asection *)0x0,pcVar24)" ( (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) , identifier , (cast_expression "(asection *)0x0" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , identifier ))) ;) (expression_statement "psVar6 = add_sections;" (assignment_expression "psVar6 = add_sections" identifier = identifier) ;) })) (for_statement "for (; psVar14 = update_sections, psVar6 != (section_add *)0x0; psVar6 = psVar6->next) {\n    uVar58 = 0x128;\n    psVar26 = find_section_list(psVar6->name,0,0x40);\n    if (psVar26 != (section_list *)0x0) {\n      uVar58 = psVar26->flags | 0x100;\n    }\n    iVar18 = bfd_get_section_by_name(obfd,psVar6->name);\n    if (iVar18 != 0) {\n      pcVar23 = psVar6->name;\n      pcVar24 = "can\'t add section \'%s\'";\nLAB_00019719:\n      pcVar24 = (char *)dcgettext(0,pcVar24,5);\n      bfd_nonfatal_message((char *)0x0,obfd,(asection *)0x0,pcVar24,pcVar23);\n      return 0;\n    }\n    paVar27 = (asection *)bfd_make_section_with_flags(obfd,psVar6->name,uVar58 | 0x100000);\n    psVar6->section = paVar27;\n    if (paVar27 == (asection *)0x0) {\n      pcVar23 = psVar6->name;\n      pcVar24 = "can\'t create section `%s\'";\n      goto LAB_00019719;\n    }\n    iVar18 = bfd_set_section_size(obfd,paVar27,psVar6->size);\n    if (iVar18 == 0) {\n      pbVar62 = (bfd *)psVar6->section;\n      local_50 = 0;\n      goto LAB_00019763;\n    }\n    psVar26 = find_section_list(psVar6->name,0,0xc);\n    if (psVar26 != (section_list *)0x0) {\n      bVar43 = psVar26->vma_val;\n      paVar27 = psVar6->section;\n      paVar27->field_0x18 = paVar27->field_0x18 | 1;\n      paVar27->lma = bVar43;\n      paVar27->vma = bVar43;\n    }\n    psVar26 = find_section_list(psVar6->name,0,0x30);\n    if (psVar26 != (section_list *)0x0) {\n      psVar6->section->lma = psVar26->lma_val;\n    }\n  }" for ( ; (comma_expression "psVar14 = update_sections, psVar6 != (section_add *)0x0" (assignment_expression "psVar14 = update_sections" identifier = identifier) , (binary_expression "psVar6 != (section_add *)0x0" identifier != (cast_expression "(section_add *)0x0" ( (type_descriptor "section_add *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ; (assignment_expression "psVar6 = psVar6->next" identifier = (field_expression "psVar6->next" identifier -> field_identifier)) ) (compound_statement "{\n    uVar58 = 0x128;\n    psVar26 = find_section_list(psVar6->name,0,0x40);\n    if (psVar26 != (section_list *)0x0) {\n      uVar58 = psVar26->flags | 0x100;\n    }\n    iVar18 = bfd_get_section_by_name(obfd,psVar6->name);\n    if (iVar18 != 0) {\n      pcVar23 = psVar6->name;\n      pcVar24 = "can\'t add section \'%s\'";\nLAB_00019719:\n      pcVar24 = (char *)dcgettext(0,pcVar24,5);\n      bfd_nonfatal_message((char *)0x0,obfd,(asection *)0x0,pcVar24,pcVar23);\n      return 0;\n    }\n    paVar27 = (asection *)bfd_make_section_with_flags(obfd,psVar6->name,uVar58 | 0x100000);\n    psVar6->section = paVar27;\n    if (paVar27 == (asection *)0x0) {\n      pcVar23 = psVar6->name;\n      pcVar24 = "can\'t create section `%s\'";\n      goto LAB_00019719;\n    }\n    iVar18 = bfd_set_section_size(obfd,paVar27,psVar6->size);\n    if (iVar18 == 0) {\n      pbVar62 = (bfd *)psVar6->section;\n      local_50 = 0;\n      goto LAB_00019763;\n    }\n    psVar26 = find_section_list(psVar6->name,0,0xc);\n    if (psVar26 != (section_list *)0x0) {\n      bVar43 = psVar26->vma_val;\n      paVar27 = psVar6->section;\n      paVar27->field_0x18 = paVar27->field_0x18 | 1;\n      paVar27->lma = bVar43;\n      paVar27->vma = bVar43;\n    }\n    psVar26 = find_section_list(psVar6->name,0,0x30);\n    if (psVar26 != (section_list *)0x0) {\n      psVar6->section->lma = psVar26->lma_val;\n    }\n  }" { (expression_statement "uVar58 = 0x128;" (assignment_expression "uVar58 = 0x128" identifier = number_literal) ;) (expression_statement "psVar26 = find_section_list(psVar6->name,0,0x40);" (assignment_expression "psVar26 = find_section_list(psVar6->name,0,0x40)" identifier = (call_expression "find_section_list(psVar6->name,0,0x40)" identifier (argument_list "(psVar6->name,0,0x40)" ( (field_expression "psVar6->name" identifier -> field_identifier) , number_literal , number_literal )))) ;) (if_statement "if (psVar26 != (section_list *)0x0) {\n      uVar58 = psVar26->flags | 0x100;\n    }" if (parenthesized_expression "(psVar26 != (section_list *)0x0)" ( (binary_expression "psVar26 != (section_list *)0x0" identifier != (cast_expression "(section_list *)0x0" ( (type_descriptor "section_list *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      uVar58 = psVar26->flags | 0x100;\n    }" { (expression_statement "uVar58 = psVar26->flags | 0x100;" (assignment_expression "uVar58 = psVar26->flags | 0x100" identifier = (binary_expression "psVar26->flags | 0x100" (field_expression "psVar26->flags" identifier -> field_identifier) | number_literal)) ;) })) (expression_statement "iVar18 = bfd_get_section_by_name(obfd,psVar6->name);" (assignment_expression "iVar18 = bfd_get_section_by_name(obfd,psVar6->name)" identifier = (call_expression "bfd_get_section_by_name(obfd,psVar6->name)" identifier (argument_list "(obfd,psVar6->name)" ( identifier , (field_expression "psVar6->name" identifier -> field_identifier) )))) ;) (if_statement "if (iVar18 != 0) {\n      pcVar23 = psVar6->name;\n      pcVar24 = "can\'t add section \'%s\'";\nLAB_00019719:\n      pcVar24 = (char *)dcgettext(0,pcVar24,5);\n      bfd_nonfatal_message((char *)0x0,obfd,(asection *)0x0,pcVar24,pcVar23);\n      return 0;\n    }" if (parenthesized_expression "(iVar18 != 0)" ( (binary_expression "iVar18 != 0" identifier != number_literal) )) (compound_statement "{\n      pcVar23 = psVar6->name;\n      pcVar24 = "can\'t add section \'%s\'";\nLAB_00019719:\n      pcVar24 = (char *)dcgettext(0,pcVar24,5);\n      bfd_nonfatal_message((char *)0x0,obfd,(asection *)0x0,pcVar24,pcVar23);\n      return 0;\n    }" { (expression_statement "pcVar23 = psVar6->name;" (assignment_expression "pcVar23 = psVar6->name" identifier = (field_expression "psVar6->name" identifier -> field_identifier)) ;) (expression_statement "pcVar24 = "can\'t add section \'%s\'";" (assignment_expression "pcVar24 = "can\'t add section \'%s\'"" identifier = (string_literal ""can\'t add section \'%s\'"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ")) ;) (labeled_statement "LAB_00019719:\n      pcVar24 = (char *)dcgettext(0,pcVar24,5);" statement_identifier : (expression_statement "pcVar24 = (char *)dcgettext(0,pcVar24,5);" (assignment_expression "pcVar24 = (char *)dcgettext(0,pcVar24,5)" identifier = (cast_expression "(char *)dcgettext(0,pcVar24,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar24,5)" identifier (argument_list "(0,pcVar24,5)" ( number_literal , identifier , number_literal ))))) ;)) (expression_statement "bfd_nonfatal_message((char *)0x0,obfd,(asection *)0x0,pcVar24,pcVar23);" (call_expression "bfd_nonfatal_message((char *)0x0,obfd,(asection *)0x0,pcVar24,pcVar23)" identifier (argument_list "((char *)0x0,obfd,(asection *)0x0,pcVar24,pcVar23)" ( (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) , identifier , (cast_expression "(asection *)0x0" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , identifier , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "paVar27 = (asection *)bfd_make_section_with_flags(obfd,psVar6->name,uVar58 | 0x100000);" (assignment_expression "paVar27 = (asection *)bfd_make_section_with_flags(obfd,psVar6->name,uVar58 | 0x100000)" identifier = (cast_expression "(asection *)bfd_make_section_with_flags(obfd,psVar6->name,uVar58 | 0x100000)" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "bfd_make_section_with_flags(obfd,psVar6->name,uVar58 | 0x100000)" identifier (argument_list "(obfd,psVar6->name,uVar58 | 0x100000)" ( identifier , (field_expression "psVar6->name" identifier -> field_identifier) , (binary_expression "uVar58 | 0x100000" identifier | number_literal) ))))) ;) (expression_statement "psVar6->section = paVar27;" (assignment_expression "psVar6->section = paVar27" (field_expression "psVar6->section" identifier -> field_identifier) = identifier) ;) (if_statement "if (paVar27 == (asection *)0x0) {\n      pcVar23 = psVar6->name;\n      pcVar24 = "can\'t create section `%s\'";\n      goto LAB_00019719;\n    }" if (parenthesized_expression "(paVar27 == (asection *)0x0)" ( (binary_expression "paVar27 == (asection *)0x0" identifier == (cast_expression "(asection *)0x0" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pcVar23 = psVar6->name;\n      pcVar24 = "can\'t create section `%s\'";\n      goto LAB_00019719;\n    }" { (expression_statement "pcVar23 = psVar6->name;" (assignment_expression "pcVar23 = psVar6->name" identifier = (field_expression "psVar6->name" identifier -> field_identifier)) ;) (expression_statement "pcVar24 = "can\'t create section `%s\'";" (assignment_expression "pcVar24 = "can\'t create section `%s\'"" identifier = (string_literal ""can\'t create section `%s\'"" " string_content escape_sequence string_content escape_sequence ")) ;) (goto_statement "goto LAB_00019719;" goto statement_identifier ;) })) (expression_statement "iVar18 = bfd_set_section_size(obfd,paVar27,psVar6->size);" (assignment_expression "iVar18 = bfd_set_section_size(obfd,paVar27,psVar6->size)" identifier = (call_expression "bfd_set_section_size(obfd,paVar27,psVar6->size)" identifier (argument_list "(obfd,paVar27,psVar6->size)" ( identifier , identifier , (field_expression "psVar6->size" identifier -> field_identifier) )))) ;) (if_statement "if (iVar18 == 0) {\n      pbVar62 = (bfd *)psVar6->section;\n      local_50 = 0;\n      goto LAB_00019763;\n    }" if (parenthesized_expression "(iVar18 == 0)" ( (binary_expression "iVar18 == 0" identifier == number_literal) )) (compound_statement "{\n      pbVar62 = (bfd *)psVar6->section;\n      local_50 = 0;\n      goto LAB_00019763;\n    }" { (expression_statement "pbVar62 = (bfd *)psVar6->section;" (assignment_expression "pbVar62 = (bfd *)psVar6->section" identifier = (cast_expression "(bfd *)psVar6->section" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "psVar6->section" identifier -> field_identifier))) ;) (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_00019763;" goto statement_identifier ;) })) (expression_statement "psVar26 = find_section_list(psVar6->name,0,0xc);" (assignment_expression "psVar26 = find_section_list(psVar6->name,0,0xc)" identifier = (call_expression "find_section_list(psVar6->name,0,0xc)" identifier (argument_list "(psVar6->name,0,0xc)" ( (field_expression "psVar6->name" identifier -> field_identifier) , number_literal , number_literal )))) ;) (if_statement "if (psVar26 != (section_list *)0x0) {\n      bVar43 = psVar26->vma_val;\n      paVar27 = psVar6->section;\n      paVar27->field_0x18 = paVar27->field_0x18 | 1;\n      paVar27->lma = bVar43;\n      paVar27->vma = bVar43;\n    }" if (parenthesized_expression "(psVar26 != (section_list *)0x0)" ( (binary_expression "psVar26 != (section_list *)0x0" identifier != (cast_expression "(section_list *)0x0" ( (type_descriptor "section_list *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      bVar43 = psVar26->vma_val;\n      paVar27 = psVar6->section;\n      paVar27->field_0x18 = paVar27->field_0x18 | 1;\n      paVar27->lma = bVar43;\n      paVar27->vma = bVar43;\n    }" { (expression_statement "bVar43 = psVar26->vma_val;" (assignment_expression "bVar43 = psVar26->vma_val" identifier = (field_expression "psVar26->vma_val" identifier -> field_identifier)) ;) (expression_statement "paVar27 = psVar6->section;" (assignment_expression "paVar27 = psVar6->section" identifier = (field_expression "psVar6->section" identifier -> field_identifier)) ;) (expression_statement "paVar27->field_0x18 = paVar27->field_0x18 | 1;" (assignment_expression "paVar27->field_0x18 = paVar27->field_0x18 | 1" (field_expression "paVar27->field_0x18" identifier -> field_identifier) = (binary_expression "paVar27->field_0x18 | 1" (field_expression "paVar27->field_0x18" identifier -> field_identifier) | number_literal)) ;) (expression_statement "paVar27->lma = bVar43;" (assignment_expression "paVar27->lma = bVar43" (field_expression "paVar27->lma" identifier -> field_identifier) = identifier) ;) (expression_statement "paVar27->vma = bVar43;" (assignment_expression "paVar27->vma = bVar43" (field_expression "paVar27->vma" identifier -> field_identifier) = identifier) ;) })) (expression_statement "psVar26 = find_section_list(psVar6->name,0,0x30);" (assignment_expression "psVar26 = find_section_list(psVar6->name,0,0x30)" identifier = (call_expression "find_section_list(psVar6->name,0,0x30)" identifier (argument_list "(psVar6->name,0,0x30)" ( (field_expression "psVar6->name" identifier -> field_identifier) , number_literal , number_literal )))) ;) (if_statement "if (psVar26 != (section_list *)0x0) {\n      psVar6->section->lma = psVar26->lma_val;\n    }" if (parenthesized_expression "(psVar26 != (section_list *)0x0)" ( (binary_expression "psVar26 != (section_list *)0x0" identifier != (cast_expression "(section_list *)0x0" ( (type_descriptor "section_list *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      psVar6->section->lma = psVar26->lma_val;\n    }" { (expression_statement "psVar6->section->lma = psVar26->lma_val;" (assignment_expression "psVar6->section->lma = psVar26->lma_val" (field_expression "psVar6->section->lma" (field_expression "psVar6->section" identifier -> field_identifier) -> field_identifier) = (field_expression "psVar26->lma_val" identifier -> field_identifier)) ;) })) })) (for_statement "for (; psVar14 != (section_add *)0x0; psVar14 = psVar14->next) {\n    paVar27 = (asection *)bfd_get_section_by_name(ibfd,psVar14->name);\n    psVar14->section = paVar27;\n    if (paVar27 == (asection *)0x0) {\n      pcVar23 = psVar14->name;\n      pcVar24 = "error: %s not found, can\'t be updated";\n      goto LAB_00018bc8;\n    }\n    pbVar62 = (bfd *)paVar27->output_section;\n    local_50 = bfd_set_section_size(obfd,pbVar62,psVar14->size);\n    if (local_50 == 0) goto LAB_00019763;\n  }" for ( ; (binary_expression "psVar14 != (section_add *)0x0" identifier != (cast_expression "(section_add *)0x0" ( (type_descriptor "section_add *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "psVar14 = psVar14->next" identifier = (field_expression "psVar14->next" identifier -> field_identifier)) ) (compound_statement "{\n    paVar27 = (asection *)bfd_get_section_by_name(ibfd,psVar14->name);\n    psVar14->section = paVar27;\n    if (paVar27 == (asection *)0x0) {\n      pcVar23 = psVar14->name;\n      pcVar24 = "error: %s not found, can\'t be updated";\n      goto LAB_00018bc8;\n    }\n    pbVar62 = (bfd *)paVar27->output_section;\n    local_50 = bfd_set_section_size(obfd,pbVar62,psVar14->size);\n    if (local_50 == 0) goto LAB_00019763;\n  }" { (expression_statement "paVar27 = (asection *)bfd_get_section_by_name(ibfd,psVar14->name);" (assignment_expression "paVar27 = (asection *)bfd_get_section_by_name(ibfd,psVar14->name)" identifier = (cast_expression "(asection *)bfd_get_section_by_name(ibfd,psVar14->name)" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "bfd_get_section_by_name(ibfd,psVar14->name)" identifier (argument_list "(ibfd,psVar14->name)" ( identifier , (field_expression "psVar14->name" identifier -> field_identifier) ))))) ;) (expression_statement "psVar14->section = paVar27;" (assignment_expression "psVar14->section = paVar27" (field_expression "psVar14->section" identifier -> field_identifier) = identifier) ;) (if_statement "if (paVar27 == (asection *)0x0) {\n      pcVar23 = psVar14->name;\n      pcVar24 = "error: %s not found, can\'t be updated";\n      goto LAB_00018bc8;\n    }" if (parenthesized_expression "(paVar27 == (asection *)0x0)" ( (binary_expression "paVar27 == (asection *)0x0" identifier == (cast_expression "(asection *)0x0" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pcVar23 = psVar14->name;\n      pcVar24 = "error: %s not found, can\'t be updated";\n      goto LAB_00018bc8;\n    }" { (expression_statement "pcVar23 = psVar14->name;" (assignment_expression "pcVar23 = psVar14->name" identifier = (field_expression "psVar14->name" identifier -> field_identifier)) ;) (expression_statement "pcVar24 = "error: %s not found, can\'t be updated";" (assignment_expression "pcVar24 = "error: %s not found, can\'t be updated"" identifier = (string_literal ""error: %s not found, can\'t be updated"" " string_content escape_sequence string_content ")) ;) (goto_statement "goto LAB_00018bc8;" goto statement_identifier ;) })) (expression_statement "pbVar62 = (bfd *)paVar27->output_section;" (assignment_expression "pbVar62 = (bfd *)paVar27->output_section" identifier = (cast_expression "(bfd *)paVar27->output_section" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "paVar27->output_section" identifier -> field_identifier))) ;) (expression_statement "local_50 = bfd_set_section_size(obfd,pbVar62,psVar14->size);" (assignment_expression "local_50 = bfd_set_section_size(obfd,pbVar62,psVar14->size)" identifier = (call_expression "bfd_set_section_size(obfd,pbVar62,psVar14->size)" identifier (argument_list "(obfd,pbVar62,psVar14->size)" ( identifier , identifier , (field_expression "psVar14->size" identifier -> field_identifier) )))) ;) (if_statement "if (local_50 == 0) goto LAB_00019763;" if (parenthesized_expression "(local_50 == 0)" ( (binary_expression "local_50 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00019763;" goto statement_identifier ;)) })) (expression_statement "local_5c = obfd;" (assignment_expression "local_5c = obfd" identifier = identifier) ;) (if_statement "if ((((merge_notes != 0) &&\n       (pbVar62 = (bfd *)bfd_get_section_by_name(ibfd,".gnu.build.attributes"),\n       pbVar62 != (bfd *)0x0)) && (merge_notes != 0)) &&\n     ((ibfd->xvec->flavour == bfd_target_elf_flavour &&\n      (bVar21 = is_merged_note_section(pbVar62,(asection *)&pbVar62->archive_next,sec_1),\n      bVar21 != 0)))) {\n    pbVar36 = (bfd_byte *)pbVar62->id;\n    if (pbVar36 == (bfd_byte *)0x0) {\n      pcVar24 = (char *)dcgettext(0,"warning: note section is empty",5,0);\n      bfd_nonfatal_message((char *)0x0,ibfd,(asection *)pbVar62,pcVar24);\n      merge_notes = 0;\n    }\n    else {\n      iVar18 = bfd_get_full_section_contents(ibfd,pbVar62,&merged_notes,pbVar36);\n      pbVar50 = merged_notes;\n      if (iVar18 == 0) {\n        pcVar24 = (char *)dcgettext(0,"warning: could not load note section",5,0);\n        bfd_nonfatal_message((char *)0x0,ibfd,(asection *)pbVar62,pcVar24);\n        free(merged_notes);\n        merged_notes = (bfd_byte *)0x0;\n        merge_notes = 0;\n      }\n      else {\n        iVar18 = bfd_get_reloc_upper_bound(ibfd,pbVar62,pbVar62,pbVar62);\n        pbVar42 = ibfd;\n        pbVar69 = pbVar62;\n        if (0 < iVar18) {\n          pbVar42 = (bfd *)xmalloc(iVar18);\n          pbVar69 = (bfd *)bfd_canonicalize_reloc(ibfd,pbVar62,pbVar42,isympp);\n          free(pbVar42);\n          if (pbVar69 == (bfd *)0x0) goto LAB_0001a478;\n          local_60 = (bfd_vma *)0x0;\n          goto LAB_0001a75c;\n        }\nLAB_0001a478:\n        pvVar70 = (void *)0x24;\n        pbVar71 = pbVar42;\n        local_60 = (bfd_vma *)xcalloc((uint)pbVar36 / 0xc,0x24,pbVar42,pbVar42);\n        local_90 = (void *)0x0;\n        local_98 = (char *)0x0;\n        local_8c = (bfd *)0x0;\n        local_94 = (bfd *)0x0;\n        local_6c = 0;\n        local_84 = (int *)0x0;\n        local_80 = (bfd_byte *)0x0;\n        pbVar57 = pbVar50;\n        pbVar55 = (bfd *)pbVar50;\n        local_74 = pbVar36;\n        local_64 = local_60;\n        while ((bfd_byte *)0xb < local_74) {\n          bVar43 = (*ibfd->xvec->bfd_getx32)(pbVar57);\n          uVar58 = bVar43 + 3 & 0xfffffffc;\n          *local_64 = uVar58;\n          bVar43 = (*ibfd->xvec->bfd_getx32)(pbVar57 + 4);\n          uVar47 = bVar43 + 3 & 0xfffffffc;\n          pbVar8 = ibfd->xvec;\n          local_64[1] = uVar47;\n          bVar43 = (*pbVar8->bfd_getx32)(pbVar57 + 8);\n          local_64[2] = bVar43;\n          if (1 < bVar43 - 0x100) {\n            pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute note: wrong note type",5,\n                                        extraout_ECX_01);\n            goto LAB_0001a72d;\n          }\n          iVar18 = uVar47 + uVar58;\n          if (local_74 < (bfd_byte *)(iVar18 + 0xcU)) {\n            pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute note: note too big",5,pbVar57\n                                       );\n            goto LAB_0001a72d;\n          }\n          if (uVar58 < 2) {\n            pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute note: name too small",5,\n                                        iVar18);\n            goto LAB_0001a72d;\n          }\n          local_64[3] = (bfd_vma)(pbVar57 + 0xc);\n          pbVar3 = pbVar57 + uVar58 + 0xc;\n          local_64[4] = (bfd_vma)pbVar3;\n          pbVar55 = (bfd *)(-0xc - iVar18);\n          local_74 = (bfd_byte *)((int)&pbVar55->filename + (int)local_74);\n          bVar17 = pbVar57[0xc];\n          if (bVar17 == '$') {\n            if ((pbVar57[0xd] == '\x01') && (pbVar57[0xe] == '1')) {\n              local_80 = (bfd_byte *)((int)local_80 + 1);\n            }\n          }\n          else if ((((4 < uVar58) && (bVar17 == 'G')) && (pbVar57[0xd] == 'A')) &&\n                  ((pbVar57[0xe] == '$' && (pbVar57[0xf] == '\x01')))) {\n            bVar17 = pbVar57[0x10];\n            if (bVar17 == '2') {\n              local_84 = (int *)((int)local_84 + 1);\n            }\n            else {\n              if (bVar17 != '3') {\n                pcVar24 = (char *)dcgettext(0,\n                                            "corrupt GNU build attribute note: unsupported version",\n                                            5,bVar17);\n                goto LAB_0001a72d;\n              }\n              local_6c = local_6c + 1;\n            }\n          }\n          if (uVar47 == 4) {\n            pbVar69 = (bfd *)(*ibfd->xvec->bfd_getx32)(pbVar3);\n            pcVar24 = (char *)0xffffffff;\n          }\n          else if (uVar47 < 5) {\n            if (uVar47 != 0) {\nLAB_0001a7ea:\n              pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute note: bad description size"\n                                          ,5,bVar17);\n              goto LAB_0001a72d;\n            }\n            pcVar24 = (char *)0x0;\n            pbVar69 = (bfd *)0x0;\n          }\n          else {\n            pbVar55 = ibfd;\n            if (uVar47 == 8) {\n              pbVar8 = ibfd->xvec;\n              if ((pbVar8->flavour == bfd_target_elf_flavour) &&\n                 (((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02')) {\n                bVar68 = (*pbVar8->bfd_getx64)(pbVar3);\n                pbVar69 = (bfd *)bVar68;\n                pcVar24 = (char *)0xffffffff;\n              }\n              else {\n                pbVar69 = (bfd *)(*pbVar8->bfd_getx32)(pbVar3);\n                pcVar24 = (char *)(*ibfd->xvec->bfd_getx32)(pbVar3 + 4);\n              }\n            }\n            else {\n              if (uVar47 != 0x10) goto LAB_0001a7ea;\n              bVar68 = (*ibfd->xvec->bfd_getx64)(pbVar3);\n              pbVar69 = (bfd *)bVar68;\n              bVar68 = (*ibfd->xvec->bfd_getx64)(pbVar3 + 8);\n              pcVar24 = (char *)bVar68;\n            }\n          }\n          if (bVar43 == 0x100) {\n            if (pbVar69 == (bfd *)0x0) {\n              pbVar69 = local_8c;\n            }\n            if (pcVar24 == (char *)0x0) {\n              pcVar24 = (char *)local_90;\n            }\n            local_64[6] = (bfd_vma)pbVar69;\n            local_64[7] = (bfd_vma)pcVar24;\n            local_90 = pcVar24;\n            local_8c = pbVar69;\n          }\n          else {\n            if (pbVar69 == (bfd *)0x0) {\n              pbVar69 = local_94;\n            }\n            if (pcVar24 == (char *)0x0) {\n              pcVar24 = local_98;\n            }\n            local_64[6] = (bfd_vma)pbVar69;\n            local_64[7] = (bfd_vma)pcVar24;\n            local_98 = pcVar24;\n            local_94 = pbVar69;\n          }\n          if (*(char *)(local_64[3] + (*local_64 - 1)) != '\0') {\n            pcVar24 = (char *)dcgettext(0,\n                                        "corrupt GNU build attribute note: name not NUL terminated",\n                                        5,*local_64);\n            goto LAB_0001a72d;\n          }\n          local_64 = local_64 + 9;\n          pbVar57 = pbVar57 + (int)(iVar18 + 0xcU);\n        }\n        if (local_74 == (bfd_byte *)0x0) {\n          uVar58 = (uint)local_84 | local_6c;\n          if (local_80 == (bfd_byte *)0x0 && uVar58 == 0) {\n            pcVar24 = (char *)dcgettext(0,\n                                        "bad GNU build attribute notes: no known versions detected",\n                                        5,uVar58);\n            goto LAB_0001a72d;\n          }\n          if (((local_80 != (bfd_byte *)0x0) && (uVar58 != 0)) ||\n             ((local_84 != (int *)0x0 && (local_6c != 0)))) {\n            pcVar24 = (char *)dcgettext(0,\n                                        "bad GNU build attribute notes: multiple different versions"\n                                        ,5,pbVar69);\n            goto LAB_0001a72d;\n          }\n          if ((local_80 == (bfd_byte *)0x1 || local_84 == (int *)0x1) || (local_6c == 1))\n          goto LAB_0001a75c;\n          uVar58 = -(uint)(local_80 == (bfd_byte *)0x0) & 2;\n          iVar18 = uVar58 + 1;\n          if (*(char *)(local_60[3] + iVar18) != '\x01') {\n            pcVar24 = (char *)dcgettext(0,\n                                        "bad GNU build attribute notes: first note not version note"\n                                        ,5,pbVar55);\n            goto LAB_0001a72d;\n          }\n          bVar64 = false;\n          iVar22 = uVar58 + 2;\n          pbVar56 = local_60;\nLAB_0001a954:\n          pbVar13 = pbVar56;\n          pbVar56 = pbVar13 + 9;\n          if (pbVar56 < local_64) {\n            if (pbVar13[0xb] == 0x100) {\n              pvVar44 = (void *)pbVar13[0xc];\n              local_7c = (bfd_vma *)0x0;\n              pbVar63 = pbVar56;\n              do {\n                do {\n                  pbVar12 = pbVar63;\n                  pbVar63 = pbVar12 + -9;\n                  if (pbVar63 < local_60) goto LAB_0001a954;\n                  pvVar49 = (void *)pbVar12[-6];\n                  pbVar16 = local_7c;\n                } while ((((local_7c == (bfd_vma *)0x0) && (pbVar12[-8] != 0)) &&\n                         (pbVar16 = pbVar63, pbVar12[-7] == 0x101)) ||\n                        ((local_7c = pbVar16,\n                         *(char *)((int)pvVar44 + iVar18) != *(char *)((int)pvVar49 + iVar18) ||\n                         (pbVar12[-7] != 0x100))));\n                if (*(char *)((int)pvVar49 + iVar18) != '\x04') {\n                  pbVar69 = (bfd *)*pbVar63;\n                  if ((((pbVar69 == (bfd *)*pbVar56) &&\n                       (pbVar71 = (bfd *)pbVar56, iVar39 = memcmp(pvVar49,pvVar44,(size_t)pbVar69),\n                       pvVar70 = pvVar44, pbVar42 = pbVar69, iVar39 == 0)) &&\n                      ((uVar58 = pbVar12[-2], uVar58 != 0 && (uVar47 = pbVar13[0x10], uVar47 != 0)))\n                      ) && ((0xfffffff0 < uVar58 || (pbVar13[0xf] <= (uVar58 + 0xf & 0xfffffff0)))))\n                  {\n                    pbVar13[0xb] = 0;\n                    if (uVar58 < uVar47) {\n                      pbVar12[-2] = uVar47;\n                    }\n                    bVar64 = true;\n                    if (local_6c != 0) {\n                      pbVar12[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((pbVar13[10] == 0) && (local_7c != (bfd_vma *)0x0)) && (local_7c[2] == 0))\n                    {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    pbVar13[0x11] = 1;\n                    pbVar13[0xb] = 0x101;\n                    pbVar12[-1] = 1;\n                    pbVar12[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }\n                uVar58 = 0;\n                for (iVar39 = 0; (int)*pbVar56 - iVar22 != iVar39; iVar39 = iVar39 + 1) {\n                  uVar58 = uVar58 | (uint)*(byte *)((int)pvVar44 + iVar39 + iVar22) <<\n                                    ((char)iVar39 * '\b' & 0x1fU);\n                }\n                bVar43 = *pbVar63;\n                local_5c = (bfd *)0x0;\n                for (uVar47 = 0; bVar43 - iVar22 != uVar47; uVar47 = uVar47 + 1) {\n                  local_5c = (bfd *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar49 + iVar22))[uVar47] <<\n                                    ((char)uVar47 * '\b' & 0x1fU));\n                }\n                uVar48 = 0;\n                uVar58 = (int)local_5c + uVar58;\n                for (uVar46 = uVar58; uVar46 != 0; uVar46 = uVar46 >> 8) {\n                  uVar48 = uVar48 + 1;\n                }\n                in_stack_ffffff54 = (bfd *)pbVar56;\n              } while (uVar47 <= uVar48);\n              puVar61 = (undefined1 *)((int)pvVar49 + iVar22);\n              while (puVar61 < (undefined1 *)((int)pvVar49 + bVar43)) {\n                *puVar61 = (char)uVar58;\n                if (uVar58 == 0) break;\n                uVar58 = uVar58 >> 8;\n                puVar61 = puVar61 + 1;\n              }\n              pbVar13[0xb] = 0;\n              bVar64 = true;\n            }\n            goto LAB_0001a954;\n          }\n          in_stack_ffffff58 = obfd;\n          local_5c = obfd;\n          if (!bVar64) goto LAB_0001a75c;\n          pvVar44 = (void *)xmalloc(pbVar36,pvVar70,pbVar42,pbVar71);\n          bVar43 = 0;\n          pvVar70 = pvVar44;\n          local_80 = pbVar50;\n          for (pbVar56 = local_60; pbVar56 < local_64; pbVar56 = pbVar56 + 9) {\n            bVar45 = *pbVar56;\n            sVar34 = pbVar56[1] + 0xc + bVar45;\n            bVar10 = pbVar56[2];\n            pvVar49 = pvVar70;\n            if (bVar10 != 0) {\n              if (pbVar56[8] == 0) {\n                memcpy(pvVar70,local_80,sVar34);\n                pvVar49 = (void *)((int)pvVar70 + sVar34);\n              }\n              else {\n                pbVar57 = (bfd_byte *)pbVar56[6];\n                p_Var9 = ibfd->xvec->bfd_putx32;\n                __dest = (void *)((int)pvVar70 + 0xc);\n                pvVar49 = (void *)((int)__dest + bVar45);\n                if ((pbVar57 == local_74) && (pbVar56[7] == bVar43)) {\n                  (*p_Var9)(bVar45,pvVar70);\n                  (*ibfd->xvec->bfd_putx32)(0,(void *)((int)pvVar70 + 4));\n                  (*ibfd->xvec->bfd_putx32)(bVar10,(void *)((int)pvVar70 + 8));\n                  memcpy(__dest,(void *)pbVar56[3],bVar45);\n                }\n                else {\n                  (*p_Var9)(bVar45,pvVar70);\n                  bVar43 = 8;\n                  if (ibfd->xvec->flavour == bfd_target_elf_flavour) {\n                    bVar43 = (uint)(((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02'\n                                   ) * 8 + 8;\n                  }\n                  (*ibfd->xvec->bfd_putx32)(bVar43,(void *)((int)pvVar70 + 4));\n                  (*ibfd->xvec->bfd_putx32)(bVar10,(void *)((int)pvVar70 + 8));\n                  memcpy(__dest,(void *)pbVar56[3],bVar45);\n                  pbVar8 = ibfd->xvec;\n                  if ((pbVar8->flavour == bfd_target_elf_flavour) &&\n                     (((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02')) {\n                    (*pbVar8->bfd_putx64)(ZEXT48(pbVar57),pvVar49);\n                    (*ibfd->xvec->bfd_putx64)((ulonglong)pbVar56[7],(void *)((int)pvVar49 + 8));\n                    pvVar49 = (void *)((int)pvVar49 + 0x10);\n                  }\n                  else {\n                    (*pbVar8->bfd_putx32)((bfd_vma)pbVar57,pvVar49);\n                    (*ibfd->xvec->bfd_putx32)(pbVar56[7],(void *)((int)pvVar49 + 4));\n                    pvVar49 = (void *)((int)pvVar49 + 8);\n                  }\n                }\n              }\n              local_74 = (bfd_byte *)pbVar56[6];\n              bVar43 = pbVar56[7];\n            }\n            local_80 = local_80 + sVar34;\n            pvVar70 = pvVar49;\n          }\n          pbVar57 = (bfd_byte *)((int)pvVar70 - (int)pvVar44);\n          memcpy(pbVar50,pvVar44,(size_t)pbVar57);\n          free(pvVar44);\n          free(local_60);\n          merged_size = (bfd_size_type)pbVar57;\n          if (pbVar36 != pbVar57) {\n            iVar18 = (int)pbVar62->proxy_origin;\n            uVar29 = extraout_ECX_02;\n            if ((iVar18 != 0) &&\n               (iVar18 = bfd_set_section_size(obfd,iVar18,pbVar57,extraout_EDX),\n               uVar29 = extraout_ECX_03, iVar18 != 0)) goto LAB_00018aad;\n            pcVar24 = (char *)dcgettext(0,"warning: failed to set merged notes size",5,uVar29);\n            bfd_nonfatal_message((char *)0x0,obfd,(asection *)pbVar62,pcVar24);\n          }\n        }\n        else {\n          pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute notes: excess data at end",5,\n                                      local_64);\nLAB_0001a72d:\n          if (pcVar24 != (char *)0x0) {\n            bfd_set_error(0x11);\n            bfd_nonfatal_message((char *)0x0,ibfd,(asection *)pbVar62,pcVar24);\n            status = 1;\n          }\nLAB_0001a75c:\n          free(local_60);\n        }\n        free(merged_notes);\n        merged_notes = (bfd_byte *)0x0;\n        merge_notes = 0;\n        merged_size = 0;\n      }\n    }\n  }" if (parenthesized_expression "((((merge_notes != 0) &&\n       (pbVar62 = (bfd *)bfd_get_section_by_name(ibfd,".gnu.build.attributes"),\n       pbVar62 != (bfd *)0x0)) && (merge_notes != 0)) &&\n     ((ibfd->xvec->flavour == bfd_target_elf_flavour &&\n      (bVar21 = is_merged_note_section(pbVar62,(asection *)&pbVar62->archive_next,sec_1),\n      bVar21 != 0))))" ( (binary_expression "(((merge_notes != 0) &&\n       (pbVar62 = (bfd *)bfd_get_section_by_name(ibfd,".gnu.build.attributes"),\n       pbVar62 != (bfd *)0x0)) && (merge_notes != 0)) &&\n     ((ibfd->xvec->flavour == bfd_target_elf_flavour &&\n      (bVar21 = is_merged_note_section(pbVar62,(asection *)&pbVar62->archive_next,sec_1),\n      bVar21 != 0)))" (parenthesized_expression "(((merge_notes != 0) &&\n       (pbVar62 = (bfd *)bfd_get_section_by_name(ibfd,".gnu.build.attributes"),\n       pbVar62 != (bfd *)0x0)) && (merge_notes != 0))" ( (binary_expression "((merge_notes != 0) &&\n       (pbVar62 = (bfd *)bfd_get_section_by_name(ibfd,".gnu.build.attributes"),\n       pbVar62 != (bfd *)0x0)) && (merge_notes != 0)" (parenthesized_expression "((merge_notes != 0) &&\n       (pbVar62 = (bfd *)bfd_get_section_by_name(ibfd,".gnu.build.attributes"),\n       pbVar62 != (bfd *)0x0))" ( (binary_expression "(merge_notes != 0) &&\n       (pbVar62 = (bfd *)bfd_get_section_by_name(ibfd,".gnu.build.attributes"),\n       pbVar62 != (bfd *)0x0)" (parenthesized_expression "(merge_notes != 0)" ( (binary_expression "merge_notes != 0" identifier != number_literal) )) && (parenthesized_expression "(pbVar62 = (bfd *)bfd_get_section_by_name(ibfd,".gnu.build.attributes"),\n       pbVar62 != (bfd *)0x0)" ( (comma_expression "pbVar62 = (bfd *)bfd_get_section_by_name(ibfd,".gnu.build.attributes"),\n       pbVar62 != (bfd *)0x0" (assignment_expression "pbVar62 = (bfd *)bfd_get_section_by_name(ibfd,".gnu.build.attributes")" identifier = (cast_expression "(bfd *)bfd_get_section_by_name(ibfd,".gnu.build.attributes")" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "bfd_get_section_by_name(ibfd,".gnu.build.attributes")" identifier (argument_list "(ibfd,".gnu.build.attributes")" ( identifier , (string_literal "".gnu.build.attributes"" " string_content ") ))))) , (binary_expression "pbVar62 != (bfd *)0x0" identifier != (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) && (parenthesized_expression "(merge_notes != 0)" ( (binary_expression "merge_notes != 0" identifier != number_literal) ))) )) && (parenthesized_expression "((ibfd->xvec->flavour == bfd_target_elf_flavour &&\n      (bVar21 = is_merged_note_section(pbVar62,(asection *)&pbVar62->archive_next,sec_1),\n      bVar21 != 0)))" ( (parenthesized_expression "(ibfd->xvec->flavour == bfd_target_elf_flavour &&\n      (bVar21 = is_merged_note_section(pbVar62,(asection *)&pbVar62->archive_next,sec_1),\n      bVar21 != 0))" ( (binary_expression "ibfd->xvec->flavour == bfd_target_elf_flavour &&\n      (bVar21 = is_merged_note_section(pbVar62,(asection *)&pbVar62->archive_next,sec_1),\n      bVar21 != 0)" (binary_expression "ibfd->xvec->flavour == bfd_target_elf_flavour" (field_expression "ibfd->xvec->flavour" (field_expression "ibfd->xvec" identifier -> field_identifier) -> field_identifier) == identifier) && (parenthesized_expression "(bVar21 = is_merged_note_section(pbVar62,(asection *)&pbVar62->archive_next,sec_1),\n      bVar21 != 0)" ( (comma_expression "bVar21 = is_merged_note_section(pbVar62,(asection *)&pbVar62->archive_next,sec_1),\n      bVar21 != 0" (assignment_expression "bVar21 = is_merged_note_section(pbVar62,(asection *)&pbVar62->archive_next,sec_1)" identifier = (call_expression "is_merged_note_section(pbVar62,(asection *)&pbVar62->archive_next,sec_1)" identifier (argument_list "(pbVar62,(asection *)&pbVar62->archive_next,sec_1)" ( identifier , (cast_expression "(asection *)&pbVar62->archive_next" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pbVar62->archive_next" & (field_expression "pbVar62->archive_next" identifier -> field_identifier))) , identifier )))) , (binary_expression "bVar21 != 0" identifier != number_literal)) ))) )) ))) )) (compound_statement "{\n    pbVar36 = (bfd_byte *)pbVar62->id;\n    if (pbVar36 == (bfd_byte *)0x0) {\n      pcVar24 = (char *)dcgettext(0,"warning: note section is empty",5,0);\n      bfd_nonfatal_message((char *)0x0,ibfd,(asection *)pbVar62,pcVar24);\n      merge_notes = 0;\n    }\n    else {\n      iVar18 = bfd_get_full_section_contents(ibfd,pbVar62,&merged_notes,pbVar36);\n      pbVar50 = merged_notes;\n      if (iVar18 == 0) {\n        pcVar24 = (char *)dcgettext(0,"warning: could not load note section",5,0);\n        bfd_nonfatal_message((char *)0x0,ibfd,(asection *)pbVar62,pcVar24);\n        free(merged_notes);\n        merged_notes = (bfd_byte *)0x0;\n        merge_notes = 0;\n      }\n      else {\n        iVar18 = bfd_get_reloc_upper_bound(ibfd,pbVar62,pbVar62,pbVar62);\n        pbVar42 = ibfd;\n        pbVar69 = pbVar62;\n        if (0 < iVar18) {\n          pbVar42 = (bfd *)xmalloc(iVar18);\n          pbVar69 = (bfd *)bfd_canonicalize_reloc(ibfd,pbVar62,pbVar42,isympp);\n          free(pbVar42);\n          if (pbVar69 == (bfd *)0x0) goto LAB_0001a478;\n          local_60 = (bfd_vma *)0x0;\n          goto LAB_0001a75c;\n        }\nLAB_0001a478:\n        pvVar70 = (void *)0x24;\n        pbVar71 = pbVar42;\n        local_60 = (bfd_vma *)xcalloc((uint)pbVar36 / 0xc,0x24,pbVar42,pbVar42);\n        local_90 = (void *)0x0;\n        local_98 = (char *)0x0;\n        local_8c = (bfd *)0x0;\n        local_94 = (bfd *)0x0;\n        local_6c = 0;\n        local_84 = (int *)0x0;\n        local_80 = (bfd_byte *)0x0;\n        pbVar57 = pbVar50;\n        pbVar55 = (bfd *)pbVar50;\n        local_74 = pbVar36;\n        local_64 = local_60;\n        while ((bfd_byte *)0xb < local_74) {\n          bVar43 = (*ibfd->xvec->bfd_getx32)(pbVar57);\n          uVar58 = bVar43 + 3 & 0xfffffffc;\n          *local_64 = uVar58;\n          bVar43 = (*ibfd->xvec->bfd_getx32)(pbVar57 + 4);\n          uVar47 = bVar43 + 3 & 0xfffffffc;\n          pbVar8 = ibfd->xvec;\n          local_64[1] = uVar47;\n          bVar43 = (*pbVar8->bfd_getx32)(pbVar57 + 8);\n          local_64[2] = bVar43;\n          if (1 < bVar43 - 0x100) {\n            pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute note: wrong note type",5,\n                                        extraout_ECX_01);\n            goto LAB_0001a72d;\n          }\n          iVar18 = uVar47 + uVar58;\n          if (local_74 < (bfd_byte *)(iVar18 + 0xcU)) {\n            pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute note: note too big",5,pbVar57\n                                       );\n            goto LAB_0001a72d;\n          }\n          if (uVar58 < 2) {\n            pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute note: name too small",5,\n                                        iVar18);\n            goto LAB_0001a72d;\n          }\n          local_64[3] = (bfd_vma)(pbVar57 + 0xc);\n          pbVar3 = pbVar57 + uVar58 + 0xc;\n          local_64[4] = (bfd_vma)pbVar3;\n          pbVar55 = (bfd *)(-0xc - iVar18);\n          local_74 = (bfd_byte *)((int)&pbVar55->filename + (int)local_74);\n          bVar17 = pbVar57[0xc];\n          if (bVar17 == '$') {\n            if ((pbVar57[0xd] == '\x01') && (pbVar57[0xe] == '1')) {\n              local_80 = (bfd_byte *)((int)local_80 + 1);\n            }\n          }\n          else if ((((4 < uVar58) && (bVar17 == 'G')) && (pbVar57[0xd] == 'A')) &&\n                  ((pbVar57[0xe] == '$' && (pbVar57[0xf] == '\x01')))) {\n            bVar17 = pbVar57[0x10];\n            if (bVar17 == '2') {\n              local_84 = (int *)((int)local_84 + 1);\n            }\n            else {\n              if (bVar17 != '3') {\n                pcVar24 = (char *)dcgettext(0,\n                                            "corrupt GNU build attribute note: unsupported version",\n                                            5,bVar17);\n                goto LAB_0001a72d;\n              }\n              local_6c = local_6c + 1;\n            }\n          }\n          if (uVar47 == 4) {\n            pbVar69 = (bfd *)(*ibfd->xvec->bfd_getx32)(pbVar3);\n            pcVar24 = (char *)0xffffffff;\n          }\n          else if (uVar47 < 5) {\n            if (uVar47 != 0) {\nLAB_0001a7ea:\n              pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute note: bad description size"\n                                          ,5,bVar17);\n              goto LAB_0001a72d;\n            }\n            pcVar24 = (char *)0x0;\n            pbVar69 = (bfd *)0x0;\n          }\n          else {\n            pbVar55 = ibfd;\n            if (uVar47 == 8) {\n              pbVar8 = ibfd->xvec;\n              if ((pbVar8->flavour == bfd_target_elf_flavour) &&\n                 (((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02')) {\n                bVar68 = (*pbVar8->bfd_getx64)(pbVar3);\n                pbVar69 = (bfd *)bVar68;\n                pcVar24 = (char *)0xffffffff;\n              }\n              else {\n                pbVar69 = (bfd *)(*pbVar8->bfd_getx32)(pbVar3);\n                pcVar24 = (char *)(*ibfd->xvec->bfd_getx32)(pbVar3 + 4);\n              }\n            }\n            else {\n              if (uVar47 != 0x10) goto LAB_0001a7ea;\n              bVar68 = (*ibfd->xvec->bfd_getx64)(pbVar3);\n              pbVar69 = (bfd *)bVar68;\n              bVar68 = (*ibfd->xvec->bfd_getx64)(pbVar3 + 8);\n              pcVar24 = (char *)bVar68;\n            }\n          }\n          if (bVar43 == 0x100) {\n            if (pbVar69 == (bfd *)0x0) {\n              pbVar69 = local_8c;\n            }\n            if (pcVar24 == (char *)0x0) {\n              pcVar24 = (char *)local_90;\n            }\n            local_64[6] = (bfd_vma)pbVar69;\n            local_64[7] = (bfd_vma)pcVar24;\n            local_90 = pcVar24;\n            local_8c = pbVar69;\n          }\n          else {\n            if (pbVar69 == (bfd *)0x0) {\n              pbVar69 = local_94;\n            }\n            if (pcVar24 == (char *)0x0) {\n              pcVar24 = local_98;\n            }\n            local_64[6] = (bfd_vma)pbVar69;\n            local_64[7] = (bfd_vma)pcVar24;\n            local_98 = pcVar24;\n            local_94 = pbVar69;\n          }\n          if (*(char *)(local_64[3] + (*local_64 - 1)) != '\0') {\n            pcVar24 = (char *)dcgettext(0,\n                                        "corrupt GNU build attribute note: name not NUL terminated",\n                                        5,*local_64);\n            goto LAB_0001a72d;\n          }\n          local_64 = local_64 + 9;\n          pbVar57 = pbVar57 + (int)(iVar18 + 0xcU);\n        }\n        if (local_74 == (bfd_byte *)0x0) {\n          uVar58 = (uint)local_84 | local_6c;\n          if (local_80 == (bfd_byte *)0x0 && uVar58 == 0) {\n            pcVar24 = (char *)dcgettext(0,\n                                        "bad GNU build attribute notes: no known versions detected",\n                                        5,uVar58);\n            goto LAB_0001a72d;\n          }\n          if (((local_80 != (bfd_byte *)0x0) && (uVar58 != 0)) ||\n             ((local_84 != (int *)0x0 && (local_6c != 0)))) {\n            pcVar24 = (char *)dcgettext(0,\n                                        "bad GNU build attribute notes: multiple different versions"\n                                        ,5,pbVar69);\n            goto LAB_0001a72d;\n          }\n          if ((local_80 == (bfd_byte *)0x1 || local_84 == (int *)0x1) || (local_6c == 1))\n          goto LAB_0001a75c;\n          uVar58 = -(uint)(local_80 == (bfd_byte *)0x0) & 2;\n          iVar18 = uVar58 + 1;\n          if (*(char *)(local_60[3] + iVar18) != '\x01') {\n            pcVar24 = (char *)dcgettext(0,\n                                        "bad GNU build attribute notes: first note not version note"\n                                        ,5,pbVar55);\n            goto LAB_0001a72d;\n          }\n          bVar64 = false;\n          iVar22 = uVar58 + 2;\n          pbVar56 = local_60;\nLAB_0001a954:\n          pbVar13 = pbVar56;\n          pbVar56 = pbVar13 + 9;\n          if (pbVar56 < local_64) {\n            if (pbVar13[0xb] == 0x100) {\n              pvVar44 = (void *)pbVar13[0xc];\n              local_7c = (bfd_vma *)0x0;\n              pbVar63 = pbVar56;\n              do {\n                do {\n                  pbVar12 = pbVar63;\n                  pbVar63 = pbVar12 + -9;\n                  if (pbVar63 < local_60) goto LAB_0001a954;\n                  pvVar49 = (void *)pbVar12[-6];\n                  pbVar16 = local_7c;\n                } while ((((local_7c == (bfd_vma *)0x0) && (pbVar12[-8] != 0)) &&\n                         (pbVar16 = pbVar63, pbVar12[-7] == 0x101)) ||\n                        ((local_7c = pbVar16,\n                         *(char *)((int)pvVar44 + iVar18) != *(char *)((int)pvVar49 + iVar18) ||\n                         (pbVar12[-7] != 0x100))));\n                if (*(char *)((int)pvVar49 + iVar18) != '\x04') {\n                  pbVar69 = (bfd *)*pbVar63;\n                  if ((((pbVar69 == (bfd *)*pbVar56) &&\n                       (pbVar71 = (bfd *)pbVar56, iVar39 = memcmp(pvVar49,pvVar44,(size_t)pbVar69),\n                       pvVar70 = pvVar44, pbVar42 = pbVar69, iVar39 == 0)) &&\n                      ((uVar58 = pbVar12[-2], uVar58 != 0 && (uVar47 = pbVar13[0x10], uVar47 != 0)))\n                      ) && ((0xfffffff0 < uVar58 || (pbVar13[0xf] <= (uVar58 + 0xf & 0xfffffff0)))))\n                  {\n                    pbVar13[0xb] = 0;\n                    if (uVar58 < uVar47) {\n                      pbVar12[-2] = uVar47;\n                    }\n                    bVar64 = true;\n                    if (local_6c != 0) {\n                      pbVar12[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((pbVar13[10] == 0) && (local_7c != (bfd_vma *)0x0)) && (local_7c[2] == 0))\n                    {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    pbVar13[0x11] = 1;\n                    pbVar13[0xb] = 0x101;\n                    pbVar12[-1] = 1;\n                    pbVar12[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }\n                uVar58 = 0;\n                for (iVar39 = 0; (int)*pbVar56 - iVar22 != iVar39; iVar39 = iVar39 + 1) {\n                  uVar58 = uVar58 | (uint)*(byte *)((int)pvVar44 + iVar39 + iVar22) <<\n                                    ((char)iVar39 * '\b' & 0x1fU);\n                }\n                bVar43 = *pbVar63;\n                local_5c = (bfd *)0x0;\n                for (uVar47 = 0; bVar43 - iVar22 != uVar47; uVar47 = uVar47 + 1) {\n                  local_5c = (bfd *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar49 + iVar22))[uVar47] <<\n                                    ((char)uVar47 * '\b' & 0x1fU));\n                }\n                uVar48 = 0;\n                uVar58 = (int)local_5c + uVar58;\n                for (uVar46 = uVar58; uVar46 != 0; uVar46 = uVar46 >> 8) {\n                  uVar48 = uVar48 + 1;\n                }\n                in_stack_ffffff54 = (bfd *)pbVar56;\n              } while (uVar47 <= uVar48);\n              puVar61 = (undefined1 *)((int)pvVar49 + iVar22);\n              while (puVar61 < (undefined1 *)((int)pvVar49 + bVar43)) {\n                *puVar61 = (char)uVar58;\n                if (uVar58 == 0) break;\n                uVar58 = uVar58 >> 8;\n                puVar61 = puVar61 + 1;\n              }\n              pbVar13[0xb] = 0;\n              bVar64 = true;\n            }\n            goto LAB_0001a954;\n          }\n          in_stack_ffffff58 = obfd;\n          local_5c = obfd;\n          if (!bVar64) goto LAB_0001a75c;\n          pvVar44 = (void *)xmalloc(pbVar36,pvVar70,pbVar42,pbVar71);\n          bVar43 = 0;\n          pvVar70 = pvVar44;\n          local_80 = pbVar50;\n          for (pbVar56 = local_60; pbVar56 < local_64; pbVar56 = pbVar56 + 9) {\n            bVar45 = *pbVar56;\n            sVar34 = pbVar56[1] + 0xc + bVar45;\n            bVar10 = pbVar56[2];\n            pvVar49 = pvVar70;\n            if (bVar10 != 0) {\n              if (pbVar56[8] == 0) {\n                memcpy(pvVar70,local_80,sVar34);\n                pvVar49 = (void *)((int)pvVar70 + sVar34);\n              }\n              else {\n                pbVar57 = (bfd_byte *)pbVar56[6];\n                p_Var9 = ibfd->xvec->bfd_putx32;\n                __dest = (void *)((int)pvVar70 + 0xc);\n                pvVar49 = (void *)((int)__dest + bVar45);\n                if ((pbVar57 == local_74) && (pbVar56[7] == bVar43)) {\n                  (*p_Var9)(bVar45,pvVar70);\n                  (*ibfd->xvec->bfd_putx32)(0,(void *)((int)pvVar70 + 4));\n                  (*ibfd->xvec->bfd_putx32)(bVar10,(void *)((int)pvVar70 + 8));\n                  memcpy(__dest,(void *)pbVar56[3],bVar45);\n                }\n                else {\n                  (*p_Var9)(bVar45,pvVar70);\n                  bVar43 = 8;\n                  if (ibfd->xvec->flavour == bfd_target_elf_flavour) {\n                    bVar43 = (uint)(((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02'\n                                   ) * 8 + 8;\n                  }\n                  (*ibfd->xvec->bfd_putx32)(bVar43,(void *)((int)pvVar70 + 4));\n                  (*ibfd->xvec->bfd_putx32)(bVar10,(void *)((int)pvVar70 + 8));\n                  memcpy(__dest,(void *)pbVar56[3],bVar45);\n                  pbVar8 = ibfd->xvec;\n                  if ((pbVar8->flavour == bfd_target_elf_flavour) &&\n                     (((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02')) {\n                    (*pbVar8->bfd_putx64)(ZEXT48(pbVar57),pvVar49);\n                    (*ibfd->xvec->bfd_putx64)((ulonglong)pbVar56[7],(void *)((int)pvVar49 + 8));\n                    pvVar49 = (void *)((int)pvVar49 + 0x10);\n                  }\n                  else {\n                    (*pbVar8->bfd_putx32)((bfd_vma)pbVar57,pvVar49);\n                    (*ibfd->xvec->bfd_putx32)(pbVar56[7],(void *)((int)pvVar49 + 4));\n                    pvVar49 = (void *)((int)pvVar49 + 8);\n                  }\n                }\n              }\n              local_74 = (bfd_byte *)pbVar56[6];\n              bVar43 = pbVar56[7];\n            }\n            local_80 = local_80 + sVar34;\n            pvVar70 = pvVar49;\n          }\n          pbVar57 = (bfd_byte *)((int)pvVar70 - (int)pvVar44);\n          memcpy(pbVar50,pvVar44,(size_t)pbVar57);\n          free(pvVar44);\n          free(local_60);\n          merged_size = (bfd_size_type)pbVar57;\n          if (pbVar36 != pbVar57) {\n            iVar18 = (int)pbVar62->proxy_origin;\n            uVar29 = extraout_ECX_02;\n            if ((iVar18 != 0) &&\n               (iVar18 = bfd_set_section_size(obfd,iVar18,pbVar57,extraout_EDX),\n               uVar29 = extraout_ECX_03, iVar18 != 0)) goto LAB_00018aad;\n            pcVar24 = (char *)dcgettext(0,"warning: failed to set merged notes size",5,uVar29);\n            bfd_nonfatal_message((char *)0x0,obfd,(asection *)pbVar62,pcVar24);\n          }\n        }\n        else {\n          pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute notes: excess data at end",5,\n                                      local_64);\nLAB_0001a72d:\n          if (pcVar24 != (char *)0x0) {\n            bfd_set_error(0x11);\n            bfd_nonfatal_message((char *)0x0,ibfd,(asection *)pbVar62,pcVar24);\n            status = 1;\n          }\nLAB_0001a75c:\n          free(local_60);\n        }\n        free(merged_notes);\n        merged_notes = (bfd_byte *)0x0;\n        merge_notes = 0;\n        merged_size = 0;\n      }\n    }\n  }" { (expression_statement "pbVar36 = (bfd_byte *)pbVar62->id;" (assignment_expression "pbVar36 = (bfd_byte *)pbVar62->id" identifier = (cast_expression "(bfd_byte *)pbVar62->id" ( (type_descriptor "bfd_byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pbVar62->id" identifier -> field_identifier))) ;) (if_statement "if (pbVar36 == (bfd_byte *)0x0) {\n      pcVar24 = (char *)dcgettext(0,"warning: note section is empty",5,0);\n      bfd_nonfatal_message((char *)0x0,ibfd,(asection *)pbVar62,pcVar24);\n      merge_notes = 0;\n    }\n    else {\n      iVar18 = bfd_get_full_section_contents(ibfd,pbVar62,&merged_notes,pbVar36);\n      pbVar50 = merged_notes;\n      if (iVar18 == 0) {\n        pcVar24 = (char *)dcgettext(0,"warning: could not load note section",5,0);\n        bfd_nonfatal_message((char *)0x0,ibfd,(asection *)pbVar62,pcVar24);\n        free(merged_notes);\n        merged_notes = (bfd_byte *)0x0;\n        merge_notes = 0;\n      }\n      else {\n        iVar18 = bfd_get_reloc_upper_bound(ibfd,pbVar62,pbVar62,pbVar62);\n        pbVar42 = ibfd;\n        pbVar69 = pbVar62;\n        if (0 < iVar18) {\n          pbVar42 = (bfd *)xmalloc(iVar18);\n          pbVar69 = (bfd *)bfd_canonicalize_reloc(ibfd,pbVar62,pbVar42,isympp);\n          free(pbVar42);\n          if (pbVar69 == (bfd *)0x0) goto LAB_0001a478;\n          local_60 = (bfd_vma *)0x0;\n          goto LAB_0001a75c;\n        }\nLAB_0001a478:\n        pvVar70 = (void *)0x24;\n        pbVar71 = pbVar42;\n        local_60 = (bfd_vma *)xcalloc((uint)pbVar36 / 0xc,0x24,pbVar42,pbVar42);\n        local_90 = (void *)0x0;\n        local_98 = (char *)0x0;\n        local_8c = (bfd *)0x0;\n        local_94 = (bfd *)0x0;\n        local_6c = 0;\n        local_84 = (int *)0x0;\n        local_80 = (bfd_byte *)0x0;\n        pbVar57 = pbVar50;\n        pbVar55 = (bfd *)pbVar50;\n        local_74 = pbVar36;\n        local_64 = local_60;\n        while ((bfd_byte *)0xb < local_74) {\n          bVar43 = (*ibfd->xvec->bfd_getx32)(pbVar57);\n          uVar58 = bVar43 + 3 & 0xfffffffc;\n          *local_64 = uVar58;\n          bVar43 = (*ibfd->xvec->bfd_getx32)(pbVar57 + 4);\n          uVar47 = bVar43 + 3 & 0xfffffffc;\n          pbVar8 = ibfd->xvec;\n          local_64[1] = uVar47;\n          bVar43 = (*pbVar8->bfd_getx32)(pbVar57 + 8);\n          local_64[2] = bVar43;\n          if (1 < bVar43 - 0x100) {\n            pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute note: wrong note type",5,\n                                        extraout_ECX_01);\n            goto LAB_0001a72d;\n          }\n          iVar18 = uVar47 + uVar58;\n          if (local_74 < (bfd_byte *)(iVar18 + 0xcU)) {\n            pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute note: note too big",5,pbVar57\n                                       );\n            goto LAB_0001a72d;\n          }\n          if (uVar58 < 2) {\n            pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute note: name too small",5,\n                                        iVar18);\n            goto LAB_0001a72d;\n          }\n          local_64[3] = (bfd_vma)(pbVar57 + 0xc);\n          pbVar3 = pbVar57 + uVar58 + 0xc;\n          local_64[4] = (bfd_vma)pbVar3;\n          pbVar55 = (bfd *)(-0xc - iVar18);\n          local_74 = (bfd_byte *)((int)&pbVar55->filename + (int)local_74);\n          bVar17 = pbVar57[0xc];\n          if (bVar17 == '$') {\n            if ((pbVar57[0xd] == '\x01') && (pbVar57[0xe] == '1')) {\n              local_80 = (bfd_byte *)((int)local_80 + 1);\n            }\n          }\n          else if ((((4 < uVar58) && (bVar17 == 'G')) && (pbVar57[0xd] == 'A')) &&\n                  ((pbVar57[0xe] == '$' && (pbVar57[0xf] == '\x01')))) {\n            bVar17 = pbVar57[0x10];\n            if (bVar17 == '2') {\n              local_84 = (int *)((int)local_84 + 1);\n            }\n            else {\n              if (bVar17 != '3') {\n                pcVar24 = (char *)dcgettext(0,\n                                            "corrupt GNU build attribute note: unsupported version",\n                                            5,bVar17);\n                goto LAB_0001a72d;\n              }\n              local_6c = local_6c + 1;\n            }\n          }\n          if (uVar47 == 4) {\n            pbVar69 = (bfd *)(*ibfd->xvec->bfd_getx32)(pbVar3);\n            pcVar24 = (char *)0xffffffff;\n          }\n          else if (uVar47 < 5) {\n            if (uVar47 != 0) {\nLAB_0001a7ea:\n              pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute note: bad description size"\n                                          ,5,bVar17);\n              goto LAB_0001a72d;\n            }\n            pcVar24 = (char *)0x0;\n            pbVar69 = (bfd *)0x0;\n          }\n          else {\n            pbVar55 = ibfd;\n            if (uVar47 == 8) {\n              pbVar8 = ibfd->xvec;\n              if ((pbVar8->flavour == bfd_target_elf_flavour) &&\n                 (((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02')) {\n                bVar68 = (*pbVar8->bfd_getx64)(pbVar3);\n                pbVar69 = (bfd *)bVar68;\n                pcVar24 = (char *)0xffffffff;\n              }\n              else {\n                pbVar69 = (bfd *)(*pbVar8->bfd_getx32)(pbVar3);\n                pcVar24 = (char *)(*ibfd->xvec->bfd_getx32)(pbVar3 + 4);\n              }\n            }\n            else {\n              if (uVar47 != 0x10) goto LAB_0001a7ea;\n              bVar68 = (*ibfd->xvec->bfd_getx64)(pbVar3);\n              pbVar69 = (bfd *)bVar68;\n              bVar68 = (*ibfd->xvec->bfd_getx64)(pbVar3 + 8);\n              pcVar24 = (char *)bVar68;\n            }\n          }\n          if (bVar43 == 0x100) {\n            if (pbVar69 == (bfd *)0x0) {\n              pbVar69 = local_8c;\n            }\n            if (pcVar24 == (char *)0x0) {\n              pcVar24 = (char *)local_90;\n            }\n            local_64[6] = (bfd_vma)pbVar69;\n            local_64[7] = (bfd_vma)pcVar24;\n            local_90 = pcVar24;\n            local_8c = pbVar69;\n          }\n          else {\n            if (pbVar69 == (bfd *)0x0) {\n              pbVar69 = local_94;\n            }\n            if (pcVar24 == (char *)0x0) {\n              pcVar24 = local_98;\n            }\n            local_64[6] = (bfd_vma)pbVar69;\n            local_64[7] = (bfd_vma)pcVar24;\n            local_98 = pcVar24;\n            local_94 = pbVar69;\n          }\n          if (*(char *)(local_64[3] + (*local_64 - 1)) != '\0') {\n            pcVar24 = (char *)dcgettext(0,\n                                        "corrupt GNU build attribute note: name not NUL terminated",\n                                        5,*local_64);\n            goto LAB_0001a72d;\n          }\n          local_64 = local_64 + 9;\n          pbVar57 = pbVar57 + (int)(iVar18 + 0xcU);\n        }\n        if (local_74 == (bfd_byte *)0x0) {\n          uVar58 = (uint)local_84 | local_6c;\n          if (local_80 == (bfd_byte *)0x0 && uVar58 == 0) {\n            pcVar24 = (char *)dcgettext(0,\n                                        "bad GNU build attribute notes: no known versions detected",\n                                        5,uVar58);\n            goto LAB_0001a72d;\n          }\n          if (((local_80 != (bfd_byte *)0x0) && (uVar58 != 0)) ||\n             ((local_84 != (int *)0x0 && (local_6c != 0)))) {\n            pcVar24 = (char *)dcgettext(0,\n                                        "bad GNU build attribute notes: multiple different versions"\n                                        ,5,pbVar69);\n            goto LAB_0001a72d;\n          }\n          if ((local_80 == (bfd_byte *)0x1 || local_84 == (int *)0x1) || (local_6c == 1))\n          goto LAB_0001a75c;\n          uVar58 = -(uint)(local_80 == (bfd_byte *)0x0) & 2;\n          iVar18 = uVar58 + 1;\n          if (*(char *)(local_60[3] + iVar18) != '\x01') {\n            pcVar24 = (char *)dcgettext(0,\n                                        "bad GNU build attribute notes: first note not version note"\n                                        ,5,pbVar55);\n            goto LAB_0001a72d;\n          }\n          bVar64 = false;\n          iVar22 = uVar58 + 2;\n          pbVar56 = local_60;\nLAB_0001a954:\n          pbVar13 = pbVar56;\n          pbVar56 = pbVar13 + 9;\n          if (pbVar56 < local_64) {\n            if (pbVar13[0xb] == 0x100) {\n              pvVar44 = (void *)pbVar13[0xc];\n              local_7c = (bfd_vma *)0x0;\n              pbVar63 = pbVar56;\n              do {\n                do {\n                  pbVar12 = pbVar63;\n                  pbVar63 = pbVar12 + -9;\n                  if (pbVar63 < local_60) goto LAB_0001a954;\n                  pvVar49 = (void *)pbVar12[-6];\n                  pbVar16 = local_7c;\n                } while ((((local_7c == (bfd_vma *)0x0) && (pbVar12[-8] != 0)) &&\n                         (pbVar16 = pbVar63, pbVar12[-7] == 0x101)) ||\n                        ((local_7c = pbVar16,\n                         *(char *)((int)pvVar44 + iVar18) != *(char *)((int)pvVar49 + iVar18) ||\n                         (pbVar12[-7] != 0x100))));\n                if (*(char *)((int)pvVar49 + iVar18) != '\x04') {\n                  pbVar69 = (bfd *)*pbVar63;\n                  if ((((pbVar69 == (bfd *)*pbVar56) &&\n                       (pbVar71 = (bfd *)pbVar56, iVar39 = memcmp(pvVar49,pvVar44,(size_t)pbVar69),\n                       pvVar70 = pvVar44, pbVar42 = pbVar69, iVar39 == 0)) &&\n                      ((uVar58 = pbVar12[-2], uVar58 != 0 && (uVar47 = pbVar13[0x10], uVar47 != 0)))\n                      ) && ((0xfffffff0 < uVar58 || (pbVar13[0xf] <= (uVar58 + 0xf & 0xfffffff0)))))\n                  {\n                    pbVar13[0xb] = 0;\n                    if (uVar58 < uVar47) {\n                      pbVar12[-2] = uVar47;\n                    }\n                    bVar64 = true;\n                    if (local_6c != 0) {\n                      pbVar12[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((pbVar13[10] == 0) && (local_7c != (bfd_vma *)0x0)) && (local_7c[2] == 0))\n                    {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    pbVar13[0x11] = 1;\n                    pbVar13[0xb] = 0x101;\n                    pbVar12[-1] = 1;\n                    pbVar12[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }\n                uVar58 = 0;\n                for (iVar39 = 0; (int)*pbVar56 - iVar22 != iVar39; iVar39 = iVar39 + 1) {\n                  uVar58 = uVar58 | (uint)*(byte *)((int)pvVar44 + iVar39 + iVar22) <<\n                                    ((char)iVar39 * '\b' & 0x1fU);\n                }\n                bVar43 = *pbVar63;\n                local_5c = (bfd *)0x0;\n                for (uVar47 = 0; bVar43 - iVar22 != uVar47; uVar47 = uVar47 + 1) {\n                  local_5c = (bfd *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar49 + iVar22))[uVar47] <<\n                                    ((char)uVar47 * '\b' & 0x1fU));\n                }\n                uVar48 = 0;\n                uVar58 = (int)local_5c + uVar58;\n                for (uVar46 = uVar58; uVar46 != 0; uVar46 = uVar46 >> 8) {\n                  uVar48 = uVar48 + 1;\n                }\n                in_stack_ffffff54 = (bfd *)pbVar56;\n              } while (uVar47 <= uVar48);\n              puVar61 = (undefined1 *)((int)pvVar49 + iVar22);\n              while (puVar61 < (undefined1 *)((int)pvVar49 + bVar43)) {\n                *puVar61 = (char)uVar58;\n                if (uVar58 == 0) break;\n                uVar58 = uVar58 >> 8;\n                puVar61 = puVar61 + 1;\n              }\n              pbVar13[0xb] = 0;\n              bVar64 = true;\n            }\n            goto LAB_0001a954;\n          }\n          in_stack_ffffff58 = obfd;\n          local_5c = obfd;\n          if (!bVar64) goto LAB_0001a75c;\n          pvVar44 = (void *)xmalloc(pbVar36,pvVar70,pbVar42,pbVar71);\n          bVar43 = 0;\n          pvVar70 = pvVar44;\n          local_80 = pbVar50;\n          for (pbVar56 = local_60; pbVar56 < local_64; pbVar56 = pbVar56 + 9) {\n            bVar45 = *pbVar56;\n            sVar34 = pbVar56[1] + 0xc + bVar45;\n            bVar10 = pbVar56[2];\n            pvVar49 = pvVar70;\n            if (bVar10 != 0) {\n              if (pbVar56[8] == 0) {\n                memcpy(pvVar70,local_80,sVar34);\n                pvVar49 = (void *)((int)pvVar70 + sVar34);\n              }\n              else {\n                pbVar57 = (bfd_byte *)pbVar56[6];\n                p_Var9 = ibfd->xvec->bfd_putx32;\n                __dest = (void *)((int)pvVar70 + 0xc);\n                pvVar49 = (void *)((int)__dest + bVar45);\n                if ((pbVar57 == local_74) && (pbVar56[7] == bVar43)) {\n                  (*p_Var9)(bVar45,pvVar70);\n                  (*ibfd->xvec->bfd_putx32)(0,(void *)((int)pvVar70 + 4));\n                  (*ibfd->xvec->bfd_putx32)(bVar10,(void *)((int)pvVar70 + 8));\n                  memcpy(__dest,(void *)pbVar56[3],bVar45);\n                }\n                else {\n                  (*p_Var9)(bVar45,pvVar70);\n                  bVar43 = 8;\n                  if (ibfd->xvec->flavour == bfd_target_elf_flavour) {\n                    bVar43 = (uint)(((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02'\n                                   ) * 8 + 8;\n                  }\n                  (*ibfd->xvec->bfd_putx32)(bVar43,(void *)((int)pvVar70 + 4));\n                  (*ibfd->xvec->bfd_putx32)(bVar10,(void *)((int)pvVar70 + 8));\n                  memcpy(__dest,(void *)pbVar56[3],bVar45);\n                  pbVar8 = ibfd->xvec;\n                  if ((pbVar8->flavour == bfd_target_elf_flavour) &&\n                     (((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02')) {\n                    (*pbVar8->bfd_putx64)(ZEXT48(pbVar57),pvVar49);\n                    (*ibfd->xvec->bfd_putx64)((ulonglong)pbVar56[7],(void *)((int)pvVar49 + 8));\n                    pvVar49 = (void *)((int)pvVar49 + 0x10);\n                  }\n                  else {\n                    (*pbVar8->bfd_putx32)((bfd_vma)pbVar57,pvVar49);\n                    (*ibfd->xvec->bfd_putx32)(pbVar56[7],(void *)((int)pvVar49 + 4));\n                    pvVar49 = (void *)((int)pvVar49 + 8);\n                  }\n                }\n              }\n              local_74 = (bfd_byte *)pbVar56[6];\n              bVar43 = pbVar56[7];\n            }\n            local_80 = local_80 + sVar34;\n            pvVar70 = pvVar49;\n          }\n          pbVar57 = (bfd_byte *)((int)pvVar70 - (int)pvVar44);\n          memcpy(pbVar50,pvVar44,(size_t)pbVar57);\n          free(pvVar44);\n          free(local_60);\n          merged_size = (bfd_size_type)pbVar57;\n          if (pbVar36 != pbVar57) {\n            iVar18 = (int)pbVar62->proxy_origin;\n            uVar29 = extraout_ECX_02;\n            if ((iVar18 != 0) &&\n               (iVar18 = bfd_set_section_size(obfd,iVar18,pbVar57,extraout_EDX),\n               uVar29 = extraout_ECX_03, iVar18 != 0)) goto LAB_00018aad;\n            pcVar24 = (char *)dcgettext(0,"warning: failed to set merged notes size",5,uVar29);\n            bfd_nonfatal_message((char *)0x0,obfd,(asection *)pbVar62,pcVar24);\n          }\n        }\n        else {\n          pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute notes: excess data at end",5,\n                                      local_64);\nLAB_0001a72d:\n          if (pcVar24 != (char *)0x0) {\n            bfd_set_error(0x11);\n            bfd_nonfatal_message((char *)0x0,ibfd,(asection *)pbVar62,pcVar24);\n            status = 1;\n          }\nLAB_0001a75c:\n          free(local_60);\n        }\n        free(merged_notes);\n        merged_notes = (bfd_byte *)0x0;\n        merge_notes = 0;\n        merged_size = 0;\n      }\n    }" if (parenthesized_expression "(pbVar36 == (bfd_byte *)0x0)" ( (binary_expression "pbVar36 == (bfd_byte *)0x0" identifier == (cast_expression "(bfd_byte *)0x0" ( (type_descriptor "bfd_byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pcVar24 = (char *)dcgettext(0,"warning: note section is empty",5,0);\n      bfd_nonfatal_message((char *)0x0,ibfd,(asection *)pbVar62,pcVar24);\n      merge_notes = 0;\n    }" { (expression_statement "pcVar24 = (char *)dcgettext(0,"warning: note section is empty",5,0);" (assignment_expression "pcVar24 = (char *)dcgettext(0,"warning: note section is empty",5,0)" identifier = (cast_expression "(char *)dcgettext(0,"warning: note section is empty",5,0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"warning: note section is empty",5,0)" identifier (argument_list "(0,"warning: note section is empty",5,0)" ( number_literal , (string_literal ""warning: note section is empty"" " string_content ") , number_literal , number_literal ))))) ;) (expression_statement "bfd_nonfatal_message((char *)0x0,ibfd,(asection *)pbVar62,pcVar24);" (call_expression "bfd_nonfatal_message((char *)0x0,ibfd,(asection *)pbVar62,pcVar24)" identifier (argument_list "((char *)0x0,ibfd,(asection *)pbVar62,pcVar24)" ( (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) , identifier , (cast_expression "(asection *)pbVar62" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;) (expression_statement "merge_notes = 0;" (assignment_expression "merge_notes = 0" identifier = number_literal) ;) }) (else_clause "else {\n      iVar18 = bfd_get_full_section_contents(ibfd,pbVar62,&merged_notes,pbVar36);\n      pbVar50 = merged_notes;\n      if (iVar18 == 0) {\n        pcVar24 = (char *)dcgettext(0,"warning: could not load note section",5,0);\n        bfd_nonfatal_message((char *)0x0,ibfd,(asection *)pbVar62,pcVar24);\n        free(merged_notes);\n        merged_notes = (bfd_byte *)0x0;\n        merge_notes = 0;\n      }\n      else {\n        iVar18 = bfd_get_reloc_upper_bound(ibfd,pbVar62,pbVar62,pbVar62);\n        pbVar42 = ibfd;\n        pbVar69 = pbVar62;\n        if (0 < iVar18) {\n          pbVar42 = (bfd *)xmalloc(iVar18);\n          pbVar69 = (bfd *)bfd_canonicalize_reloc(ibfd,pbVar62,pbVar42,isympp);\n          free(pbVar42);\n          if (pbVar69 == (bfd *)0x0) goto LAB_0001a478;\n          local_60 = (bfd_vma *)0x0;\n          goto LAB_0001a75c;\n        }\nLAB_0001a478:\n        pvVar70 = (void *)0x24;\n        pbVar71 = pbVar42;\n        local_60 = (bfd_vma *)xcalloc((uint)pbVar36 / 0xc,0x24,pbVar42,pbVar42);\n        local_90 = (void *)0x0;\n        local_98 = (char *)0x0;\n        local_8c = (bfd *)0x0;\n        local_94 = (bfd *)0x0;\n        local_6c = 0;\n        local_84 = (int *)0x0;\n        local_80 = (bfd_byte *)0x0;\n        pbVar57 = pbVar50;\n        pbVar55 = (bfd *)pbVar50;\n        local_74 = pbVar36;\n        local_64 = local_60;\n        while ((bfd_byte *)0xb < local_74) {\n          bVar43 = (*ibfd->xvec->bfd_getx32)(pbVar57);\n          uVar58 = bVar43 + 3 & 0xfffffffc;\n          *local_64 = uVar58;\n          bVar43 = (*ibfd->xvec->bfd_getx32)(pbVar57 + 4);\n          uVar47 = bVar43 + 3 & 0xfffffffc;\n          pbVar8 = ibfd->xvec;\n          local_64[1] = uVar47;\n          bVar43 = (*pbVar8->bfd_getx32)(pbVar57 + 8);\n          local_64[2] = bVar43;\n          if (1 < bVar43 - 0x100) {\n            pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute note: wrong note type",5,\n                                        extraout_ECX_01);\n            goto LAB_0001a72d;\n          }\n          iVar18 = uVar47 + uVar58;\n          if (local_74 < (bfd_byte *)(iVar18 + 0xcU)) {\n            pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute note: note too big",5,pbVar57\n                                       );\n            goto LAB_0001a72d;\n          }\n          if (uVar58 < 2) {\n            pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute note: name too small",5,\n                                        iVar18);\n            goto LAB_0001a72d;\n          }\n          local_64[3] = (bfd_vma)(pbVar57 + 0xc);\n          pbVar3 = pbVar57 + uVar58 + 0xc;\n          local_64[4] = (bfd_vma)pbVar3;\n          pbVar55 = (bfd *)(-0xc - iVar18);\n          local_74 = (bfd_byte *)((int)&pbVar55->filename + (int)local_74);\n          bVar17 = pbVar57[0xc];\n          if (bVar17 == '$') {\n            if ((pbVar57[0xd] == '\x01') && (pbVar57[0xe] == '1')) {\n              local_80 = (bfd_byte *)((int)local_80 + 1);\n            }\n          }\n          else if ((((4 < uVar58) && (bVar17 == 'G')) && (pbVar57[0xd] == 'A')) &&\n                  ((pbVar57[0xe] == '$' && (pbVar57[0xf] == '\x01')))) {\n            bVar17 = pbVar57[0x10];\n            if (bVar17 == '2') {\n              local_84 = (int *)((int)local_84 + 1);\n            }\n            else {\n              if (bVar17 != '3') {\n                pcVar24 = (char *)dcgettext(0,\n                                            "corrupt GNU build attribute note: unsupported version",\n                                            5,bVar17);\n                goto LAB_0001a72d;\n              }\n              local_6c = local_6c + 1;\n            }\n          }\n          if (uVar47 == 4) {\n            pbVar69 = (bfd *)(*ibfd->xvec->bfd_getx32)(pbVar3);\n            pcVar24 = (char *)0xffffffff;\n          }\n          else if (uVar47 < 5) {\n            if (uVar47 != 0) {\nLAB_0001a7ea:\n              pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute note: bad description size"\n                                          ,5,bVar17);\n              goto LAB_0001a72d;\n            }\n            pcVar24 = (char *)0x0;\n            pbVar69 = (bfd *)0x0;\n          }\n          else {\n            pbVar55 = ibfd;\n            if (uVar47 == 8) {\n              pbVar8 = ibfd->xvec;\n              if ((pbVar8->flavour == bfd_target_elf_flavour) &&\n                 (((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02')) {\n                bVar68 = (*pbVar8->bfd_getx64)(pbVar3);\n                pbVar69 = (bfd *)bVar68;\n                pcVar24 = (char *)0xffffffff;\n              }\n              else {\n                pbVar69 = (bfd *)(*pbVar8->bfd_getx32)(pbVar3);\n                pcVar24 = (char *)(*ibfd->xvec->bfd_getx32)(pbVar3 + 4);\n              }\n            }\n            else {\n              if (uVar47 != 0x10) goto LAB_0001a7ea;\n              bVar68 = (*ibfd->xvec->bfd_getx64)(pbVar3);\n              pbVar69 = (bfd *)bVar68;\n              bVar68 = (*ibfd->xvec->bfd_getx64)(pbVar3 + 8);\n              pcVar24 = (char *)bVar68;\n            }\n          }\n          if (bVar43 == 0x100) {\n            if (pbVar69 == (bfd *)0x0) {\n              pbVar69 = local_8c;\n            }\n            if (pcVar24 == (char *)0x0) {\n              pcVar24 = (char *)local_90;\n            }\n            local_64[6] = (bfd_vma)pbVar69;\n            local_64[7] = (bfd_vma)pcVar24;\n            local_90 = pcVar24;\n            local_8c = pbVar69;\n          }\n          else {\n            if (pbVar69 == (bfd *)0x0) {\n              pbVar69 = local_94;\n            }\n            if (pcVar24 == (char *)0x0) {\n              pcVar24 = local_98;\n            }\n            local_64[6] = (bfd_vma)pbVar69;\n            local_64[7] = (bfd_vma)pcVar24;\n            local_98 = pcVar24;\n            local_94 = pbVar69;\n          }\n          if (*(char *)(local_64[3] + (*local_64 - 1)) != '\0') {\n            pcVar24 = (char *)dcgettext(0,\n                                        "corrupt GNU build attribute note: name not NUL terminated",\n                                        5,*local_64);\n            goto LAB_0001a72d;\n          }\n          local_64 = local_64 + 9;\n          pbVar57 = pbVar57 + (int)(iVar18 + 0xcU);\n        }\n        if (local_74 == (bfd_byte *)0x0) {\n          uVar58 = (uint)local_84 | local_6c;\n          if (local_80 == (bfd_byte *)0x0 && uVar58 == 0) {\n            pcVar24 = (char *)dcgettext(0,\n                                        "bad GNU build attribute notes: no known versions detected",\n                                        5,uVar58);\n            goto LAB_0001a72d;\n          }\n          if (((local_80 != (bfd_byte *)0x0) && (uVar58 != 0)) ||\n             ((local_84 != (int *)0x0 && (local_6c != 0)))) {\n            pcVar24 = (char *)dcgettext(0,\n                                        "bad GNU build attribute notes: multiple different versions"\n                                        ,5,pbVar69);\n            goto LAB_0001a72d;\n          }\n          if ((local_80 == (bfd_byte *)0x1 || local_84 == (int *)0x1) || (local_6c == 1))\n          goto LAB_0001a75c;\n          uVar58 = -(uint)(local_80 == (bfd_byte *)0x0) & 2;\n          iVar18 = uVar58 + 1;\n          if (*(char *)(local_60[3] + iVar18) != '\x01') {\n            pcVar24 = (char *)dcgettext(0,\n                                        "bad GNU build attribute notes: first note not version note"\n                                        ,5,pbVar55);\n            goto LAB_0001a72d;\n          }\n          bVar64 = false;\n          iVar22 = uVar58 + 2;\n          pbVar56 = local_60;\nLAB_0001a954:\n          pbVar13 = pbVar56;\n          pbVar56 = pbVar13 + 9;\n          if (pbVar56 < local_64) {\n            if (pbVar13[0xb] == 0x100) {\n              pvVar44 = (void *)pbVar13[0xc];\n              local_7c = (bfd_vma *)0x0;\n              pbVar63 = pbVar56;\n              do {\n                do {\n                  pbVar12 = pbVar63;\n                  pbVar63 = pbVar12 + -9;\n                  if (pbVar63 < local_60) goto LAB_0001a954;\n                  pvVar49 = (void *)pbVar12[-6];\n                  pbVar16 = local_7c;\n                } while ((((local_7c == (bfd_vma *)0x0) && (pbVar12[-8] != 0)) &&\n                         (pbVar16 = pbVar63, pbVar12[-7] == 0x101)) ||\n                        ((local_7c = pbVar16,\n                         *(char *)((int)pvVar44 + iVar18) != *(char *)((int)pvVar49 + iVar18) ||\n                         (pbVar12[-7] != 0x100))));\n                if (*(char *)((int)pvVar49 + iVar18) != '\x04') {\n                  pbVar69 = (bfd *)*pbVar63;\n                  if ((((pbVar69 == (bfd *)*pbVar56) &&\n                       (pbVar71 = (bfd *)pbVar56, iVar39 = memcmp(pvVar49,pvVar44,(size_t)pbVar69),\n                       pvVar70 = pvVar44, pbVar42 = pbVar69, iVar39 == 0)) &&\n                      ((uVar58 = pbVar12[-2], uVar58 != 0 && (uVar47 = pbVar13[0x10], uVar47 != 0)))\n                      ) && ((0xfffffff0 < uVar58 || (pbVar13[0xf] <= (uVar58 + 0xf & 0xfffffff0)))))\n                  {\n                    pbVar13[0xb] = 0;\n                    if (uVar58 < uVar47) {\n                      pbVar12[-2] = uVar47;\n                    }\n                    bVar64 = true;\n                    if (local_6c != 0) {\n                      pbVar12[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((pbVar13[10] == 0) && (local_7c != (bfd_vma *)0x0)) && (local_7c[2] == 0))\n                    {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    pbVar13[0x11] = 1;\n                    pbVar13[0xb] = 0x101;\n                    pbVar12[-1] = 1;\n                    pbVar12[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }\n                uVar58 = 0;\n                for (iVar39 = 0; (int)*pbVar56 - iVar22 != iVar39; iVar39 = iVar39 + 1) {\n                  uVar58 = uVar58 | (uint)*(byte *)((int)pvVar44 + iVar39 + iVar22) <<\n                                    ((char)iVar39 * '\b' & 0x1fU);\n                }\n                bVar43 = *pbVar63;\n                local_5c = (bfd *)0x0;\n                for (uVar47 = 0; bVar43 - iVar22 != uVar47; uVar47 = uVar47 + 1) {\n                  local_5c = (bfd *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar49 + iVar22))[uVar47] <<\n                                    ((char)uVar47 * '\b' & 0x1fU));\n                }\n                uVar48 = 0;\n                uVar58 = (int)local_5c + uVar58;\n                for (uVar46 = uVar58; uVar46 != 0; uVar46 = uVar46 >> 8) {\n                  uVar48 = uVar48 + 1;\n                }\n                in_stack_ffffff54 = (bfd *)pbVar56;\n              } while (uVar47 <= uVar48);\n              puVar61 = (undefined1 *)((int)pvVar49 + iVar22);\n              while (puVar61 < (undefined1 *)((int)pvVar49 + bVar43)) {\n                *puVar61 = (char)uVar58;\n                if (uVar58 == 0) break;\n                uVar58 = uVar58 >> 8;\n                puVar61 = puVar61 + 1;\n              }\n              pbVar13[0xb] = 0;\n              bVar64 = true;\n            }\n            goto LAB_0001a954;\n          }\n          in_stack_ffffff58 = obfd;\n          local_5c = obfd;\n          if (!bVar64) goto LAB_0001a75c;\n          pvVar44 = (void *)xmalloc(pbVar36,pvVar70,pbVar42,pbVar71);\n          bVar43 = 0;\n          pvVar70 = pvVar44;\n          local_80 = pbVar50;\n          for (pbVar56 = local_60; pbVar56 < local_64; pbVar56 = pbVar56 + 9) {\n            bVar45 = *pbVar56;\n            sVar34 = pbVar56[1] + 0xc + bVar45;\n            bVar10 = pbVar56[2];\n            pvVar49 = pvVar70;\n            if (bVar10 != 0) {\n              if (pbVar56[8] == 0) {\n                memcpy(pvVar70,local_80,sVar34);\n                pvVar49 = (void *)((int)pvVar70 + sVar34);\n              }\n              else {\n                pbVar57 = (bfd_byte *)pbVar56[6];\n                p_Var9 = ibfd->xvec->bfd_putx32;\n                __dest = (void *)((int)pvVar70 + 0xc);\n                pvVar49 = (void *)((int)__dest + bVar45);\n                if ((pbVar57 == local_74) && (pbVar56[7] == bVar43)) {\n                  (*p_Var9)(bVar45,pvVar70);\n                  (*ibfd->xvec->bfd_putx32)(0,(void *)((int)pvVar70 + 4));\n                  (*ibfd->xvec->bfd_putx32)(bVar10,(void *)((int)pvVar70 + 8));\n                  memcpy(__dest,(void *)pbVar56[3],bVar45);\n                }\n                else {\n                  (*p_Var9)(bVar45,pvVar70);\n                  bVar43 = 8;\n                  if (ibfd->xvec->flavour == bfd_target_elf_flavour) {\n                    bVar43 = (uint)(((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02'\n                                   ) * 8 + 8;\n                  }\n                  (*ibfd->xvec->bfd_putx32)(bVar43,(void *)((int)pvVar70 + 4));\n                  (*ibfd->xvec->bfd_putx32)(bVar10,(void *)((int)pvVar70 + 8));\n                  memcpy(__dest,(void *)pbVar56[3],bVar45);\n                  pbVar8 = ibfd->xvec;\n                  if ((pbVar8->flavour == bfd_target_elf_flavour) &&\n                     (((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02')) {\n                    (*pbVar8->bfd_putx64)(ZEXT48(pbVar57),pvVar49);\n                    (*ibfd->xvec->bfd_putx64)((ulonglong)pbVar56[7],(void *)((int)pvVar49 + 8));\n                    pvVar49 = (void *)((int)pvVar49 + 0x10);\n                  }\n                  else {\n                    (*pbVar8->bfd_putx32)((bfd_vma)pbVar57,pvVar49);\n                    (*ibfd->xvec->bfd_putx32)(pbVar56[7],(void *)((int)pvVar49 + 4));\n                    pvVar49 = (void *)((int)pvVar49 + 8);\n                  }\n                }\n              }\n              local_74 = (bfd_byte *)pbVar56[6];\n              bVar43 = pbVar56[7];\n            }\n            local_80 = local_80 + sVar34;\n            pvVar70 = pvVar49;\n          }\n          pbVar57 = (bfd_byte *)((int)pvVar70 - (int)pvVar44);\n          memcpy(pbVar50,pvVar44,(size_t)pbVar57);\n          free(pvVar44);\n          free(local_60);\n          merged_size = (bfd_size_type)pbVar57;\n          if (pbVar36 != pbVar57) {\n            iVar18 = (int)pbVar62->proxy_origin;\n            uVar29 = extraout_ECX_02;\n            if ((iVar18 != 0) &&\n               (iVar18 = bfd_set_section_size(obfd,iVar18,pbVar57,extraout_EDX),\n               uVar29 = extraout_ECX_03, iVar18 != 0)) goto LAB_00018aad;\n            pcVar24 = (char *)dcgettext(0,"warning: failed to set merged notes size",5,uVar29);\n            bfd_nonfatal_message((char *)0x0,obfd,(asection *)pbVar62,pcVar24);\n          }\n        }\n        else {\n          pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute notes: excess data at end",5,\n                                      local_64);\nLAB_0001a72d:\n          if (pcVar24 != (char *)0x0) {\n            bfd_set_error(0x11);\n            bfd_nonfatal_message((char *)0x0,ibfd,(asection *)pbVar62,pcVar24);\n            status = 1;\n          }\nLAB_0001a75c:\n          free(local_60);\n        }\n        free(merged_notes);\n        merged_notes = (bfd_byte *)0x0;\n        merge_notes = 0;\n        merged_size = 0;\n      }\n    }" else (compound_statement "{\n      iVar18 = bfd_get_full_section_contents(ibfd,pbVar62,&merged_notes,pbVar36);\n      pbVar50 = merged_notes;\n      if (iVar18 == 0) {\n        pcVar24 = (char *)dcgettext(0,"warning: could not load note section",5,0);\n        bfd_nonfatal_message((char *)0x0,ibfd,(asection *)pbVar62,pcVar24);\n        free(merged_notes);\n        merged_notes = (bfd_byte *)0x0;\n        merge_notes = 0;\n      }\n      else {\n        iVar18 = bfd_get_reloc_upper_bound(ibfd,pbVar62,pbVar62,pbVar62);\n        pbVar42 = ibfd;\n        pbVar69 = pbVar62;\n        if (0 < iVar18) {\n          pbVar42 = (bfd *)xmalloc(iVar18);\n          pbVar69 = (bfd *)bfd_canonicalize_reloc(ibfd,pbVar62,pbVar42,isympp);\n          free(pbVar42);\n          if (pbVar69 == (bfd *)0x0) goto LAB_0001a478;\n          local_60 = (bfd_vma *)0x0;\n          goto LAB_0001a75c;\n        }\nLAB_0001a478:\n        pvVar70 = (void *)0x24;\n        pbVar71 = pbVar42;\n        local_60 = (bfd_vma *)xcalloc((uint)pbVar36 / 0xc,0x24,pbVar42,pbVar42);\n        local_90 = (void *)0x0;\n        local_98 = (char *)0x0;\n        local_8c = (bfd *)0x0;\n        local_94 = (bfd *)0x0;\n        local_6c = 0;\n        local_84 = (int *)0x0;\n        local_80 = (bfd_byte *)0x0;\n        pbVar57 = pbVar50;\n        pbVar55 = (bfd *)pbVar50;\n        local_74 = pbVar36;\n        local_64 = local_60;\n        while ((bfd_byte *)0xb < local_74) {\n          bVar43 = (*ibfd->xvec->bfd_getx32)(pbVar57);\n          uVar58 = bVar43 + 3 & 0xfffffffc;\n          *local_64 = uVar58;\n          bVar43 = (*ibfd->xvec->bfd_getx32)(pbVar57 + 4);\n          uVar47 = bVar43 + 3 & 0xfffffffc;\n          pbVar8 = ibfd->xvec;\n          local_64[1] = uVar47;\n          bVar43 = (*pbVar8->bfd_getx32)(pbVar57 + 8);\n          local_64[2] = bVar43;\n          if (1 < bVar43 - 0x100) {\n            pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute note: wrong note type",5,\n                                        extraout_ECX_01);\n            goto LAB_0001a72d;\n          }\n          iVar18 = uVar47 + uVar58;\n          if (local_74 < (bfd_byte *)(iVar18 + 0xcU)) {\n            pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute note: note too big",5,pbVar57\n                                       );\n            goto LAB_0001a72d;\n          }\n          if (uVar58 < 2) {\n            pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute note: name too small",5,\n                                        iVar18);\n            goto LAB_0001a72d;\n          }\n          local_64[3] = (bfd_vma)(pbVar57 + 0xc);\n          pbVar3 = pbVar57 + uVar58 + 0xc;\n          local_64[4] = (bfd_vma)pbVar3;\n          pbVar55 = (bfd *)(-0xc - iVar18);\n          local_74 = (bfd_byte *)((int)&pbVar55->filename + (int)local_74);\n          bVar17 = pbVar57[0xc];\n          if (bVar17 == '$') {\n            if ((pbVar57[0xd] == '\x01') && (pbVar57[0xe] == '1')) {\n              local_80 = (bfd_byte *)((int)local_80 + 1);\n            }\n          }\n          else if ((((4 < uVar58) && (bVar17 == 'G')) && (pbVar57[0xd] == 'A')) &&\n                  ((pbVar57[0xe] == '$' && (pbVar57[0xf] == '\x01')))) {\n            bVar17 = pbVar57[0x10];\n            if (bVar17 == '2') {\n              local_84 = (int *)((int)local_84 + 1);\n            }\n            else {\n              if (bVar17 != '3') {\n                pcVar24 = (char *)dcgettext(0,\n                                            "corrupt GNU build attribute note: unsupported version",\n                                            5,bVar17);\n                goto LAB_0001a72d;\n              }\n              local_6c = local_6c + 1;\n            }\n          }\n          if (uVar47 == 4) {\n            pbVar69 = (bfd *)(*ibfd->xvec->bfd_getx32)(pbVar3);\n            pcVar24 = (char *)0xffffffff;\n          }\n          else if (uVar47 < 5) {\n            if (uVar47 != 0) {\nLAB_0001a7ea:\n              pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute note: bad description size"\n                                          ,5,bVar17);\n              goto LAB_0001a72d;\n            }\n            pcVar24 = (char *)0x0;\n            pbVar69 = (bfd *)0x0;\n          }\n          else {\n            pbVar55 = ibfd;\n            if (uVar47 == 8) {\n              pbVar8 = ibfd->xvec;\n              if ((pbVar8->flavour == bfd_target_elf_flavour) &&\n                 (((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02')) {\n                bVar68 = (*pbVar8->bfd_getx64)(pbVar3);\n                pbVar69 = (bfd *)bVar68;\n                pcVar24 = (char *)0xffffffff;\n              }\n              else {\n                pbVar69 = (bfd *)(*pbVar8->bfd_getx32)(pbVar3);\n                pcVar24 = (char *)(*ibfd->xvec->bfd_getx32)(pbVar3 + 4);\n              }\n            }\n            else {\n              if (uVar47 != 0x10) goto LAB_0001a7ea;\n              bVar68 = (*ibfd->xvec->bfd_getx64)(pbVar3);\n              pbVar69 = (bfd *)bVar68;\n              bVar68 = (*ibfd->xvec->bfd_getx64)(pbVar3 + 8);\n              pcVar24 = (char *)bVar68;\n            }\n          }\n          if (bVar43 == 0x100) {\n            if (pbVar69 == (bfd *)0x0) {\n              pbVar69 = local_8c;\n            }\n            if (pcVar24 == (char *)0x0) {\n              pcVar24 = (char *)local_90;\n            }\n            local_64[6] = (bfd_vma)pbVar69;\n            local_64[7] = (bfd_vma)pcVar24;\n            local_90 = pcVar24;\n            local_8c = pbVar69;\n          }\n          else {\n            if (pbVar69 == (bfd *)0x0) {\n              pbVar69 = local_94;\n            }\n            if (pcVar24 == (char *)0x0) {\n              pcVar24 = local_98;\n            }\n            local_64[6] = (bfd_vma)pbVar69;\n            local_64[7] = (bfd_vma)pcVar24;\n            local_98 = pcVar24;\n            local_94 = pbVar69;\n          }\n          if (*(char *)(local_64[3] + (*local_64 - 1)) != '\0') {\n            pcVar24 = (char *)dcgettext(0,\n                                        "corrupt GNU build attribute note: name not NUL terminated",\n                                        5,*local_64);\n            goto LAB_0001a72d;\n          }\n          local_64 = local_64 + 9;\n          pbVar57 = pbVar57 + (int)(iVar18 + 0xcU);\n        }\n        if (local_74 == (bfd_byte *)0x0) {\n          uVar58 = (uint)local_84 | local_6c;\n          if (local_80 == (bfd_byte *)0x0 && uVar58 == 0) {\n            pcVar24 = (char *)dcgettext(0,\n                                        "bad GNU build attribute notes: no known versions detected",\n                                        5,uVar58);\n            goto LAB_0001a72d;\n          }\n          if (((local_80 != (bfd_byte *)0x0) && (uVar58 != 0)) ||\n             ((local_84 != (int *)0x0 && (local_6c != 0)))) {\n            pcVar24 = (char *)dcgettext(0,\n                                        "bad GNU build attribute notes: multiple different versions"\n                                        ,5,pbVar69);\n            goto LAB_0001a72d;\n          }\n          if ((local_80 == (bfd_byte *)0x1 || local_84 == (int *)0x1) || (local_6c == 1))\n          goto LAB_0001a75c;\n          uVar58 = -(uint)(local_80 == (bfd_byte *)0x0) & 2;\n          iVar18 = uVar58 + 1;\n          if (*(char *)(local_60[3] + iVar18) != '\x01') {\n            pcVar24 = (char *)dcgettext(0,\n                                        "bad GNU build attribute notes: first note not version note"\n                                        ,5,pbVar55);\n            goto LAB_0001a72d;\n          }\n          bVar64 = false;\n          iVar22 = uVar58 + 2;\n          pbVar56 = local_60;\nLAB_0001a954:\n          pbVar13 = pbVar56;\n          pbVar56 = pbVar13 + 9;\n          if (pbVar56 < local_64) {\n            if (pbVar13[0xb] == 0x100) {\n              pvVar44 = (void *)pbVar13[0xc];\n              local_7c = (bfd_vma *)0x0;\n              pbVar63 = pbVar56;\n              do {\n                do {\n                  pbVar12 = pbVar63;\n                  pbVar63 = pbVar12 + -9;\n                  if (pbVar63 < local_60) goto LAB_0001a954;\n                  pvVar49 = (void *)pbVar12[-6];\n                  pbVar16 = local_7c;\n                } while ((((local_7c == (bfd_vma *)0x0) && (pbVar12[-8] != 0)) &&\n                         (pbVar16 = pbVar63, pbVar12[-7] == 0x101)) ||\n                        ((local_7c = pbVar16,\n                         *(char *)((int)pvVar44 + iVar18) != *(char *)((int)pvVar49 + iVar18) ||\n                         (pbVar12[-7] != 0x100))));\n                if (*(char *)((int)pvVar49 + iVar18) != '\x04') {\n                  pbVar69 = (bfd *)*pbVar63;\n                  if ((((pbVar69 == (bfd *)*pbVar56) &&\n                       (pbVar71 = (bfd *)pbVar56, iVar39 = memcmp(pvVar49,pvVar44,(size_t)pbVar69),\n                       pvVar70 = pvVar44, pbVar42 = pbVar69, iVar39 == 0)) &&\n                      ((uVar58 = pbVar12[-2], uVar58 != 0 && (uVar47 = pbVar13[0x10], uVar47 != 0)))\n                      ) && ((0xfffffff0 < uVar58 || (pbVar13[0xf] <= (uVar58 + 0xf & 0xfffffff0)))))\n                  {\n                    pbVar13[0xb] = 0;\n                    if (uVar58 < uVar47) {\n                      pbVar12[-2] = uVar47;\n                    }\n                    bVar64 = true;\n                    if (local_6c != 0) {\n                      pbVar12[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((pbVar13[10] == 0) && (local_7c != (bfd_vma *)0x0)) && (local_7c[2] == 0))\n                    {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    pbVar13[0x11] = 1;\n                    pbVar13[0xb] = 0x101;\n                    pbVar12[-1] = 1;\n                    pbVar12[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }\n                uVar58 = 0;\n                for (iVar39 = 0; (int)*pbVar56 - iVar22 != iVar39; iVar39 = iVar39 + 1) {\n                  uVar58 = uVar58 | (uint)*(byte *)((int)pvVar44 + iVar39 + iVar22) <<\n                                    ((char)iVar39 * '\b' & 0x1fU);\n                }\n                bVar43 = *pbVar63;\n                local_5c = (bfd *)0x0;\n                for (uVar47 = 0; bVar43 - iVar22 != uVar47; uVar47 = uVar47 + 1) {\n                  local_5c = (bfd *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar49 + iVar22))[uVar47] <<\n                                    ((char)uVar47 * '\b' & 0x1fU));\n                }\n                uVar48 = 0;\n                uVar58 = (int)local_5c + uVar58;\n                for (uVar46 = uVar58; uVar46 != 0; uVar46 = uVar46 >> 8) {\n                  uVar48 = uVar48 + 1;\n                }\n                in_stack_ffffff54 = (bfd *)pbVar56;\n              } while (uVar47 <= uVar48);\n              puVar61 = (undefined1 *)((int)pvVar49 + iVar22);\n              while (puVar61 < (undefined1 *)((int)pvVar49 + bVar43)) {\n                *puVar61 = (char)uVar58;\n                if (uVar58 == 0) break;\n                uVar58 = uVar58 >> 8;\n                puVar61 = puVar61 + 1;\n              }\n              pbVar13[0xb] = 0;\n              bVar64 = true;\n            }\n            goto LAB_0001a954;\n          }\n          in_stack_ffffff58 = obfd;\n          local_5c = obfd;\n          if (!bVar64) goto LAB_0001a75c;\n          pvVar44 = (void *)xmalloc(pbVar36,pvVar70,pbVar42,pbVar71);\n          bVar43 = 0;\n          pvVar70 = pvVar44;\n          local_80 = pbVar50;\n          for (pbVar56 = local_60; pbVar56 < local_64; pbVar56 = pbVar56 + 9) {\n            bVar45 = *pbVar56;\n            sVar34 = pbVar56[1] + 0xc + bVar45;\n            bVar10 = pbVar56[2];\n            pvVar49 = pvVar70;\n            if (bVar10 != 0) {\n              if (pbVar56[8] == 0) {\n                memcpy(pvVar70,local_80,sVar34);\n                pvVar49 = (void *)((int)pvVar70 + sVar34);\n              }\n              else {\n                pbVar57 = (bfd_byte *)pbVar56[6];\n                p_Var9 = ibfd->xvec->bfd_putx32;\n                __dest = (void *)((int)pvVar70 + 0xc);\n                pvVar49 = (void *)((int)__dest + bVar45);\n                if ((pbVar57 == local_74) && (pbVar56[7] == bVar43)) {\n                  (*p_Var9)(bVar45,pvVar70);\n                  (*ibfd->xvec->bfd_putx32)(0,(void *)((int)pvVar70 + 4));\n                  (*ibfd->xvec->bfd_putx32)(bVar10,(void *)((int)pvVar70 + 8));\n                  memcpy(__dest,(void *)pbVar56[3],bVar45);\n                }\n                else {\n                  (*p_Var9)(bVar45,pvVar70);\n                  bVar43 = 8;\n                  if (ibfd->xvec->flavour == bfd_target_elf_flavour) {\n                    bVar43 = (uint)(((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02'\n                                   ) * 8 + 8;\n                  }\n                  (*ibfd->xvec->bfd_putx32)(bVar43,(void *)((int)pvVar70 + 4));\n                  (*ibfd->xvec->bfd_putx32)(bVar10,(void *)((int)pvVar70 + 8));\n                  memcpy(__dest,(void *)pbVar56[3],bVar45);\n                  pbVar8 = ibfd->xvec;\n                  if ((pbVar8->flavour == bfd_target_elf_flavour) &&\n                     (((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02')) {\n                    (*pbVar8->bfd_putx64)(ZEXT48(pbVar57),pvVar49);\n                    (*ibfd->xvec->bfd_putx64)((ulonglong)pbVar56[7],(void *)((int)pvVar49 + 8));\n                    pvVar49 = (void *)((int)pvVar49 + 0x10);\n                  }\n                  else {\n                    (*pbVar8->bfd_putx32)((bfd_vma)pbVar57,pvVar49);\n                    (*ibfd->xvec->bfd_putx32)(pbVar56[7],(void *)((int)pvVar49 + 4));\n                    pvVar49 = (void *)((int)pvVar49 + 8);\n                  }\n                }\n              }\n              local_74 = (bfd_byte *)pbVar56[6];\n              bVar43 = pbVar56[7];\n            }\n            local_80 = local_80 + sVar34;\n            pvVar70 = pvVar49;\n          }\n          pbVar57 = (bfd_byte *)((int)pvVar70 - (int)pvVar44);\n          memcpy(pbVar50,pvVar44,(size_t)pbVar57);\n          free(pvVar44);\n          free(local_60);\n          merged_size = (bfd_size_type)pbVar57;\n          if (pbVar36 != pbVar57) {\n            iVar18 = (int)pbVar62->proxy_origin;\n            uVar29 = extraout_ECX_02;\n            if ((iVar18 != 0) &&\n               (iVar18 = bfd_set_section_size(obfd,iVar18,pbVar57,extraout_EDX),\n               uVar29 = extraout_ECX_03, iVar18 != 0)) goto LAB_00018aad;\n            pcVar24 = (char *)dcgettext(0,"warning: failed to set merged notes size",5,uVar29);\n            bfd_nonfatal_message((char *)0x0,obfd,(asection *)pbVar62,pcVar24);\n          }\n        }\n        else {\n          pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute notes: excess data at end",5,\n                                      local_64);\nLAB_0001a72d:\n          if (pcVar24 != (char *)0x0) {\n            bfd_set_error(0x11);\n            bfd_nonfatal_message((char *)0x0,ibfd,(asection *)pbVar62,pcVar24);\n            status = 1;\n          }\nLAB_0001a75c:\n          free(local_60);\n        }\n        free(merged_notes);\n        merged_notes = (bfd_byte *)0x0;\n        merge_notes = 0;\n        merged_size = 0;\n      }\n    }" { (expression_statement "iVar18 = bfd_get_full_section_contents(ibfd,pbVar62,&merged_notes,pbVar36);" (assignment_expression "iVar18 = bfd_get_full_section_contents(ibfd,pbVar62,&merged_notes,pbVar36)" identifier = (call_expression "bfd_get_full_section_contents(ibfd,pbVar62,&merged_notes,pbVar36)" identifier (argument_list "(ibfd,pbVar62,&merged_notes,pbVar36)" ( identifier , identifier , (pointer_expression "&merged_notes" & identifier) , identifier )))) ;) (expression_statement "pbVar50 = merged_notes;" (assignment_expression "pbVar50 = merged_notes" identifier = identifier) ;) (if_statement "if (iVar18 == 0) {\n        pcVar24 = (char *)dcgettext(0,"warning: could not load note section",5,0);\n        bfd_nonfatal_message((char *)0x0,ibfd,(asection *)pbVar62,pcVar24);\n        free(merged_notes);\n        merged_notes = (bfd_byte *)0x0;\n        merge_notes = 0;\n      }\n      else {\n        iVar18 = bfd_get_reloc_upper_bound(ibfd,pbVar62,pbVar62,pbVar62);\n        pbVar42 = ibfd;\n        pbVar69 = pbVar62;\n        if (0 < iVar18) {\n          pbVar42 = (bfd *)xmalloc(iVar18);\n          pbVar69 = (bfd *)bfd_canonicalize_reloc(ibfd,pbVar62,pbVar42,isympp);\n          free(pbVar42);\n          if (pbVar69 == (bfd *)0x0) goto LAB_0001a478;\n          local_60 = (bfd_vma *)0x0;\n          goto LAB_0001a75c;\n        }\nLAB_0001a478:\n        pvVar70 = (void *)0x24;\n        pbVar71 = pbVar42;\n        local_60 = (bfd_vma *)xcalloc((uint)pbVar36 / 0xc,0x24,pbVar42,pbVar42);\n        local_90 = (void *)0x0;\n        local_98 = (char *)0x0;\n        local_8c = (bfd *)0x0;\n        local_94 = (bfd *)0x0;\n        local_6c = 0;\n        local_84 = (int *)0x0;\n        local_80 = (bfd_byte *)0x0;\n        pbVar57 = pbVar50;\n        pbVar55 = (bfd *)pbVar50;\n        local_74 = pbVar36;\n        local_64 = local_60;\n        while ((bfd_byte *)0xb < local_74) {\n          bVar43 = (*ibfd->xvec->bfd_getx32)(pbVar57);\n          uVar58 = bVar43 + 3 & 0xfffffffc;\n          *local_64 = uVar58;\n          bVar43 = (*ibfd->xvec->bfd_getx32)(pbVar57 + 4);\n          uVar47 = bVar43 + 3 & 0xfffffffc;\n          pbVar8 = ibfd->xvec;\n          local_64[1] = uVar47;\n          bVar43 = (*pbVar8->bfd_getx32)(pbVar57 + 8);\n          local_64[2] = bVar43;\n          if (1 < bVar43 - 0x100) {\n            pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute note: wrong note type",5,\n                                        extraout_ECX_01);\n            goto LAB_0001a72d;\n          }\n          iVar18 = uVar47 + uVar58;\n          if (local_74 < (bfd_byte *)(iVar18 + 0xcU)) {\n            pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute note: note too big",5,pbVar57\n                                       );\n            goto LAB_0001a72d;\n          }\n          if (uVar58 < 2) {\n            pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute note: name too small",5,\n                                        iVar18);\n            goto LAB_0001a72d;\n          }\n          local_64[3] = (bfd_vma)(pbVar57 + 0xc);\n          pbVar3 = pbVar57 + uVar58 + 0xc;\n          local_64[4] = (bfd_vma)pbVar3;\n          pbVar55 = (bfd *)(-0xc - iVar18);\n          local_74 = (bfd_byte *)((int)&pbVar55->filename + (int)local_74);\n          bVar17 = pbVar57[0xc];\n          if (bVar17 == '$') {\n            if ((pbVar57[0xd] == '\x01') && (pbVar57[0xe] == '1')) {\n              local_80 = (bfd_byte *)((int)local_80 + 1);\n            }\n          }\n          else if ((((4 < uVar58) && (bVar17 == 'G')) && (pbVar57[0xd] == 'A')) &&\n                  ((pbVar57[0xe] == '$' && (pbVar57[0xf] == '\x01')))) {\n            bVar17 = pbVar57[0x10];\n            if (bVar17 == '2') {\n              local_84 = (int *)((int)local_84 + 1);\n            }\n            else {\n              if (bVar17 != '3') {\n                pcVar24 = (char *)dcgettext(0,\n                                            "corrupt GNU build attribute note: unsupported version",\n                                            5,bVar17);\n                goto LAB_0001a72d;\n              }\n              local_6c = local_6c + 1;\n            }\n          }\n          if (uVar47 == 4) {\n            pbVar69 = (bfd *)(*ibfd->xvec->bfd_getx32)(pbVar3);\n            pcVar24 = (char *)0xffffffff;\n          }\n          else if (uVar47 < 5) {\n            if (uVar47 != 0) {\nLAB_0001a7ea:\n              pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute note: bad description size"\n                                          ,5,bVar17);\n              goto LAB_0001a72d;\n            }\n            pcVar24 = (char *)0x0;\n            pbVar69 = (bfd *)0x0;\n          }\n          else {\n            pbVar55 = ibfd;\n            if (uVar47 == 8) {\n              pbVar8 = ibfd->xvec;\n              if ((pbVar8->flavour == bfd_target_elf_flavour) &&\n                 (((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02')) {\n                bVar68 = (*pbVar8->bfd_getx64)(pbVar3);\n                pbVar69 = (bfd *)bVar68;\n                pcVar24 = (char *)0xffffffff;\n              }\n              else {\n                pbVar69 = (bfd *)(*pbVar8->bfd_getx32)(pbVar3);\n                pcVar24 = (char *)(*ibfd->xvec->bfd_getx32)(pbVar3 + 4);\n              }\n            }\n            else {\n              if (uVar47 != 0x10) goto LAB_0001a7ea;\n              bVar68 = (*ibfd->xvec->bfd_getx64)(pbVar3);\n              pbVar69 = (bfd *)bVar68;\n              bVar68 = (*ibfd->xvec->bfd_getx64)(pbVar3 + 8);\n              pcVar24 = (char *)bVar68;\n            }\n          }\n          if (bVar43 == 0x100) {\n            if (pbVar69 == (bfd *)0x0) {\n              pbVar69 = local_8c;\n            }\n            if (pcVar24 == (char *)0x0) {\n              pcVar24 = (char *)local_90;\n            }\n            local_64[6] = (bfd_vma)pbVar69;\n            local_64[7] = (bfd_vma)pcVar24;\n            local_90 = pcVar24;\n            local_8c = pbVar69;\n          }\n          else {\n            if (pbVar69 == (bfd *)0x0) {\n              pbVar69 = local_94;\n            }\n            if (pcVar24 == (char *)0x0) {\n              pcVar24 = local_98;\n            }\n            local_64[6] = (bfd_vma)pbVar69;\n            local_64[7] = (bfd_vma)pcVar24;\n            local_98 = pcVar24;\n            local_94 = pbVar69;\n          }\n          if (*(char *)(local_64[3] + (*local_64 - 1)) != '\0') {\n            pcVar24 = (char *)dcgettext(0,\n                                        "corrupt GNU build attribute note: name not NUL terminated",\n                                        5,*local_64);\n            goto LAB_0001a72d;\n          }\n          local_64 = local_64 + 9;\n          pbVar57 = pbVar57 + (int)(iVar18 + 0xcU);\n        }\n        if (local_74 == (bfd_byte *)0x0) {\n          uVar58 = (uint)local_84 | local_6c;\n          if (local_80 == (bfd_byte *)0x0 && uVar58 == 0) {\n            pcVar24 = (char *)dcgettext(0,\n                                        "bad GNU build attribute notes: no known versions detected",\n                                        5,uVar58);\n            goto LAB_0001a72d;\n          }\n          if (((local_80 != (bfd_byte *)0x0) && (uVar58 != 0)) ||\n             ((local_84 != (int *)0x0 && (local_6c != 0)))) {\n            pcVar24 = (char *)dcgettext(0,\n                                        "bad GNU build attribute notes: multiple different versions"\n                                        ,5,pbVar69);\n            goto LAB_0001a72d;\n          }\n          if ((local_80 == (bfd_byte *)0x1 || local_84 == (int *)0x1) || (local_6c == 1))\n          goto LAB_0001a75c;\n          uVar58 = -(uint)(local_80 == (bfd_byte *)0x0) & 2;\n          iVar18 = uVar58 + 1;\n          if (*(char *)(local_60[3] + iVar18) != '\x01') {\n            pcVar24 = (char *)dcgettext(0,\n                                        "bad GNU build attribute notes: first note not version note"\n                                        ,5,pbVar55);\n            goto LAB_0001a72d;\n          }\n          bVar64 = false;\n          iVar22 = uVar58 + 2;\n          pbVar56 = local_60;\nLAB_0001a954:\n          pbVar13 = pbVar56;\n          pbVar56 = pbVar13 + 9;\n          if (pbVar56 < local_64) {\n            if (pbVar13[0xb] == 0x100) {\n              pvVar44 = (void *)pbVar13[0xc];\n              local_7c = (bfd_vma *)0x0;\n              pbVar63 = pbVar56;\n              do {\n                do {\n                  pbVar12 = pbVar63;\n                  pbVar63 = pbVar12 + -9;\n                  if (pbVar63 < local_60) goto LAB_0001a954;\n                  pvVar49 = (void *)pbVar12[-6];\n                  pbVar16 = local_7c;\n                } while ((((local_7c == (bfd_vma *)0x0) && (pbVar12[-8] != 0)) &&\n                         (pbVar16 = pbVar63, pbVar12[-7] == 0x101)) ||\n                        ((local_7c = pbVar16,\n                         *(char *)((int)pvVar44 + iVar18) != *(char *)((int)pvVar49 + iVar18) ||\n                         (pbVar12[-7] != 0x100))));\n                if (*(char *)((int)pvVar49 + iVar18) != '\x04') {\n                  pbVar69 = (bfd *)*pbVar63;\n                  if ((((pbVar69 == (bfd *)*pbVar56) &&\n                       (pbVar71 = (bfd *)pbVar56, iVar39 = memcmp(pvVar49,pvVar44,(size_t)pbVar69),\n                       pvVar70 = pvVar44, pbVar42 = pbVar69, iVar39 == 0)) &&\n                      ((uVar58 = pbVar12[-2], uVar58 != 0 && (uVar47 = pbVar13[0x10], uVar47 != 0)))\n                      ) && ((0xfffffff0 < uVar58 || (pbVar13[0xf] <= (uVar58 + 0xf & 0xfffffff0)))))\n                  {\n                    pbVar13[0xb] = 0;\n                    if (uVar58 < uVar47) {\n                      pbVar12[-2] = uVar47;\n                    }\n                    bVar64 = true;\n                    if (local_6c != 0) {\n                      pbVar12[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((pbVar13[10] == 0) && (local_7c != (bfd_vma *)0x0)) && (local_7c[2] == 0))\n                    {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    pbVar13[0x11] = 1;\n                    pbVar13[0xb] = 0x101;\n                    pbVar12[-1] = 1;\n                    pbVar12[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }\n                uVar58 = 0;\n                for (iVar39 = 0; (int)*pbVar56 - iVar22 != iVar39; iVar39 = iVar39 + 1) {\n                  uVar58 = uVar58 | (uint)*(byte *)((int)pvVar44 + iVar39 + iVar22) <<\n                                    ((char)iVar39 * '\b' & 0x1fU);\n                }\n                bVar43 = *pbVar63;\n                local_5c = (bfd *)0x0;\n                for (uVar47 = 0; bVar43 - iVar22 != uVar47; uVar47 = uVar47 + 1) {\n                  local_5c = (bfd *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar49 + iVar22))[uVar47] <<\n                                    ((char)uVar47 * '\b' & 0x1fU));\n                }\n                uVar48 = 0;\n                uVar58 = (int)local_5c + uVar58;\n                for (uVar46 = uVar58; uVar46 != 0; uVar46 = uVar46 >> 8) {\n                  uVar48 = uVar48 + 1;\n                }\n                in_stack_ffffff54 = (bfd *)pbVar56;\n              } while (uVar47 <= uVar48);\n              puVar61 = (undefined1 *)((int)pvVar49 + iVar22);\n              while (puVar61 < (undefined1 *)((int)pvVar49 + bVar43)) {\n                *puVar61 = (char)uVar58;\n                if (uVar58 == 0) break;\n                uVar58 = uVar58 >> 8;\n                puVar61 = puVar61 + 1;\n              }\n              pbVar13[0xb] = 0;\n              bVar64 = true;\n            }\n            goto LAB_0001a954;\n          }\n          in_stack_ffffff58 = obfd;\n          local_5c = obfd;\n          if (!bVar64) goto LAB_0001a75c;\n          pvVar44 = (void *)xmalloc(pbVar36,pvVar70,pbVar42,pbVar71);\n          bVar43 = 0;\n          pvVar70 = pvVar44;\n          local_80 = pbVar50;\n          for (pbVar56 = local_60; pbVar56 < local_64; pbVar56 = pbVar56 + 9) {\n            bVar45 = *pbVar56;\n            sVar34 = pbVar56[1] + 0xc + bVar45;\n            bVar10 = pbVar56[2];\n            pvVar49 = pvVar70;\n            if (bVar10 != 0) {\n              if (pbVar56[8] == 0) {\n                memcpy(pvVar70,local_80,sVar34);\n                pvVar49 = (void *)((int)pvVar70 + sVar34);\n              }\n              else {\n                pbVar57 = (bfd_byte *)pbVar56[6];\n                p_Var9 = ibfd->xvec->bfd_putx32;\n                __dest = (void *)((int)pvVar70 + 0xc);\n                pvVar49 = (void *)((int)__dest + bVar45);\n                if ((pbVar57 == local_74) && (pbVar56[7] == bVar43)) {\n                  (*p_Var9)(bVar45,pvVar70);\n                  (*ibfd->xvec->bfd_putx32)(0,(void *)((int)pvVar70 + 4));\n                  (*ibfd->xvec->bfd_putx32)(bVar10,(void *)((int)pvVar70 + 8));\n                  memcpy(__dest,(void *)pbVar56[3],bVar45);\n                }\n                else {\n                  (*p_Var9)(bVar45,pvVar70);\n                  bVar43 = 8;\n                  if (ibfd->xvec->flavour == bfd_target_elf_flavour) {\n                    bVar43 = (uint)(((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02'\n                                   ) * 8 + 8;\n                  }\n                  (*ibfd->xvec->bfd_putx32)(bVar43,(void *)((int)pvVar70 + 4));\n                  (*ibfd->xvec->bfd_putx32)(bVar10,(void *)((int)pvVar70 + 8));\n                  memcpy(__dest,(void *)pbVar56[3],bVar45);\n                  pbVar8 = ibfd->xvec;\n                  if ((pbVar8->flavour == bfd_target_elf_flavour) &&\n                     (((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02')) {\n                    (*pbVar8->bfd_putx64)(ZEXT48(pbVar57),pvVar49);\n                    (*ibfd->xvec->bfd_putx64)((ulonglong)pbVar56[7],(void *)((int)pvVar49 + 8));\n                    pvVar49 = (void *)((int)pvVar49 + 0x10);\n                  }\n                  else {\n                    (*pbVar8->bfd_putx32)((bfd_vma)pbVar57,pvVar49);\n                    (*ibfd->xvec->bfd_putx32)(pbVar56[7],(void *)((int)pvVar49 + 4));\n                    pvVar49 = (void *)((int)pvVar49 + 8);\n                  }\n                }\n              }\n              local_74 = (bfd_byte *)pbVar56[6];\n              bVar43 = pbVar56[7];\n            }\n            local_80 = local_80 + sVar34;\n            pvVar70 = pvVar49;\n          }\n          pbVar57 = (bfd_byte *)((int)pvVar70 - (int)pvVar44);\n          memcpy(pbVar50,pvVar44,(size_t)pbVar57);\n          free(pvVar44);\n          free(local_60);\n          merged_size = (bfd_size_type)pbVar57;\n          if (pbVar36 != pbVar57) {\n            iVar18 = (int)pbVar62->proxy_origin;\n            uVar29 = extraout_ECX_02;\n            if ((iVar18 != 0) &&\n               (iVar18 = bfd_set_section_size(obfd,iVar18,pbVar57,extraout_EDX),\n               uVar29 = extraout_ECX_03, iVar18 != 0)) goto LAB_00018aad;\n            pcVar24 = (char *)dcgettext(0,"warning: failed to set merged notes size",5,uVar29);\n            bfd_nonfatal_message((char *)0x0,obfd,(asection *)pbVar62,pcVar24);\n          }\n        }\n        else {\n          pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute notes: excess data at end",5,\n                                      local_64);\nLAB_0001a72d:\n          if (pcVar24 != (char *)0x0) {\n            bfd_set_error(0x11);\n            bfd_nonfatal_message((char *)0x0,ibfd,(asection *)pbVar62,pcVar24);\n            status = 1;\n          }\nLAB_0001a75c:\n          free(local_60);\n        }\n        free(merged_notes);\n        merged_notes = (bfd_byte *)0x0;\n        merge_notes = 0;\n        merged_size = 0;\n      }" if (parenthesized_expression "(iVar18 == 0)" ( (binary_expression "iVar18 == 0" identifier == number_literal) )) (compound_statement "{\n        pcVar24 = (char *)dcgettext(0,"warning: could not load note section",5,0);\n        bfd_nonfatal_message((char *)0x0,ibfd,(asection *)pbVar62,pcVar24);\n        free(merged_notes);\n        merged_notes = (bfd_byte *)0x0;\n        merge_notes = 0;\n      }" { (expression_statement "pcVar24 = (char *)dcgettext(0,"warning: could not load note section",5,0);" (assignment_expression "pcVar24 = (char *)dcgettext(0,"warning: could not load note section",5,0)" identifier = (cast_expression "(char *)dcgettext(0,"warning: could not load note section",5,0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"warning: could not load note section",5,0)" identifier (argument_list "(0,"warning: could not load note section",5,0)" ( number_literal , (string_literal ""warning: could not load note section"" " string_content ") , number_literal , number_literal ))))) ;) (expression_statement "bfd_nonfatal_message((char *)0x0,ibfd,(asection *)pbVar62,pcVar24);" (call_expression "bfd_nonfatal_message((char *)0x0,ibfd,(asection *)pbVar62,pcVar24)" identifier (argument_list "((char *)0x0,ibfd,(asection *)pbVar62,pcVar24)" ( (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) , identifier , (cast_expression "(asection *)pbVar62" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;) (expression_statement "free(merged_notes);" (call_expression "free(merged_notes)" identifier (argument_list "(merged_notes)" ( identifier ))) ;) (expression_statement "merged_notes = (bfd_byte *)0x0;" (assignment_expression "merged_notes = (bfd_byte *)0x0" identifier = (cast_expression "(bfd_byte *)0x0" ( (type_descriptor "bfd_byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "merge_notes = 0;" (assignment_expression "merge_notes = 0" identifier = number_literal) ;) }) (else_clause "else {\n        iVar18 = bfd_get_reloc_upper_bound(ibfd,pbVar62,pbVar62,pbVar62);\n        pbVar42 = ibfd;\n        pbVar69 = pbVar62;\n        if (0 < iVar18) {\n          pbVar42 = (bfd *)xmalloc(iVar18);\n          pbVar69 = (bfd *)bfd_canonicalize_reloc(ibfd,pbVar62,pbVar42,isympp);\n          free(pbVar42);\n          if (pbVar69 == (bfd *)0x0) goto LAB_0001a478;\n          local_60 = (bfd_vma *)0x0;\n          goto LAB_0001a75c;\n        }\nLAB_0001a478:\n        pvVar70 = (void *)0x24;\n        pbVar71 = pbVar42;\n        local_60 = (bfd_vma *)xcalloc((uint)pbVar36 / 0xc,0x24,pbVar42,pbVar42);\n        local_90 = (void *)0x0;\n        local_98 = (char *)0x0;\n        local_8c = (bfd *)0x0;\n        local_94 = (bfd *)0x0;\n        local_6c = 0;\n        local_84 = (int *)0x0;\n        local_80 = (bfd_byte *)0x0;\n        pbVar57 = pbVar50;\n        pbVar55 = (bfd *)pbVar50;\n        local_74 = pbVar36;\n        local_64 = local_60;\n        while ((bfd_byte *)0xb < local_74) {\n          bVar43 = (*ibfd->xvec->bfd_getx32)(pbVar57);\n          uVar58 = bVar43 + 3 & 0xfffffffc;\n          *local_64 = uVar58;\n          bVar43 = (*ibfd->xvec->bfd_getx32)(pbVar57 + 4);\n          uVar47 = bVar43 + 3 & 0xfffffffc;\n          pbVar8 = ibfd->xvec;\n          local_64[1] = uVar47;\n          bVar43 = (*pbVar8->bfd_getx32)(pbVar57 + 8);\n          local_64[2] = bVar43;\n          if (1 < bVar43 - 0x100) {\n            pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute note: wrong note type",5,\n                                        extraout_ECX_01);\n            goto LAB_0001a72d;\n          }\n          iVar18 = uVar47 + uVar58;\n          if (local_74 < (bfd_byte *)(iVar18 + 0xcU)) {\n            pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute note: note too big",5,pbVar57\n                                       );\n            goto LAB_0001a72d;\n          }\n          if (uVar58 < 2) {\n            pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute note: name too small",5,\n                                        iVar18);\n            goto LAB_0001a72d;\n          }\n          local_64[3] = (bfd_vma)(pbVar57 + 0xc);\n          pbVar3 = pbVar57 + uVar58 + 0xc;\n          local_64[4] = (bfd_vma)pbVar3;\n          pbVar55 = (bfd *)(-0xc - iVar18);\n          local_74 = (bfd_byte *)((int)&pbVar55->filename + (int)local_74);\n          bVar17 = pbVar57[0xc];\n          if (bVar17 == '$') {\n            if ((pbVar57[0xd] == '\x01') && (pbVar57[0xe] == '1')) {\n              local_80 = (bfd_byte *)((int)local_80 + 1);\n            }\n          }\n          else if ((((4 < uVar58) && (bVar17 == 'G')) && (pbVar57[0xd] == 'A')) &&\n                  ((pbVar57[0xe] == '$' && (pbVar57[0xf] == '\x01')))) {\n            bVar17 = pbVar57[0x10];\n            if (bVar17 == '2') {\n              local_84 = (int *)((int)local_84 + 1);\n            }\n            else {\n              if (bVar17 != '3') {\n                pcVar24 = (char *)dcgettext(0,\n                                            "corrupt GNU build attribute note: unsupported version",\n                                            5,bVar17);\n                goto LAB_0001a72d;\n              }\n              local_6c = local_6c + 1;\n            }\n          }\n          if (uVar47 == 4) {\n            pbVar69 = (bfd *)(*ibfd->xvec->bfd_getx32)(pbVar3);\n            pcVar24 = (char *)0xffffffff;\n          }\n          else if (uVar47 < 5) {\n            if (uVar47 != 0) {\nLAB_0001a7ea:\n              pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute note: bad description size"\n                                          ,5,bVar17);\n              goto LAB_0001a72d;\n            }\n            pcVar24 = (char *)0x0;\n            pbVar69 = (bfd *)0x0;\n          }\n          else {\n            pbVar55 = ibfd;\n            if (uVar47 == 8) {\n              pbVar8 = ibfd->xvec;\n              if ((pbVar8->flavour == bfd_target_elf_flavour) &&\n                 (((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02')) {\n                bVar68 = (*pbVar8->bfd_getx64)(pbVar3);\n                pbVar69 = (bfd *)bVar68;\n                pcVar24 = (char *)0xffffffff;\n              }\n              else {\n                pbVar69 = (bfd *)(*pbVar8->bfd_getx32)(pbVar3);\n                pcVar24 = (char *)(*ibfd->xvec->bfd_getx32)(pbVar3 + 4);\n              }\n            }\n            else {\n              if (uVar47 != 0x10) goto LAB_0001a7ea;\n              bVar68 = (*ibfd->xvec->bfd_getx64)(pbVar3);\n              pbVar69 = (bfd *)bVar68;\n              bVar68 = (*ibfd->xvec->bfd_getx64)(pbVar3 + 8);\n              pcVar24 = (char *)bVar68;\n            }\n          }\n          if (bVar43 == 0x100) {\n            if (pbVar69 == (bfd *)0x0) {\n              pbVar69 = local_8c;\n            }\n            if (pcVar24 == (char *)0x0) {\n              pcVar24 = (char *)local_90;\n            }\n            local_64[6] = (bfd_vma)pbVar69;\n            local_64[7] = (bfd_vma)pcVar24;\n            local_90 = pcVar24;\n            local_8c = pbVar69;\n          }\n          else {\n            if (pbVar69 == (bfd *)0x0) {\n              pbVar69 = local_94;\n            }\n            if (pcVar24 == (char *)0x0) {\n              pcVar24 = local_98;\n            }\n            local_64[6] = (bfd_vma)pbVar69;\n            local_64[7] = (bfd_vma)pcVar24;\n            local_98 = pcVar24;\n            local_94 = pbVar69;\n          }\n          if (*(char *)(local_64[3] + (*local_64 - 1)) != '\0') {\n            pcVar24 = (char *)dcgettext(0,\n                                        "corrupt GNU build attribute note: name not NUL terminated",\n                                        5,*local_64);\n            goto LAB_0001a72d;\n          }\n          local_64 = local_64 + 9;\n          pbVar57 = pbVar57 + (int)(iVar18 + 0xcU);\n        }\n        if (local_74 == (bfd_byte *)0x0) {\n          uVar58 = (uint)local_84 | local_6c;\n          if (local_80 == (bfd_byte *)0x0 && uVar58 == 0) {\n            pcVar24 = (char *)dcgettext(0,\n                                        "bad GNU build attribute notes: no known versions detected",\n                                        5,uVar58);\n            goto LAB_0001a72d;\n          }\n          if (((local_80 != (bfd_byte *)0x0) && (uVar58 != 0)) ||\n             ((local_84 != (int *)0x0 && (local_6c != 0)))) {\n            pcVar24 = (char *)dcgettext(0,\n                                        "bad GNU build attribute notes: multiple different versions"\n                                        ,5,pbVar69);\n            goto LAB_0001a72d;\n          }\n          if ((local_80 == (bfd_byte *)0x1 || local_84 == (int *)0x1) || (local_6c == 1))\n          goto LAB_0001a75c;\n          uVar58 = -(uint)(local_80 == (bfd_byte *)0x0) & 2;\n          iVar18 = uVar58 + 1;\n          if (*(char *)(local_60[3] + iVar18) != '\x01') {\n            pcVar24 = (char *)dcgettext(0,\n                                        "bad GNU build attribute notes: first note not version note"\n                                        ,5,pbVar55);\n            goto LAB_0001a72d;\n          }\n          bVar64 = false;\n          iVar22 = uVar58 + 2;\n          pbVar56 = local_60;\nLAB_0001a954:\n          pbVar13 = pbVar56;\n          pbVar56 = pbVar13 + 9;\n          if (pbVar56 < local_64) {\n            if (pbVar13[0xb] == 0x100) {\n              pvVar44 = (void *)pbVar13[0xc];\n              local_7c = (bfd_vma *)0x0;\n              pbVar63 = pbVar56;\n              do {\n                do {\n                  pbVar12 = pbVar63;\n                  pbVar63 = pbVar12 + -9;\n                  if (pbVar63 < local_60) goto LAB_0001a954;\n                  pvVar49 = (void *)pbVar12[-6];\n                  pbVar16 = local_7c;\n                } while ((((local_7c == (bfd_vma *)0x0) && (pbVar12[-8] != 0)) &&\n                         (pbVar16 = pbVar63, pbVar12[-7] == 0x101)) ||\n                        ((local_7c = pbVar16,\n                         *(char *)((int)pvVar44 + iVar18) != *(char *)((int)pvVar49 + iVar18) ||\n                         (pbVar12[-7] != 0x100))));\n                if (*(char *)((int)pvVar49 + iVar18) != '\x04') {\n                  pbVar69 = (bfd *)*pbVar63;\n                  if ((((pbVar69 == (bfd *)*pbVar56) &&\n                       (pbVar71 = (bfd *)pbVar56, iVar39 = memcmp(pvVar49,pvVar44,(size_t)pbVar69),\n                       pvVar70 = pvVar44, pbVar42 = pbVar69, iVar39 == 0)) &&\n                      ((uVar58 = pbVar12[-2], uVar58 != 0 && (uVar47 = pbVar13[0x10], uVar47 != 0)))\n                      ) && ((0xfffffff0 < uVar58 || (pbVar13[0xf] <= (uVar58 + 0xf & 0xfffffff0)))))\n                  {\n                    pbVar13[0xb] = 0;\n                    if (uVar58 < uVar47) {\n                      pbVar12[-2] = uVar47;\n                    }\n                    bVar64 = true;\n                    if (local_6c != 0) {\n                      pbVar12[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((pbVar13[10] == 0) && (local_7c != (bfd_vma *)0x0)) && (local_7c[2] == 0))\n                    {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    pbVar13[0x11] = 1;\n                    pbVar13[0xb] = 0x101;\n                    pbVar12[-1] = 1;\n                    pbVar12[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }\n                uVar58 = 0;\n                for (iVar39 = 0; (int)*pbVar56 - iVar22 != iVar39; iVar39 = iVar39 + 1) {\n                  uVar58 = uVar58 | (uint)*(byte *)((int)pvVar44 + iVar39 + iVar22) <<\n                                    ((char)iVar39 * '\b' & 0x1fU);\n                }\n                bVar43 = *pbVar63;\n                local_5c = (bfd *)0x0;\n                for (uVar47 = 0; bVar43 - iVar22 != uVar47; uVar47 = uVar47 + 1) {\n                  local_5c = (bfd *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar49 + iVar22))[uVar47] <<\n                                    ((char)uVar47 * '\b' & 0x1fU));\n                }\n                uVar48 = 0;\n                uVar58 = (int)local_5c + uVar58;\n                for (uVar46 = uVar58; uVar46 != 0; uVar46 = uVar46 >> 8) {\n                  uVar48 = uVar48 + 1;\n                }\n                in_stack_ffffff54 = (bfd *)pbVar56;\n              } while (uVar47 <= uVar48);\n              puVar61 = (undefined1 *)((int)pvVar49 + iVar22);\n              while (puVar61 < (undefined1 *)((int)pvVar49 + bVar43)) {\n                *puVar61 = (char)uVar58;\n                if (uVar58 == 0) break;\n                uVar58 = uVar58 >> 8;\n                puVar61 = puVar61 + 1;\n              }\n              pbVar13[0xb] = 0;\n              bVar64 = true;\n            }\n            goto LAB_0001a954;\n          }\n          in_stack_ffffff58 = obfd;\n          local_5c = obfd;\n          if (!bVar64) goto LAB_0001a75c;\n          pvVar44 = (void *)xmalloc(pbVar36,pvVar70,pbVar42,pbVar71);\n          bVar43 = 0;\n          pvVar70 = pvVar44;\n          local_80 = pbVar50;\n          for (pbVar56 = local_60; pbVar56 < local_64; pbVar56 = pbVar56 + 9) {\n            bVar45 = *pbVar56;\n            sVar34 = pbVar56[1] + 0xc + bVar45;\n            bVar10 = pbVar56[2];\n            pvVar49 = pvVar70;\n            if (bVar10 != 0) {\n              if (pbVar56[8] == 0) {\n                memcpy(pvVar70,local_80,sVar34);\n                pvVar49 = (void *)((int)pvVar70 + sVar34);\n              }\n              else {\n                pbVar57 = (bfd_byte *)pbVar56[6];\n                p_Var9 = ibfd->xvec->bfd_putx32;\n                __dest = (void *)((int)pvVar70 + 0xc);\n                pvVar49 = (void *)((int)__dest + bVar45);\n                if ((pbVar57 == local_74) && (pbVar56[7] == bVar43)) {\n                  (*p_Var9)(bVar45,pvVar70);\n                  (*ibfd->xvec->bfd_putx32)(0,(void *)((int)pvVar70 + 4));\n                  (*ibfd->xvec->bfd_putx32)(bVar10,(void *)((int)pvVar70 + 8));\n                  memcpy(__dest,(void *)pbVar56[3],bVar45);\n                }\n                else {\n                  (*p_Var9)(bVar45,pvVar70);\n                  bVar43 = 8;\n                  if (ibfd->xvec->flavour == bfd_target_elf_flavour) {\n                    bVar43 = (uint)(((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02'\n                                   ) * 8 + 8;\n                  }\n                  (*ibfd->xvec->bfd_putx32)(bVar43,(void *)((int)pvVar70 + 4));\n                  (*ibfd->xvec->bfd_putx32)(bVar10,(void *)((int)pvVar70 + 8));\n                  memcpy(__dest,(void *)pbVar56[3],bVar45);\n                  pbVar8 = ibfd->xvec;\n                  if ((pbVar8->flavour == bfd_target_elf_flavour) &&\n                     (((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02')) {\n                    (*pbVar8->bfd_putx64)(ZEXT48(pbVar57),pvVar49);\n                    (*ibfd->xvec->bfd_putx64)((ulonglong)pbVar56[7],(void *)((int)pvVar49 + 8));\n                    pvVar49 = (void *)((int)pvVar49 + 0x10);\n                  }\n                  else {\n                    (*pbVar8->bfd_putx32)((bfd_vma)pbVar57,pvVar49);\n                    (*ibfd->xvec->bfd_putx32)(pbVar56[7],(void *)((int)pvVar49 + 4));\n                    pvVar49 = (void *)((int)pvVar49 + 8);\n                  }\n                }\n              }\n              local_74 = (bfd_byte *)pbVar56[6];\n              bVar43 = pbVar56[7];\n            }\n            local_80 = local_80 + sVar34;\n            pvVar70 = pvVar49;\n          }\n          pbVar57 = (bfd_byte *)((int)pvVar70 - (int)pvVar44);\n          memcpy(pbVar50,pvVar44,(size_t)pbVar57);\n          free(pvVar44);\n          free(local_60);\n          merged_size = (bfd_size_type)pbVar57;\n          if (pbVar36 != pbVar57) {\n            iVar18 = (int)pbVar62->proxy_origin;\n            uVar29 = extraout_ECX_02;\n            if ((iVar18 != 0) &&\n               (iVar18 = bfd_set_section_size(obfd,iVar18,pbVar57,extraout_EDX),\n               uVar29 = extraout_ECX_03, iVar18 != 0)) goto LAB_00018aad;\n            pcVar24 = (char *)dcgettext(0,"warning: failed to set merged notes size",5,uVar29);\n            bfd_nonfatal_message((char *)0x0,obfd,(asection *)pbVar62,pcVar24);\n          }\n        }\n        else {\n          pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute notes: excess data at end",5,\n                                      local_64);\nLAB_0001a72d:\n          if (pcVar24 != (char *)0x0) {\n            bfd_set_error(0x11);\n            bfd_nonfatal_message((char *)0x0,ibfd,(asection *)pbVar62,pcVar24);\n            status = 1;\n          }\nLAB_0001a75c:\n          free(local_60);\n        }\n        free(merged_notes);\n        merged_notes = (bfd_byte *)0x0;\n        merge_notes = 0;\n        merged_size = 0;\n      }" else (compound_statement "{\n        iVar18 = bfd_get_reloc_upper_bound(ibfd,pbVar62,pbVar62,pbVar62);\n        pbVar42 = ibfd;\n        pbVar69 = pbVar62;\n        if (0 < iVar18) {\n          pbVar42 = (bfd *)xmalloc(iVar18);\n          pbVar69 = (bfd *)bfd_canonicalize_reloc(ibfd,pbVar62,pbVar42,isympp);\n          free(pbVar42);\n          if (pbVar69 == (bfd *)0x0) goto LAB_0001a478;\n          local_60 = (bfd_vma *)0x0;\n          goto LAB_0001a75c;\n        }\nLAB_0001a478:\n        pvVar70 = (void *)0x24;\n        pbVar71 = pbVar42;\n        local_60 = (bfd_vma *)xcalloc((uint)pbVar36 / 0xc,0x24,pbVar42,pbVar42);\n        local_90 = (void *)0x0;\n        local_98 = (char *)0x0;\n        local_8c = (bfd *)0x0;\n        local_94 = (bfd *)0x0;\n        local_6c = 0;\n        local_84 = (int *)0x0;\n        local_80 = (bfd_byte *)0x0;\n        pbVar57 = pbVar50;\n        pbVar55 = (bfd *)pbVar50;\n        local_74 = pbVar36;\n        local_64 = local_60;\n        while ((bfd_byte *)0xb < local_74) {\n          bVar43 = (*ibfd->xvec->bfd_getx32)(pbVar57);\n          uVar58 = bVar43 + 3 & 0xfffffffc;\n          *local_64 = uVar58;\n          bVar43 = (*ibfd->xvec->bfd_getx32)(pbVar57 + 4);\n          uVar47 = bVar43 + 3 & 0xfffffffc;\n          pbVar8 = ibfd->xvec;\n          local_64[1] = uVar47;\n          bVar43 = (*pbVar8->bfd_getx32)(pbVar57 + 8);\n          local_64[2] = bVar43;\n          if (1 < bVar43 - 0x100) {\n            pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute note: wrong note type",5,\n                                        extraout_ECX_01);\n            goto LAB_0001a72d;\n          }\n          iVar18 = uVar47 + uVar58;\n          if (local_74 < (bfd_byte *)(iVar18 + 0xcU)) {\n            pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute note: note too big",5,pbVar57\n                                       );\n            goto LAB_0001a72d;\n          }\n          if (uVar58 < 2) {\n            pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute note: name too small",5,\n                                        iVar18);\n            goto LAB_0001a72d;\n          }\n          local_64[3] = (bfd_vma)(pbVar57 + 0xc);\n          pbVar3 = pbVar57 + uVar58 + 0xc;\n          local_64[4] = (bfd_vma)pbVar3;\n          pbVar55 = (bfd *)(-0xc - iVar18);\n          local_74 = (bfd_byte *)((int)&pbVar55->filename + (int)local_74);\n          bVar17 = pbVar57[0xc];\n          if (bVar17 == '$') {\n            if ((pbVar57[0xd] == '\x01') && (pbVar57[0xe] == '1')) {\n              local_80 = (bfd_byte *)((int)local_80 + 1);\n            }\n          }\n          else if ((((4 < uVar58) && (bVar17 == 'G')) && (pbVar57[0xd] == 'A')) &&\n                  ((pbVar57[0xe] == '$' && (pbVar57[0xf] == '\x01')))) {\n            bVar17 = pbVar57[0x10];\n            if (bVar17 == '2') {\n              local_84 = (int *)((int)local_84 + 1);\n            }\n            else {\n              if (bVar17 != '3') {\n                pcVar24 = (char *)dcgettext(0,\n                                            "corrupt GNU build attribute note: unsupported version",\n                                            5,bVar17);\n                goto LAB_0001a72d;\n              }\n              local_6c = local_6c + 1;\n            }\n          }\n          if (uVar47 == 4) {\n            pbVar69 = (bfd *)(*ibfd->xvec->bfd_getx32)(pbVar3);\n            pcVar24 = (char *)0xffffffff;\n          }\n          else if (uVar47 < 5) {\n            if (uVar47 != 0) {\nLAB_0001a7ea:\n              pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute note: bad description size"\n                                          ,5,bVar17);\n              goto LAB_0001a72d;\n            }\n            pcVar24 = (char *)0x0;\n            pbVar69 = (bfd *)0x0;\n          }\n          else {\n            pbVar55 = ibfd;\n            if (uVar47 == 8) {\n              pbVar8 = ibfd->xvec;\n              if ((pbVar8->flavour == bfd_target_elf_flavour) &&\n                 (((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02')) {\n                bVar68 = (*pbVar8->bfd_getx64)(pbVar3);\n                pbVar69 = (bfd *)bVar68;\n                pcVar24 = (char *)0xffffffff;\n              }\n              else {\n                pbVar69 = (bfd *)(*pbVar8->bfd_getx32)(pbVar3);\n                pcVar24 = (char *)(*ibfd->xvec->bfd_getx32)(pbVar3 + 4);\n              }\n            }\n            else {\n              if (uVar47 != 0x10) goto LAB_0001a7ea;\n              bVar68 = (*ibfd->xvec->bfd_getx64)(pbVar3);\n              pbVar69 = (bfd *)bVar68;\n              bVar68 = (*ibfd->xvec->bfd_getx64)(pbVar3 + 8);\n              pcVar24 = (char *)bVar68;\n            }\n          }\n          if (bVar43 == 0x100) {\n            if (pbVar69 == (bfd *)0x0) {\n              pbVar69 = local_8c;\n            }\n            if (pcVar24 == (char *)0x0) {\n              pcVar24 = (char *)local_90;\n            }\n            local_64[6] = (bfd_vma)pbVar69;\n            local_64[7] = (bfd_vma)pcVar24;\n            local_90 = pcVar24;\n            local_8c = pbVar69;\n          }\n          else {\n            if (pbVar69 == (bfd *)0x0) {\n              pbVar69 = local_94;\n            }\n            if (pcVar24 == (char *)0x0) {\n              pcVar24 = local_98;\n            }\n            local_64[6] = (bfd_vma)pbVar69;\n            local_64[7] = (bfd_vma)pcVar24;\n            local_98 = pcVar24;\n            local_94 = pbVar69;\n          }\n          if (*(char *)(local_64[3] + (*local_64 - 1)) != '\0') {\n            pcVar24 = (char *)dcgettext(0,\n                                        "corrupt GNU build attribute note: name not NUL terminated",\n                                        5,*local_64);\n            goto LAB_0001a72d;\n          }\n          local_64 = local_64 + 9;\n          pbVar57 = pbVar57 + (int)(iVar18 + 0xcU);\n        }\n        if (local_74 == (bfd_byte *)0x0) {\n          uVar58 = (uint)local_84 | local_6c;\n          if (local_80 == (bfd_byte *)0x0 && uVar58 == 0) {\n            pcVar24 = (char *)dcgettext(0,\n                                        "bad GNU build attribute notes: no known versions detected",\n                                        5,uVar58);\n            goto LAB_0001a72d;\n          }\n          if (((local_80 != (bfd_byte *)0x0) && (uVar58 != 0)) ||\n             ((local_84 != (int *)0x0 && (local_6c != 0)))) {\n            pcVar24 = (char *)dcgettext(0,\n                                        "bad GNU build attribute notes: multiple different versions"\n                                        ,5,pbVar69);\n            goto LAB_0001a72d;\n          }\n          if ((local_80 == (bfd_byte *)0x1 || local_84 == (int *)0x1) || (local_6c == 1))\n          goto LAB_0001a75c;\n          uVar58 = -(uint)(local_80 == (bfd_byte *)0x0) & 2;\n          iVar18 = uVar58 + 1;\n          if (*(char *)(local_60[3] + iVar18) != '\x01') {\n            pcVar24 = (char *)dcgettext(0,\n                                        "bad GNU build attribute notes: first note not version note"\n                                        ,5,pbVar55);\n            goto LAB_0001a72d;\n          }\n          bVar64 = false;\n          iVar22 = uVar58 + 2;\n          pbVar56 = local_60;\nLAB_0001a954:\n          pbVar13 = pbVar56;\n          pbVar56 = pbVar13 + 9;\n          if (pbVar56 < local_64) {\n            if (pbVar13[0xb] == 0x100) {\n              pvVar44 = (void *)pbVar13[0xc];\n              local_7c = (bfd_vma *)0x0;\n              pbVar63 = pbVar56;\n              do {\n                do {\n                  pbVar12 = pbVar63;\n                  pbVar63 = pbVar12 + -9;\n                  if (pbVar63 < local_60) goto LAB_0001a954;\n                  pvVar49 = (void *)pbVar12[-6];\n                  pbVar16 = local_7c;\n                } while ((((local_7c == (bfd_vma *)0x0) && (pbVar12[-8] != 0)) &&\n                         (pbVar16 = pbVar63, pbVar12[-7] == 0x101)) ||\n                        ((local_7c = pbVar16,\n                         *(char *)((int)pvVar44 + iVar18) != *(char *)((int)pvVar49 + iVar18) ||\n                         (pbVar12[-7] != 0x100))));\n                if (*(char *)((int)pvVar49 + iVar18) != '\x04') {\n                  pbVar69 = (bfd *)*pbVar63;\n                  if ((((pbVar69 == (bfd *)*pbVar56) &&\n                       (pbVar71 = (bfd *)pbVar56, iVar39 = memcmp(pvVar49,pvVar44,(size_t)pbVar69),\n                       pvVar70 = pvVar44, pbVar42 = pbVar69, iVar39 == 0)) &&\n                      ((uVar58 = pbVar12[-2], uVar58 != 0 && (uVar47 = pbVar13[0x10], uVar47 != 0)))\n                      ) && ((0xfffffff0 < uVar58 || (pbVar13[0xf] <= (uVar58 + 0xf & 0xfffffff0)))))\n                  {\n                    pbVar13[0xb] = 0;\n                    if (uVar58 < uVar47) {\n                      pbVar12[-2] = uVar47;\n                    }\n                    bVar64 = true;\n                    if (local_6c != 0) {\n                      pbVar12[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((pbVar13[10] == 0) && (local_7c != (bfd_vma *)0x0)) && (local_7c[2] == 0))\n                    {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    pbVar13[0x11] = 1;\n                    pbVar13[0xb] = 0x101;\n                    pbVar12[-1] = 1;\n                    pbVar12[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }\n                uVar58 = 0;\n                for (iVar39 = 0; (int)*pbVar56 - iVar22 != iVar39; iVar39 = iVar39 + 1) {\n                  uVar58 = uVar58 | (uint)*(byte *)((int)pvVar44 + iVar39 + iVar22) <<\n                                    ((char)iVar39 * '\b' & 0x1fU);\n                }\n                bVar43 = *pbVar63;\n                local_5c = (bfd *)0x0;\n                for (uVar47 = 0; bVar43 - iVar22 != uVar47; uVar47 = uVar47 + 1) {\n                  local_5c = (bfd *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar49 + iVar22))[uVar47] <<\n                                    ((char)uVar47 * '\b' & 0x1fU));\n                }\n                uVar48 = 0;\n                uVar58 = (int)local_5c + uVar58;\n                for (uVar46 = uVar58; uVar46 != 0; uVar46 = uVar46 >> 8) {\n                  uVar48 = uVar48 + 1;\n                }\n                in_stack_ffffff54 = (bfd *)pbVar56;\n              } while (uVar47 <= uVar48);\n              puVar61 = (undefined1 *)((int)pvVar49 + iVar22);\n              while (puVar61 < (undefined1 *)((int)pvVar49 + bVar43)) {\n                *puVar61 = (char)uVar58;\n                if (uVar58 == 0) break;\n                uVar58 = uVar58 >> 8;\n                puVar61 = puVar61 + 1;\n              }\n              pbVar13[0xb] = 0;\n              bVar64 = true;\n            }\n            goto LAB_0001a954;\n          }\n          in_stack_ffffff58 = obfd;\n          local_5c = obfd;\n          if (!bVar64) goto LAB_0001a75c;\n          pvVar44 = (void *)xmalloc(pbVar36,pvVar70,pbVar42,pbVar71);\n          bVar43 = 0;\n          pvVar70 = pvVar44;\n          local_80 = pbVar50;\n          for (pbVar56 = local_60; pbVar56 < local_64; pbVar56 = pbVar56 + 9) {\n            bVar45 = *pbVar56;\n            sVar34 = pbVar56[1] + 0xc + bVar45;\n            bVar10 = pbVar56[2];\n            pvVar49 = pvVar70;\n            if (bVar10 != 0) {\n              if (pbVar56[8] == 0) {\n                memcpy(pvVar70,local_80,sVar34);\n                pvVar49 = (void *)((int)pvVar70 + sVar34);\n              }\n              else {\n                pbVar57 = (bfd_byte *)pbVar56[6];\n                p_Var9 = ibfd->xvec->bfd_putx32;\n                __dest = (void *)((int)pvVar70 + 0xc);\n                pvVar49 = (void *)((int)__dest + bVar45);\n                if ((pbVar57 == local_74) && (pbVar56[7] == bVar43)) {\n                  (*p_Var9)(bVar45,pvVar70);\n                  (*ibfd->xvec->bfd_putx32)(0,(void *)((int)pvVar70 + 4));\n                  (*ibfd->xvec->bfd_putx32)(bVar10,(void *)((int)pvVar70 + 8));\n                  memcpy(__dest,(void *)pbVar56[3],bVar45);\n                }\n                else {\n                  (*p_Var9)(bVar45,pvVar70);\n                  bVar43 = 8;\n                  if (ibfd->xvec->flavour == bfd_target_elf_flavour) {\n                    bVar43 = (uint)(((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02'\n                                   ) * 8 + 8;\n                  }\n                  (*ibfd->xvec->bfd_putx32)(bVar43,(void *)((int)pvVar70 + 4));\n                  (*ibfd->xvec->bfd_putx32)(bVar10,(void *)((int)pvVar70 + 8));\n                  memcpy(__dest,(void *)pbVar56[3],bVar45);\n                  pbVar8 = ibfd->xvec;\n                  if ((pbVar8->flavour == bfd_target_elf_flavour) &&\n                     (((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02')) {\n                    (*pbVar8->bfd_putx64)(ZEXT48(pbVar57),pvVar49);\n                    (*ibfd->xvec->bfd_putx64)((ulonglong)pbVar56[7],(void *)((int)pvVar49 + 8));\n                    pvVar49 = (void *)((int)pvVar49 + 0x10);\n                  }\n                  else {\n                    (*pbVar8->bfd_putx32)((bfd_vma)pbVar57,pvVar49);\n                    (*ibfd->xvec->bfd_putx32)(pbVar56[7],(void *)((int)pvVar49 + 4));\n                    pvVar49 = (void *)((int)pvVar49 + 8);\n                  }\n                }\n              }\n              local_74 = (bfd_byte *)pbVar56[6];\n              bVar43 = pbVar56[7];\n            }\n            local_80 = local_80 + sVar34;\n            pvVar70 = pvVar49;\n          }\n          pbVar57 = (bfd_byte *)((int)pvVar70 - (int)pvVar44);\n          memcpy(pbVar50,pvVar44,(size_t)pbVar57);\n          free(pvVar44);\n          free(local_60);\n          merged_size = (bfd_size_type)pbVar57;\n          if (pbVar36 != pbVar57) {\n            iVar18 = (int)pbVar62->proxy_origin;\n            uVar29 = extraout_ECX_02;\n            if ((iVar18 != 0) &&\n               (iVar18 = bfd_set_section_size(obfd,iVar18,pbVar57,extraout_EDX),\n               uVar29 = extraout_ECX_03, iVar18 != 0)) goto LAB_00018aad;\n            pcVar24 = (char *)dcgettext(0,"warning: failed to set merged notes size",5,uVar29);\n            bfd_nonfatal_message((char *)0x0,obfd,(asection *)pbVar62,pcVar24);\n          }\n        }\n        else {\n          pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute notes: excess data at end",5,\n                                      local_64);\nLAB_0001a72d:\n          if (pcVar24 != (char *)0x0) {\n            bfd_set_error(0x11);\n            bfd_nonfatal_message((char *)0x0,ibfd,(asection *)pbVar62,pcVar24);\n            status = 1;\n          }\nLAB_0001a75c:\n          free(local_60);\n        }\n        free(merged_notes);\n        merged_notes = (bfd_byte *)0x0;\n        merge_notes = 0;\n        merged_size = 0;\n      }" { (expression_statement "iVar18 = bfd_get_reloc_upper_bound(ibfd,pbVar62,pbVar62,pbVar62);" (assignment_expression "iVar18 = bfd_get_reloc_upper_bound(ibfd,pbVar62,pbVar62,pbVar62)" identifier = (call_expression "bfd_get_reloc_upper_bound(ibfd,pbVar62,pbVar62,pbVar62)" identifier (argument_list "(ibfd,pbVar62,pbVar62,pbVar62)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "pbVar42 = ibfd;" (assignment_expression "pbVar42 = ibfd" identifier = identifier) ;) (expression_statement "pbVar69 = pbVar62;" (assignment_expression "pbVar69 = pbVar62" identifier = identifier) ;) (if_statement "if (0 < iVar18) {\n          pbVar42 = (bfd *)xmalloc(iVar18);\n          pbVar69 = (bfd *)bfd_canonicalize_reloc(ibfd,pbVar62,pbVar42,isympp);\n          free(pbVar42);\n          if (pbVar69 == (bfd *)0x0) goto LAB_0001a478;\n          local_60 = (bfd_vma *)0x0;\n          goto LAB_0001a75c;\n        }" if (parenthesized_expression "(0 < iVar18)" ( (binary_expression "0 < iVar18" number_literal < identifier) )) (compound_statement "{\n          pbVar42 = (bfd *)xmalloc(iVar18);\n          pbVar69 = (bfd *)bfd_canonicalize_reloc(ibfd,pbVar62,pbVar42,isympp);\n          free(pbVar42);\n          if (pbVar69 == (bfd *)0x0) goto LAB_0001a478;\n          local_60 = (bfd_vma *)0x0;\n          goto LAB_0001a75c;\n        }" { (expression_statement "pbVar42 = (bfd *)xmalloc(iVar18);" (assignment_expression "pbVar42 = (bfd *)xmalloc(iVar18)" identifier = (cast_expression "(bfd *)xmalloc(iVar18)" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(iVar18)" identifier (argument_list "(iVar18)" ( identifier ))))) ;) (expression_statement "pbVar69 = (bfd *)bfd_canonicalize_reloc(ibfd,pbVar62,pbVar42,isympp);" (assignment_expression "pbVar69 = (bfd *)bfd_canonicalize_reloc(ibfd,pbVar62,pbVar42,isympp)" identifier = (cast_expression "(bfd *)bfd_canonicalize_reloc(ibfd,pbVar62,pbVar42,isympp)" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "bfd_canonicalize_reloc(ibfd,pbVar62,pbVar42,isympp)" identifier (argument_list "(ibfd,pbVar62,pbVar42,isympp)" ( identifier , identifier , identifier , identifier ))))) ;) (expression_statement "free(pbVar42);" (call_expression "free(pbVar42)" identifier (argument_list "(pbVar42)" ( identifier ))) ;) (if_statement "if (pbVar69 == (bfd *)0x0) goto LAB_0001a478;" if (parenthesized_expression "(pbVar69 == (bfd *)0x0)" ( (binary_expression "pbVar69 == (bfd *)0x0" identifier == (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0001a478;" goto statement_identifier ;)) (expression_statement "local_60 = (bfd_vma *)0x0;" (assignment_expression "local_60 = (bfd_vma *)0x0" identifier = (cast_expression "(bfd_vma *)0x0" ( (type_descriptor "bfd_vma *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_0001a75c;" goto statement_identifier ;) })) (labeled_statement "LAB_0001a478:\n        pvVar70 = (void *)0x24;" statement_identifier : (expression_statement "pvVar70 = (void *)0x24;" (assignment_expression "pvVar70 = (void *)0x24" identifier = (cast_expression "(void *)0x24" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "pbVar71 = pbVar42;" (assignment_expression "pbVar71 = pbVar42" identifier = identifier) ;) (expression_statement "local_60 = (bfd_vma *)xcalloc((uint)pbVar36 / 0xc,0x24,pbVar42,pbVar42);" (assignment_expression "local_60 = (bfd_vma *)xcalloc((uint)pbVar36 / 0xc,0x24,pbVar42,pbVar42)" identifier = (cast_expression "(bfd_vma *)xcalloc((uint)pbVar36 / 0xc,0x24,pbVar42,pbVar42)" ( (type_descriptor "bfd_vma *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "xcalloc((uint)pbVar36 / 0xc,0x24,pbVar42,pbVar42)" identifier (argument_list "((uint)pbVar36 / 0xc,0x24,pbVar42,pbVar42)" ( (binary_expression "(uint)pbVar36 / 0xc" (cast_expression "(uint)pbVar36" ( (type_descriptor "uint" type_identifier) ) identifier) / number_literal) , number_literal , identifier , identifier ))))) ;) (expression_statement "local_90 = (void *)0x0;" (assignment_expression "local_90 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_98 = (char *)0x0;" (assignment_expression "local_98 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_8c = (bfd *)0x0;" (assignment_expression "local_8c = (bfd *)0x0" identifier = (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_94 = (bfd *)0x0;" (assignment_expression "local_94 = (bfd *)0x0" identifier = (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_6c = 0;" (assignment_expression "local_6c = 0" identifier = number_literal) ;) (expression_statement "local_84 = (int *)0x0;" (assignment_expression "local_84 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_80 = (bfd_byte *)0x0;" (assignment_expression "local_80 = (bfd_byte *)0x0" identifier = (cast_expression "(bfd_byte *)0x0" ( (type_descriptor "bfd_byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar57 = pbVar50;" (assignment_expression "pbVar57 = pbVar50" identifier = identifier) ;) (expression_statement "pbVar55 = (bfd *)pbVar50;" (assignment_expression "pbVar55 = (bfd *)pbVar50" identifier = (cast_expression "(bfd *)pbVar50" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "local_74 = pbVar36;" (assignment_expression "local_74 = pbVar36" identifier = identifier) ;) (expression_statement "local_64 = local_60;" (assignment_expression "local_64 = local_60" identifier = identifier) ;) (while_statement "while ((bfd_byte *)0xb < local_74) {\n          bVar43 = (*ibfd->xvec->bfd_getx32)(pbVar57);\n          uVar58 = bVar43 + 3 & 0xfffffffc;\n          *local_64 = uVar58;\n          bVar43 = (*ibfd->xvec->bfd_getx32)(pbVar57 + 4);\n          uVar47 = bVar43 + 3 & 0xfffffffc;\n          pbVar8 = ibfd->xvec;\n          local_64[1] = uVar47;\n          bVar43 = (*pbVar8->bfd_getx32)(pbVar57 + 8);\n          local_64[2] = bVar43;\n          if (1 < bVar43 - 0x100) {\n            pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute note: wrong note type",5,\n                                        extraout_ECX_01);\n            goto LAB_0001a72d;\n          }\n          iVar18 = uVar47 + uVar58;\n          if (local_74 < (bfd_byte *)(iVar18 + 0xcU)) {\n            pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute note: note too big",5,pbVar57\n                                       );\n            goto LAB_0001a72d;\n          }\n          if (uVar58 < 2) {\n            pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute note: name too small",5,\n                                        iVar18);\n            goto LAB_0001a72d;\n          }\n          local_64[3] = (bfd_vma)(pbVar57 + 0xc);\n          pbVar3 = pbVar57 + uVar58 + 0xc;\n          local_64[4] = (bfd_vma)pbVar3;\n          pbVar55 = (bfd *)(-0xc - iVar18);\n          local_74 = (bfd_byte *)((int)&pbVar55->filename + (int)local_74);\n          bVar17 = pbVar57[0xc];\n          if (bVar17 == '$') {\n            if ((pbVar57[0xd] == '\x01') && (pbVar57[0xe] == '1')) {\n              local_80 = (bfd_byte *)((int)local_80 + 1);\n            }\n          }\n          else if ((((4 < uVar58) && (bVar17 == 'G')) && (pbVar57[0xd] == 'A')) &&\n                  ((pbVar57[0xe] == '$' && (pbVar57[0xf] == '\x01')))) {\n            bVar17 = pbVar57[0x10];\n            if (bVar17 == '2') {\n              local_84 = (int *)((int)local_84 + 1);\n            }\n            else {\n              if (bVar17 != '3') {\n                pcVar24 = (char *)dcgettext(0,\n                                            "corrupt GNU build attribute note: unsupported version",\n                                            5,bVar17);\n                goto LAB_0001a72d;\n              }\n              local_6c = local_6c + 1;\n            }\n          }\n          if (uVar47 == 4) {\n            pbVar69 = (bfd *)(*ibfd->xvec->bfd_getx32)(pbVar3);\n            pcVar24 = (char *)0xffffffff;\n          }\n          else if (uVar47 < 5) {\n            if (uVar47 != 0) {\nLAB_0001a7ea:\n              pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute note: bad description size"\n                                          ,5,bVar17);\n              goto LAB_0001a72d;\n            }\n            pcVar24 = (char *)0x0;\n            pbVar69 = (bfd *)0x0;\n          }\n          else {\n            pbVar55 = ibfd;\n            if (uVar47 == 8) {\n              pbVar8 = ibfd->xvec;\n              if ((pbVar8->flavour == bfd_target_elf_flavour) &&\n                 (((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02')) {\n                bVar68 = (*pbVar8->bfd_getx64)(pbVar3);\n                pbVar69 = (bfd *)bVar68;\n                pcVar24 = (char *)0xffffffff;\n              }\n              else {\n                pbVar69 = (bfd *)(*pbVar8->bfd_getx32)(pbVar3);\n                pcVar24 = (char *)(*ibfd->xvec->bfd_getx32)(pbVar3 + 4);\n              }\n            }\n            else {\n              if (uVar47 != 0x10) goto LAB_0001a7ea;\n              bVar68 = (*ibfd->xvec->bfd_getx64)(pbVar3);\n              pbVar69 = (bfd *)bVar68;\n              bVar68 = (*ibfd->xvec->bfd_getx64)(pbVar3 + 8);\n              pcVar24 = (char *)bVar68;\n            }\n          }\n          if (bVar43 == 0x100) {\n            if (pbVar69 == (bfd *)0x0) {\n              pbVar69 = local_8c;\n            }\n            if (pcVar24 == (char *)0x0) {\n              pcVar24 = (char *)local_90;\n            }\n            local_64[6] = (bfd_vma)pbVar69;\n            local_64[7] = (bfd_vma)pcVar24;\n            local_90 = pcVar24;\n            local_8c = pbVar69;\n          }\n          else {\n            if (pbVar69 == (bfd *)0x0) {\n              pbVar69 = local_94;\n            }\n            if (pcVar24 == (char *)0x0) {\n              pcVar24 = local_98;\n            }\n            local_64[6] = (bfd_vma)pbVar69;\n            local_64[7] = (bfd_vma)pcVar24;\n            local_98 = pcVar24;\n            local_94 = pbVar69;\n          }\n          if (*(char *)(local_64[3] + (*local_64 - 1)) != '\0') {\n            pcVar24 = (char *)dcgettext(0,\n                                        "corrupt GNU build attribute note: name not NUL terminated",\n                                        5,*local_64);\n            goto LAB_0001a72d;\n          }\n          local_64 = local_64 + 9;\n          pbVar57 = pbVar57 + (int)(iVar18 + 0xcU);\n        }" while (parenthesized_expression "((bfd_byte *)0xb < local_74)" ( (binary_expression "(bfd_byte *)0xb < local_74" (cast_expression "(bfd_byte *)0xb" ( (type_descriptor "bfd_byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < identifier) )) (compound_statement "{\n          bVar43 = (*ibfd->xvec->bfd_getx32)(pbVar57);\n          uVar58 = bVar43 + 3 & 0xfffffffc;\n          *local_64 = uVar58;\n          bVar43 = (*ibfd->xvec->bfd_getx32)(pbVar57 + 4);\n          uVar47 = bVar43 + 3 & 0xfffffffc;\n          pbVar8 = ibfd->xvec;\n          local_64[1] = uVar47;\n          bVar43 = (*pbVar8->bfd_getx32)(pbVar57 + 8);\n          local_64[2] = bVar43;\n          if (1 < bVar43 - 0x100) {\n            pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute note: wrong note type",5,\n                                        extraout_ECX_01);\n            goto LAB_0001a72d;\n          }\n          iVar18 = uVar47 + uVar58;\n          if (local_74 < (bfd_byte *)(iVar18 + 0xcU)) {\n            pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute note: note too big",5,pbVar57\n                                       );\n            goto LAB_0001a72d;\n          }\n          if (uVar58 < 2) {\n            pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute note: name too small",5,\n                                        iVar18);\n            goto LAB_0001a72d;\n          }\n          local_64[3] = (bfd_vma)(pbVar57 + 0xc);\n          pbVar3 = pbVar57 + uVar58 + 0xc;\n          local_64[4] = (bfd_vma)pbVar3;\n          pbVar55 = (bfd *)(-0xc - iVar18);\n          local_74 = (bfd_byte *)((int)&pbVar55->filename + (int)local_74);\n          bVar17 = pbVar57[0xc];\n          if (bVar17 == '$') {\n            if ((pbVar57[0xd] == '\x01') && (pbVar57[0xe] == '1')) {\n              local_80 = (bfd_byte *)((int)local_80 + 1);\n            }\n          }\n          else if ((((4 < uVar58) && (bVar17 == 'G')) && (pbVar57[0xd] == 'A')) &&\n                  ((pbVar57[0xe] == '$' && (pbVar57[0xf] == '\x01')))) {\n            bVar17 = pbVar57[0x10];\n            if (bVar17 == '2') {\n              local_84 = (int *)((int)local_84 + 1);\n            }\n            else {\n              if (bVar17 != '3') {\n                pcVar24 = (char *)dcgettext(0,\n                                            "corrupt GNU build attribute note: unsupported version",\n                                            5,bVar17);\n                goto LAB_0001a72d;\n              }\n              local_6c = local_6c + 1;\n            }\n          }\n          if (uVar47 == 4) {\n            pbVar69 = (bfd *)(*ibfd->xvec->bfd_getx32)(pbVar3);\n            pcVar24 = (char *)0xffffffff;\n          }\n          else if (uVar47 < 5) {\n            if (uVar47 != 0) {\nLAB_0001a7ea:\n              pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute note: bad description size"\n                                          ,5,bVar17);\n              goto LAB_0001a72d;\n            }\n            pcVar24 = (char *)0x0;\n            pbVar69 = (bfd *)0x0;\n          }\n          else {\n            pbVar55 = ibfd;\n            if (uVar47 == 8) {\n              pbVar8 = ibfd->xvec;\n              if ((pbVar8->flavour == bfd_target_elf_flavour) &&\n                 (((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02')) {\n                bVar68 = (*pbVar8->bfd_getx64)(pbVar3);\n                pbVar69 = (bfd *)bVar68;\n                pcVar24 = (char *)0xffffffff;\n              }\n              else {\n                pbVar69 = (bfd *)(*pbVar8->bfd_getx32)(pbVar3);\n                pcVar24 = (char *)(*ibfd->xvec->bfd_getx32)(pbVar3 + 4);\n              }\n            }\n            else {\n              if (uVar47 != 0x10) goto LAB_0001a7ea;\n              bVar68 = (*ibfd->xvec->bfd_getx64)(pbVar3);\n              pbVar69 = (bfd *)bVar68;\n              bVar68 = (*ibfd->xvec->bfd_getx64)(pbVar3 + 8);\n              pcVar24 = (char *)bVar68;\n            }\n          }\n          if (bVar43 == 0x100) {\n            if (pbVar69 == (bfd *)0x0) {\n              pbVar69 = local_8c;\n            }\n            if (pcVar24 == (char *)0x0) {\n              pcVar24 = (char *)local_90;\n            }\n            local_64[6] = (bfd_vma)pbVar69;\n            local_64[7] = (bfd_vma)pcVar24;\n            local_90 = pcVar24;\n            local_8c = pbVar69;\n          }\n          else {\n            if (pbVar69 == (bfd *)0x0) {\n              pbVar69 = local_94;\n            }\n            if (pcVar24 == (char *)0x0) {\n              pcVar24 = local_98;\n            }\n            local_64[6] = (bfd_vma)pbVar69;\n            local_64[7] = (bfd_vma)pcVar24;\n            local_98 = pcVar24;\n            local_94 = pbVar69;\n          }\n          if (*(char *)(local_64[3] + (*local_64 - 1)) != '\0') {\n            pcVar24 = (char *)dcgettext(0,\n                                        "corrupt GNU build attribute note: name not NUL terminated",\n                                        5,*local_64);\n            goto LAB_0001a72d;\n          }\n          local_64 = local_64 + 9;\n          pbVar57 = pbVar57 + (int)(iVar18 + 0xcU);\n        }" { (expression_statement "bVar43 = (*ibfd->xvec->bfd_getx32)(pbVar57);" (assignment_expression "bVar43 = (*ibfd->xvec->bfd_getx32)(pbVar57)" identifier = (call_expression "(*ibfd->xvec->bfd_getx32)(pbVar57)" (parenthesized_expression "(*ibfd->xvec->bfd_getx32)" ( (pointer_expression "*ibfd->xvec->bfd_getx32" * (field_expression "ibfd->xvec->bfd_getx32" (field_expression "ibfd->xvec" identifier -> field_identifier) -> field_identifier)) )) (argument_list "(pbVar57)" ( identifier )))) ;) (expression_statement "uVar58 = bVar43 + 3 & 0xfffffffc;" (assignment_expression "uVar58 = bVar43 + 3 & 0xfffffffc" identifier = (binary_expression "bVar43 + 3 & 0xfffffffc" (binary_expression "bVar43 + 3" identifier + number_literal) & number_literal)) ;) (expression_statement "*local_64 = uVar58;" (assignment_expression "*local_64 = uVar58" (pointer_expression "*local_64" * identifier) = identifier) ;) (expression_statement "bVar43 = (*ibfd->xvec->bfd_getx32)(pbVar57 + 4);" (assignment_expression "bVar43 = (*ibfd->xvec->bfd_getx32)(pbVar57 + 4)" identifier = (call_expression "(*ibfd->xvec->bfd_getx32)(pbVar57 + 4)" (parenthesized_expression "(*ibfd->xvec->bfd_getx32)" ( (pointer_expression "*ibfd->xvec->bfd_getx32" * (field_expression "ibfd->xvec->bfd_getx32" (field_expression "ibfd->xvec" identifier -> field_identifier) -> field_identifier)) )) (argument_list "(pbVar57 + 4)" ( (binary_expression "pbVar57 + 4" identifier + number_literal) )))) ;) (expression_statement "uVar47 = bVar43 + 3 & 0xfffffffc;" (assignment_expression "uVar47 = bVar43 + 3 & 0xfffffffc" identifier = (binary_expression "bVar43 + 3 & 0xfffffffc" (binary_expression "bVar43 + 3" identifier + number_literal) & number_literal)) ;) (expression_statement "pbVar8 = ibfd->xvec;" (assignment_expression "pbVar8 = ibfd->xvec" identifier = (field_expression "ibfd->xvec" identifier -> field_identifier)) ;) (expression_statement "local_64[1] = uVar47;" (assignment_expression "local_64[1] = uVar47" (subscript_expression "local_64[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "bVar43 = (*pbVar8->bfd_getx32)(pbVar57 + 8);" (assignment_expression "bVar43 = (*pbVar8->bfd_getx32)(pbVar57 + 8)" identifier = (call_expression "(*pbVar8->bfd_getx32)(pbVar57 + 8)" (parenthesized_expression "(*pbVar8->bfd_getx32)" ( (pointer_expression "*pbVar8->bfd_getx32" * (field_expression "pbVar8->bfd_getx32" identifier -> field_identifier)) )) (argument_list "(pbVar57 + 8)" ( (binary_expression "pbVar57 + 8" identifier + number_literal) )))) ;) (expression_statement "local_64[2] = bVar43;" (assignment_expression "local_64[2] = bVar43" (subscript_expression "local_64[2]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (1 < bVar43 - 0x100) {\n            pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute note: wrong note type",5,\n                                        extraout_ECX_01);\n            goto LAB_0001a72d;\n          }" if (parenthesized_expression "(1 < bVar43 - 0x100)" ( (binary_expression "1 < bVar43 - 0x100" number_literal < (binary_expression "bVar43 - 0x100" identifier - number_literal)) )) (compound_statement "{\n            pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute note: wrong note type",5,\n                                        extraout_ECX_01);\n            goto LAB_0001a72d;\n          }" { (expression_statement "pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute note: wrong note type",5,\n                                        extraout_ECX_01);" (assignment_expression "pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute note: wrong note type",5,\n                                        extraout_ECX_01)" identifier = (cast_expression "(char *)dcgettext(0,"corrupt GNU build attribute note: wrong note type",5,\n                                        extraout_ECX_01)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"corrupt GNU build attribute note: wrong note type",5,\n                                        extraout_ECX_01)" identifier (argument_list "(0,"corrupt GNU build attribute note: wrong note type",5,\n                                        extraout_ECX_01)" ( number_literal , (string_literal ""corrupt GNU build attribute note: wrong note type"" " string_content ") , number_literal , identifier ))))) ;) (goto_statement "goto LAB_0001a72d;" goto statement_identifier ;) })) (expression_statement "iVar18 = uVar47 + uVar58;" (assignment_expression "iVar18 = uVar47 + uVar58" identifier = (binary_expression "uVar47 + uVar58" identifier + identifier)) ;) (if_statement "if (local_74 < (bfd_byte *)(iVar18 + 0xcU)) {\n            pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute note: note too big",5,pbVar57\n                                       );\n            goto LAB_0001a72d;\n          }" if (parenthesized_expression "(local_74 < (bfd_byte *)(iVar18 + 0xcU))" ( (binary_expression "local_74 < (bfd_byte *)(iVar18 + 0xcU)" identifier < (cast_expression "(bfd_byte *)(iVar18 + 0xcU)" ( (type_descriptor "bfd_byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + 0xcU)" ( (binary_expression "iVar18 + 0xcU" identifier + number_literal) )))) )) (compound_statement "{\n            pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute note: note too big",5,pbVar57\n                                       );\n            goto LAB_0001a72d;\n          }" { (expression_statement "pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute note: note too big",5,pbVar57\n                                       );" (assignment_expression "pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute note: note too big",5,pbVar57\n                                       )" identifier = (cast_expression "(char *)dcgettext(0,"corrupt GNU build attribute note: note too big",5,pbVar57\n                                       )" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"corrupt GNU build attribute note: note too big",5,pbVar57\n                                       )" identifier (argument_list "(0,"corrupt GNU build attribute note: note too big",5,pbVar57\n                                       )" ( number_literal , (string_literal ""corrupt GNU build attribute note: note too big"" " string_content ") , number_literal , identifier ))))) ;) (goto_statement "goto LAB_0001a72d;" goto statement_identifier ;) })) (if_statement "if (uVar58 < 2) {\n            pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute note: name too small",5,\n                                        iVar18);\n            goto LAB_0001a72d;\n          }" if (parenthesized_expression "(uVar58 < 2)" ( (binary_expression "uVar58 < 2" identifier < number_literal) )) (compound_statement "{\n            pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute note: name too small",5,\n                                        iVar18);\n            goto LAB_0001a72d;\n          }" { (expression_statement "pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute note: name too small",5,\n                                        iVar18);" (assignment_expression "pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute note: name too small",5,\n                                        iVar18)" identifier = (cast_expression "(char *)dcgettext(0,"corrupt GNU build attribute note: name too small",5,\n                                        iVar18)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"corrupt GNU build attribute note: name too small",5,\n                                        iVar18)" identifier (argument_list "(0,"corrupt GNU build attribute note: name too small",5,\n                                        iVar18)" ( number_literal , (string_literal ""corrupt GNU build attribute note: name too small"" " string_content ") , number_literal , identifier ))))) ;) (goto_statement "goto LAB_0001a72d;" goto statement_identifier ;) })) (expression_statement "local_64[3] = (bfd_vma)(pbVar57 + 0xc);" (assignment_expression "local_64[3] = (bfd_vma)(pbVar57 + 0xc)" (subscript_expression "local_64[3]" identifier [ number_literal ]) = (call_expression "(bfd_vma)(pbVar57 + 0xc)" (parenthesized_expression "(bfd_vma)" ( identifier )) (argument_list "(pbVar57 + 0xc)" ( (binary_expression "pbVar57 + 0xc" identifier + number_literal) )))) ;) (expression_statement "pbVar3 = pbVar57 + uVar58 + 0xc;" (assignment_expression "pbVar3 = pbVar57 + uVar58 + 0xc" identifier = (binary_expression "pbVar57 + uVar58 + 0xc" (binary_expression "pbVar57 + uVar58" identifier + identifier) + number_literal)) ;) (expression_statement "local_64[4] = (bfd_vma)pbVar3;" (assignment_expression "local_64[4] = (bfd_vma)pbVar3" (subscript_expression "local_64[4]" identifier [ number_literal ]) = (cast_expression "(bfd_vma)pbVar3" ( (type_descriptor "bfd_vma" type_identifier) ) identifier)) ;) (expression_statement "pbVar55 = (bfd *)(-0xc - iVar18);" (assignment_expression "pbVar55 = (bfd *)(-0xc - iVar18)" identifier = (cast_expression "(bfd *)(-0xc - iVar18)" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(-0xc - iVar18)" ( (binary_expression "-0xc - iVar18" number_literal - identifier) )))) ;) (expression_statement "local_74 = (bfd_byte *)((int)&pbVar55->filename + (int)local_74);" (assignment_expression "local_74 = (bfd_byte *)((int)&pbVar55->filename + (int)local_74)" identifier = (cast_expression "(bfd_byte *)((int)&pbVar55->filename + (int)local_74)" ( (type_descriptor "bfd_byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pbVar55->filename + (int)local_74)" ( (binary_expression "(int)&pbVar55->filename + (int)local_74" (cast_expression "(int)&pbVar55->filename" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pbVar55->filename" & (field_expression "pbVar55->filename" identifier -> field_identifier))) + (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "bVar17 = pbVar57[0xc];" (assignment_expression "bVar17 = pbVar57[0xc]" identifier = (subscript_expression "pbVar57[0xc]" identifier [ number_literal ])) ;) (if_statement "if (bVar17 == '$') {\n            if ((pbVar57[0xd] == '\x01') && (pbVar57[0xe] == '1')) {\n              local_80 = (bfd_byte *)((int)local_80 + 1);\n            }\n          }\n          else if ((((4 < uVar58) && (bVar17 == 'G')) && (pbVar57[0xd] == 'A')) &&\n                  ((pbVar57[0xe] == '$' && (pbVar57[0xf] == '\x01')))) {\n            bVar17 = pbVar57[0x10];\n            if (bVar17 == '2') {\n              local_84 = (int *)((int)local_84 + 1);\n            }\n            else {\n              if (bVar17 != '3') {\n                pcVar24 = (char *)dcgettext(0,\n                                            "corrupt GNU build attribute note: unsupported version",\n                                            5,bVar17);\n                goto LAB_0001a72d;\n              }\n              local_6c = local_6c + 1;\n            }\n          }" if (parenthesized_expression "(bVar17 == '$')" ( (binary_expression "bVar17 == '$'" identifier == (char_literal "'$'" ' character ')) )) (compound_statement "{\n            if ((pbVar57[0xd] == '\x01') && (pbVar57[0xe] == '1')) {\n              local_80 = (bfd_byte *)((int)local_80 + 1);\n            }\n          }" { (if_statement "if ((pbVar57[0xd] == '\x01') && (pbVar57[0xe] == '1')) {\n              local_80 = (bfd_byte *)((int)local_80 + 1);\n            }" if (parenthesized_expression "((pbVar57[0xd] == '\x01') && (pbVar57[0xe] == '1'))" ( (binary_expression "(pbVar57[0xd] == '\x01') && (pbVar57[0xe] == '1')" (parenthesized_expression "(pbVar57[0xd] == '\x01')" ( (binary_expression "pbVar57[0xd] == '\x01'" (subscript_expression "pbVar57[0xd]" identifier [ number_literal ]) == (char_literal "'\x01'" ' escape_sequence ')) )) && (parenthesized_expression "(pbVar57[0xe] == '1')" ( (binary_expression "pbVar57[0xe] == '1'" (subscript_expression "pbVar57[0xe]" identifier [ number_literal ]) == (char_literal "'1'" ' character ')) ))) )) (compound_statement "{\n              local_80 = (bfd_byte *)((int)local_80 + 1);\n            }" { (expression_statement "local_80 = (bfd_byte *)((int)local_80 + 1);" (assignment_expression "local_80 = (bfd_byte *)((int)local_80 + 1)" identifier = (cast_expression "(bfd_byte *)((int)local_80 + 1)" ( (type_descriptor "bfd_byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_80 + 1)" ( (binary_expression "(int)local_80 + 1" (cast_expression "(int)local_80" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) })) }) (else_clause "else if ((((4 < uVar58) && (bVar17 == 'G')) && (pbVar57[0xd] == 'A')) &&\n                  ((pbVar57[0xe] == '$' && (pbVar57[0xf] == '\x01')))) {\n            bVar17 = pbVar57[0x10];\n            if (bVar17 == '2') {\n              local_84 = (int *)((int)local_84 + 1);\n            }\n            else {\n              if (bVar17 != '3') {\n                pcVar24 = (char *)dcgettext(0,\n                                            "corrupt GNU build attribute note: unsupported version",\n                                            5,bVar17);\n                goto LAB_0001a72d;\n              }\n              local_6c = local_6c + 1;\n            }\n          }" else (if_statement "if ((((4 < uVar58) && (bVar17 == 'G')) && (pbVar57[0xd] == 'A')) &&\n                  ((pbVar57[0xe] == '$' && (pbVar57[0xf] == '\x01')))) {\n            bVar17 = pbVar57[0x10];\n            if (bVar17 == '2') {\n              local_84 = (int *)((int)local_84 + 1);\n            }\n            else {\n              if (bVar17 != '3') {\n                pcVar24 = (char *)dcgettext(0,\n                                            "corrupt GNU build attribute note: unsupported version",\n                                            5,bVar17);\n                goto LAB_0001a72d;\n              }\n              local_6c = local_6c + 1;\n            }\n          }" if (parenthesized_expression "((((4 < uVar58) && (bVar17 == 'G')) && (pbVar57[0xd] == 'A')) &&\n                  ((pbVar57[0xe] == '$' && (pbVar57[0xf] == '\x01'))))" ( (binary_expression "(((4 < uVar58) && (bVar17 == 'G')) && (pbVar57[0xd] == 'A')) &&\n                  ((pbVar57[0xe] == '$' && (pbVar57[0xf] == '\x01')))" (parenthesized_expression "(((4 < uVar58) && (bVar17 == 'G')) && (pbVar57[0xd] == 'A'))" ( (binary_expression "((4 < uVar58) && (bVar17 == 'G')) && (pbVar57[0xd] == 'A')" (parenthesized_expression "((4 < uVar58) && (bVar17 == 'G'))" ( (binary_expression "(4 < uVar58) && (bVar17 == 'G')" (parenthesized_expression "(4 < uVar58)" ( (binary_expression "4 < uVar58" number_literal < identifier) )) && (parenthesized_expression "(bVar17 == 'G')" ( (binary_expression "bVar17 == 'G'" identifier == (char_literal "'G'" ' character ')) ))) )) && (parenthesized_expression "(pbVar57[0xd] == 'A')" ( (binary_expression "pbVar57[0xd] == 'A'" (subscript_expression "pbVar57[0xd]" identifier [ number_literal ]) == (char_literal "'A'" ' character ')) ))) )) && (parenthesized_expression "((pbVar57[0xe] == '$' && (pbVar57[0xf] == '\x01')))" ( (parenthesized_expression "(pbVar57[0xe] == '$' && (pbVar57[0xf] == '\x01'))" ( (binary_expression "pbVar57[0xe] == '$' && (pbVar57[0xf] == '\x01')" (binary_expression "pbVar57[0xe] == '$'" (subscript_expression "pbVar57[0xe]" identifier [ number_literal ]) == (char_literal "'$'" ' character ')) && (parenthesized_expression "(pbVar57[0xf] == '\x01')" ( (binary_expression "pbVar57[0xf] == '\x01'" (subscript_expression "pbVar57[0xf]" identifier [ number_literal ]) == (char_literal "'\x01'" ' escape_sequence ')) ))) )) ))) )) (compound_statement "{\n            bVar17 = pbVar57[0x10];\n            if (bVar17 == '2') {\n              local_84 = (int *)((int)local_84 + 1);\n            }\n            else {\n              if (bVar17 != '3') {\n                pcVar24 = (char *)dcgettext(0,\n                                            "corrupt GNU build attribute note: unsupported version",\n                                            5,bVar17);\n                goto LAB_0001a72d;\n              }\n              local_6c = local_6c + 1;\n            }\n          }" { (expression_statement "bVar17 = pbVar57[0x10];" (assignment_expression "bVar17 = pbVar57[0x10]" identifier = (subscript_expression "pbVar57[0x10]" identifier [ number_literal ])) ;) (if_statement "if (bVar17 == '2') {\n              local_84 = (int *)((int)local_84 + 1);\n            }\n            else {\n              if (bVar17 != '3') {\n                pcVar24 = (char *)dcgettext(0,\n                                            "corrupt GNU build attribute note: unsupported version",\n                                            5,bVar17);\n                goto LAB_0001a72d;\n              }\n              local_6c = local_6c + 1;\n            }" if (parenthesized_expression "(bVar17 == '2')" ( (binary_expression "bVar17 == '2'" identifier == (char_literal "'2'" ' character ')) )) (compound_statement "{\n              local_84 = (int *)((int)local_84 + 1);\n            }" { (expression_statement "local_84 = (int *)((int)local_84 + 1);" (assignment_expression "local_84 = (int *)((int)local_84 + 1)" identifier = (cast_expression "(int *)((int)local_84 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_84 + 1)" ( (binary_expression "(int)local_84 + 1" (cast_expression "(int)local_84" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) (else_clause "else {\n              if (bVar17 != '3') {\n                pcVar24 = (char *)dcgettext(0,\n                                            "corrupt GNU build attribute note: unsupported version",\n                                            5,bVar17);\n                goto LAB_0001a72d;\n              }\n              local_6c = local_6c + 1;\n            }" else (compound_statement "{\n              if (bVar17 != '3') {\n                pcVar24 = (char *)dcgettext(0,\n                                            "corrupt GNU build attribute note: unsupported version",\n                                            5,bVar17);\n                goto LAB_0001a72d;\n              }\n              local_6c = local_6c + 1;\n            }" { (if_statement "if (bVar17 != '3') {\n                pcVar24 = (char *)dcgettext(0,\n                                            "corrupt GNU build attribute note: unsupported version",\n                                            5,bVar17);\n                goto LAB_0001a72d;\n              }" if (parenthesized_expression "(bVar17 != '3')" ( (binary_expression "bVar17 != '3'" identifier != (char_literal "'3'" ' character ')) )) (compound_statement "{\n                pcVar24 = (char *)dcgettext(0,\n                                            "corrupt GNU build attribute note: unsupported version",\n                                            5,bVar17);\n                goto LAB_0001a72d;\n              }" { (expression_statement "pcVar24 = (char *)dcgettext(0,\n                                            "corrupt GNU build attribute note: unsupported version",\n                                            5,bVar17);" (assignment_expression "pcVar24 = (char *)dcgettext(0,\n                                            "corrupt GNU build attribute note: unsupported version",\n                                            5,bVar17)" identifier = (cast_expression "(char *)dcgettext(0,\n                                            "corrupt GNU build attribute note: unsupported version",\n                                            5,bVar17)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,\n                                            "corrupt GNU build attribute note: unsupported version",\n                                            5,bVar17)" identifier (argument_list "(0,\n                                            "corrupt GNU build attribute note: unsupported version",\n                                            5,bVar17)" ( number_literal , (string_literal ""corrupt GNU build attribute note: unsupported version"" " string_content ") , number_literal , identifier ))))) ;) (goto_statement "goto LAB_0001a72d;" goto statement_identifier ;) })) (expression_statement "local_6c = local_6c + 1;" (assignment_expression "local_6c = local_6c + 1" identifier = (binary_expression "local_6c + 1" identifier + number_literal)) ;) }))) })))) (if_statement "if (uVar47 == 4) {\n            pbVar69 = (bfd *)(*ibfd->xvec->bfd_getx32)(pbVar3);\n            pcVar24 = (char *)0xffffffff;\n          }\n          else if (uVar47 < 5) {\n            if (uVar47 != 0) {\nLAB_0001a7ea:\n              pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute note: bad description size"\n                                          ,5,bVar17);\n              goto LAB_0001a72d;\n            }\n            pcVar24 = (char *)0x0;\n            pbVar69 = (bfd *)0x0;\n          }\n          else {\n            pbVar55 = ibfd;\n            if (uVar47 == 8) {\n              pbVar8 = ibfd->xvec;\n              if ((pbVar8->flavour == bfd_target_elf_flavour) &&\n                 (((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02')) {\n                bVar68 = (*pbVar8->bfd_getx64)(pbVar3);\n                pbVar69 = (bfd *)bVar68;\n                pcVar24 = (char *)0xffffffff;\n              }\n              else {\n                pbVar69 = (bfd *)(*pbVar8->bfd_getx32)(pbVar3);\n                pcVar24 = (char *)(*ibfd->xvec->bfd_getx32)(pbVar3 + 4);\n              }\n            }\n            else {\n              if (uVar47 != 0x10) goto LAB_0001a7ea;\n              bVar68 = (*ibfd->xvec->bfd_getx64)(pbVar3);\n              pbVar69 = (bfd *)bVar68;\n              bVar68 = (*ibfd->xvec->bfd_getx64)(pbVar3 + 8);\n              pcVar24 = (char *)bVar68;\n            }\n          }" if (parenthesized_expression "(uVar47 == 4)" ( (binary_expression "uVar47 == 4" identifier == number_literal) )) (compound_statement "{\n            pbVar69 = (bfd *)(*ibfd->xvec->bfd_getx32)(pbVar3);\n            pcVar24 = (char *)0xffffffff;\n          }" { (expression_statement "pbVar69 = (bfd *)(*ibfd->xvec->bfd_getx32)(pbVar3);" (assignment_expression "pbVar69 = (bfd *)(*ibfd->xvec->bfd_getx32)(pbVar3)" identifier = (cast_expression "(bfd *)(*ibfd->xvec->bfd_getx32)(pbVar3)" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*ibfd->xvec->bfd_getx32)(pbVar3)" (parenthesized_expression "(*ibfd->xvec->bfd_getx32)" ( (pointer_expression "*ibfd->xvec->bfd_getx32" * (field_expression "ibfd->xvec->bfd_getx32" (field_expression "ibfd->xvec" identifier -> field_identifier) -> field_identifier)) )) (argument_list "(pbVar3)" ( identifier ))))) ;) (expression_statement "pcVar24 = (char *)0xffffffff;" (assignment_expression "pcVar24 = (char *)0xffffffff" identifier = (cast_expression "(char *)0xffffffff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else if (uVar47 < 5) {\n            if (uVar47 != 0) {\nLAB_0001a7ea:\n              pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute note: bad description size"\n                                          ,5,bVar17);\n              goto LAB_0001a72d;\n            }\n            pcVar24 = (char *)0x0;\n            pbVar69 = (bfd *)0x0;\n          }\n          else {\n            pbVar55 = ibfd;\n            if (uVar47 == 8) {\n              pbVar8 = ibfd->xvec;\n              if ((pbVar8->flavour == bfd_target_elf_flavour) &&\n                 (((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02')) {\n                bVar68 = (*pbVar8->bfd_getx64)(pbVar3);\n                pbVar69 = (bfd *)bVar68;\n                pcVar24 = (char *)0xffffffff;\n              }\n              else {\n                pbVar69 = (bfd *)(*pbVar8->bfd_getx32)(pbVar3);\n                pcVar24 = (char *)(*ibfd->xvec->bfd_getx32)(pbVar3 + 4);\n              }\n            }\n            else {\n              if (uVar47 != 0x10) goto LAB_0001a7ea;\n              bVar68 = (*ibfd->xvec->bfd_getx64)(pbVar3);\n              pbVar69 = (bfd *)bVar68;\n              bVar68 = (*ibfd->xvec->bfd_getx64)(pbVar3 + 8);\n              pcVar24 = (char *)bVar68;\n            }\n          }" else (if_statement "if (uVar47 < 5) {\n            if (uVar47 != 0) {\nLAB_0001a7ea:\n              pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute note: bad description size"\n                                          ,5,bVar17);\n              goto LAB_0001a72d;\n            }\n            pcVar24 = (char *)0x0;\n            pbVar69 = (bfd *)0x0;\n          }\n          else {\n            pbVar55 = ibfd;\n            if (uVar47 == 8) {\n              pbVar8 = ibfd->xvec;\n              if ((pbVar8->flavour == bfd_target_elf_flavour) &&\n                 (((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02')) {\n                bVar68 = (*pbVar8->bfd_getx64)(pbVar3);\n                pbVar69 = (bfd *)bVar68;\n                pcVar24 = (char *)0xffffffff;\n              }\n              else {\n                pbVar69 = (bfd *)(*pbVar8->bfd_getx32)(pbVar3);\n                pcVar24 = (char *)(*ibfd->xvec->bfd_getx32)(pbVar3 + 4);\n              }\n            }\n            else {\n              if (uVar47 != 0x10) goto LAB_0001a7ea;\n              bVar68 = (*ibfd->xvec->bfd_getx64)(pbVar3);\n              pbVar69 = (bfd *)bVar68;\n              bVar68 = (*ibfd->xvec->bfd_getx64)(pbVar3 + 8);\n              pcVar24 = (char *)bVar68;\n            }\n          }" if (parenthesized_expression "(uVar47 < 5)" ( (binary_expression "uVar47 < 5" identifier < number_literal) )) (compound_statement "{\n            if (uVar47 != 0) {\nLAB_0001a7ea:\n              pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute note: bad description size"\n                                          ,5,bVar17);\n              goto LAB_0001a72d;\n            }\n            pcVar24 = (char *)0x0;\n            pbVar69 = (bfd *)0x0;\n          }" { (if_statement "if (uVar47 != 0) {\nLAB_0001a7ea:\n              pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute note: bad description size"\n                                          ,5,bVar17);\n              goto LAB_0001a72d;\n            }" if (parenthesized_expression "(uVar47 != 0)" ( (binary_expression "uVar47 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_0001a7ea:\n              pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute note: bad description size"\n                                          ,5,bVar17);\n              goto LAB_0001a72d;\n            }" { (labeled_statement "LAB_0001a7ea:\n              pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute note: bad description size"\n                                          ,5,bVar17);" statement_identifier : (expression_statement "pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute note: bad description size"\n                                          ,5,bVar17);" (assignment_expression "pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute note: bad description size"\n                                          ,5,bVar17)" identifier = (cast_expression "(char *)dcgettext(0,"corrupt GNU build attribute note: bad description size"\n                                          ,5,bVar17)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"corrupt GNU build attribute note: bad description size"\n                                          ,5,bVar17)" identifier (argument_list "(0,"corrupt GNU build attribute note: bad description size"\n                                          ,5,bVar17)" ( number_literal , (string_literal ""corrupt GNU build attribute note: bad description size"" " string_content ") , number_literal , identifier ))))) ;)) (goto_statement "goto LAB_0001a72d;" goto statement_identifier ;) })) (expression_statement "pcVar24 = (char *)0x0;" (assignment_expression "pcVar24 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar69 = (bfd *)0x0;" (assignment_expression "pbVar69 = (bfd *)0x0" identifier = (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n            pbVar55 = ibfd;\n            if (uVar47 == 8) {\n              pbVar8 = ibfd->xvec;\n              if ((pbVar8->flavour == bfd_target_elf_flavour) &&\n                 (((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02')) {\n                bVar68 = (*pbVar8->bfd_getx64)(pbVar3);\n                pbVar69 = (bfd *)bVar68;\n                pcVar24 = (char *)0xffffffff;\n              }\n              else {\n                pbVar69 = (bfd *)(*pbVar8->bfd_getx32)(pbVar3);\n                pcVar24 = (char *)(*ibfd->xvec->bfd_getx32)(pbVar3 + 4);\n              }\n            }\n            else {\n              if (uVar47 != 0x10) goto LAB_0001a7ea;\n              bVar68 = (*ibfd->xvec->bfd_getx64)(pbVar3);\n              pbVar69 = (bfd *)bVar68;\n              bVar68 = (*ibfd->xvec->bfd_getx64)(pbVar3 + 8);\n              pcVar24 = (char *)bVar68;\n            }\n          }" else (compound_statement "{\n            pbVar55 = ibfd;\n            if (uVar47 == 8) {\n              pbVar8 = ibfd->xvec;\n              if ((pbVar8->flavour == bfd_target_elf_flavour) &&\n                 (((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02')) {\n                bVar68 = (*pbVar8->bfd_getx64)(pbVar3);\n                pbVar69 = (bfd *)bVar68;\n                pcVar24 = (char *)0xffffffff;\n              }\n              else {\n                pbVar69 = (bfd *)(*pbVar8->bfd_getx32)(pbVar3);\n                pcVar24 = (char *)(*ibfd->xvec->bfd_getx32)(pbVar3 + 4);\n              }\n            }\n            else {\n              if (uVar47 != 0x10) goto LAB_0001a7ea;\n              bVar68 = (*ibfd->xvec->bfd_getx64)(pbVar3);\n              pbVar69 = (bfd *)bVar68;\n              bVar68 = (*ibfd->xvec->bfd_getx64)(pbVar3 + 8);\n              pcVar24 = (char *)bVar68;\n            }\n          }" { (expression_statement "pbVar55 = ibfd;" (assignment_expression "pbVar55 = ibfd" identifier = identifier) ;) (if_statement "if (uVar47 == 8) {\n              pbVar8 = ibfd->xvec;\n              if ((pbVar8->flavour == bfd_target_elf_flavour) &&\n                 (((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02')) {\n                bVar68 = (*pbVar8->bfd_getx64)(pbVar3);\n                pbVar69 = (bfd *)bVar68;\n                pcVar24 = (char *)0xffffffff;\n              }\n              else {\n                pbVar69 = (bfd *)(*pbVar8->bfd_getx32)(pbVar3);\n                pcVar24 = (char *)(*ibfd->xvec->bfd_getx32)(pbVar3 + 4);\n              }\n            }\n            else {\n              if (uVar47 != 0x10) goto LAB_0001a7ea;\n              bVar68 = (*ibfd->xvec->bfd_getx64)(pbVar3);\n              pbVar69 = (bfd *)bVar68;\n              bVar68 = (*ibfd->xvec->bfd_getx64)(pbVar3 + 8);\n              pcVar24 = (char *)bVar68;\n            }" if (parenthesized_expression "(uVar47 == 8)" ( (binary_expression "uVar47 == 8" identifier == number_literal) )) (compound_statement "{\n              pbVar8 = ibfd->xvec;\n              if ((pbVar8->flavour == bfd_target_elf_flavour) &&\n                 (((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02')) {\n                bVar68 = (*pbVar8->bfd_getx64)(pbVar3);\n                pbVar69 = (bfd *)bVar68;\n                pcVar24 = (char *)0xffffffff;\n              }\n              else {\n                pbVar69 = (bfd *)(*pbVar8->bfd_getx32)(pbVar3);\n                pcVar24 = (char *)(*ibfd->xvec->bfd_getx32)(pbVar3 + 4);\n              }\n            }" { (expression_statement "pbVar8 = ibfd->xvec;" (assignment_expression "pbVar8 = ibfd->xvec" identifier = (field_expression "ibfd->xvec" identifier -> field_identifier)) ;) (if_statement "if ((pbVar8->flavour == bfd_target_elf_flavour) &&\n                 (((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02')) {\n                bVar68 = (*pbVar8->bfd_getx64)(pbVar3);\n                pbVar69 = (bfd *)bVar68;\n                pcVar24 = (char *)0xffffffff;\n              }\n              else {\n                pbVar69 = (bfd *)(*pbVar8->bfd_getx32)(pbVar3);\n                pcVar24 = (char *)(*ibfd->xvec->bfd_getx32)(pbVar3 + 4);\n              }" if (parenthesized_expression "((pbVar8->flavour == bfd_target_elf_flavour) &&\n                 (((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02'))" ( (binary_expression "(pbVar8->flavour == bfd_target_elf_flavour) &&\n                 (((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02')" (parenthesized_expression "(pbVar8->flavour == bfd_target_elf_flavour)" ( (binary_expression "pbVar8->flavour == bfd_target_elf_flavour" (field_expression "pbVar8->flavour" identifier -> field_identifier) == identifier) )) && (parenthesized_expression "(((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02')" ( (binary_expression "((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02'" (subscript_expression "((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4]" (field_expression "((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident" (subscript_expression "((ibfd->tdata).elf_obj_data)->elf_header[0]" (field_expression "((ibfd->tdata).elf_obj_data)->elf_header" (parenthesized_expression "((ibfd->tdata).elf_obj_data)" ( (field_expression "(ibfd->tdata).elf_obj_data" (parenthesized_expression "(ibfd->tdata)" ( (field_expression "ibfd->tdata" identifier -> field_identifier) )) . field_identifier) )) -> field_identifier) [ number_literal ]) . field_identifier) [ number_literal ]) == (char_literal "'\x02'" ' escape_sequence ')) ))) )) (compound_statement "{\n                bVar68 = (*pbVar8->bfd_getx64)(pbVar3);\n                pbVar69 = (bfd *)bVar68;\n                pcVar24 = (char *)0xffffffff;\n              }" { (expression_statement "bVar68 = (*pbVar8->bfd_getx64)(pbVar3);" (assignment_expression "bVar68 = (*pbVar8->bfd_getx64)(pbVar3)" identifier = (call_expression "(*pbVar8->bfd_getx64)(pbVar3)" (parenthesized_expression "(*pbVar8->bfd_getx64)" ( (pointer_expression "*pbVar8->bfd_getx64" * (field_expression "pbVar8->bfd_getx64" identifier -> field_identifier)) )) (argument_list "(pbVar3)" ( identifier )))) ;) (expression_statement "pbVar69 = (bfd *)bVar68;" (assignment_expression "pbVar69 = (bfd *)bVar68" identifier = (cast_expression "(bfd *)bVar68" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pcVar24 = (char *)0xffffffff;" (assignment_expression "pcVar24 = (char *)0xffffffff" identifier = (cast_expression "(char *)0xffffffff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n                pbVar69 = (bfd *)(*pbVar8->bfd_getx32)(pbVar3);\n                pcVar24 = (char *)(*ibfd->xvec->bfd_getx32)(pbVar3 + 4);\n              }" else (compound_statement "{\n                pbVar69 = (bfd *)(*pbVar8->bfd_getx32)(pbVar3);\n                pcVar24 = (char *)(*ibfd->xvec->bfd_getx32)(pbVar3 + 4);\n              }" { (expression_statement "pbVar69 = (bfd *)(*pbVar8->bfd_getx32)(pbVar3);" (assignment_expression "pbVar69 = (bfd *)(*pbVar8->bfd_getx32)(pbVar3)" identifier = (cast_expression "(bfd *)(*pbVar8->bfd_getx32)(pbVar3)" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pbVar8->bfd_getx32)(pbVar3)" (parenthesized_expression "(*pbVar8->bfd_getx32)" ( (pointer_expression "*pbVar8->bfd_getx32" * (field_expression "pbVar8->bfd_getx32" identifier -> field_identifier)) )) (argument_list "(pbVar3)" ( identifier ))))) ;) (expression_statement "pcVar24 = (char *)(*ibfd->xvec->bfd_getx32)(pbVar3 + 4);" (assignment_expression "pcVar24 = (char *)(*ibfd->xvec->bfd_getx32)(pbVar3 + 4)" identifier = (cast_expression "(char *)(*ibfd->xvec->bfd_getx32)(pbVar3 + 4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*ibfd->xvec->bfd_getx32)(pbVar3 + 4)" (parenthesized_expression "(*ibfd->xvec->bfd_getx32)" ( (pointer_expression "*ibfd->xvec->bfd_getx32" * (field_expression "ibfd->xvec->bfd_getx32" (field_expression "ibfd->xvec" identifier -> field_identifier) -> field_identifier)) )) (argument_list "(pbVar3 + 4)" ( (binary_expression "pbVar3 + 4" identifier + number_literal) ))))) ;) }))) }) (else_clause "else {\n              if (uVar47 != 0x10) goto LAB_0001a7ea;\n              bVar68 = (*ibfd->xvec->bfd_getx64)(pbVar3);\n              pbVar69 = (bfd *)bVar68;\n              bVar68 = (*ibfd->xvec->bfd_getx64)(pbVar3 + 8);\n              pcVar24 = (char *)bVar68;\n            }" else (compound_statement "{\n              if (uVar47 != 0x10) goto LAB_0001a7ea;\n              bVar68 = (*ibfd->xvec->bfd_getx64)(pbVar3);\n              pbVar69 = (bfd *)bVar68;\n              bVar68 = (*ibfd->xvec->bfd_getx64)(pbVar3 + 8);\n              pcVar24 = (char *)bVar68;\n            }" { (if_statement "if (uVar47 != 0x10) goto LAB_0001a7ea;" if (parenthesized_expression "(uVar47 != 0x10)" ( (binary_expression "uVar47 != 0x10" identifier != number_literal) )) (goto_statement "goto LAB_0001a7ea;" goto statement_identifier ;)) (expression_statement "bVar68 = (*ibfd->xvec->bfd_getx64)(pbVar3);" (assignment_expression "bVar68 = (*ibfd->xvec->bfd_getx64)(pbVar3)" identifier = (call_expression "(*ibfd->xvec->bfd_getx64)(pbVar3)" (parenthesized_expression "(*ibfd->xvec->bfd_getx64)" ( (pointer_expression "*ibfd->xvec->bfd_getx64" * (field_expression "ibfd->xvec->bfd_getx64" (field_expression "ibfd->xvec" identifier -> field_identifier) -> field_identifier)) )) (argument_list "(pbVar3)" ( identifier )))) ;) (expression_statement "pbVar69 = (bfd *)bVar68;" (assignment_expression "pbVar69 = (bfd *)bVar68" identifier = (cast_expression "(bfd *)bVar68" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "bVar68 = (*ibfd->xvec->bfd_getx64)(pbVar3 + 8);" (assignment_expression "bVar68 = (*ibfd->xvec->bfd_getx64)(pbVar3 + 8)" identifier = (call_expression "(*ibfd->xvec->bfd_getx64)(pbVar3 + 8)" (parenthesized_expression "(*ibfd->xvec->bfd_getx64)" ( (pointer_expression "*ibfd->xvec->bfd_getx64" * (field_expression "ibfd->xvec->bfd_getx64" (field_expression "ibfd->xvec" identifier -> field_identifier) -> field_identifier)) )) (argument_list "(pbVar3 + 8)" ( (binary_expression "pbVar3 + 8" identifier + number_literal) )))) ;) (expression_statement "pcVar24 = (char *)bVar68;" (assignment_expression "pcVar24 = (char *)bVar68" identifier = (cast_expression "(char *)bVar68" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) }))) }))))) (if_statement "if (bVar43 == 0x100) {\n            if (pbVar69 == (bfd *)0x0) {\n              pbVar69 = local_8c;\n            }\n            if (pcVar24 == (char *)0x0) {\n              pcVar24 = (char *)local_90;\n            }\n            local_64[6] = (bfd_vma)pbVar69;\n            local_64[7] = (bfd_vma)pcVar24;\n            local_90 = pcVar24;\n            local_8c = pbVar69;\n          }\n          else {\n            if (pbVar69 == (bfd *)0x0) {\n              pbVar69 = local_94;\n            }\n            if (pcVar24 == (char *)0x0) {\n              pcVar24 = local_98;\n            }\n            local_64[6] = (bfd_vma)pbVar69;\n            local_64[7] = (bfd_vma)pcVar24;\n            local_98 = pcVar24;\n            local_94 = pbVar69;\n          }" if (parenthesized_expression "(bVar43 == 0x100)" ( (binary_expression "bVar43 == 0x100" identifier == number_literal) )) (compound_statement "{\n            if (pbVar69 == (bfd *)0x0) {\n              pbVar69 = local_8c;\n            }\n            if (pcVar24 == (char *)0x0) {\n              pcVar24 = (char *)local_90;\n            }\n            local_64[6] = (bfd_vma)pbVar69;\n            local_64[7] = (bfd_vma)pcVar24;\n            local_90 = pcVar24;\n            local_8c = pbVar69;\n          }" { (if_statement "if (pbVar69 == (bfd *)0x0) {\n              pbVar69 = local_8c;\n            }" if (parenthesized_expression "(pbVar69 == (bfd *)0x0)" ( (binary_expression "pbVar69 == (bfd *)0x0" identifier == (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              pbVar69 = local_8c;\n            }" { (expression_statement "pbVar69 = local_8c;" (assignment_expression "pbVar69 = local_8c" identifier = identifier) ;) })) (if_statement "if (pcVar24 == (char *)0x0) {\n              pcVar24 = (char *)local_90;\n            }" if (parenthesized_expression "(pcVar24 == (char *)0x0)" ( (binary_expression "pcVar24 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              pcVar24 = (char *)local_90;\n            }" { (expression_statement "pcVar24 = (char *)local_90;" (assignment_expression "pcVar24 = (char *)local_90" identifier = (cast_expression "(char *)local_90" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) })) (expression_statement "local_64[6] = (bfd_vma)pbVar69;" (assignment_expression "local_64[6] = (bfd_vma)pbVar69" (subscript_expression "local_64[6]" identifier [ number_literal ]) = (cast_expression "(bfd_vma)pbVar69" ( (type_descriptor "bfd_vma" type_identifier) ) identifier)) ;) (expression_statement "local_64[7] = (bfd_vma)pcVar24;" (assignment_expression "local_64[7] = (bfd_vma)pcVar24" (subscript_expression "local_64[7]" identifier [ number_literal ]) = (cast_expression "(bfd_vma)pcVar24" ( (type_descriptor "bfd_vma" type_identifier) ) identifier)) ;) (expression_statement "local_90 = pcVar24;" (assignment_expression "local_90 = pcVar24" identifier = identifier) ;) (expression_statement "local_8c = pbVar69;" (assignment_expression "local_8c = pbVar69" identifier = identifier) ;) }) (else_clause "else {\n            if (pbVar69 == (bfd *)0x0) {\n              pbVar69 = local_94;\n            }\n            if (pcVar24 == (char *)0x0) {\n              pcVar24 = local_98;\n            }\n            local_64[6] = (bfd_vma)pbVar69;\n            local_64[7] = (bfd_vma)pcVar24;\n            local_98 = pcVar24;\n            local_94 = pbVar69;\n          }" else (compound_statement "{\n            if (pbVar69 == (bfd *)0x0) {\n              pbVar69 = local_94;\n            }\n            if (pcVar24 == (char *)0x0) {\n              pcVar24 = local_98;\n            }\n            local_64[6] = (bfd_vma)pbVar69;\n            local_64[7] = (bfd_vma)pcVar24;\n            local_98 = pcVar24;\n            local_94 = pbVar69;\n          }" { (if_statement "if (pbVar69 == (bfd *)0x0) {\n              pbVar69 = local_94;\n            }" if (parenthesized_expression "(pbVar69 == (bfd *)0x0)" ( (binary_expression "pbVar69 == (bfd *)0x0" identifier == (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              pbVar69 = local_94;\n            }" { (expression_statement "pbVar69 = local_94;" (assignment_expression "pbVar69 = local_94" identifier = identifier) ;) })) (if_statement "if (pcVar24 == (char *)0x0) {\n              pcVar24 = local_98;\n            }" if (parenthesized_expression "(pcVar24 == (char *)0x0)" ( (binary_expression "pcVar24 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              pcVar24 = local_98;\n            }" { (expression_statement "pcVar24 = local_98;" (assignment_expression "pcVar24 = local_98" identifier = identifier) ;) })) (expression_statement "local_64[6] = (bfd_vma)pbVar69;" (assignment_expression "local_64[6] = (bfd_vma)pbVar69" (subscript_expression "local_64[6]" identifier [ number_literal ]) = (cast_expression "(bfd_vma)pbVar69" ( (type_descriptor "bfd_vma" type_identifier) ) identifier)) ;) (expression_statement "local_64[7] = (bfd_vma)pcVar24;" (assignment_expression "local_64[7] = (bfd_vma)pcVar24" (subscript_expression "local_64[7]" identifier [ number_literal ]) = (cast_expression "(bfd_vma)pcVar24" ( (type_descriptor "bfd_vma" type_identifier) ) identifier)) ;) (expression_statement "local_98 = pcVar24;" (assignment_expression "local_98 = pcVar24" identifier = identifier) ;) (expression_statement "local_94 = pbVar69;" (assignment_expression "local_94 = pbVar69" identifier = identifier) ;) }))) (if_statement "if (*(char *)(local_64[3] + (*local_64 - 1)) != '\0') {\n            pcVar24 = (char *)dcgettext(0,\n                                        "corrupt GNU build attribute note: name not NUL terminated",\n                                        5,*local_64);\n            goto LAB_0001a72d;\n          }" if (parenthesized_expression "(*(char *)(local_64[3] + (*local_64 - 1)) != '\0')" ( (binary_expression "*(char *)(local_64[3] + (*local_64 - 1)) != '\0'" (pointer_expression "*(char *)(local_64[3] + (*local_64 - 1))" * (cast_expression "(char *)(local_64[3] + (*local_64 - 1))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_64[3] + (*local_64 - 1))" ( (binary_expression "local_64[3] + (*local_64 - 1)" (subscript_expression "local_64[3]" identifier [ number_literal ]) + (parenthesized_expression "(*local_64 - 1)" ( (binary_expression "*local_64 - 1" (pointer_expression "*local_64" * identifier) - number_literal) ))) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            pcVar24 = (char *)dcgettext(0,\n                                        "corrupt GNU build attribute note: name not NUL terminated",\n                                        5,*local_64);\n            goto LAB_0001a72d;\n          }" { (expression_statement "pcVar24 = (char *)dcgettext(0,\n                                        "corrupt GNU build attribute note: name not NUL terminated",\n                                        5,*local_64);" (assignment_expression "pcVar24 = (char *)dcgettext(0,\n                                        "corrupt GNU build attribute note: name not NUL terminated",\n                                        5,*local_64)" identifier = (cast_expression "(char *)dcgettext(0,\n                                        "corrupt GNU build attribute note: name not NUL terminated",\n                                        5,*local_64)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,\n                                        "corrupt GNU build attribute note: name not NUL terminated",\n                                        5,*local_64)" identifier (argument_list "(0,\n                                        "corrupt GNU build attribute note: name not NUL terminated",\n                                        5,*local_64)" ( number_literal , (string_literal ""corrupt GNU build attribute note: name not NUL terminated"" " string_content ") , number_literal , (pointer_expression "*local_64" * identifier) ))))) ;) (goto_statement "goto LAB_0001a72d;" goto statement_identifier ;) })) (expression_statement "local_64 = local_64 + 9;" (assignment_expression "local_64 = local_64 + 9" identifier = (binary_expression "local_64 + 9" identifier + number_literal)) ;) (expression_statement "pbVar57 = pbVar57 + (int)(iVar18 + 0xcU);" (assignment_expression "pbVar57 = pbVar57 + (int)(iVar18 + 0xcU)" identifier = (binary_expression "pbVar57 + (int)(iVar18 + 0xcU)" identifier + (cast_expression "(int)(iVar18 + 0xcU)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar18 + 0xcU)" ( (binary_expression "iVar18 + 0xcU" identifier + number_literal) ))))) ;) })) (if_statement "if (local_74 == (bfd_byte *)0x0) {\n          uVar58 = (uint)local_84 | local_6c;\n          if (local_80 == (bfd_byte *)0x0 && uVar58 == 0) {\n            pcVar24 = (char *)dcgettext(0,\n                                        "bad GNU build attribute notes: no known versions detected",\n                                        5,uVar58);\n            goto LAB_0001a72d;\n          }\n          if (((local_80 != (bfd_byte *)0x0) && (uVar58 != 0)) ||\n             ((local_84 != (int *)0x0 && (local_6c != 0)))) {\n            pcVar24 = (char *)dcgettext(0,\n                                        "bad GNU build attribute notes: multiple different versions"\n                                        ,5,pbVar69);\n            goto LAB_0001a72d;\n          }\n          if ((local_80 == (bfd_byte *)0x1 || local_84 == (int *)0x1) || (local_6c == 1))\n          goto LAB_0001a75c;\n          uVar58 = -(uint)(local_80 == (bfd_byte *)0x0) & 2;\n          iVar18 = uVar58 + 1;\n          if (*(char *)(local_60[3] + iVar18) != '\x01') {\n            pcVar24 = (char *)dcgettext(0,\n                                        "bad GNU build attribute notes: first note not version note"\n                                        ,5,pbVar55);\n            goto LAB_0001a72d;\n          }\n          bVar64 = false;\n          iVar22 = uVar58 + 2;\n          pbVar56 = local_60;\nLAB_0001a954:\n          pbVar13 = pbVar56;\n          pbVar56 = pbVar13 + 9;\n          if (pbVar56 < local_64) {\n            if (pbVar13[0xb] == 0x100) {\n              pvVar44 = (void *)pbVar13[0xc];\n              local_7c = (bfd_vma *)0x0;\n              pbVar63 = pbVar56;\n              do {\n                do {\n                  pbVar12 = pbVar63;\n                  pbVar63 = pbVar12 + -9;\n                  if (pbVar63 < local_60) goto LAB_0001a954;\n                  pvVar49 = (void *)pbVar12[-6];\n                  pbVar16 = local_7c;\n                } while ((((local_7c == (bfd_vma *)0x0) && (pbVar12[-8] != 0)) &&\n                         (pbVar16 = pbVar63, pbVar12[-7] == 0x101)) ||\n                        ((local_7c = pbVar16,\n                         *(char *)((int)pvVar44 + iVar18) != *(char *)((int)pvVar49 + iVar18) ||\n                         (pbVar12[-7] != 0x100))));\n                if (*(char *)((int)pvVar49 + iVar18) != '\x04') {\n                  pbVar69 = (bfd *)*pbVar63;\n                  if ((((pbVar69 == (bfd *)*pbVar56) &&\n                       (pbVar71 = (bfd *)pbVar56, iVar39 = memcmp(pvVar49,pvVar44,(size_t)pbVar69),\n                       pvVar70 = pvVar44, pbVar42 = pbVar69, iVar39 == 0)) &&\n                      ((uVar58 = pbVar12[-2], uVar58 != 0 && (uVar47 = pbVar13[0x10], uVar47 != 0)))\n                      ) && ((0xfffffff0 < uVar58 || (pbVar13[0xf] <= (uVar58 + 0xf & 0xfffffff0)))))\n                  {\n                    pbVar13[0xb] = 0;\n                    if (uVar58 < uVar47) {\n                      pbVar12[-2] = uVar47;\n                    }\n                    bVar64 = true;\n                    if (local_6c != 0) {\n                      pbVar12[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((pbVar13[10] == 0) && (local_7c != (bfd_vma *)0x0)) && (local_7c[2] == 0))\n                    {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    pbVar13[0x11] = 1;\n                    pbVar13[0xb] = 0x101;\n                    pbVar12[-1] = 1;\n                    pbVar12[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }\n                uVar58 = 0;\n                for (iVar39 = 0; (int)*pbVar56 - iVar22 != iVar39; iVar39 = iVar39 + 1) {\n                  uVar58 = uVar58 | (uint)*(byte *)((int)pvVar44 + iVar39 + iVar22) <<\n                                    ((char)iVar39 * '\b' & 0x1fU);\n                }\n                bVar43 = *pbVar63;\n                local_5c = (bfd *)0x0;\n                for (uVar47 = 0; bVar43 - iVar22 != uVar47; uVar47 = uVar47 + 1) {\n                  local_5c = (bfd *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar49 + iVar22))[uVar47] <<\n                                    ((char)uVar47 * '\b' & 0x1fU));\n                }\n                uVar48 = 0;\n                uVar58 = (int)local_5c + uVar58;\n                for (uVar46 = uVar58; uVar46 != 0; uVar46 = uVar46 >> 8) {\n                  uVar48 = uVar48 + 1;\n                }\n                in_stack_ffffff54 = (bfd *)pbVar56;\n              } while (uVar47 <= uVar48);\n              puVar61 = (undefined1 *)((int)pvVar49 + iVar22);\n              while (puVar61 < (undefined1 *)((int)pvVar49 + bVar43)) {\n                *puVar61 = (char)uVar58;\n                if (uVar58 == 0) break;\n                uVar58 = uVar58 >> 8;\n                puVar61 = puVar61 + 1;\n              }\n              pbVar13[0xb] = 0;\n              bVar64 = true;\n            }\n            goto LAB_0001a954;\n          }\n          in_stack_ffffff58 = obfd;\n          local_5c = obfd;\n          if (!bVar64) goto LAB_0001a75c;\n          pvVar44 = (void *)xmalloc(pbVar36,pvVar70,pbVar42,pbVar71);\n          bVar43 = 0;\n          pvVar70 = pvVar44;\n          local_80 = pbVar50;\n          for (pbVar56 = local_60; pbVar56 < local_64; pbVar56 = pbVar56 + 9) {\n            bVar45 = *pbVar56;\n            sVar34 = pbVar56[1] + 0xc + bVar45;\n            bVar10 = pbVar56[2];\n            pvVar49 = pvVar70;\n            if (bVar10 != 0) {\n              if (pbVar56[8] == 0) {\n                memcpy(pvVar70,local_80,sVar34);\n                pvVar49 = (void *)((int)pvVar70 + sVar34);\n              }\n              else {\n                pbVar57 = (bfd_byte *)pbVar56[6];\n                p_Var9 = ibfd->xvec->bfd_putx32;\n                __dest = (void *)((int)pvVar70 + 0xc);\n                pvVar49 = (void *)((int)__dest + bVar45);\n                if ((pbVar57 == local_74) && (pbVar56[7] == bVar43)) {\n                  (*p_Var9)(bVar45,pvVar70);\n                  (*ibfd->xvec->bfd_putx32)(0,(void *)((int)pvVar70 + 4));\n                  (*ibfd->xvec->bfd_putx32)(bVar10,(void *)((int)pvVar70 + 8));\n                  memcpy(__dest,(void *)pbVar56[3],bVar45);\n                }\n                else {\n                  (*p_Var9)(bVar45,pvVar70);\n                  bVar43 = 8;\n                  if (ibfd->xvec->flavour == bfd_target_elf_flavour) {\n                    bVar43 = (uint)(((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02'\n                                   ) * 8 + 8;\n                  }\n                  (*ibfd->xvec->bfd_putx32)(bVar43,(void *)((int)pvVar70 + 4));\n                  (*ibfd->xvec->bfd_putx32)(bVar10,(void *)((int)pvVar70 + 8));\n                  memcpy(__dest,(void *)pbVar56[3],bVar45);\n                  pbVar8 = ibfd->xvec;\n                  if ((pbVar8->flavour == bfd_target_elf_flavour) &&\n                     (((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02')) {\n                    (*pbVar8->bfd_putx64)(ZEXT48(pbVar57),pvVar49);\n                    (*ibfd->xvec->bfd_putx64)((ulonglong)pbVar56[7],(void *)((int)pvVar49 + 8));\n                    pvVar49 = (void *)((int)pvVar49 + 0x10);\n                  }\n                  else {\n                    (*pbVar8->bfd_putx32)((bfd_vma)pbVar57,pvVar49);\n                    (*ibfd->xvec->bfd_putx32)(pbVar56[7],(void *)((int)pvVar49 + 4));\n                    pvVar49 = (void *)((int)pvVar49 + 8);\n                  }\n                }\n              }\n              local_74 = (bfd_byte *)pbVar56[6];\n              bVar43 = pbVar56[7];\n            }\n            local_80 = local_80 + sVar34;\n            pvVar70 = pvVar49;\n          }\n          pbVar57 = (bfd_byte *)((int)pvVar70 - (int)pvVar44);\n          memcpy(pbVar50,pvVar44,(size_t)pbVar57);\n          free(pvVar44);\n          free(local_60);\n          merged_size = (bfd_size_type)pbVar57;\n          if (pbVar36 != pbVar57) {\n            iVar18 = (int)pbVar62->proxy_origin;\n            uVar29 = extraout_ECX_02;\n            if ((iVar18 != 0) &&\n               (iVar18 = bfd_set_section_size(obfd,iVar18,pbVar57,extraout_EDX),\n               uVar29 = extraout_ECX_03, iVar18 != 0)) goto LAB_00018aad;\n            pcVar24 = (char *)dcgettext(0,"warning: failed to set merged notes size",5,uVar29);\n            bfd_nonfatal_message((char *)0x0,obfd,(asection *)pbVar62,pcVar24);\n          }\n        }\n        else {\n          pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute notes: excess data at end",5,\n                                      local_64);\nLAB_0001a72d:\n          if (pcVar24 != (char *)0x0) {\n            bfd_set_error(0x11);\n            bfd_nonfatal_message((char *)0x0,ibfd,(asection *)pbVar62,pcVar24);\n            status = 1;\n          }\nLAB_0001a75c:\n          free(local_60);\n        }" if (parenthesized_expression "(local_74 == (bfd_byte *)0x0)" ( (binary_expression "local_74 == (bfd_byte *)0x0" identifier == (cast_expression "(bfd_byte *)0x0" ( (type_descriptor "bfd_byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          uVar58 = (uint)local_84 | local_6c;\n          if (local_80 == (bfd_byte *)0x0 && uVar58 == 0) {\n            pcVar24 = (char *)dcgettext(0,\n                                        "bad GNU build attribute notes: no known versions detected",\n                                        5,uVar58);\n            goto LAB_0001a72d;\n          }\n          if (((local_80 != (bfd_byte *)0x0) && (uVar58 != 0)) ||\n             ((local_84 != (int *)0x0 && (local_6c != 0)))) {\n            pcVar24 = (char *)dcgettext(0,\n                                        "bad GNU build attribute notes: multiple different versions"\n                                        ,5,pbVar69);\n            goto LAB_0001a72d;\n          }\n          if ((local_80 == (bfd_byte *)0x1 || local_84 == (int *)0x1) || (local_6c == 1))\n          goto LAB_0001a75c;\n          uVar58 = -(uint)(local_80 == (bfd_byte *)0x0) & 2;\n          iVar18 = uVar58 + 1;\n          if (*(char *)(local_60[3] + iVar18) != '\x01') {\n            pcVar24 = (char *)dcgettext(0,\n                                        "bad GNU build attribute notes: first note not version note"\n                                        ,5,pbVar55);\n            goto LAB_0001a72d;\n          }\n          bVar64 = false;\n          iVar22 = uVar58 + 2;\n          pbVar56 = local_60;\nLAB_0001a954:\n          pbVar13 = pbVar56;\n          pbVar56 = pbVar13 + 9;\n          if (pbVar56 < local_64) {\n            if (pbVar13[0xb] == 0x100) {\n              pvVar44 = (void *)pbVar13[0xc];\n              local_7c = (bfd_vma *)0x0;\n              pbVar63 = pbVar56;\n              do {\n                do {\n                  pbVar12 = pbVar63;\n                  pbVar63 = pbVar12 + -9;\n                  if (pbVar63 < local_60) goto LAB_0001a954;\n                  pvVar49 = (void *)pbVar12[-6];\n                  pbVar16 = local_7c;\n                } while ((((local_7c == (bfd_vma *)0x0) && (pbVar12[-8] != 0)) &&\n                         (pbVar16 = pbVar63, pbVar12[-7] == 0x101)) ||\n                        ((local_7c = pbVar16,\n                         *(char *)((int)pvVar44 + iVar18) != *(char *)((int)pvVar49 + iVar18) ||\n                         (pbVar12[-7] != 0x100))));\n                if (*(char *)((int)pvVar49 + iVar18) != '\x04') {\n                  pbVar69 = (bfd *)*pbVar63;\n                  if ((((pbVar69 == (bfd *)*pbVar56) &&\n                       (pbVar71 = (bfd *)pbVar56, iVar39 = memcmp(pvVar49,pvVar44,(size_t)pbVar69),\n                       pvVar70 = pvVar44, pbVar42 = pbVar69, iVar39 == 0)) &&\n                      ((uVar58 = pbVar12[-2], uVar58 != 0 && (uVar47 = pbVar13[0x10], uVar47 != 0)))\n                      ) && ((0xfffffff0 < uVar58 || (pbVar13[0xf] <= (uVar58 + 0xf & 0xfffffff0)))))\n                  {\n                    pbVar13[0xb] = 0;\n                    if (uVar58 < uVar47) {\n                      pbVar12[-2] = uVar47;\n                    }\n                    bVar64 = true;\n                    if (local_6c != 0) {\n                      pbVar12[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((pbVar13[10] == 0) && (local_7c != (bfd_vma *)0x0)) && (local_7c[2] == 0))\n                    {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    pbVar13[0x11] = 1;\n                    pbVar13[0xb] = 0x101;\n                    pbVar12[-1] = 1;\n                    pbVar12[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }\n                uVar58 = 0;\n                for (iVar39 = 0; (int)*pbVar56 - iVar22 != iVar39; iVar39 = iVar39 + 1) {\n                  uVar58 = uVar58 | (uint)*(byte *)((int)pvVar44 + iVar39 + iVar22) <<\n                                    ((char)iVar39 * '\b' & 0x1fU);\n                }\n                bVar43 = *pbVar63;\n                local_5c = (bfd *)0x0;\n                for (uVar47 = 0; bVar43 - iVar22 != uVar47; uVar47 = uVar47 + 1) {\n                  local_5c = (bfd *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar49 + iVar22))[uVar47] <<\n                                    ((char)uVar47 * '\b' & 0x1fU));\n                }\n                uVar48 = 0;\n                uVar58 = (int)local_5c + uVar58;\n                for (uVar46 = uVar58; uVar46 != 0; uVar46 = uVar46 >> 8) {\n                  uVar48 = uVar48 + 1;\n                }\n                in_stack_ffffff54 = (bfd *)pbVar56;\n              } while (uVar47 <= uVar48);\n              puVar61 = (undefined1 *)((int)pvVar49 + iVar22);\n              while (puVar61 < (undefined1 *)((int)pvVar49 + bVar43)) {\n                *puVar61 = (char)uVar58;\n                if (uVar58 == 0) break;\n                uVar58 = uVar58 >> 8;\n                puVar61 = puVar61 + 1;\n              }\n              pbVar13[0xb] = 0;\n              bVar64 = true;\n            }\n            goto LAB_0001a954;\n          }\n          in_stack_ffffff58 = obfd;\n          local_5c = obfd;\n          if (!bVar64) goto LAB_0001a75c;\n          pvVar44 = (void *)xmalloc(pbVar36,pvVar70,pbVar42,pbVar71);\n          bVar43 = 0;\n          pvVar70 = pvVar44;\n          local_80 = pbVar50;\n          for (pbVar56 = local_60; pbVar56 < local_64; pbVar56 = pbVar56 + 9) {\n            bVar45 = *pbVar56;\n            sVar34 = pbVar56[1] + 0xc + bVar45;\n            bVar10 = pbVar56[2];\n            pvVar49 = pvVar70;\n            if (bVar10 != 0) {\n              if (pbVar56[8] == 0) {\n                memcpy(pvVar70,local_80,sVar34);\n                pvVar49 = (void *)((int)pvVar70 + sVar34);\n              }\n              else {\n                pbVar57 = (bfd_byte *)pbVar56[6];\n                p_Var9 = ibfd->xvec->bfd_putx32;\n                __dest = (void *)((int)pvVar70 + 0xc);\n                pvVar49 = (void *)((int)__dest + bVar45);\n                if ((pbVar57 == local_74) && (pbVar56[7] == bVar43)) {\n                  (*p_Var9)(bVar45,pvVar70);\n                  (*ibfd->xvec->bfd_putx32)(0,(void *)((int)pvVar70 + 4));\n                  (*ibfd->xvec->bfd_putx32)(bVar10,(void *)((int)pvVar70 + 8));\n                  memcpy(__dest,(void *)pbVar56[3],bVar45);\n                }\n                else {\n                  (*p_Var9)(bVar45,pvVar70);\n                  bVar43 = 8;\n                  if (ibfd->xvec->flavour == bfd_target_elf_flavour) {\n                    bVar43 = (uint)(((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02'\n                                   ) * 8 + 8;\n                  }\n                  (*ibfd->xvec->bfd_putx32)(bVar43,(void *)((int)pvVar70 + 4));\n                  (*ibfd->xvec->bfd_putx32)(bVar10,(void *)((int)pvVar70 + 8));\n                  memcpy(__dest,(void *)pbVar56[3],bVar45);\n                  pbVar8 = ibfd->xvec;\n                  if ((pbVar8->flavour == bfd_target_elf_flavour) &&\n                     (((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02')) {\n                    (*pbVar8->bfd_putx64)(ZEXT48(pbVar57),pvVar49);\n                    (*ibfd->xvec->bfd_putx64)((ulonglong)pbVar56[7],(void *)((int)pvVar49 + 8));\n                    pvVar49 = (void *)((int)pvVar49 + 0x10);\n                  }\n                  else {\n                    (*pbVar8->bfd_putx32)((bfd_vma)pbVar57,pvVar49);\n                    (*ibfd->xvec->bfd_putx32)(pbVar56[7],(void *)((int)pvVar49 + 4));\n                    pvVar49 = (void *)((int)pvVar49 + 8);\n                  }\n                }\n              }\n              local_74 = (bfd_byte *)pbVar56[6];\n              bVar43 = pbVar56[7];\n            }\n            local_80 = local_80 + sVar34;\n            pvVar70 = pvVar49;\n          }\n          pbVar57 = (bfd_byte *)((int)pvVar70 - (int)pvVar44);\n          memcpy(pbVar50,pvVar44,(size_t)pbVar57);\n          free(pvVar44);\n          free(local_60);\n          merged_size = (bfd_size_type)pbVar57;\n          if (pbVar36 != pbVar57) {\n            iVar18 = (int)pbVar62->proxy_origin;\n            uVar29 = extraout_ECX_02;\n            if ((iVar18 != 0) &&\n               (iVar18 = bfd_set_section_size(obfd,iVar18,pbVar57,extraout_EDX),\n               uVar29 = extraout_ECX_03, iVar18 != 0)) goto LAB_00018aad;\n            pcVar24 = (char *)dcgettext(0,"warning: failed to set merged notes size",5,uVar29);\n            bfd_nonfatal_message((char *)0x0,obfd,(asection *)pbVar62,pcVar24);\n          }\n        }" { (expression_statement "uVar58 = (uint)local_84 | local_6c;" (assignment_expression "uVar58 = (uint)local_84 | local_6c" identifier = (binary_expression "(uint)local_84 | local_6c" (cast_expression "(uint)local_84" ( (type_descriptor "uint" type_identifier) ) identifier) | identifier)) ;) (if_statement "if (local_80 == (bfd_byte *)0x0 && uVar58 == 0) {\n            pcVar24 = (char *)dcgettext(0,\n                                        "bad GNU build attribute notes: no known versions detected",\n                                        5,uVar58);\n            goto LAB_0001a72d;\n          }" if (parenthesized_expression "(local_80 == (bfd_byte *)0x0 && uVar58 == 0)" ( (binary_expression "local_80 == (bfd_byte *)0x0 && uVar58 == 0" (binary_expression "local_80 == (bfd_byte *)0x0" identifier == (cast_expression "(bfd_byte *)0x0" ( (type_descriptor "bfd_byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) && (binary_expression "uVar58 == 0" identifier == number_literal)) )) (compound_statement "{\n            pcVar24 = (char *)dcgettext(0,\n                                        "bad GNU build attribute notes: no known versions detected",\n                                        5,uVar58);\n            goto LAB_0001a72d;\n          }" { (expression_statement "pcVar24 = (char *)dcgettext(0,\n                                        "bad GNU build attribute notes: no known versions detected",\n                                        5,uVar58);" (assignment_expression "pcVar24 = (char *)dcgettext(0,\n                                        "bad GNU build attribute notes: no known versions detected",\n                                        5,uVar58)" identifier = (cast_expression "(char *)dcgettext(0,\n                                        "bad GNU build attribute notes: no known versions detected",\n                                        5,uVar58)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,\n                                        "bad GNU build attribute notes: no known versions detected",\n                                        5,uVar58)" identifier (argument_list "(0,\n                                        "bad GNU build attribute notes: no known versions detected",\n                                        5,uVar58)" ( number_literal , (string_literal ""bad GNU build attribute notes: no known versions detected"" " string_content ") , number_literal , identifier ))))) ;) (goto_statement "goto LAB_0001a72d;" goto statement_identifier ;) })) (if_statement "if (((local_80 != (bfd_byte *)0x0) && (uVar58 != 0)) ||\n             ((local_84 != (int *)0x0 && (local_6c != 0)))) {\n            pcVar24 = (char *)dcgettext(0,\n                                        "bad GNU build attribute notes: multiple different versions"\n                                        ,5,pbVar69);\n            goto LAB_0001a72d;\n          }" if (parenthesized_expression "(((local_80 != (bfd_byte *)0x0) && (uVar58 != 0)) ||\n             ((local_84 != (int *)0x0 && (local_6c != 0))))" ( (binary_expression "((local_80 != (bfd_byte *)0x0) && (uVar58 != 0)) ||\n             ((local_84 != (int *)0x0 && (local_6c != 0)))" (parenthesized_expression "((local_80 != (bfd_byte *)0x0) && (uVar58 != 0))" ( (binary_expression "(local_80 != (bfd_byte *)0x0) && (uVar58 != 0)" (parenthesized_expression "(local_80 != (bfd_byte *)0x0)" ( (binary_expression "local_80 != (bfd_byte *)0x0" identifier != (cast_expression "(bfd_byte *)0x0" ( (type_descriptor "bfd_byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(uVar58 != 0)" ( (binary_expression "uVar58 != 0" identifier != number_literal) ))) )) || (parenthesized_expression "((local_84 != (int *)0x0 && (local_6c != 0)))" ( (parenthesized_expression "(local_84 != (int *)0x0 && (local_6c != 0))" ( (binary_expression "local_84 != (int *)0x0 && (local_6c != 0)" (binary_expression "local_84 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) && (parenthesized_expression "(local_6c != 0)" ( (binary_expression "local_6c != 0" identifier != number_literal) ))) )) ))) )) (compound_statement "{\n            pcVar24 = (char *)dcgettext(0,\n                                        "bad GNU build attribute notes: multiple different versions"\n                                        ,5,pbVar69);\n            goto LAB_0001a72d;\n          }" { (expression_statement "pcVar24 = (char *)dcgettext(0,\n                                        "bad GNU build attribute notes: multiple different versions"\n                                        ,5,pbVar69);" (assignment_expression "pcVar24 = (char *)dcgettext(0,\n                                        "bad GNU build attribute notes: multiple different versions"\n                                        ,5,pbVar69)" identifier = (cast_expression "(char *)dcgettext(0,\n                                        "bad GNU build attribute notes: multiple different versions"\n                                        ,5,pbVar69)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,\n                                        "bad GNU build attribute notes: multiple different versions"\n                                        ,5,pbVar69)" identifier (argument_list "(0,\n                                        "bad GNU build attribute notes: multiple different versions"\n                                        ,5,pbVar69)" ( number_literal , (string_literal ""bad GNU build attribute notes: multiple different versions"" " string_content ") , number_literal , identifier ))))) ;) (goto_statement "goto LAB_0001a72d;" goto statement_identifier ;) })) (if_statement "if ((local_80 == (bfd_byte *)0x1 || local_84 == (int *)0x1) || (local_6c == 1))\n          goto LAB_0001a75c;" if (parenthesized_expression "((local_80 == (bfd_byte *)0x1 || local_84 == (int *)0x1) || (local_6c == 1))" ( (binary_expression "(local_80 == (bfd_byte *)0x1 || local_84 == (int *)0x1) || (local_6c == 1)" (parenthesized_expression "(local_80 == (bfd_byte *)0x1 || local_84 == (int *)0x1)" ( (binary_expression "local_80 == (bfd_byte *)0x1 || local_84 == (int *)0x1" (binary_expression "local_80 == (bfd_byte *)0x1" identifier == (cast_expression "(bfd_byte *)0x1" ( (type_descriptor "bfd_byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) || (binary_expression "local_84 == (int *)0x1" identifier == (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) )) || (parenthesized_expression "(local_6c == 1)" ( (binary_expression "local_6c == 1" identifier == number_literal) ))) )) (goto_statement "goto LAB_0001a75c;" goto statement_identifier ;)) (expression_statement "uVar58 = -(uint)(local_80 == (bfd_byte *)0x0) & 2;" (assignment_expression "uVar58 = -(uint)(local_80 == (bfd_byte *)0x0) & 2" identifier = (binary_expression "-(uint)(local_80 == (bfd_byte *)0x0) & 2" (unary_expression "-(uint)(local_80 == (bfd_byte *)0x0)" - (call_expression "(uint)(local_80 == (bfd_byte *)0x0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_80 == (bfd_byte *)0x0)" ( (binary_expression "local_80 == (bfd_byte *)0x0" identifier == (cast_expression "(bfd_byte *)0x0" ( (type_descriptor "bfd_byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )))) & number_literal)) ;) (expression_statement "iVar18 = uVar58 + 1;" (assignment_expression "iVar18 = uVar58 + 1" identifier = (binary_expression "uVar58 + 1" identifier + number_literal)) ;) (if_statement "if (*(char *)(local_60[3] + iVar18) != '\x01') {\n            pcVar24 = (char *)dcgettext(0,\n                                        "bad GNU build attribute notes: first note not version note"\n                                        ,5,pbVar55);\n            goto LAB_0001a72d;\n          }" if (parenthesized_expression "(*(char *)(local_60[3] + iVar18) != '\x01')" ( (binary_expression "*(char *)(local_60[3] + iVar18) != '\x01'" (pointer_expression "*(char *)(local_60[3] + iVar18)" * (cast_expression "(char *)(local_60[3] + iVar18)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_60[3] + iVar18)" ( (binary_expression "local_60[3] + iVar18" (subscript_expression "local_60[3]" identifier [ number_literal ]) + identifier) )))) != (char_literal "'\x01'" ' escape_sequence ')) )) (compound_statement "{\n            pcVar24 = (char *)dcgettext(0,\n                                        "bad GNU build attribute notes: first note not version note"\n                                        ,5,pbVar55);\n            goto LAB_0001a72d;\n          }" { (expression_statement "pcVar24 = (char *)dcgettext(0,\n                                        "bad GNU build attribute notes: first note not version note"\n                                        ,5,pbVar55);" (assignment_expression "pcVar24 = (char *)dcgettext(0,\n                                        "bad GNU build attribute notes: first note not version note"\n                                        ,5,pbVar55)" identifier = (cast_expression "(char *)dcgettext(0,\n                                        "bad GNU build attribute notes: first note not version note"\n                                        ,5,pbVar55)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,\n                                        "bad GNU build attribute notes: first note not version note"\n                                        ,5,pbVar55)" identifier (argument_list "(0,\n                                        "bad GNU build attribute notes: first note not version note"\n                                        ,5,pbVar55)" ( number_literal , (string_literal ""bad GNU build attribute notes: first note not version note"" " string_content ") , number_literal , identifier ))))) ;) (goto_statement "goto LAB_0001a72d;" goto statement_identifier ;) })) (expression_statement "bVar64 = false;" (assignment_expression "bVar64 = false" identifier = false) ;) (expression_statement "iVar22 = uVar58 + 2;" (assignment_expression "iVar22 = uVar58 + 2" identifier = (binary_expression "uVar58 + 2" identifier + number_literal)) ;) (expression_statement "pbVar56 = local_60;" (assignment_expression "pbVar56 = local_60" identifier = identifier) ;) (labeled_statement "LAB_0001a954:\n          pbVar13 = pbVar56;" statement_identifier : (expression_statement "pbVar13 = pbVar56;" (assignment_expression "pbVar13 = pbVar56" identifier = identifier) ;)) (expression_statement "pbVar56 = pbVar13 + 9;" (assignment_expression "pbVar56 = pbVar13 + 9" identifier = (binary_expression "pbVar13 + 9" identifier + number_literal)) ;) (if_statement "if (pbVar56 < local_64) {\n            if (pbVar13[0xb] == 0x100) {\n              pvVar44 = (void *)pbVar13[0xc];\n              local_7c = (bfd_vma *)0x0;\n              pbVar63 = pbVar56;\n              do {\n                do {\n                  pbVar12 = pbVar63;\n                  pbVar63 = pbVar12 + -9;\n                  if (pbVar63 < local_60) goto LAB_0001a954;\n                  pvVar49 = (void *)pbVar12[-6];\n                  pbVar16 = local_7c;\n                } while ((((local_7c == (bfd_vma *)0x0) && (pbVar12[-8] != 0)) &&\n                         (pbVar16 = pbVar63, pbVar12[-7] == 0x101)) ||\n                        ((local_7c = pbVar16,\n                         *(char *)((int)pvVar44 + iVar18) != *(char *)((int)pvVar49 + iVar18) ||\n                         (pbVar12[-7] != 0x100))));\n                if (*(char *)((int)pvVar49 + iVar18) != '\x04') {\n                  pbVar69 = (bfd *)*pbVar63;\n                  if ((((pbVar69 == (bfd *)*pbVar56) &&\n                       (pbVar71 = (bfd *)pbVar56, iVar39 = memcmp(pvVar49,pvVar44,(size_t)pbVar69),\n                       pvVar70 = pvVar44, pbVar42 = pbVar69, iVar39 == 0)) &&\n                      ((uVar58 = pbVar12[-2], uVar58 != 0 && (uVar47 = pbVar13[0x10], uVar47 != 0)))\n                      ) && ((0xfffffff0 < uVar58 || (pbVar13[0xf] <= (uVar58 + 0xf & 0xfffffff0)))))\n                  {\n                    pbVar13[0xb] = 0;\n                    if (uVar58 < uVar47) {\n                      pbVar12[-2] = uVar47;\n                    }\n                    bVar64 = true;\n                    if (local_6c != 0) {\n                      pbVar12[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((pbVar13[10] == 0) && (local_7c != (bfd_vma *)0x0)) && (local_7c[2] == 0))\n                    {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    pbVar13[0x11] = 1;\n                    pbVar13[0xb] = 0x101;\n                    pbVar12[-1] = 1;\n                    pbVar12[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }\n                uVar58 = 0;\n                for (iVar39 = 0; (int)*pbVar56 - iVar22 != iVar39; iVar39 = iVar39 + 1) {\n                  uVar58 = uVar58 | (uint)*(byte *)((int)pvVar44 + iVar39 + iVar22) <<\n                                    ((char)iVar39 * '\b' & 0x1fU);\n                }\n                bVar43 = *pbVar63;\n                local_5c = (bfd *)0x0;\n                for (uVar47 = 0; bVar43 - iVar22 != uVar47; uVar47 = uVar47 + 1) {\n                  local_5c = (bfd *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar49 + iVar22))[uVar47] <<\n                                    ((char)uVar47 * '\b' & 0x1fU));\n                }\n                uVar48 = 0;\n                uVar58 = (int)local_5c + uVar58;\n                for (uVar46 = uVar58; uVar46 != 0; uVar46 = uVar46 >> 8) {\n                  uVar48 = uVar48 + 1;\n                }\n                in_stack_ffffff54 = (bfd *)pbVar56;\n              } while (uVar47 <= uVar48);\n              puVar61 = (undefined1 *)((int)pvVar49 + iVar22);\n              while (puVar61 < (undefined1 *)((int)pvVar49 + bVar43)) {\n                *puVar61 = (char)uVar58;\n                if (uVar58 == 0) break;\n                uVar58 = uVar58 >> 8;\n                puVar61 = puVar61 + 1;\n              }\n              pbVar13[0xb] = 0;\n              bVar64 = true;\n            }\n            goto LAB_0001a954;\n          }" if (parenthesized_expression "(pbVar56 < local_64)" ( (binary_expression "pbVar56 < local_64" identifier < identifier) )) (compound_statement "{\n            if (pbVar13[0xb] == 0x100) {\n              pvVar44 = (void *)pbVar13[0xc];\n              local_7c = (bfd_vma *)0x0;\n              pbVar63 = pbVar56;\n              do {\n                do {\n                  pbVar12 = pbVar63;\n                  pbVar63 = pbVar12 + -9;\n                  if (pbVar63 < local_60) goto LAB_0001a954;\n                  pvVar49 = (void *)pbVar12[-6];\n                  pbVar16 = local_7c;\n                } while ((((local_7c == (bfd_vma *)0x0) && (pbVar12[-8] != 0)) &&\n                         (pbVar16 = pbVar63, pbVar12[-7] == 0x101)) ||\n                        ((local_7c = pbVar16,\n                         *(char *)((int)pvVar44 + iVar18) != *(char *)((int)pvVar49 + iVar18) ||\n                         (pbVar12[-7] != 0x100))));\n                if (*(char *)((int)pvVar49 + iVar18) != '\x04') {\n                  pbVar69 = (bfd *)*pbVar63;\n                  if ((((pbVar69 == (bfd *)*pbVar56) &&\n                       (pbVar71 = (bfd *)pbVar56, iVar39 = memcmp(pvVar49,pvVar44,(size_t)pbVar69),\n                       pvVar70 = pvVar44, pbVar42 = pbVar69, iVar39 == 0)) &&\n                      ((uVar58 = pbVar12[-2], uVar58 != 0 && (uVar47 = pbVar13[0x10], uVar47 != 0)))\n                      ) && ((0xfffffff0 < uVar58 || (pbVar13[0xf] <= (uVar58 + 0xf & 0xfffffff0)))))\n                  {\n                    pbVar13[0xb] = 0;\n                    if (uVar58 < uVar47) {\n                      pbVar12[-2] = uVar47;\n                    }\n                    bVar64 = true;\n                    if (local_6c != 0) {\n                      pbVar12[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((pbVar13[10] == 0) && (local_7c != (bfd_vma *)0x0)) && (local_7c[2] == 0))\n                    {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    pbVar13[0x11] = 1;\n                    pbVar13[0xb] = 0x101;\n                    pbVar12[-1] = 1;\n                    pbVar12[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }\n                uVar58 = 0;\n                for (iVar39 = 0; (int)*pbVar56 - iVar22 != iVar39; iVar39 = iVar39 + 1) {\n                  uVar58 = uVar58 | (uint)*(byte *)((int)pvVar44 + iVar39 + iVar22) <<\n                                    ((char)iVar39 * '\b' & 0x1fU);\n                }\n                bVar43 = *pbVar63;\n                local_5c = (bfd *)0x0;\n                for (uVar47 = 0; bVar43 - iVar22 != uVar47; uVar47 = uVar47 + 1) {\n                  local_5c = (bfd *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar49 + iVar22))[uVar47] <<\n                                    ((char)uVar47 * '\b' & 0x1fU));\n                }\n                uVar48 = 0;\n                uVar58 = (int)local_5c + uVar58;\n                for (uVar46 = uVar58; uVar46 != 0; uVar46 = uVar46 >> 8) {\n                  uVar48 = uVar48 + 1;\n                }\n                in_stack_ffffff54 = (bfd *)pbVar56;\n              } while (uVar47 <= uVar48);\n              puVar61 = (undefined1 *)((int)pvVar49 + iVar22);\n              while (puVar61 < (undefined1 *)((int)pvVar49 + bVar43)) {\n                *puVar61 = (char)uVar58;\n                if (uVar58 == 0) break;\n                uVar58 = uVar58 >> 8;\n                puVar61 = puVar61 + 1;\n              }\n              pbVar13[0xb] = 0;\n              bVar64 = true;\n            }\n            goto LAB_0001a954;\n          }" { (if_statement "if (pbVar13[0xb] == 0x100) {\n              pvVar44 = (void *)pbVar13[0xc];\n              local_7c = (bfd_vma *)0x0;\n              pbVar63 = pbVar56;\n              do {\n                do {\n                  pbVar12 = pbVar63;\n                  pbVar63 = pbVar12 + -9;\n                  if (pbVar63 < local_60) goto LAB_0001a954;\n                  pvVar49 = (void *)pbVar12[-6];\n                  pbVar16 = local_7c;\n                } while ((((local_7c == (bfd_vma *)0x0) && (pbVar12[-8] != 0)) &&\n                         (pbVar16 = pbVar63, pbVar12[-7] == 0x101)) ||\n                        ((local_7c = pbVar16,\n                         *(char *)((int)pvVar44 + iVar18) != *(char *)((int)pvVar49 + iVar18) ||\n                         (pbVar12[-7] != 0x100))));\n                if (*(char *)((int)pvVar49 + iVar18) != '\x04') {\n                  pbVar69 = (bfd *)*pbVar63;\n                  if ((((pbVar69 == (bfd *)*pbVar56) &&\n                       (pbVar71 = (bfd *)pbVar56, iVar39 = memcmp(pvVar49,pvVar44,(size_t)pbVar69),\n                       pvVar70 = pvVar44, pbVar42 = pbVar69, iVar39 == 0)) &&\n                      ((uVar58 = pbVar12[-2], uVar58 != 0 && (uVar47 = pbVar13[0x10], uVar47 != 0)))\n                      ) && ((0xfffffff0 < uVar58 || (pbVar13[0xf] <= (uVar58 + 0xf & 0xfffffff0)))))\n                  {\n                    pbVar13[0xb] = 0;\n                    if (uVar58 < uVar47) {\n                      pbVar12[-2] = uVar47;\n                    }\n                    bVar64 = true;\n                    if (local_6c != 0) {\n                      pbVar12[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((pbVar13[10] == 0) && (local_7c != (bfd_vma *)0x0)) && (local_7c[2] == 0))\n                    {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    pbVar13[0x11] = 1;\n                    pbVar13[0xb] = 0x101;\n                    pbVar12[-1] = 1;\n                    pbVar12[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }\n                uVar58 = 0;\n                for (iVar39 = 0; (int)*pbVar56 - iVar22 != iVar39; iVar39 = iVar39 + 1) {\n                  uVar58 = uVar58 | (uint)*(byte *)((int)pvVar44 + iVar39 + iVar22) <<\n                                    ((char)iVar39 * '\b' & 0x1fU);\n                }\n                bVar43 = *pbVar63;\n                local_5c = (bfd *)0x0;\n                for (uVar47 = 0; bVar43 - iVar22 != uVar47; uVar47 = uVar47 + 1) {\n                  local_5c = (bfd *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar49 + iVar22))[uVar47] <<\n                                    ((char)uVar47 * '\b' & 0x1fU));\n                }\n                uVar48 = 0;\n                uVar58 = (int)local_5c + uVar58;\n                for (uVar46 = uVar58; uVar46 != 0; uVar46 = uVar46 >> 8) {\n                  uVar48 = uVar48 + 1;\n                }\n                in_stack_ffffff54 = (bfd *)pbVar56;\n              } while (uVar47 <= uVar48);\n              puVar61 = (undefined1 *)((int)pvVar49 + iVar22);\n              while (puVar61 < (undefined1 *)((int)pvVar49 + bVar43)) {\n                *puVar61 = (char)uVar58;\n                if (uVar58 == 0) break;\n                uVar58 = uVar58 >> 8;\n                puVar61 = puVar61 + 1;\n              }\n              pbVar13[0xb] = 0;\n              bVar64 = true;\n            }" if (parenthesized_expression "(pbVar13[0xb] == 0x100)" ( (binary_expression "pbVar13[0xb] == 0x100" (subscript_expression "pbVar13[0xb]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n              pvVar44 = (void *)pbVar13[0xc];\n              local_7c = (bfd_vma *)0x0;\n              pbVar63 = pbVar56;\n              do {\n                do {\n                  pbVar12 = pbVar63;\n                  pbVar63 = pbVar12 + -9;\n                  if (pbVar63 < local_60) goto LAB_0001a954;\n                  pvVar49 = (void *)pbVar12[-6];\n                  pbVar16 = local_7c;\n                } while ((((local_7c == (bfd_vma *)0x0) && (pbVar12[-8] != 0)) &&\n                         (pbVar16 = pbVar63, pbVar12[-7] == 0x101)) ||\n                        ((local_7c = pbVar16,\n                         *(char *)((int)pvVar44 + iVar18) != *(char *)((int)pvVar49 + iVar18) ||\n                         (pbVar12[-7] != 0x100))));\n                if (*(char *)((int)pvVar49 + iVar18) != '\x04') {\n                  pbVar69 = (bfd *)*pbVar63;\n                  if ((((pbVar69 == (bfd *)*pbVar56) &&\n                       (pbVar71 = (bfd *)pbVar56, iVar39 = memcmp(pvVar49,pvVar44,(size_t)pbVar69),\n                       pvVar70 = pvVar44, pbVar42 = pbVar69, iVar39 == 0)) &&\n                      ((uVar58 = pbVar12[-2], uVar58 != 0 && (uVar47 = pbVar13[0x10], uVar47 != 0)))\n                      ) && ((0xfffffff0 < uVar58 || (pbVar13[0xf] <= (uVar58 + 0xf & 0xfffffff0)))))\n                  {\n                    pbVar13[0xb] = 0;\n                    if (uVar58 < uVar47) {\n                      pbVar12[-2] = uVar47;\n                    }\n                    bVar64 = true;\n                    if (local_6c != 0) {\n                      pbVar12[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((pbVar13[10] == 0) && (local_7c != (bfd_vma *)0x0)) && (local_7c[2] == 0))\n                    {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    pbVar13[0x11] = 1;\n                    pbVar13[0xb] = 0x101;\n                    pbVar12[-1] = 1;\n                    pbVar12[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }\n                uVar58 = 0;\n                for (iVar39 = 0; (int)*pbVar56 - iVar22 != iVar39; iVar39 = iVar39 + 1) {\n                  uVar58 = uVar58 | (uint)*(byte *)((int)pvVar44 + iVar39 + iVar22) <<\n                                    ((char)iVar39 * '\b' & 0x1fU);\n                }\n                bVar43 = *pbVar63;\n                local_5c = (bfd *)0x0;\n                for (uVar47 = 0; bVar43 - iVar22 != uVar47; uVar47 = uVar47 + 1) {\n                  local_5c = (bfd *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar49 + iVar22))[uVar47] <<\n                                    ((char)uVar47 * '\b' & 0x1fU));\n                }\n                uVar48 = 0;\n                uVar58 = (int)local_5c + uVar58;\n                for (uVar46 = uVar58; uVar46 != 0; uVar46 = uVar46 >> 8) {\n                  uVar48 = uVar48 + 1;\n                }\n                in_stack_ffffff54 = (bfd *)pbVar56;\n              } while (uVar47 <= uVar48);\n              puVar61 = (undefined1 *)((int)pvVar49 + iVar22);\n              while (puVar61 < (undefined1 *)((int)pvVar49 + bVar43)) {\n                *puVar61 = (char)uVar58;\n                if (uVar58 == 0) break;\n                uVar58 = uVar58 >> 8;\n                puVar61 = puVar61 + 1;\n              }\n              pbVar13[0xb] = 0;\n              bVar64 = true;\n            }" { (expression_statement "pvVar44 = (void *)pbVar13[0xc];" (assignment_expression "pvVar44 = (void *)pbVar13[0xc]" identifier = (cast_expression "(void *)pbVar13[0xc]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "pbVar13[0xc]" identifier [ number_literal ]))) ;) (expression_statement "local_7c = (bfd_vma *)0x0;" (assignment_expression "local_7c = (bfd_vma *)0x0" identifier = (cast_expression "(bfd_vma *)0x0" ( (type_descriptor "bfd_vma *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar63 = pbVar56;" (assignment_expression "pbVar63 = pbVar56" identifier = identifier) ;) (do_statement "do {\n                do {\n                  pbVar12 = pbVar63;\n                  pbVar63 = pbVar12 + -9;\n                  if (pbVar63 < local_60) goto LAB_0001a954;\n                  pvVar49 = (void *)pbVar12[-6];\n                  pbVar16 = local_7c;\n                } while ((((local_7c == (bfd_vma *)0x0) && (pbVar12[-8] != 0)) &&\n                         (pbVar16 = pbVar63, pbVar12[-7] == 0x101)) ||\n                        ((local_7c = pbVar16,\n                         *(char *)((int)pvVar44 + iVar18) != *(char *)((int)pvVar49 + iVar18) ||\n                         (pbVar12[-7] != 0x100))));\n                if (*(char *)((int)pvVar49 + iVar18) != '\x04') {\n                  pbVar69 = (bfd *)*pbVar63;\n                  if ((((pbVar69 == (bfd *)*pbVar56) &&\n                       (pbVar71 = (bfd *)pbVar56, iVar39 = memcmp(pvVar49,pvVar44,(size_t)pbVar69),\n                       pvVar70 = pvVar44, pbVar42 = pbVar69, iVar39 == 0)) &&\n                      ((uVar58 = pbVar12[-2], uVar58 != 0 && (uVar47 = pbVar13[0x10], uVar47 != 0)))\n                      ) && ((0xfffffff0 < uVar58 || (pbVar13[0xf] <= (uVar58 + 0xf & 0xfffffff0)))))\n                  {\n                    pbVar13[0xb] = 0;\n                    if (uVar58 < uVar47) {\n                      pbVar12[-2] = uVar47;\n                    }\n                    bVar64 = true;\n                    if (local_6c != 0) {\n                      pbVar12[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((pbVar13[10] == 0) && (local_7c != (bfd_vma *)0x0)) && (local_7c[2] == 0))\n                    {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    pbVar13[0x11] = 1;\n                    pbVar13[0xb] = 0x101;\n                    pbVar12[-1] = 1;\n                    pbVar12[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }\n                uVar58 = 0;\n                for (iVar39 = 0; (int)*pbVar56 - iVar22 != iVar39; iVar39 = iVar39 + 1) {\n                  uVar58 = uVar58 | (uint)*(byte *)((int)pvVar44 + iVar39 + iVar22) <<\n                                    ((char)iVar39 * '\b' & 0x1fU);\n                }\n                bVar43 = *pbVar63;\n                local_5c = (bfd *)0x0;\n                for (uVar47 = 0; bVar43 - iVar22 != uVar47; uVar47 = uVar47 + 1) {\n                  local_5c = (bfd *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar49 + iVar22))[uVar47] <<\n                                    ((char)uVar47 * '\b' & 0x1fU));\n                }\n                uVar48 = 0;\n                uVar58 = (int)local_5c + uVar58;\n                for (uVar46 = uVar58; uVar46 != 0; uVar46 = uVar46 >> 8) {\n                  uVar48 = uVar48 + 1;\n                }\n                in_stack_ffffff54 = (bfd *)pbVar56;\n              } while (uVar47 <= uVar48);" do (compound_statement "{\n                do {\n                  pbVar12 = pbVar63;\n                  pbVar63 = pbVar12 + -9;\n                  if (pbVar63 < local_60) goto LAB_0001a954;\n                  pvVar49 = (void *)pbVar12[-6];\n                  pbVar16 = local_7c;\n                } while ((((local_7c == (bfd_vma *)0x0) && (pbVar12[-8] != 0)) &&\n                         (pbVar16 = pbVar63, pbVar12[-7] == 0x101)) ||\n                        ((local_7c = pbVar16,\n                         *(char *)((int)pvVar44 + iVar18) != *(char *)((int)pvVar49 + iVar18) ||\n                         (pbVar12[-7] != 0x100))));\n                if (*(char *)((int)pvVar49 + iVar18) != '\x04') {\n                  pbVar69 = (bfd *)*pbVar63;\n                  if ((((pbVar69 == (bfd *)*pbVar56) &&\n                       (pbVar71 = (bfd *)pbVar56, iVar39 = memcmp(pvVar49,pvVar44,(size_t)pbVar69),\n                       pvVar70 = pvVar44, pbVar42 = pbVar69, iVar39 == 0)) &&\n                      ((uVar58 = pbVar12[-2], uVar58 != 0 && (uVar47 = pbVar13[0x10], uVar47 != 0)))\n                      ) && ((0xfffffff0 < uVar58 || (pbVar13[0xf] <= (uVar58 + 0xf & 0xfffffff0)))))\n                  {\n                    pbVar13[0xb] = 0;\n                    if (uVar58 < uVar47) {\n                      pbVar12[-2] = uVar47;\n                    }\n                    bVar64 = true;\n                    if (local_6c != 0) {\n                      pbVar12[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((pbVar13[10] == 0) && (local_7c != (bfd_vma *)0x0)) && (local_7c[2] == 0))\n                    {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    pbVar13[0x11] = 1;\n                    pbVar13[0xb] = 0x101;\n                    pbVar12[-1] = 1;\n                    pbVar12[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }\n                uVar58 = 0;\n                for (iVar39 = 0; (int)*pbVar56 - iVar22 != iVar39; iVar39 = iVar39 + 1) {\n                  uVar58 = uVar58 | (uint)*(byte *)((int)pvVar44 + iVar39 + iVar22) <<\n                                    ((char)iVar39 * '\b' & 0x1fU);\n                }\n                bVar43 = *pbVar63;\n                local_5c = (bfd *)0x0;\n                for (uVar47 = 0; bVar43 - iVar22 != uVar47; uVar47 = uVar47 + 1) {\n                  local_5c = (bfd *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar49 + iVar22))[uVar47] <<\n                                    ((char)uVar47 * '\b' & 0x1fU));\n                }\n                uVar48 = 0;\n                uVar58 = (int)local_5c + uVar58;\n                for (uVar46 = uVar58; uVar46 != 0; uVar46 = uVar46 >> 8) {\n                  uVar48 = uVar48 + 1;\n                }\n                in_stack_ffffff54 = (bfd *)pbVar56;\n              }" { (do_statement "do {\n                  pbVar12 = pbVar63;\n                  pbVar63 = pbVar12 + -9;\n                  if (pbVar63 < local_60) goto LAB_0001a954;\n                  pvVar49 = (void *)pbVar12[-6];\n                  pbVar16 = local_7c;\n                } while ((((local_7c == (bfd_vma *)0x0) && (pbVar12[-8] != 0)) &&\n                         (pbVar16 = pbVar63, pbVar12[-7] == 0x101)) ||\n                        ((local_7c = pbVar16,\n                         *(char *)((int)pvVar44 + iVar18) != *(char *)((int)pvVar49 + iVar18) ||\n                         (pbVar12[-7] != 0x100))));" do (compound_statement "{\n                  pbVar12 = pbVar63;\n                  pbVar63 = pbVar12 + -9;\n                  if (pbVar63 < local_60) goto LAB_0001a954;\n                  pvVar49 = (void *)pbVar12[-6];\n                  pbVar16 = local_7c;\n                }" { (expression_statement "pbVar12 = pbVar63;" (assignment_expression "pbVar12 = pbVar63" identifier = identifier) ;) (expression_statement "pbVar63 = pbVar12 + -9;" (assignment_expression "pbVar63 = pbVar12 + -9" identifier = (binary_expression "pbVar12 + -9" identifier + number_literal)) ;) (if_statement "if (pbVar63 < local_60) goto LAB_0001a954;" if (parenthesized_expression "(pbVar63 < local_60)" ( (binary_expression "pbVar63 < local_60" identifier < identifier) )) (goto_statement "goto LAB_0001a954;" goto statement_identifier ;)) (expression_statement "pvVar49 = (void *)pbVar12[-6];" (assignment_expression "pvVar49 = (void *)pbVar12[-6]" identifier = (cast_expression "(void *)pbVar12[-6]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "pbVar12[-6]" identifier [ number_literal ]))) ;) (expression_statement "pbVar16 = local_7c;" (assignment_expression "pbVar16 = local_7c" identifier = identifier) ;) }) while (parenthesized_expression "((((local_7c == (bfd_vma *)0x0) && (pbVar12[-8] != 0)) &&\n                         (pbVar16 = pbVar63, pbVar12[-7] == 0x101)) ||\n                        ((local_7c = pbVar16,\n                         *(char *)((int)pvVar44 + iVar18) != *(char *)((int)pvVar49 + iVar18) ||\n                         (pbVar12[-7] != 0x100))))" ( (binary_expression "(((local_7c == (bfd_vma *)0x0) && (pbVar12[-8] != 0)) &&\n                         (pbVar16 = pbVar63, pbVar12[-7] == 0x101)) ||\n                        ((local_7c = pbVar16,\n                         *(char *)((int)pvVar44 + iVar18) != *(char *)((int)pvVar49 + iVar18) ||\n                         (pbVar12[-7] != 0x100)))" (parenthesized_expression "(((local_7c == (bfd_vma *)0x0) && (pbVar12[-8] != 0)) &&\n                         (pbVar16 = pbVar63, pbVar12[-7] == 0x101))" ( (binary_expression "((local_7c == (bfd_vma *)0x0) && (pbVar12[-8] != 0)) &&\n                         (pbVar16 = pbVar63, pbVar12[-7] == 0x101)" (parenthesized_expression "((local_7c == (bfd_vma *)0x0) && (pbVar12[-8] != 0))" ( (binary_expression "(local_7c == (bfd_vma *)0x0) && (pbVar12[-8] != 0)" (parenthesized_expression "(local_7c == (bfd_vma *)0x0)" ( (binary_expression "local_7c == (bfd_vma *)0x0" identifier == (cast_expression "(bfd_vma *)0x0" ( (type_descriptor "bfd_vma *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(pbVar12[-8] != 0)" ( (binary_expression "pbVar12[-8] != 0" (subscript_expression "pbVar12[-8]" identifier [ number_literal ]) != number_literal) ))) )) && (parenthesized_expression "(pbVar16 = pbVar63, pbVar12[-7] == 0x101)" ( (comma_expression "pbVar16 = pbVar63, pbVar12[-7] == 0x101" (assignment_expression "pbVar16 = pbVar63" identifier = identifier) , (binary_expression "pbVar12[-7] == 0x101" (subscript_expression "pbVar12[-7]" identifier [ number_literal ]) == number_literal)) ))) )) || (parenthesized_expression "((local_7c = pbVar16,\n                         *(char *)((int)pvVar44 + iVar18) != *(char *)((int)pvVar49 + iVar18) ||\n                         (pbVar12[-7] != 0x100)))" ( (parenthesized_expression "(local_7c = pbVar16,\n                         *(char *)((int)pvVar44 + iVar18) != *(char *)((int)pvVar49 + iVar18) ||\n                         (pbVar12[-7] != 0x100))" ( (comma_expression "local_7c = pbVar16,\n                         *(char *)((int)pvVar44 + iVar18) != *(char *)((int)pvVar49 + iVar18) ||\n                         (pbVar12[-7] != 0x100)" (assignment_expression "local_7c = pbVar16" identifier = identifier) , (binary_expression "*(char *)((int)pvVar44 + iVar18) != *(char *)((int)pvVar49 + iVar18) ||\n                         (pbVar12[-7] != 0x100)" (binary_expression "*(char *)((int)pvVar44 + iVar18) != *(char *)((int)pvVar49 + iVar18)" (pointer_expression "*(char *)((int)pvVar44 + iVar18)" * (cast_expression "(char *)((int)pvVar44 + iVar18)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar44 + iVar18)" ( (binary_expression "(int)pvVar44 + iVar18" (cast_expression "(int)pvVar44" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) != (pointer_expression "*(char *)((int)pvVar49 + iVar18)" * (cast_expression "(char *)((int)pvVar49 + iVar18)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar49 + iVar18)" ( (binary_expression "(int)pvVar49 + iVar18" (cast_expression "(int)pvVar49" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))))) || (parenthesized_expression "(pbVar12[-7] != 0x100)" ( (binary_expression "pbVar12[-7] != 0x100" (subscript_expression "pbVar12[-7]" identifier [ number_literal ]) != number_literal) )))) )) ))) )) ;) (if_statement "if (*(char *)((int)pvVar49 + iVar18) != '\x04') {\n                  pbVar69 = (bfd *)*pbVar63;\n                  if ((((pbVar69 == (bfd *)*pbVar56) &&\n                       (pbVar71 = (bfd *)pbVar56, iVar39 = memcmp(pvVar49,pvVar44,(size_t)pbVar69),\n                       pvVar70 = pvVar44, pbVar42 = pbVar69, iVar39 == 0)) &&\n                      ((uVar58 = pbVar12[-2], uVar58 != 0 && (uVar47 = pbVar13[0x10], uVar47 != 0)))\n                      ) && ((0xfffffff0 < uVar58 || (pbVar13[0xf] <= (uVar58 + 0xf & 0xfffffff0)))))\n                  {\n                    pbVar13[0xb] = 0;\n                    if (uVar58 < uVar47) {\n                      pbVar12[-2] = uVar47;\n                    }\n                    bVar64 = true;\n                    if (local_6c != 0) {\n                      pbVar12[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((pbVar13[10] == 0) && (local_7c != (bfd_vma *)0x0)) && (local_7c[2] == 0))\n                    {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    pbVar13[0x11] = 1;\n                    pbVar13[0xb] = 0x101;\n                    pbVar12[-1] = 1;\n                    pbVar12[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }" if (parenthesized_expression "(*(char *)((int)pvVar49 + iVar18) != '\x04')" ( (binary_expression "*(char *)((int)pvVar49 + iVar18) != '\x04'" (pointer_expression "*(char *)((int)pvVar49 + iVar18)" * (cast_expression "(char *)((int)pvVar49 + iVar18)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar49 + iVar18)" ( (binary_expression "(int)pvVar49 + iVar18" (cast_expression "(int)pvVar49" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) != (char_literal "'\x04'" ' escape_sequence ')) )) (compound_statement "{\n                  pbVar69 = (bfd *)*pbVar63;\n                  if ((((pbVar69 == (bfd *)*pbVar56) &&\n                       (pbVar71 = (bfd *)pbVar56, iVar39 = memcmp(pvVar49,pvVar44,(size_t)pbVar69),\n                       pvVar70 = pvVar44, pbVar42 = pbVar69, iVar39 == 0)) &&\n                      ((uVar58 = pbVar12[-2], uVar58 != 0 && (uVar47 = pbVar13[0x10], uVar47 != 0)))\n                      ) && ((0xfffffff0 < uVar58 || (pbVar13[0xf] <= (uVar58 + 0xf & 0xfffffff0)))))\n                  {\n                    pbVar13[0xb] = 0;\n                    if (uVar58 < uVar47) {\n                      pbVar12[-2] = uVar47;\n                    }\n                    bVar64 = true;\n                    if (local_6c != 0) {\n                      pbVar12[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((pbVar13[10] == 0) && (local_7c != (bfd_vma *)0x0)) && (local_7c[2] == 0))\n                    {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    pbVar13[0x11] = 1;\n                    pbVar13[0xb] = 0x101;\n                    pbVar12[-1] = 1;\n                    pbVar12[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }" { (expression_statement "pbVar69 = (bfd *)*pbVar63;" (assignment_expression "pbVar69 = (bfd *)*pbVar63" identifier = (cast_expression "(bfd *)*pbVar63" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*pbVar63" * identifier))) ;) (if_statement "if ((((pbVar69 == (bfd *)*pbVar56) &&\n                       (pbVar71 = (bfd *)pbVar56, iVar39 = memcmp(pvVar49,pvVar44,(size_t)pbVar69),\n                       pvVar70 = pvVar44, pbVar42 = pbVar69, iVar39 == 0)) &&\n                      ((uVar58 = pbVar12[-2], uVar58 != 0 && (uVar47 = pbVar13[0x10], uVar47 != 0)))\n                      ) && ((0xfffffff0 < uVar58 || (pbVar13[0xf] <= (uVar58 + 0xf & 0xfffffff0)))))\n                  {\n                    pbVar13[0xb] = 0;\n                    if (uVar58 < uVar47) {\n                      pbVar12[-2] = uVar47;\n                    }\n                    bVar64 = true;\n                    if (local_6c != 0) {\n                      pbVar12[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((pbVar13[10] == 0) && (local_7c != (bfd_vma *)0x0)) && (local_7c[2] == 0))\n                    {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    pbVar13[0x11] = 1;\n                    pbVar13[0xb] = 0x101;\n                    pbVar12[-1] = 1;\n                    pbVar12[-7] = 0x101;\n                  }" if (parenthesized_expression "((((pbVar69 == (bfd *)*pbVar56) &&\n                       (pbVar71 = (bfd *)pbVar56, iVar39 = memcmp(pvVar49,pvVar44,(size_t)pbVar69),\n                       pvVar70 = pvVar44, pbVar42 = pbVar69, iVar39 == 0)) &&\n                      ((uVar58 = pbVar12[-2], uVar58 != 0 && (uVar47 = pbVar13[0x10], uVar47 != 0)))\n                      ) && ((0xfffffff0 < uVar58 || (pbVar13[0xf] <= (uVar58 + 0xf & 0xfffffff0)))))" ( (binary_expression "(((pbVar69 == (bfd *)*pbVar56) &&\n                       (pbVar71 = (bfd *)pbVar56, iVar39 = memcmp(pvVar49,pvVar44,(size_t)pbVar69),\n                       pvVar70 = pvVar44, pbVar42 = pbVar69, iVar39 == 0)) &&\n                      ((uVar58 = pbVar12[-2], uVar58 != 0 && (uVar47 = pbVar13[0x10], uVar47 != 0)))\n                      ) && ((0xfffffff0 < uVar58 || (pbVar13[0xf] <= (uVar58 + 0xf & 0xfffffff0))))" (parenthesized_expression "(((pbVar69 == (bfd *)*pbVar56) &&\n                       (pbVar71 = (bfd *)pbVar56, iVar39 = memcmp(pvVar49,pvVar44,(size_t)pbVar69),\n                       pvVar70 = pvVar44, pbVar42 = pbVar69, iVar39 == 0)) &&\n                      ((uVar58 = pbVar12[-2], uVar58 != 0 && (uVar47 = pbVar13[0x10], uVar47 != 0)))\n                      )" ( (binary_expression "((pbVar69 == (bfd *)*pbVar56) &&\n                       (pbVar71 = (bfd *)pbVar56, iVar39 = memcmp(pvVar49,pvVar44,(size_t)pbVar69),\n                       pvVar70 = pvVar44, pbVar42 = pbVar69, iVar39 == 0)) &&\n                      ((uVar58 = pbVar12[-2], uVar58 != 0 && (uVar47 = pbVar13[0x10], uVar47 != 0)))" (parenthesized_expression "((pbVar69 == (bfd *)*pbVar56) &&\n                       (pbVar71 = (bfd *)pbVar56, iVar39 = memcmp(pvVar49,pvVar44,(size_t)pbVar69),\n                       pvVar70 = pvVar44, pbVar42 = pbVar69, iVar39 == 0))" ( (binary_expression "(pbVar69 == (bfd *)*pbVar56) &&\n                       (pbVar71 = (bfd *)pbVar56, iVar39 = memcmp(pvVar49,pvVar44,(size_t)pbVar69),\n                       pvVar70 = pvVar44, pbVar42 = pbVar69, iVar39 == 0)" (parenthesized_expression "(pbVar69 == (bfd *)*pbVar56)" ( (binary_expression "pbVar69 == (bfd *)*pbVar56" identifier == (cast_expression "(bfd *)*pbVar56" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*pbVar56" * identifier))) )) && (parenthesized_expression "(pbVar71 = (bfd *)pbVar56, iVar39 = memcmp(pvVar49,pvVar44,(size_t)pbVar69),\n                       pvVar70 = pvVar44, pbVar42 = pbVar69, iVar39 == 0)" ( (comma_expression "pbVar71 = (bfd *)pbVar56, iVar39 = memcmp(pvVar49,pvVar44,(size_t)pbVar69),\n                       pvVar70 = pvVar44, pbVar42 = pbVar69, iVar39 == 0" (assignment_expression "pbVar71 = (bfd *)pbVar56" identifier = (cast_expression "(bfd *)pbVar56" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , (comma_expression "iVar39 = memcmp(pvVar49,pvVar44,(size_t)pbVar69),\n                       pvVar70 = pvVar44, pbVar42 = pbVar69, iVar39 == 0" (assignment_expression "iVar39 = memcmp(pvVar49,pvVar44,(size_t)pbVar69)" identifier = (call_expression "memcmp(pvVar49,pvVar44,(size_t)pbVar69)" identifier (argument_list "(pvVar49,pvVar44,(size_t)pbVar69)" ( identifier , identifier , (cast_expression "(size_t)pbVar69" ( (type_descriptor "size_t" primitive_type) ) identifier) )))) , (comma_expression "pvVar70 = pvVar44, pbVar42 = pbVar69, iVar39 == 0" (assignment_expression "pvVar70 = pvVar44" identifier = identifier) , (comma_expression "pbVar42 = pbVar69, iVar39 == 0" (assignment_expression "pbVar42 = pbVar69" identifier = identifier) , (binary_expression "iVar39 == 0" identifier == number_literal))))) ))) )) && (parenthesized_expression "((uVar58 = pbVar12[-2], uVar58 != 0 && (uVar47 = pbVar13[0x10], uVar47 != 0)))" ( (parenthesized_expression "(uVar58 = pbVar12[-2], uVar58 != 0 && (uVar47 = pbVar13[0x10], uVar47 != 0))" ( (comma_expression "uVar58 = pbVar12[-2], uVar58 != 0 && (uVar47 = pbVar13[0x10], uVar47 != 0)" (assignment_expression "uVar58 = pbVar12[-2]" identifier = (subscript_expression "pbVar12[-2]" identifier [ number_literal ])) , (binary_expression "uVar58 != 0 && (uVar47 = pbVar13[0x10], uVar47 != 0)" (binary_expression "uVar58 != 0" identifier != number_literal) && (parenthesized_expression "(uVar47 = pbVar13[0x10], uVar47 != 0)" ( (comma_expression "uVar47 = pbVar13[0x10], uVar47 != 0" (assignment_expression "uVar47 = pbVar13[0x10]" identifier = (subscript_expression "pbVar13[0x10]" identifier [ number_literal ])) , (binary_expression "uVar47 != 0" identifier != number_literal)) )))) )) ))) )) && (parenthesized_expression "((0xfffffff0 < uVar58 || (pbVar13[0xf] <= (uVar58 + 0xf & 0xfffffff0))))" ( (parenthesized_expression "(0xfffffff0 < uVar58 || (pbVar13[0xf] <= (uVar58 + 0xf & 0xfffffff0)))" ( (binary_expression "0xfffffff0 < uVar58 || (pbVar13[0xf] <= (uVar58 + 0xf & 0xfffffff0))" (binary_expression "0xfffffff0 < uVar58" number_literal < identifier) || (parenthesized_expression "(pbVar13[0xf] <= (uVar58 + 0xf & 0xfffffff0))" ( (binary_expression "pbVar13[0xf] <= (uVar58 + 0xf & 0xfffffff0)" (subscript_expression "pbVar13[0xf]" identifier [ number_literal ]) <= (parenthesized_expression "(uVar58 + 0xf & 0xfffffff0)" ( (binary_expression "uVar58 + 0xf & 0xfffffff0" (binary_expression "uVar58 + 0xf" identifier + number_literal) & number_literal) ))) ))) )) ))) )) (compound_statement "{\n                    pbVar13[0xb] = 0;\n                    if (uVar58 < uVar47) {\n                      pbVar12[-2] = uVar47;\n                    }\n                    bVar64 = true;\n                    if (local_6c != 0) {\n                      pbVar12[-1] = 1;\n                    }\n                  }" { (expression_statement "pbVar13[0xb] = 0;" (assignment_expression "pbVar13[0xb] = 0" (subscript_expression "pbVar13[0xb]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (uVar58 < uVar47) {\n                      pbVar12[-2] = uVar47;\n                    }" if (parenthesized_expression "(uVar58 < uVar47)" ( (binary_expression "uVar58 < uVar47" identifier < identifier) )) (compound_statement "{\n                      pbVar12[-2] = uVar47;\n                    }" { (expression_statement "pbVar12[-2] = uVar47;" (assignment_expression "pbVar12[-2] = uVar47" (subscript_expression "pbVar12[-2]" identifier [ number_literal ]) = identifier) ;) })) (expression_statement "bVar64 = true;" (assignment_expression "bVar64 = true" identifier = true) ;) (if_statement "if (local_6c != 0) {\n                      pbVar12[-1] = 1;\n                    }" if (parenthesized_expression "(local_6c != 0)" ( (binary_expression "local_6c != 0" identifier != number_literal) )) (compound_statement "{\n                      pbVar12[-1] = 1;\n                    }" { (expression_statement "pbVar12[-1] = 1;" (assignment_expression "pbVar12[-1] = 1" (subscript_expression "pbVar12[-1]" identifier [ number_literal ]) = number_literal) ;) })) }) (else_clause "else if (local_6c == 0) {\n                    if (((pbVar13[10] == 0) && (local_7c != (bfd_vma *)0x0)) && (local_7c[2] == 0))\n                    {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    pbVar13[0x11] = 1;\n                    pbVar13[0xb] = 0x101;\n                    pbVar12[-1] = 1;\n                    pbVar12[-7] = 0x101;\n                  }" else (if_statement "if (local_6c == 0) {\n                    if (((pbVar13[10] == 0) && (local_7c != (bfd_vma *)0x0)) && (local_7c[2] == 0))\n                    {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    pbVar13[0x11] = 1;\n                    pbVar13[0xb] = 0x101;\n                    pbVar12[-1] = 1;\n                    pbVar12[-7] = 0x101;\n                  }" if (parenthesized_expression "(local_6c == 0)" ( (binary_expression "local_6c == 0" identifier == number_literal) )) (compound_statement "{\n                    if (((pbVar13[10] == 0) && (local_7c != (bfd_vma *)0x0)) && (local_7c[2] == 0))\n                    {\n                      local_7c[2] = 0x100;\n                    }\n                  }" { (if_statement "if (((pbVar13[10] == 0) && (local_7c != (bfd_vma *)0x0)) && (local_7c[2] == 0))\n                    {\n                      local_7c[2] = 0x100;\n                    }" if (parenthesized_expression "(((pbVar13[10] == 0) && (local_7c != (bfd_vma *)0x0)) && (local_7c[2] == 0))" ( (binary_expression "((pbVar13[10] == 0) && (local_7c != (bfd_vma *)0x0)) && (local_7c[2] == 0)" (parenthesized_expression "((pbVar13[10] == 0) && (local_7c != (bfd_vma *)0x0))" ( (binary_expression "(pbVar13[10] == 0) && (local_7c != (bfd_vma *)0x0)" (parenthesized_expression "(pbVar13[10] == 0)" ( (binary_expression "pbVar13[10] == 0" (subscript_expression "pbVar13[10]" identifier [ number_literal ]) == number_literal) )) && (parenthesized_expression "(local_7c != (bfd_vma *)0x0)" ( (binary_expression "local_7c != (bfd_vma *)0x0" identifier != (cast_expression "(bfd_vma *)0x0" ( (type_descriptor "bfd_vma *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) && (parenthesized_expression "(local_7c[2] == 0)" ( (binary_expression "local_7c[2] == 0" (subscript_expression "local_7c[2]" identifier [ number_literal ]) == number_literal) ))) )) (compound_statement "{\n                      local_7c[2] = 0x100;\n                    }" { (expression_statement "local_7c[2] = 0x100;" (assignment_expression "local_7c[2] = 0x100" (subscript_expression "local_7c[2]" identifier [ number_literal ]) = number_literal) ;) })) }) (else_clause "else {\n                    pbVar13[0x11] = 1;\n                    pbVar13[0xb] = 0x101;\n                    pbVar12[-1] = 1;\n                    pbVar12[-7] = 0x101;\n                  }" else (compound_statement "{\n                    pbVar13[0x11] = 1;\n                    pbVar13[0xb] = 0x101;\n                    pbVar12[-1] = 1;\n                    pbVar12[-7] = 0x101;\n                  }" { (expression_statement "pbVar13[0x11] = 1;" (assignment_expression "pbVar13[0x11] = 1" (subscript_expression "pbVar13[0x11]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pbVar13[0xb] = 0x101;" (assignment_expression "pbVar13[0xb] = 0x101" (subscript_expression "pbVar13[0xb]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pbVar12[-1] = 1;" (assignment_expression "pbVar12[-1] = 1" (subscript_expression "pbVar12[-1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pbVar12[-7] = 0x101;" (assignment_expression "pbVar12[-7] = 0x101" (subscript_expression "pbVar12[-7]" identifier [ number_literal ]) = number_literal) ;) }))))) (goto_statement "goto LAB_0001a954;" goto statement_identifier ;) })) (expression_statement "uVar58 = 0;" (assignment_expression "uVar58 = 0" identifier = number_literal) ;) (for_statement "for (iVar39 = 0; (int)*pbVar56 - iVar22 != iVar39; iVar39 = iVar39 + 1) {\n                  uVar58 = uVar58 | (uint)*(byte *)((int)pvVar44 + iVar39 + iVar22) <<\n                                    ((char)iVar39 * '\b' & 0x1fU);\n                }" for ( (assignment_expression "iVar39 = 0" identifier = number_literal) ; (binary_expression "(int)*pbVar56 - iVar22 != iVar39" (binary_expression "(int)*pbVar56 - iVar22" (cast_expression "(int)*pbVar56" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*pbVar56" * identifier)) - identifier) != identifier) ; (assignment_expression "iVar39 = iVar39 + 1" identifier = (binary_expression "iVar39 + 1" identifier + number_literal)) ) (compound_statement "{\n                  uVar58 = uVar58 | (uint)*(byte *)((int)pvVar44 + iVar39 + iVar22) <<\n                                    ((char)iVar39 * '\b' & 0x1fU);\n                }" { (expression_statement "uVar58 = uVar58 | (uint)*(byte *)((int)pvVar44 + iVar39 + iVar22) <<\n                                    ((char)iVar39 * '\b' & 0x1fU);" (assignment_expression "uVar58 = uVar58 | (uint)*(byte *)((int)pvVar44 + iVar39 + iVar22) <<\n                                    ((char)iVar39 * '\b' & 0x1fU)" identifier = (binary_expression "uVar58 | (uint)*(byte *)((int)pvVar44 + iVar39 + iVar22) <<\n                                    ((char)iVar39 * '\b' & 0x1fU)" identifier | (binary_expression "(uint)*(byte *)((int)pvVar44 + iVar39 + iVar22) <<\n                                    ((char)iVar39 * '\b' & 0x1fU)" (binary_expression "(uint)*(byte *)((int)pvVar44 + iVar39 + iVar22)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)pvVar44 + iVar39 + iVar22)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar44 + iVar39 + iVar22)" ( (binary_expression "(int)pvVar44 + iVar39 + iVar22" (binary_expression "(int)pvVar44 + iVar39" (cast_expression "(int)pvVar44" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + identifier) )))) << (parenthesized_expression "((char)iVar39 * '\b' & 0x1fU)" ( (binary_expression "(char)iVar39 * '\b' & 0x1fU" (binary_expression "(char)iVar39 * '\b'" (cast_expression "(char)iVar39" ( (type_descriptor "char" primitive_type) ) identifier) * (char_literal "'\b'" ' escape_sequence ')) & number_literal) ))))) ;) })) (expression_statement "bVar43 = *pbVar63;" (assignment_expression "bVar43 = *pbVar63" identifier = (pointer_expression "*pbVar63" * identifier)) ;) (expression_statement "local_5c = (bfd *)0x0;" (assignment_expression "local_5c = (bfd *)0x0" identifier = (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (for_statement "for (uVar47 = 0; bVar43 - iVar22 != uVar47; uVar47 = uVar47 + 1) {\n                  local_5c = (bfd *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar49 + iVar22))[uVar47] <<\n                                    ((char)uVar47 * '\b' & 0x1fU));\n                }" for ( (assignment_expression "uVar47 = 0" identifier = number_literal) ; (binary_expression "bVar43 - iVar22 != uVar47" (binary_expression "bVar43 - iVar22" identifier - identifier) != identifier) ; (assignment_expression "uVar47 = uVar47 + 1" identifier = (binary_expression "uVar47 + 1" identifier + number_literal)) ) (compound_statement "{\n                  local_5c = (bfd *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar49 + iVar22))[uVar47] <<\n                                    ((char)uVar47 * '\b' & 0x1fU));\n                }" { (expression_statement "local_5c = (bfd *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar49 + iVar22))[uVar47] <<\n                                    ((char)uVar47 * '\b' & 0x1fU));" (assignment_expression "local_5c = (bfd *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar49 + iVar22))[uVar47] <<\n                                    ((char)uVar47 * '\b' & 0x1fU))" identifier = (cast_expression "(bfd *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar49 + iVar22))[uVar47] <<\n                                    ((char)uVar47 * '\b' & 0x1fU))" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar49 + iVar22))[uVar47] <<\n                                    ((char)uVar47 * '\b' & 0x1fU))" ( (binary_expression "(uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar49 + iVar22))[uVar47] <<\n                                    ((char)uVar47 * '\b' & 0x1fU)" (cast_expression "(uint)local_5c" ( (type_descriptor "uint" type_identifier) ) identifier) | (binary_expression "(uint)(byte)((undefined1 *)((int)pvVar49 + iVar22))[uVar47] <<\n                                    ((char)uVar47 * '\b' & 0x1fU)" (subscript_expression "(uint)(byte)((undefined1 *)((int)pvVar49 + iVar22))[uVar47]" (call_expression "(uint)(byte)((undefined1 *)((int)pvVar49 + iVar22))" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier ))) (argument_list "((undefined1 *)((int)pvVar49 + iVar22))" ( (cast_expression "(undefined1 *)((int)pvVar49 + iVar22)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar49 + iVar22)" ( (binary_expression "(int)pvVar49 + iVar22" (cast_expression "(int)pvVar49" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))) ))) [ identifier ]) << (parenthesized_expression "((char)uVar47 * '\b' & 0x1fU)" ( (binary_expression "(char)uVar47 * '\b' & 0x1fU" (binary_expression "(char)uVar47 * '\b'" (cast_expression "(char)uVar47" ( (type_descriptor "char" primitive_type) ) identifier) * (char_literal "'\b'" ' escape_sequence ')) & number_literal) )))) )))) ;) })) (expression_statement "uVar48 = 0;" (assignment_expression "uVar48 = 0" identifier = number_literal) ;) (expression_statement "uVar58 = (int)local_5c + uVar58;" (assignment_expression "uVar58 = (int)local_5c + uVar58" identifier = (binary_expression "(int)local_5c + uVar58" (cast_expression "(int)local_5c" ( (type_descriptor "int" primitive_type) ) identifier) + identifier)) ;) (for_statement "for (uVar46 = uVar58; uVar46 != 0; uVar46 = uVar46 >> 8) {\n                  uVar48 = uVar48 + 1;\n                }" for ( (assignment_expression "uVar46 = uVar58" identifier = identifier) ; (binary_expression "uVar46 != 0" identifier != number_literal) ; (assignment_expression "uVar46 = uVar46 >> 8" identifier = (binary_expression "uVar46 >> 8" identifier >> number_literal)) ) (compound_statement "{\n                  uVar48 = uVar48 + 1;\n                }" { (expression_statement "uVar48 = uVar48 + 1;" (assignment_expression "uVar48 = uVar48 + 1" identifier = (binary_expression "uVar48 + 1" identifier + number_literal)) ;) })) (expression_statement "in_stack_ffffff54 = (bfd *)pbVar56;" (assignment_expression "in_stack_ffffff54 = (bfd *)pbVar56" identifier = (cast_expression "(bfd *)pbVar56" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) }) while (parenthesized_expression "(uVar47 <= uVar48)" ( (binary_expression "uVar47 <= uVar48" identifier <= identifier) )) ;) (expression_statement "puVar61 = (undefined1 *)((int)pvVar49 + iVar22);" (assignment_expression "puVar61 = (undefined1 *)((int)pvVar49 + iVar22)" identifier = (cast_expression "(undefined1 *)((int)pvVar49 + iVar22)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar49 + iVar22)" ( (binary_expression "(int)pvVar49 + iVar22" (cast_expression "(int)pvVar49" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (while_statement "while (puVar61 < (undefined1 *)((int)pvVar49 + bVar43)) {\n                *puVar61 = (char)uVar58;\n                if (uVar58 == 0) break;\n                uVar58 = uVar58 >> 8;\n                puVar61 = puVar61 + 1;\n              }" while (parenthesized_expression "(puVar61 < (undefined1 *)((int)pvVar49 + bVar43))" ( (binary_expression "puVar61 < (undefined1 *)((int)pvVar49 + bVar43)" identifier < (cast_expression "(undefined1 *)((int)pvVar49 + bVar43)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar49 + bVar43)" ( (binary_expression "(int)pvVar49 + bVar43" (cast_expression "(int)pvVar49" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) )) (compound_statement "{\n                *puVar61 = (char)uVar58;\n                if (uVar58 == 0) break;\n                uVar58 = uVar58 >> 8;\n                puVar61 = puVar61 + 1;\n              }" { (expression_statement "*puVar61 = (char)uVar58;" (assignment_expression "*puVar61 = (char)uVar58" (pointer_expression "*puVar61" * identifier) = (cast_expression "(char)uVar58" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (if_statement "if (uVar58 == 0) break;" if (parenthesized_expression "(uVar58 == 0)" ( (binary_expression "uVar58 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "uVar58 = uVar58 >> 8;" (assignment_expression "uVar58 = uVar58 >> 8" identifier = (binary_expression "uVar58 >> 8" identifier >> number_literal)) ;) (expression_statement "puVar61 = puVar61 + 1;" (assignment_expression "puVar61 = puVar61 + 1" identifier = (binary_expression "puVar61 + 1" identifier + number_literal)) ;) })) (expression_statement "pbVar13[0xb] = 0;" (assignment_expression "pbVar13[0xb] = 0" (subscript_expression "pbVar13[0xb]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "bVar64 = true;" (assignment_expression "bVar64 = true" identifier = true) ;) })) (goto_statement "goto LAB_0001a954;" goto statement_identifier ;) })) (expression_statement "in_stack_ffffff58 = obfd;" (assignment_expression "in_stack_ffffff58 = obfd" identifier = identifier) ;) (expression_statement "local_5c = obfd;" (assignment_expression "local_5c = obfd" identifier = identifier) ;) (if_statement "if (!bVar64) goto LAB_0001a75c;" if (parenthesized_expression "(!bVar64)" ( (unary_expression "!bVar64" ! identifier) )) (goto_statement "goto LAB_0001a75c;" goto statement_identifier ;)) (expression_statement "pvVar44 = (void *)xmalloc(pbVar36,pvVar70,pbVar42,pbVar71);" (assignment_expression "pvVar44 = (void *)xmalloc(pbVar36,pvVar70,pbVar42,pbVar71)" identifier = (cast_expression "(void *)xmalloc(pbVar36,pvVar70,pbVar42,pbVar71)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(pbVar36,pvVar70,pbVar42,pbVar71)" identifier (argument_list "(pbVar36,pvVar70,pbVar42,pbVar71)" ( identifier , identifier , identifier , identifier ))))) ;) (expression_statement "bVar43 = 0;" (assignment_expression "bVar43 = 0" identifier = number_literal) ;) (expression_statement "pvVar70 = pvVar44;" (assignment_expression "pvVar70 = pvVar44" identifier = identifier) ;) (expression_statement "local_80 = pbVar50;" (assignment_expression "local_80 = pbVar50" identifier = identifier) ;) (for_statement "for (pbVar56 = local_60; pbVar56 < local_64; pbVar56 = pbVar56 + 9) {\n            bVar45 = *pbVar56;\n            sVar34 = pbVar56[1] + 0xc + bVar45;\n            bVar10 = pbVar56[2];\n            pvVar49 = pvVar70;\n            if (bVar10 != 0) {\n              if (pbVar56[8] == 0) {\n                memcpy(pvVar70,local_80,sVar34);\n                pvVar49 = (void *)((int)pvVar70 + sVar34);\n              }\n              else {\n                pbVar57 = (bfd_byte *)pbVar56[6];\n                p_Var9 = ibfd->xvec->bfd_putx32;\n                __dest = (void *)((int)pvVar70 + 0xc);\n                pvVar49 = (void *)((int)__dest + bVar45);\n                if ((pbVar57 == local_74) && (pbVar56[7] == bVar43)) {\n                  (*p_Var9)(bVar45,pvVar70);\n                  (*ibfd->xvec->bfd_putx32)(0,(void *)((int)pvVar70 + 4));\n                  (*ibfd->xvec->bfd_putx32)(bVar10,(void *)((int)pvVar70 + 8));\n                  memcpy(__dest,(void *)pbVar56[3],bVar45);\n                }\n                else {\n                  (*p_Var9)(bVar45,pvVar70);\n                  bVar43 = 8;\n                  if (ibfd->xvec->flavour == bfd_target_elf_flavour) {\n                    bVar43 = (uint)(((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02'\n                                   ) * 8 + 8;\n                  }\n                  (*ibfd->xvec->bfd_putx32)(bVar43,(void *)((int)pvVar70 + 4));\n                  (*ibfd->xvec->bfd_putx32)(bVar10,(void *)((int)pvVar70 + 8));\n                  memcpy(__dest,(void *)pbVar56[3],bVar45);\n                  pbVar8 = ibfd->xvec;\n                  if ((pbVar8->flavour == bfd_target_elf_flavour) &&\n                     (((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02')) {\n                    (*pbVar8->bfd_putx64)(ZEXT48(pbVar57),pvVar49);\n                    (*ibfd->xvec->bfd_putx64)((ulonglong)pbVar56[7],(void *)((int)pvVar49 + 8));\n                    pvVar49 = (void *)((int)pvVar49 + 0x10);\n                  }\n                  else {\n                    (*pbVar8->bfd_putx32)((bfd_vma)pbVar57,pvVar49);\n                    (*ibfd->xvec->bfd_putx32)(pbVar56[7],(void *)((int)pvVar49 + 4));\n                    pvVar49 = (void *)((int)pvVar49 + 8);\n                  }\n                }\n              }\n              local_74 = (bfd_byte *)pbVar56[6];\n              bVar43 = pbVar56[7];\n            }\n            local_80 = local_80 + sVar34;\n            pvVar70 = pvVar49;\n          }" for ( (assignment_expression "pbVar56 = local_60" identifier = identifier) ; (binary_expression "pbVar56 < local_64" identifier < identifier) ; (assignment_expression "pbVar56 = pbVar56 + 9" identifier = (binary_expression "pbVar56 + 9" identifier + number_literal)) ) (compound_statement "{\n            bVar45 = *pbVar56;\n            sVar34 = pbVar56[1] + 0xc + bVar45;\n            bVar10 = pbVar56[2];\n            pvVar49 = pvVar70;\n            if (bVar10 != 0) {\n              if (pbVar56[8] == 0) {\n                memcpy(pvVar70,local_80,sVar34);\n                pvVar49 = (void *)((int)pvVar70 + sVar34);\n              }\n              else {\n                pbVar57 = (bfd_byte *)pbVar56[6];\n                p_Var9 = ibfd->xvec->bfd_putx32;\n                __dest = (void *)((int)pvVar70 + 0xc);\n                pvVar49 = (void *)((int)__dest + bVar45);\n                if ((pbVar57 == local_74) && (pbVar56[7] == bVar43)) {\n                  (*p_Var9)(bVar45,pvVar70);\n                  (*ibfd->xvec->bfd_putx32)(0,(void *)((int)pvVar70 + 4));\n                  (*ibfd->xvec->bfd_putx32)(bVar10,(void *)((int)pvVar70 + 8));\n                  memcpy(__dest,(void *)pbVar56[3],bVar45);\n                }\n                else {\n                  (*p_Var9)(bVar45,pvVar70);\n                  bVar43 = 8;\n                  if (ibfd->xvec->flavour == bfd_target_elf_flavour) {\n                    bVar43 = (uint)(((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02'\n                                   ) * 8 + 8;\n                  }\n                  (*ibfd->xvec->bfd_putx32)(bVar43,(void *)((int)pvVar70 + 4));\n                  (*ibfd->xvec->bfd_putx32)(bVar10,(void *)((int)pvVar70 + 8));\n                  memcpy(__dest,(void *)pbVar56[3],bVar45);\n                  pbVar8 = ibfd->xvec;\n                  if ((pbVar8->flavour == bfd_target_elf_flavour) &&\n                     (((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02')) {\n                    (*pbVar8->bfd_putx64)(ZEXT48(pbVar57),pvVar49);\n                    (*ibfd->xvec->bfd_putx64)((ulonglong)pbVar56[7],(void *)((int)pvVar49 + 8));\n                    pvVar49 = (void *)((int)pvVar49 + 0x10);\n                  }\n                  else {\n                    (*pbVar8->bfd_putx32)((bfd_vma)pbVar57,pvVar49);\n                    (*ibfd->xvec->bfd_putx32)(pbVar56[7],(void *)((int)pvVar49 + 4));\n                    pvVar49 = (void *)((int)pvVar49 + 8);\n                  }\n                }\n              }\n              local_74 = (bfd_byte *)pbVar56[6];\n              bVar43 = pbVar56[7];\n            }\n            local_80 = local_80 + sVar34;\n            pvVar70 = pvVar49;\n          }" { (expression_statement "bVar45 = *pbVar56;" (assignment_expression "bVar45 = *pbVar56" identifier = (pointer_expression "*pbVar56" * identifier)) ;) (expression_statement "sVar34 = pbVar56[1] + 0xc + bVar45;" (assignment_expression "sVar34 = pbVar56[1] + 0xc + bVar45" identifier = (binary_expression "pbVar56[1] + 0xc + bVar45" (binary_expression "pbVar56[1] + 0xc" (subscript_expression "pbVar56[1]" identifier [ number_literal ]) + number_literal) + identifier)) ;) (expression_statement "bVar10 = pbVar56[2];" (assignment_expression "bVar10 = pbVar56[2]" identifier = (subscript_expression "pbVar56[2]" identifier [ number_literal ])) ;) (expression_statement "pvVar49 = pvVar70;" (assignment_expression "pvVar49 = pvVar70" identifier = identifier) ;) (if_statement "if (bVar10 != 0) {\n              if (pbVar56[8] == 0) {\n                memcpy(pvVar70,local_80,sVar34);\n                pvVar49 = (void *)((int)pvVar70 + sVar34);\n              }\n              else {\n                pbVar57 = (bfd_byte *)pbVar56[6];\n                p_Var9 = ibfd->xvec->bfd_putx32;\n                __dest = (void *)((int)pvVar70 + 0xc);\n                pvVar49 = (void *)((int)__dest + bVar45);\n                if ((pbVar57 == local_74) && (pbVar56[7] == bVar43)) {\n                  (*p_Var9)(bVar45,pvVar70);\n                  (*ibfd->xvec->bfd_putx32)(0,(void *)((int)pvVar70 + 4));\n                  (*ibfd->xvec->bfd_putx32)(bVar10,(void *)((int)pvVar70 + 8));\n                  memcpy(__dest,(void *)pbVar56[3],bVar45);\n                }\n                else {\n                  (*p_Var9)(bVar45,pvVar70);\n                  bVar43 = 8;\n                  if (ibfd->xvec->flavour == bfd_target_elf_flavour) {\n                    bVar43 = (uint)(((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02'\n                                   ) * 8 + 8;\n                  }\n                  (*ibfd->xvec->bfd_putx32)(bVar43,(void *)((int)pvVar70 + 4));\n                  (*ibfd->xvec->bfd_putx32)(bVar10,(void *)((int)pvVar70 + 8));\n                  memcpy(__dest,(void *)pbVar56[3],bVar45);\n                  pbVar8 = ibfd->xvec;\n                  if ((pbVar8->flavour == bfd_target_elf_flavour) &&\n                     (((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02')) {\n                    (*pbVar8->bfd_putx64)(ZEXT48(pbVar57),pvVar49);\n                    (*ibfd->xvec->bfd_putx64)((ulonglong)pbVar56[7],(void *)((int)pvVar49 + 8));\n                    pvVar49 = (void *)((int)pvVar49 + 0x10);\n                  }\n                  else {\n                    (*pbVar8->bfd_putx32)((bfd_vma)pbVar57,pvVar49);\n                    (*ibfd->xvec->bfd_putx32)(pbVar56[7],(void *)((int)pvVar49 + 4));\n                    pvVar49 = (void *)((int)pvVar49 + 8);\n                  }\n                }\n              }\n              local_74 = (bfd_byte *)pbVar56[6];\n              bVar43 = pbVar56[7];\n            }" if (parenthesized_expression "(bVar10 != 0)" ( (binary_expression "bVar10 != 0" identifier != number_literal) )) (compound_statement "{\n              if (pbVar56[8] == 0) {\n                memcpy(pvVar70,local_80,sVar34);\n                pvVar49 = (void *)((int)pvVar70 + sVar34);\n              }\n              else {\n                pbVar57 = (bfd_byte *)pbVar56[6];\n                p_Var9 = ibfd->xvec->bfd_putx32;\n                __dest = (void *)((int)pvVar70 + 0xc);\n                pvVar49 = (void *)((int)__dest + bVar45);\n                if ((pbVar57 == local_74) && (pbVar56[7] == bVar43)) {\n                  (*p_Var9)(bVar45,pvVar70);\n                  (*ibfd->xvec->bfd_putx32)(0,(void *)((int)pvVar70 + 4));\n                  (*ibfd->xvec->bfd_putx32)(bVar10,(void *)((int)pvVar70 + 8));\n                  memcpy(__dest,(void *)pbVar56[3],bVar45);\n                }\n                else {\n                  (*p_Var9)(bVar45,pvVar70);\n                  bVar43 = 8;\n                  if (ibfd->xvec->flavour == bfd_target_elf_flavour) {\n                    bVar43 = (uint)(((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02'\n                                   ) * 8 + 8;\n                  }\n                  (*ibfd->xvec->bfd_putx32)(bVar43,(void *)((int)pvVar70 + 4));\n                  (*ibfd->xvec->bfd_putx32)(bVar10,(void *)((int)pvVar70 + 8));\n                  memcpy(__dest,(void *)pbVar56[3],bVar45);\n                  pbVar8 = ibfd->xvec;\n                  if ((pbVar8->flavour == bfd_target_elf_flavour) &&\n                     (((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02')) {\n                    (*pbVar8->bfd_putx64)(ZEXT48(pbVar57),pvVar49);\n                    (*ibfd->xvec->bfd_putx64)((ulonglong)pbVar56[7],(void *)((int)pvVar49 + 8));\n                    pvVar49 = (void *)((int)pvVar49 + 0x10);\n                  }\n                  else {\n                    (*pbVar8->bfd_putx32)((bfd_vma)pbVar57,pvVar49);\n                    (*ibfd->xvec->bfd_putx32)(pbVar56[7],(void *)((int)pvVar49 + 4));\n                    pvVar49 = (void *)((int)pvVar49 + 8);\n                  }\n                }\n              }\n              local_74 = (bfd_byte *)pbVar56[6];\n              bVar43 = pbVar56[7];\n            }" { (if_statement "if (pbVar56[8] == 0) {\n                memcpy(pvVar70,local_80,sVar34);\n                pvVar49 = (void *)((int)pvVar70 + sVar34);\n              }\n              else {\n                pbVar57 = (bfd_byte *)pbVar56[6];\n                p_Var9 = ibfd->xvec->bfd_putx32;\n                __dest = (void *)((int)pvVar70 + 0xc);\n                pvVar49 = (void *)((int)__dest + bVar45);\n                if ((pbVar57 == local_74) && (pbVar56[7] == bVar43)) {\n                  (*p_Var9)(bVar45,pvVar70);\n                  (*ibfd->xvec->bfd_putx32)(0,(void *)((int)pvVar70 + 4));\n                  (*ibfd->xvec->bfd_putx32)(bVar10,(void *)((int)pvVar70 + 8));\n                  memcpy(__dest,(void *)pbVar56[3],bVar45);\n                }\n                else {\n                  (*p_Var9)(bVar45,pvVar70);\n                  bVar43 = 8;\n                  if (ibfd->xvec->flavour == bfd_target_elf_flavour) {\n                    bVar43 = (uint)(((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02'\n                                   ) * 8 + 8;\n                  }\n                  (*ibfd->xvec->bfd_putx32)(bVar43,(void *)((int)pvVar70 + 4));\n                  (*ibfd->xvec->bfd_putx32)(bVar10,(void *)((int)pvVar70 + 8));\n                  memcpy(__dest,(void *)pbVar56[3],bVar45);\n                  pbVar8 = ibfd->xvec;\n                  if ((pbVar8->flavour == bfd_target_elf_flavour) &&\n                     (((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02')) {\n                    (*pbVar8->bfd_putx64)(ZEXT48(pbVar57),pvVar49);\n                    (*ibfd->xvec->bfd_putx64)((ulonglong)pbVar56[7],(void *)((int)pvVar49 + 8));\n                    pvVar49 = (void *)((int)pvVar49 + 0x10);\n                  }\n                  else {\n                    (*pbVar8->bfd_putx32)((bfd_vma)pbVar57,pvVar49);\n                    (*ibfd->xvec->bfd_putx32)(pbVar56[7],(void *)((int)pvVar49 + 4));\n                    pvVar49 = (void *)((int)pvVar49 + 8);\n                  }\n                }\n              }" if (parenthesized_expression "(pbVar56[8] == 0)" ( (binary_expression "pbVar56[8] == 0" (subscript_expression "pbVar56[8]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                memcpy(pvVar70,local_80,sVar34);\n                pvVar49 = (void *)((int)pvVar70 + sVar34);\n              }" { (expression_statement "memcpy(pvVar70,local_80,sVar34);" (call_expression "memcpy(pvVar70,local_80,sVar34)" identifier (argument_list "(pvVar70,local_80,sVar34)" ( identifier , identifier , identifier ))) ;) (expression_statement "pvVar49 = (void *)((int)pvVar70 + sVar34);" (assignment_expression "pvVar49 = (void *)((int)pvVar70 + sVar34)" identifier = (cast_expression "(void *)((int)pvVar70 + sVar34)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar70 + sVar34)" ( (binary_expression "(int)pvVar70 + sVar34" (cast_expression "(int)pvVar70" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) }) (else_clause "else {\n                pbVar57 = (bfd_byte *)pbVar56[6];\n                p_Var9 = ibfd->xvec->bfd_putx32;\n                __dest = (void *)((int)pvVar70 + 0xc);\n                pvVar49 = (void *)((int)__dest + bVar45);\n                if ((pbVar57 == local_74) && (pbVar56[7] == bVar43)) {\n                  (*p_Var9)(bVar45,pvVar70);\n                  (*ibfd->xvec->bfd_putx32)(0,(void *)((int)pvVar70 + 4));\n                  (*ibfd->xvec->bfd_putx32)(bVar10,(void *)((int)pvVar70 + 8));\n                  memcpy(__dest,(void *)pbVar56[3],bVar45);\n                }\n                else {\n                  (*p_Var9)(bVar45,pvVar70);\n                  bVar43 = 8;\n                  if (ibfd->xvec->flavour == bfd_target_elf_flavour) {\n                    bVar43 = (uint)(((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02'\n                                   ) * 8 + 8;\n                  }\n                  (*ibfd->xvec->bfd_putx32)(bVar43,(void *)((int)pvVar70 + 4));\n                  (*ibfd->xvec->bfd_putx32)(bVar10,(void *)((int)pvVar70 + 8));\n                  memcpy(__dest,(void *)pbVar56[3],bVar45);\n                  pbVar8 = ibfd->xvec;\n                  if ((pbVar8->flavour == bfd_target_elf_flavour) &&\n                     (((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02')) {\n                    (*pbVar8->bfd_putx64)(ZEXT48(pbVar57),pvVar49);\n                    (*ibfd->xvec->bfd_putx64)((ulonglong)pbVar56[7],(void *)((int)pvVar49 + 8));\n                    pvVar49 = (void *)((int)pvVar49 + 0x10);\n                  }\n                  else {\n                    (*pbVar8->bfd_putx32)((bfd_vma)pbVar57,pvVar49);\n                    (*ibfd->xvec->bfd_putx32)(pbVar56[7],(void *)((int)pvVar49 + 4));\n                    pvVar49 = (void *)((int)pvVar49 + 8);\n                  }\n                }\n              }" else (compound_statement "{\n                pbVar57 = (bfd_byte *)pbVar56[6];\n                p_Var9 = ibfd->xvec->bfd_putx32;\n                __dest = (void *)((int)pvVar70 + 0xc);\n                pvVar49 = (void *)((int)__dest + bVar45);\n                if ((pbVar57 == local_74) && (pbVar56[7] == bVar43)) {\n                  (*p_Var9)(bVar45,pvVar70);\n                  (*ibfd->xvec->bfd_putx32)(0,(void *)((int)pvVar70 + 4));\n                  (*ibfd->xvec->bfd_putx32)(bVar10,(void *)((int)pvVar70 + 8));\n                  memcpy(__dest,(void *)pbVar56[3],bVar45);\n                }\n                else {\n                  (*p_Var9)(bVar45,pvVar70);\n                  bVar43 = 8;\n                  if (ibfd->xvec->flavour == bfd_target_elf_flavour) {\n                    bVar43 = (uint)(((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02'\n                                   ) * 8 + 8;\n                  }\n                  (*ibfd->xvec->bfd_putx32)(bVar43,(void *)((int)pvVar70 + 4));\n                  (*ibfd->xvec->bfd_putx32)(bVar10,(void *)((int)pvVar70 + 8));\n                  memcpy(__dest,(void *)pbVar56[3],bVar45);\n                  pbVar8 = ibfd->xvec;\n                  if ((pbVar8->flavour == bfd_target_elf_flavour) &&\n                     (((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02')) {\n                    (*pbVar8->bfd_putx64)(ZEXT48(pbVar57),pvVar49);\n                    (*ibfd->xvec->bfd_putx64)((ulonglong)pbVar56[7],(void *)((int)pvVar49 + 8));\n                    pvVar49 = (void *)((int)pvVar49 + 0x10);\n                  }\n                  else {\n                    (*pbVar8->bfd_putx32)((bfd_vma)pbVar57,pvVar49);\n                    (*ibfd->xvec->bfd_putx32)(pbVar56[7],(void *)((int)pvVar49 + 4));\n                    pvVar49 = (void *)((int)pvVar49 + 8);\n                  }\n                }\n              }" { (expression_statement "pbVar57 = (bfd_byte *)pbVar56[6];" (assignment_expression "pbVar57 = (bfd_byte *)pbVar56[6]" identifier = (cast_expression "(bfd_byte *)pbVar56[6]" ( (type_descriptor "bfd_byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "pbVar56[6]" identifier [ number_literal ]))) ;) (expression_statement "p_Var9 = ibfd->xvec->bfd_putx32;" (assignment_expression "p_Var9 = ibfd->xvec->bfd_putx32" identifier = (field_expression "ibfd->xvec->bfd_putx32" (field_expression "ibfd->xvec" identifier -> field_identifier) -> field_identifier)) ;) (expression_statement "__dest = (void *)((int)pvVar70 + 0xc);" (assignment_expression "__dest = (void *)((int)pvVar70 + 0xc)" identifier = (cast_expression "(void *)((int)pvVar70 + 0xc)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar70 + 0xc)" ( (binary_expression "(int)pvVar70 + 0xc" (cast_expression "(int)pvVar70" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pvVar49 = (void *)((int)__dest + bVar45);" (assignment_expression "pvVar49 = (void *)((int)__dest + bVar45)" identifier = (cast_expression "(void *)((int)__dest + bVar45)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__dest + bVar45)" ( (binary_expression "(int)__dest + bVar45" (cast_expression "(int)__dest" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (if_statement "if ((pbVar57 == local_74) && (pbVar56[7] == bVar43)) {\n                  (*p_Var9)(bVar45,pvVar70);\n                  (*ibfd->xvec->bfd_putx32)(0,(void *)((int)pvVar70 + 4));\n                  (*ibfd->xvec->bfd_putx32)(bVar10,(void *)((int)pvVar70 + 8));\n                  memcpy(__dest,(void *)pbVar56[3],bVar45);\n                }\n                else {\n                  (*p_Var9)(bVar45,pvVar70);\n                  bVar43 = 8;\n                  if (ibfd->xvec->flavour == bfd_target_elf_flavour) {\n                    bVar43 = (uint)(((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02'\n                                   ) * 8 + 8;\n                  }\n                  (*ibfd->xvec->bfd_putx32)(bVar43,(void *)((int)pvVar70 + 4));\n                  (*ibfd->xvec->bfd_putx32)(bVar10,(void *)((int)pvVar70 + 8));\n                  memcpy(__dest,(void *)pbVar56[3],bVar45);\n                  pbVar8 = ibfd->xvec;\n                  if ((pbVar8->flavour == bfd_target_elf_flavour) &&\n                     (((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02')) {\n                    (*pbVar8->bfd_putx64)(ZEXT48(pbVar57),pvVar49);\n                    (*ibfd->xvec->bfd_putx64)((ulonglong)pbVar56[7],(void *)((int)pvVar49 + 8));\n                    pvVar49 = (void *)((int)pvVar49 + 0x10);\n                  }\n                  else {\n                    (*pbVar8->bfd_putx32)((bfd_vma)pbVar57,pvVar49);\n                    (*ibfd->xvec->bfd_putx32)(pbVar56[7],(void *)((int)pvVar49 + 4));\n                    pvVar49 = (void *)((int)pvVar49 + 8);\n                  }\n                }" if (parenthesized_expression "((pbVar57 == local_74) && (pbVar56[7] == bVar43))" ( (binary_expression "(pbVar57 == local_74) && (pbVar56[7] == bVar43)" (parenthesized_expression "(pbVar57 == local_74)" ( (binary_expression "pbVar57 == local_74" identifier == identifier) )) && (parenthesized_expression "(pbVar56[7] == bVar43)" ( (binary_expression "pbVar56[7] == bVar43" (subscript_expression "pbVar56[7]" identifier [ number_literal ]) == identifier) ))) )) (compound_statement "{\n                  (*p_Var9)(bVar45,pvVar70);\n                  (*ibfd->xvec->bfd_putx32)(0,(void *)((int)pvVar70 + 4));\n                  (*ibfd->xvec->bfd_putx32)(bVar10,(void *)((int)pvVar70 + 8));\n                  memcpy(__dest,(void *)pbVar56[3],bVar45);\n                }" { (expression_statement "(*p_Var9)(bVar45,pvVar70);" (call_expression "(*p_Var9)(bVar45,pvVar70)" (parenthesized_expression "(*p_Var9)" ( (pointer_expression "*p_Var9" * identifier) )) (argument_list "(bVar45,pvVar70)" ( identifier , identifier ))) ;) (expression_statement "(*ibfd->xvec->bfd_putx32)(0,(void *)((int)pvVar70 + 4));" (call_expression "(*ibfd->xvec->bfd_putx32)(0,(void *)((int)pvVar70 + 4))" (parenthesized_expression "(*ibfd->xvec->bfd_putx32)" ( (pointer_expression "*ibfd->xvec->bfd_putx32" * (field_expression "ibfd->xvec->bfd_putx32" (field_expression "ibfd->xvec" identifier -> field_identifier) -> field_identifier)) )) (argument_list "(0,(void *)((int)pvVar70 + 4))" ( number_literal , (cast_expression "(void *)((int)pvVar70 + 4)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar70 + 4)" ( (binary_expression "(int)pvVar70 + 4" (cast_expression "(int)pvVar70" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) ))) ;) (expression_statement "(*ibfd->xvec->bfd_putx32)(bVar10,(void *)((int)pvVar70 + 8));" (call_expression "(*ibfd->xvec->bfd_putx32)(bVar10,(void *)((int)pvVar70 + 8))" (parenthesized_expression "(*ibfd->xvec->bfd_putx32)" ( (pointer_expression "*ibfd->xvec->bfd_putx32" * (field_expression "ibfd->xvec->bfd_putx32" (field_expression "ibfd->xvec" identifier -> field_identifier) -> field_identifier)) )) (argument_list "(bVar10,(void *)((int)pvVar70 + 8))" ( identifier , (cast_expression "(void *)((int)pvVar70 + 8)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar70 + 8)" ( (binary_expression "(int)pvVar70 + 8" (cast_expression "(int)pvVar70" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) ))) ;) (expression_statement "memcpy(__dest,(void *)pbVar56[3],bVar45);" (call_expression "memcpy(__dest,(void *)pbVar56[3],bVar45)" identifier (argument_list "(__dest,(void *)pbVar56[3],bVar45)" ( identifier , (cast_expression "(void *)pbVar56[3]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "pbVar56[3]" identifier [ number_literal ])) , identifier ))) ;) }) (else_clause "else {\n                  (*p_Var9)(bVar45,pvVar70);\n                  bVar43 = 8;\n                  if (ibfd->xvec->flavour == bfd_target_elf_flavour) {\n                    bVar43 = (uint)(((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02'\n                                   ) * 8 + 8;\n                  }\n                  (*ibfd->xvec->bfd_putx32)(bVar43,(void *)((int)pvVar70 + 4));\n                  (*ibfd->xvec->bfd_putx32)(bVar10,(void *)((int)pvVar70 + 8));\n                  memcpy(__dest,(void *)pbVar56[3],bVar45);\n                  pbVar8 = ibfd->xvec;\n                  if ((pbVar8->flavour == bfd_target_elf_flavour) &&\n                     (((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02')) {\n                    (*pbVar8->bfd_putx64)(ZEXT48(pbVar57),pvVar49);\n                    (*ibfd->xvec->bfd_putx64)((ulonglong)pbVar56[7],(void *)((int)pvVar49 + 8));\n                    pvVar49 = (void *)((int)pvVar49 + 0x10);\n                  }\n                  else {\n                    (*pbVar8->bfd_putx32)((bfd_vma)pbVar57,pvVar49);\n                    (*ibfd->xvec->bfd_putx32)(pbVar56[7],(void *)((int)pvVar49 + 4));\n                    pvVar49 = (void *)((int)pvVar49 + 8);\n                  }\n                }" else (compound_statement "{\n                  (*p_Var9)(bVar45,pvVar70);\n                  bVar43 = 8;\n                  if (ibfd->xvec->flavour == bfd_target_elf_flavour) {\n                    bVar43 = (uint)(((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02'\n                                   ) * 8 + 8;\n                  }\n                  (*ibfd->xvec->bfd_putx32)(bVar43,(void *)((int)pvVar70 + 4));\n                  (*ibfd->xvec->bfd_putx32)(bVar10,(void *)((int)pvVar70 + 8));\n                  memcpy(__dest,(void *)pbVar56[3],bVar45);\n                  pbVar8 = ibfd->xvec;\n                  if ((pbVar8->flavour == bfd_target_elf_flavour) &&\n                     (((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02')) {\n                    (*pbVar8->bfd_putx64)(ZEXT48(pbVar57),pvVar49);\n                    (*ibfd->xvec->bfd_putx64)((ulonglong)pbVar56[7],(void *)((int)pvVar49 + 8));\n                    pvVar49 = (void *)((int)pvVar49 + 0x10);\n                  }\n                  else {\n                    (*pbVar8->bfd_putx32)((bfd_vma)pbVar57,pvVar49);\n                    (*ibfd->xvec->bfd_putx32)(pbVar56[7],(void *)((int)pvVar49 + 4));\n                    pvVar49 = (void *)((int)pvVar49 + 8);\n                  }\n                }" { (expression_statement "(*p_Var9)(bVar45,pvVar70);" (call_expression "(*p_Var9)(bVar45,pvVar70)" (parenthesized_expression "(*p_Var9)" ( (pointer_expression "*p_Var9" * identifier) )) (argument_list "(bVar45,pvVar70)" ( identifier , identifier ))) ;) (expression_statement "bVar43 = 8;" (assignment_expression "bVar43 = 8" identifier = number_literal) ;) (if_statement "if (ibfd->xvec->flavour == bfd_target_elf_flavour) {\n                    bVar43 = (uint)(((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02'\n                                   ) * 8 + 8;\n                  }" if (parenthesized_expression "(ibfd->xvec->flavour == bfd_target_elf_flavour)" ( (binary_expression "ibfd->xvec->flavour == bfd_target_elf_flavour" (field_expression "ibfd->xvec->flavour" (field_expression "ibfd->xvec" identifier -> field_identifier) -> field_identifier) == identifier) )) (compound_statement "{\n                    bVar43 = (uint)(((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02'\n                                   ) * 8 + 8;\n                  }" { (expression_statement "bVar43 = (uint)(((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02'\n                                   ) * 8 + 8;" (assignment_expression "bVar43 = (uint)(((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02'\n                                   ) * 8 + 8" identifier = (binary_expression "(uint)(((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02'\n                                   ) * 8 + 8" (binary_expression "(uint)(((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02'\n                                   ) * 8" (call_expression "(uint)(((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02'\n                                   )" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02'\n                                   )" ( (binary_expression "((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02'" (subscript_expression "((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4]" (field_expression "((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident" (subscript_expression "((ibfd->tdata).elf_obj_data)->elf_header[0]" (field_expression "((ibfd->tdata).elf_obj_data)->elf_header" (parenthesized_expression "((ibfd->tdata).elf_obj_data)" ( (field_expression "(ibfd->tdata).elf_obj_data" (parenthesized_expression "(ibfd->tdata)" ( (field_expression "ibfd->tdata" identifier -> field_identifier) )) . field_identifier) )) -> field_identifier) [ number_literal ]) . field_identifier) [ number_literal ]) == (char_literal "'\x02'" ' escape_sequence ')) ))) * number_literal) + number_literal)) ;) })) (expression_statement "(*ibfd->xvec->bfd_putx32)(bVar43,(void *)((int)pvVar70 + 4));" (call_expression "(*ibfd->xvec->bfd_putx32)(bVar43,(void *)((int)pvVar70 + 4))" (parenthesized_expression "(*ibfd->xvec->bfd_putx32)" ( (pointer_expression "*ibfd->xvec->bfd_putx32" * (field_expression "ibfd->xvec->bfd_putx32" (field_expression "ibfd->xvec" identifier -> field_identifier) -> field_identifier)) )) (argument_list "(bVar43,(void *)((int)pvVar70 + 4))" ( identifier , (cast_expression "(void *)((int)pvVar70 + 4)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar70 + 4)" ( (binary_expression "(int)pvVar70 + 4" (cast_expression "(int)pvVar70" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) ))) ;) (expression_statement "(*ibfd->xvec->bfd_putx32)(bVar10,(void *)((int)pvVar70 + 8));" (call_expression "(*ibfd->xvec->bfd_putx32)(bVar10,(void *)((int)pvVar70 + 8))" (parenthesized_expression "(*ibfd->xvec->bfd_putx32)" ( (pointer_expression "*ibfd->xvec->bfd_putx32" * (field_expression "ibfd->xvec->bfd_putx32" (field_expression "ibfd->xvec" identifier -> field_identifier) -> field_identifier)) )) (argument_list "(bVar10,(void *)((int)pvVar70 + 8))" ( identifier , (cast_expression "(void *)((int)pvVar70 + 8)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar70 + 8)" ( (binary_expression "(int)pvVar70 + 8" (cast_expression "(int)pvVar70" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) ))) ;) (expression_statement "memcpy(__dest,(void *)pbVar56[3],bVar45);" (call_expression "memcpy(__dest,(void *)pbVar56[3],bVar45)" identifier (argument_list "(__dest,(void *)pbVar56[3],bVar45)" ( identifier , (cast_expression "(void *)pbVar56[3]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "pbVar56[3]" identifier [ number_literal ])) , identifier ))) ;) (expression_statement "pbVar8 = ibfd->xvec;" (assignment_expression "pbVar8 = ibfd->xvec" identifier = (field_expression "ibfd->xvec" identifier -> field_identifier)) ;) (if_statement "if ((pbVar8->flavour == bfd_target_elf_flavour) &&\n                     (((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02')) {\n                    (*pbVar8->bfd_putx64)(ZEXT48(pbVar57),pvVar49);\n                    (*ibfd->xvec->bfd_putx64)((ulonglong)pbVar56[7],(void *)((int)pvVar49 + 8));\n                    pvVar49 = (void *)((int)pvVar49 + 0x10);\n                  }\n                  else {\n                    (*pbVar8->bfd_putx32)((bfd_vma)pbVar57,pvVar49);\n                    (*ibfd->xvec->bfd_putx32)(pbVar56[7],(void *)((int)pvVar49 + 4));\n                    pvVar49 = (void *)((int)pvVar49 + 8);\n                  }" if (parenthesized_expression "((pbVar8->flavour == bfd_target_elf_flavour) &&\n                     (((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02'))" ( (binary_expression "(pbVar8->flavour == bfd_target_elf_flavour) &&\n                     (((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02')" (parenthesized_expression "(pbVar8->flavour == bfd_target_elf_flavour)" ( (binary_expression "pbVar8->flavour == bfd_target_elf_flavour" (field_expression "pbVar8->flavour" identifier -> field_identifier) == identifier) )) && (parenthesized_expression "(((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02')" ( (binary_expression "((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02'" (subscript_expression "((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4]" (field_expression "((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident" (subscript_expression "((ibfd->tdata).elf_obj_data)->elf_header[0]" (field_expression "((ibfd->tdata).elf_obj_data)->elf_header" (parenthesized_expression "((ibfd->tdata).elf_obj_data)" ( (field_expression "(ibfd->tdata).elf_obj_data" (parenthesized_expression "(ibfd->tdata)" ( (field_expression "ibfd->tdata" identifier -> field_identifier) )) . field_identifier) )) -> field_identifier) [ number_literal ]) . field_identifier) [ number_literal ]) == (char_literal "'\x02'" ' escape_sequence ')) ))) )) (compound_statement "{\n                    (*pbVar8->bfd_putx64)(ZEXT48(pbVar57),pvVar49);\n                    (*ibfd->xvec->bfd_putx64)((ulonglong)pbVar56[7],(void *)((int)pvVar49 + 8));\n                    pvVar49 = (void *)((int)pvVar49 + 0x10);\n                  }" { (expression_statement "(*pbVar8->bfd_putx64)(ZEXT48(pbVar57),pvVar49);" (call_expression "(*pbVar8->bfd_putx64)(ZEXT48(pbVar57),pvVar49)" (parenthesized_expression "(*pbVar8->bfd_putx64)" ( (pointer_expression "*pbVar8->bfd_putx64" * (field_expression "pbVar8->bfd_putx64" identifier -> field_identifier)) )) (argument_list "(ZEXT48(pbVar57),pvVar49)" ( (call_expression "ZEXT48(pbVar57)" identifier (argument_list "(pbVar57)" ( identifier ))) , identifier ))) ;) (expression_statement "(*ibfd->xvec->bfd_putx64)((ulonglong)pbVar56[7],(void *)((int)pvVar49 + 8));" (call_expression "(*ibfd->xvec->bfd_putx64)((ulonglong)pbVar56[7],(void *)((int)pvVar49 + 8))" (parenthesized_expression "(*ibfd->xvec->bfd_putx64)" ( (pointer_expression "*ibfd->xvec->bfd_putx64" * (field_expression "ibfd->xvec->bfd_putx64" (field_expression "ibfd->xvec" identifier -> field_identifier) -> field_identifier)) )) (argument_list "((ulonglong)pbVar56[7],(void *)((int)pvVar49 + 8))" ( (cast_expression "(ulonglong)pbVar56[7]" ( (type_descriptor "ulonglong" type_identifier) ) (subscript_expression "pbVar56[7]" identifier [ number_literal ])) , (cast_expression "(void *)((int)pvVar49 + 8)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar49 + 8)" ( (binary_expression "(int)pvVar49 + 8" (cast_expression "(int)pvVar49" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) ))) ;) (expression_statement "pvVar49 = (void *)((int)pvVar49 + 0x10);" (assignment_expression "pvVar49 = (void *)((int)pvVar49 + 0x10)" identifier = (cast_expression "(void *)((int)pvVar49 + 0x10)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar49 + 0x10)" ( (binary_expression "(int)pvVar49 + 0x10" (cast_expression "(int)pvVar49" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) (else_clause "else {\n                    (*pbVar8->bfd_putx32)((bfd_vma)pbVar57,pvVar49);\n                    (*ibfd->xvec->bfd_putx32)(pbVar56[7],(void *)((int)pvVar49 + 4));\n                    pvVar49 = (void *)((int)pvVar49 + 8);\n                  }" else (compound_statement "{\n                    (*pbVar8->bfd_putx32)((bfd_vma)pbVar57,pvVar49);\n                    (*ibfd->xvec->bfd_putx32)(pbVar56[7],(void *)((int)pvVar49 + 4));\n                    pvVar49 = (void *)((int)pvVar49 + 8);\n                  }" { (expression_statement "(*pbVar8->bfd_putx32)((bfd_vma)pbVar57,pvVar49);" (call_expression "(*pbVar8->bfd_putx32)((bfd_vma)pbVar57,pvVar49)" (parenthesized_expression "(*pbVar8->bfd_putx32)" ( (pointer_expression "*pbVar8->bfd_putx32" * (field_expression "pbVar8->bfd_putx32" identifier -> field_identifier)) )) (argument_list "((bfd_vma)pbVar57,pvVar49)" ( (cast_expression "(bfd_vma)pbVar57" ( (type_descriptor "bfd_vma" type_identifier) ) identifier) , identifier ))) ;) (expression_statement "(*ibfd->xvec->bfd_putx32)(pbVar56[7],(void *)((int)pvVar49 + 4));" (call_expression "(*ibfd->xvec->bfd_putx32)(pbVar56[7],(void *)((int)pvVar49 + 4))" (parenthesized_expression "(*ibfd->xvec->bfd_putx32)" ( (pointer_expression "*ibfd->xvec->bfd_putx32" * (field_expression "ibfd->xvec->bfd_putx32" (field_expression "ibfd->xvec" identifier -> field_identifier) -> field_identifier)) )) (argument_list "(pbVar56[7],(void *)((int)pvVar49 + 4))" ( (subscript_expression "pbVar56[7]" identifier [ number_literal ]) , (cast_expression "(void *)((int)pvVar49 + 4)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar49 + 4)" ( (binary_expression "(int)pvVar49 + 4" (cast_expression "(int)pvVar49" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) ))) ;) (expression_statement "pvVar49 = (void *)((int)pvVar49 + 8);" (assignment_expression "pvVar49 = (void *)((int)pvVar49 + 8)" identifier = (cast_expression "(void *)((int)pvVar49 + 8)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar49 + 8)" ( (binary_expression "(int)pvVar49 + 8" (cast_expression "(int)pvVar49" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }))) }))) }))) (expression_statement "local_74 = (bfd_byte *)pbVar56[6];" (assignment_expression "local_74 = (bfd_byte *)pbVar56[6]" identifier = (cast_expression "(bfd_byte *)pbVar56[6]" ( (type_descriptor "bfd_byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "pbVar56[6]" identifier [ number_literal ]))) ;) (expression_statement "bVar43 = pbVar56[7];" (assignment_expression "bVar43 = pbVar56[7]" identifier = (subscript_expression "pbVar56[7]" identifier [ number_literal ])) ;) })) (expression_statement "local_80 = local_80 + sVar34;" (assignment_expression "local_80 = local_80 + sVar34" identifier = (binary_expression "local_80 + sVar34" identifier + identifier)) ;) (expression_statement "pvVar70 = pvVar49;" (assignment_expression "pvVar70 = pvVar49" identifier = identifier) ;) })) (expression_statement "pbVar57 = (bfd_byte *)((int)pvVar70 - (int)pvVar44);" (assignment_expression "pbVar57 = (bfd_byte *)((int)pvVar70 - (int)pvVar44)" identifier = (cast_expression "(bfd_byte *)((int)pvVar70 - (int)pvVar44)" ( (type_descriptor "bfd_byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar70 - (int)pvVar44)" ( (binary_expression "(int)pvVar70 - (int)pvVar44" (cast_expression "(int)pvVar70" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pvVar44" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "memcpy(pbVar50,pvVar44,(size_t)pbVar57);" (call_expression "memcpy(pbVar50,pvVar44,(size_t)pbVar57)" identifier (argument_list "(pbVar50,pvVar44,(size_t)pbVar57)" ( identifier , identifier , (cast_expression "(size_t)pbVar57" ( (type_descriptor "size_t" primitive_type) ) identifier) ))) ;) (expression_statement "free(pvVar44);" (call_expression "free(pvVar44)" identifier (argument_list "(pvVar44)" ( identifier ))) ;) (expression_statement "free(local_60);" (call_expression "free(local_60)" identifier (argument_list "(local_60)" ( identifier ))) ;) (expression_statement "merged_size = (bfd_size_type)pbVar57;" (assignment_expression "merged_size = (bfd_size_type)pbVar57" identifier = (cast_expression "(bfd_size_type)pbVar57" ( (type_descriptor "bfd_size_type" type_identifier) ) identifier)) ;) (if_statement "if (pbVar36 != pbVar57) {\n            iVar18 = (int)pbVar62->proxy_origin;\n            uVar29 = extraout_ECX_02;\n            if ((iVar18 != 0) &&\n               (iVar18 = bfd_set_section_size(obfd,iVar18,pbVar57,extraout_EDX),\n               uVar29 = extraout_ECX_03, iVar18 != 0)) goto LAB_00018aad;\n            pcVar24 = (char *)dcgettext(0,"warning: failed to set merged notes size",5,uVar29);\n            bfd_nonfatal_message((char *)0x0,obfd,(asection *)pbVar62,pcVar24);\n          }" if (parenthesized_expression "(pbVar36 != pbVar57)" ( (binary_expression "pbVar36 != pbVar57" identifier != identifier) )) (compound_statement "{\n            iVar18 = (int)pbVar62->proxy_origin;\n            uVar29 = extraout_ECX_02;\n            if ((iVar18 != 0) &&\n               (iVar18 = bfd_set_section_size(obfd,iVar18,pbVar57,extraout_EDX),\n               uVar29 = extraout_ECX_03, iVar18 != 0)) goto LAB_00018aad;\n            pcVar24 = (char *)dcgettext(0,"warning: failed to set merged notes size",5,uVar29);\n            bfd_nonfatal_message((char *)0x0,obfd,(asection *)pbVar62,pcVar24);\n          }" { (expression_statement "iVar18 = (int)pbVar62->proxy_origin;" (assignment_expression "iVar18 = (int)pbVar62->proxy_origin" identifier = (cast_expression "(int)pbVar62->proxy_origin" ( (type_descriptor "int" primitive_type) ) (field_expression "pbVar62->proxy_origin" identifier -> field_identifier))) ;) (expression_statement "uVar29 = extraout_ECX_02;" (assignment_expression "uVar29 = extraout_ECX_02" identifier = identifier) ;) (if_statement "if ((iVar18 != 0) &&\n               (iVar18 = bfd_set_section_size(obfd,iVar18,pbVar57,extraout_EDX),\n               uVar29 = extraout_ECX_03, iVar18 != 0)) goto LAB_00018aad;" if (parenthesized_expression "((iVar18 != 0) &&\n               (iVar18 = bfd_set_section_size(obfd,iVar18,pbVar57,extraout_EDX),\n               uVar29 = extraout_ECX_03, iVar18 != 0))" ( (binary_expression "(iVar18 != 0) &&\n               (iVar18 = bfd_set_section_size(obfd,iVar18,pbVar57,extraout_EDX),\n               uVar29 = extraout_ECX_03, iVar18 != 0)" (parenthesized_expression "(iVar18 != 0)" ( (binary_expression "iVar18 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar18 = bfd_set_section_size(obfd,iVar18,pbVar57,extraout_EDX),\n               uVar29 = extraout_ECX_03, iVar18 != 0)" ( (comma_expression "iVar18 = bfd_set_section_size(obfd,iVar18,pbVar57,extraout_EDX),\n               uVar29 = extraout_ECX_03, iVar18 != 0" (assignment_expression "iVar18 = bfd_set_section_size(obfd,iVar18,pbVar57,extraout_EDX)" identifier = (call_expression "bfd_set_section_size(obfd,iVar18,pbVar57,extraout_EDX)" identifier (argument_list "(obfd,iVar18,pbVar57,extraout_EDX)" ( identifier , identifier , identifier , identifier )))) , (comma_expression "uVar29 = extraout_ECX_03, iVar18 != 0" (assignment_expression "uVar29 = extraout_ECX_03" identifier = identifier) , (binary_expression "iVar18 != 0" identifier != number_literal))) ))) )) (goto_statement "goto LAB_00018aad;" goto statement_identifier ;)) (expression_statement "pcVar24 = (char *)dcgettext(0,"warning: failed to set merged notes size",5,uVar29);" (assignment_expression "pcVar24 = (char *)dcgettext(0,"warning: failed to set merged notes size",5,uVar29)" identifier = (cast_expression "(char *)dcgettext(0,"warning: failed to set merged notes size",5,uVar29)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"warning: failed to set merged notes size",5,uVar29)" identifier (argument_list "(0,"warning: failed to set merged notes size",5,uVar29)" ( number_literal , (string_literal ""warning: failed to set merged notes size"" " string_content ") , number_literal , identifier ))))) ;) (expression_statement "bfd_nonfatal_message((char *)0x0,obfd,(asection *)pbVar62,pcVar24);" (call_expression "bfd_nonfatal_message((char *)0x0,obfd,(asection *)pbVar62,pcVar24)" identifier (argument_list "((char *)0x0,obfd,(asection *)pbVar62,pcVar24)" ( (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) , identifier , (cast_expression "(asection *)pbVar62" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;) })) }) (else_clause "else {\n          pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute notes: excess data at end",5,\n                                      local_64);\nLAB_0001a72d:\n          if (pcVar24 != (char *)0x0) {\n            bfd_set_error(0x11);\n            bfd_nonfatal_message((char *)0x0,ibfd,(asection *)pbVar62,pcVar24);\n            status = 1;\n          }\nLAB_0001a75c:\n          free(local_60);\n        }" else (compound_statement "{\n          pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute notes: excess data at end",5,\n                                      local_64);\nLAB_0001a72d:\n          if (pcVar24 != (char *)0x0) {\n            bfd_set_error(0x11);\n            bfd_nonfatal_message((char *)0x0,ibfd,(asection *)pbVar62,pcVar24);\n            status = 1;\n          }\nLAB_0001a75c:\n          free(local_60);\n        }" { (expression_statement "pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute notes: excess data at end",5,\n                                      local_64);" (assignment_expression "pcVar24 = (char *)dcgettext(0,"corrupt GNU build attribute notes: excess data at end",5,\n                                      local_64)" identifier = (cast_expression "(char *)dcgettext(0,"corrupt GNU build attribute notes: excess data at end",5,\n                                      local_64)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"corrupt GNU build attribute notes: excess data at end",5,\n                                      local_64)" identifier (argument_list "(0,"corrupt GNU build attribute notes: excess data at end",5,\n                                      local_64)" ( number_literal , (string_literal ""corrupt GNU build attribute notes: excess data at end"" " string_content ") , number_literal , identifier ))))) ;) (labeled_statement "LAB_0001a72d:\n          if (pcVar24 != (char *)0x0) {\n            bfd_set_error(0x11);\n            bfd_nonfatal_message((char *)0x0,ibfd,(asection *)pbVar62,pcVar24);\n            status = 1;\n          }" statement_identifier : (if_statement "if (pcVar24 != (char *)0x0) {\n            bfd_set_error(0x11);\n            bfd_nonfatal_message((char *)0x0,ibfd,(asection *)pbVar62,pcVar24);\n            status = 1;\n          }" if (parenthesized_expression "(pcVar24 != (char *)0x0)" ( (binary_expression "pcVar24 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            bfd_set_error(0x11);\n            bfd_nonfatal_message((char *)0x0,ibfd,(asection *)pbVar62,pcVar24);\n            status = 1;\n          }" { (expression_statement "bfd_set_error(0x11);" (call_expression "bfd_set_error(0x11)" identifier (argument_list "(0x11)" ( number_literal ))) ;) (expression_statement "bfd_nonfatal_message((char *)0x0,ibfd,(asection *)pbVar62,pcVar24);" (call_expression "bfd_nonfatal_message((char *)0x0,ibfd,(asection *)pbVar62,pcVar24)" identifier (argument_list "((char *)0x0,ibfd,(asection *)pbVar62,pcVar24)" ( (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) , identifier , (cast_expression "(asection *)pbVar62" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;) (expression_statement "status = 1;" (assignment_expression "status = 1" identifier = number_literal) ;) }))) (labeled_statement "LAB_0001a75c:\n          free(local_60);" statement_identifier : (expression_statement "free(local_60);" (call_expression "free(local_60)" identifier (argument_list "(local_60)" ( identifier ))) ;)) }))) (expression_statement "free(merged_notes);" (call_expression "free(merged_notes)" identifier (argument_list "(merged_notes)" ( identifier ))) ;) (expression_statement "merged_notes = (bfd_byte *)0x0;" (assignment_expression "merged_notes = (bfd_byte *)0x0" identifier = (cast_expression "(bfd_byte *)0x0" ( (type_descriptor "bfd_byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "merge_notes = 0;" (assignment_expression "merge_notes = 0" identifier = number_literal) ;) (expression_statement "merged_size = 0;" (assignment_expression "merged_size = 0" identifier = number_literal) ;) }))) }))) })) (labeled_statement "LAB_00018aad:\n  obfd = local_5c;" statement_identifier : (expression_statement "obfd = local_5c;" (assignment_expression "obfd = local_5c" identifier = identifier) ;)) (expression_statement "local_98 = gnu_debuglink_filename;" (assignment_expression "local_98 = gnu_debuglink_filename" identifier = identifier) ;) (for_statement "for (psVar6 = dump_sections; gnu_debuglink_filename = local_98, psVar6 != (section_add *)0x0;\n      psVar6 = psVar6->next) {\n    paVar27 = (asection *)bfd_get_section_by_name(ibfd,psVar6->name);\n    if (paVar27 == (asection *)0x0) {\n      pcVar24 = psVar6->name;\n      pcVar23 = (char *)dcgettext(0,"can\'t dump section \'%s\' - it does not exist",5);\n      bfd_nonfatal_message((char *)0x0,ibfd,(asection *)0x0,pcVar23,pcVar24);\n    }\n    else {\n      if ((paVar27->flags & 0x100) == 0) {\n        pcVar24 = "can\'t dump section - it has no contents";\n      }\n      else {\n        sVar34 = paVar27->size;\n        if (sVar34 != 0) {\n          __s = fopen64(psVar6->filename,"w");\n          if (__s == (FILE *)0x0) {\n            pcVar24 = (char *)dcgettext(0,"could not open section dump file",5);\n            bfd_nonfatal_message(psVar6->filename,(bfd *)0x0,(asection *)0x0,pcVar24);\n          }\n          else {\n            iVar18 = bfd_malloc_and_get_section(ibfd,paVar27,&contents);\n            if (iVar18 == 0) {\n              pcVar24 = (char *)dcgettext(0,"could not retrieve section contents",5);\n              bfd_nonfatal_message((char *)0x0,ibfd,paVar27,pcVar24);\n            }\n            else {\n              sVar35 = fwrite(contents,1,sVar34,__s);\n              if (sVar34 != sVar35) {\n                piVar40 = __errno_location();\n                pcVar23 = strerror(*piVar40);\n                pcVar24 = psVar6->filename;\n                pcVar41 = (char *)dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                non_fatal(pcVar41,pcVar24,pcVar23);\n                free(contents);\n                return 0;\n              }\n            }\n            fclose(__s);\n            free(contents);\n          }\n          goto LAB_00018b49;\n        }\n        pcVar24 = "can\'t dump section - it is empty";\n      }\n      pcVar24 = (char *)dcgettext(0,pcVar24,5);\n      bfd_nonfatal_message((char *)0x0,ibfd,paVar27,pcVar24);\n    }\nLAB_00018b49:\n    local_98 = gnu_debuglink_filename;\n  }" for ( (assignment_expression "psVar6 = dump_sections" identifier = identifier) ; (comma_expression "gnu_debuglink_filename = local_98, psVar6 != (section_add *)0x0" (assignment_expression "gnu_debuglink_filename = local_98" identifier = identifier) , (binary_expression "psVar6 != (section_add *)0x0" identifier != (cast_expression "(section_add *)0x0" ( (type_descriptor "section_add *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ; (assignment_expression "psVar6 = psVar6->next" identifier = (field_expression "psVar6->next" identifier -> field_identifier)) ) (compound_statement "{\n    paVar27 = (asection *)bfd_get_section_by_name(ibfd,psVar6->name);\n    if (paVar27 == (asection *)0x0) {\n      pcVar24 = psVar6->name;\n      pcVar23 = (char *)dcgettext(0,"can\'t dump section \'%s\' - it does not exist",5);\n      bfd_nonfatal_message((char *)0x0,ibfd,(asection *)0x0,pcVar23,pcVar24);\n    }\n    else {\n      if ((paVar27->flags & 0x100) == 0) {\n        pcVar24 = "can\'t dump section - it has no contents";\n      }\n      else {\n        sVar34 = paVar27->size;\n        if (sVar34 != 0) {\n          __s = fopen64(psVar6->filename,"w");\n          if (__s == (FILE *)0x0) {\n            pcVar24 = (char *)dcgettext(0,"could not open section dump file",5);\n            bfd_nonfatal_message(psVar6->filename,(bfd *)0x0,(asection *)0x0,pcVar24);\n          }\n          else {\n            iVar18 = bfd_malloc_and_get_section(ibfd,paVar27,&contents);\n            if (iVar18 == 0) {\n              pcVar24 = (char *)dcgettext(0,"could not retrieve section contents",5);\n              bfd_nonfatal_message((char *)0x0,ibfd,paVar27,pcVar24);\n            }\n            else {\n              sVar35 = fwrite(contents,1,sVar34,__s);\n              if (sVar34 != sVar35) {\n                piVar40 = __errno_location();\n                pcVar23 = strerror(*piVar40);\n                pcVar24 = psVar6->filename;\n                pcVar41 = (char *)dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                non_fatal(pcVar41,pcVar24,pcVar23);\n                free(contents);\n                return 0;\n              }\n            }\n            fclose(__s);\n            free(contents);\n          }\n          goto LAB_00018b49;\n        }\n        pcVar24 = "can\'t dump section - it is empty";\n      }\n      pcVar24 = (char *)dcgettext(0,pcVar24,5);\n      bfd_nonfatal_message((char *)0x0,ibfd,paVar27,pcVar24);\n    }\nLAB_00018b49:\n    local_98 = gnu_debuglink_filename;\n  }" { (expression_statement "paVar27 = (asection *)bfd_get_section_by_name(ibfd,psVar6->name);" (assignment_expression "paVar27 = (asection *)bfd_get_section_by_name(ibfd,psVar6->name)" identifier = (cast_expression "(asection *)bfd_get_section_by_name(ibfd,psVar6->name)" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "bfd_get_section_by_name(ibfd,psVar6->name)" identifier (argument_list "(ibfd,psVar6->name)" ( identifier , (field_expression "psVar6->name" identifier -> field_identifier) ))))) ;) (if_statement "if (paVar27 == (asection *)0x0) {\n      pcVar24 = psVar6->name;\n      pcVar23 = (char *)dcgettext(0,"can\'t dump section \'%s\' - it does not exist",5);\n      bfd_nonfatal_message((char *)0x0,ibfd,(asection *)0x0,pcVar23,pcVar24);\n    }\n    else {\n      if ((paVar27->flags & 0x100) == 0) {\n        pcVar24 = "can\'t dump section - it has no contents";\n      }\n      else {\n        sVar34 = paVar27->size;\n        if (sVar34 != 0) {\n          __s = fopen64(psVar6->filename,"w");\n          if (__s == (FILE *)0x0) {\n            pcVar24 = (char *)dcgettext(0,"could not open section dump file",5);\n            bfd_nonfatal_message(psVar6->filename,(bfd *)0x0,(asection *)0x0,pcVar24);\n          }\n          else {\n            iVar18 = bfd_malloc_and_get_section(ibfd,paVar27,&contents);\n            if (iVar18 == 0) {\n              pcVar24 = (char *)dcgettext(0,"could not retrieve section contents",5);\n              bfd_nonfatal_message((char *)0x0,ibfd,paVar27,pcVar24);\n            }\n            else {\n              sVar35 = fwrite(contents,1,sVar34,__s);\n              if (sVar34 != sVar35) {\n                piVar40 = __errno_location();\n                pcVar23 = strerror(*piVar40);\n                pcVar24 = psVar6->filename;\n                pcVar41 = (char *)dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                non_fatal(pcVar41,pcVar24,pcVar23);\n                free(contents);\n                return 0;\n              }\n            }\n            fclose(__s);\n            free(contents);\n          }\n          goto LAB_00018b49;\n        }\n        pcVar24 = "can\'t dump section - it is empty";\n      }\n      pcVar24 = (char *)dcgettext(0,pcVar24,5);\n      bfd_nonfatal_message((char *)0x0,ibfd,paVar27,pcVar24);\n    }" if (parenthesized_expression "(paVar27 == (asection *)0x0)" ( (binary_expression "paVar27 == (asection *)0x0" identifier == (cast_expression "(asection *)0x0" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pcVar24 = psVar6->name;\n      pcVar23 = (char *)dcgettext(0,"can\'t dump section \'%s\' - it does not exist",5);\n      bfd_nonfatal_message((char *)0x0,ibfd,(asection *)0x0,pcVar23,pcVar24);\n    }" { (expression_statement "pcVar24 = psVar6->name;" (assignment_expression "pcVar24 = psVar6->name" identifier = (field_expression "psVar6->name" identifier -> field_identifier)) ;) (expression_statement "pcVar23 = (char *)dcgettext(0,"can\'t dump section \'%s\' - it does not exist",5);" (assignment_expression "pcVar23 = (char *)dcgettext(0,"can\'t dump section \'%s\' - it does not exist",5)" identifier = (cast_expression "(char *)dcgettext(0,"can\'t dump section \'%s\' - it does not exist",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"can\'t dump section \'%s\' - it does not exist",5)" identifier (argument_list "(0,"can\'t dump section \'%s\' - it does not exist",5)" ( number_literal , (string_literal ""can\'t dump section \'%s\' - it does not exist"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content ") , number_literal ))))) ;) (expression_statement "bfd_nonfatal_message((char *)0x0,ibfd,(asection *)0x0,pcVar23,pcVar24);" (call_expression "bfd_nonfatal_message((char *)0x0,ibfd,(asection *)0x0,pcVar23,pcVar24)" identifier (argument_list "((char *)0x0,ibfd,(asection *)0x0,pcVar23,pcVar24)" ( (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) , identifier , (cast_expression "(asection *)0x0" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , identifier , identifier ))) ;) }) (else_clause "else {\n      if ((paVar27->flags & 0x100) == 0) {\n        pcVar24 = "can\'t dump section - it has no contents";\n      }\n      else {\n        sVar34 = paVar27->size;\n        if (sVar34 != 0) {\n          __s = fopen64(psVar6->filename,"w");\n          if (__s == (FILE *)0x0) {\n            pcVar24 = (char *)dcgettext(0,"could not open section dump file",5);\n            bfd_nonfatal_message(psVar6->filename,(bfd *)0x0,(asection *)0x0,pcVar24);\n          }\n          else {\n            iVar18 = bfd_malloc_and_get_section(ibfd,paVar27,&contents);\n            if (iVar18 == 0) {\n              pcVar24 = (char *)dcgettext(0,"could not retrieve section contents",5);\n              bfd_nonfatal_message((char *)0x0,ibfd,paVar27,pcVar24);\n            }\n            else {\n              sVar35 = fwrite(contents,1,sVar34,__s);\n              if (sVar34 != sVar35) {\n                piVar40 = __errno_location();\n                pcVar23 = strerror(*piVar40);\n                pcVar24 = psVar6->filename;\n                pcVar41 = (char *)dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                non_fatal(pcVar41,pcVar24,pcVar23);\n                free(contents);\n                return 0;\n              }\n            }\n            fclose(__s);\n            free(contents);\n          }\n          goto LAB_00018b49;\n        }\n        pcVar24 = "can\'t dump section - it is empty";\n      }\n      pcVar24 = (char *)dcgettext(0,pcVar24,5);\n      bfd_nonfatal_message((char *)0x0,ibfd,paVar27,pcVar24);\n    }" else (compound_statement "{\n      if ((paVar27->flags & 0x100) == 0) {\n        pcVar24 = "can\'t dump section - it has no contents";\n      }\n      else {\n        sVar34 = paVar27->size;\n        if (sVar34 != 0) {\n          __s = fopen64(psVar6->filename,"w");\n          if (__s == (FILE *)0x0) {\n            pcVar24 = (char *)dcgettext(0,"could not open section dump file",5);\n            bfd_nonfatal_message(psVar6->filename,(bfd *)0x0,(asection *)0x0,pcVar24);\n          }\n          else {\n            iVar18 = bfd_malloc_and_get_section(ibfd,paVar27,&contents);\n            if (iVar18 == 0) {\n              pcVar24 = (char *)dcgettext(0,"could not retrieve section contents",5);\n              bfd_nonfatal_message((char *)0x0,ibfd,paVar27,pcVar24);\n            }\n            else {\n              sVar35 = fwrite(contents,1,sVar34,__s);\n              if (sVar34 != sVar35) {\n                piVar40 = __errno_location();\n                pcVar23 = strerror(*piVar40);\n                pcVar24 = psVar6->filename;\n                pcVar41 = (char *)dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                non_fatal(pcVar41,pcVar24,pcVar23);\n                free(contents);\n                return 0;\n              }\n            }\n            fclose(__s);\n            free(contents);\n          }\n          goto LAB_00018b49;\n        }\n        pcVar24 = "can\'t dump section - it is empty";\n      }\n      pcVar24 = (char *)dcgettext(0,pcVar24,5);\n      bfd_nonfatal_message((char *)0x0,ibfd,paVar27,pcVar24);\n    }" { (if_statement "if ((paVar27->flags & 0x100) == 0) {\n        pcVar24 = "can\'t dump section - it has no contents";\n      }\n      else {\n        sVar34 = paVar27->size;\n        if (sVar34 != 0) {\n          __s = fopen64(psVar6->filename,"w");\n          if (__s == (FILE *)0x0) {\n            pcVar24 = (char *)dcgettext(0,"could not open section dump file",5);\n            bfd_nonfatal_message(psVar6->filename,(bfd *)0x0,(asection *)0x0,pcVar24);\n          }\n          else {\n            iVar18 = bfd_malloc_and_get_section(ibfd,paVar27,&contents);\n            if (iVar18 == 0) {\n              pcVar24 = (char *)dcgettext(0,"could not retrieve section contents",5);\n              bfd_nonfatal_message((char *)0x0,ibfd,paVar27,pcVar24);\n            }\n            else {\n              sVar35 = fwrite(contents,1,sVar34,__s);\n              if (sVar34 != sVar35) {\n                piVar40 = __errno_location();\n                pcVar23 = strerror(*piVar40);\n                pcVar24 = psVar6->filename;\n                pcVar41 = (char *)dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                non_fatal(pcVar41,pcVar24,pcVar23);\n                free(contents);\n                return 0;\n              }\n            }\n            fclose(__s);\n            free(contents);\n          }\n          goto LAB_00018b49;\n        }\n        pcVar24 = "can\'t dump section - it is empty";\n      }" if (parenthesized_expression "((paVar27->flags & 0x100) == 0)" ( (binary_expression "(paVar27->flags & 0x100) == 0" (parenthesized_expression "(paVar27->flags & 0x100)" ( (binary_expression "paVar27->flags & 0x100" (field_expression "paVar27->flags" identifier -> field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n        pcVar24 = "can\'t dump section - it has no contents";\n      }" { (expression_statement "pcVar24 = "can\'t dump section - it has no contents";" (assignment_expression "pcVar24 = "can\'t dump section - it has no contents"" identifier = (string_literal ""can\'t dump section - it has no contents"" " string_content escape_sequence string_content ")) ;) }) (else_clause "else {\n        sVar34 = paVar27->size;\n        if (sVar34 != 0) {\n          __s = fopen64(psVar6->filename,"w");\n          if (__s == (FILE *)0x0) {\n            pcVar24 = (char *)dcgettext(0,"could not open section dump file",5);\n            bfd_nonfatal_message(psVar6->filename,(bfd *)0x0,(asection *)0x0,pcVar24);\n          }\n          else {\n            iVar18 = bfd_malloc_and_get_section(ibfd,paVar27,&contents);\n            if (iVar18 == 0) {\n              pcVar24 = (char *)dcgettext(0,"could not retrieve section contents",5);\n              bfd_nonfatal_message((char *)0x0,ibfd,paVar27,pcVar24);\n            }\n            else {\n              sVar35 = fwrite(contents,1,sVar34,__s);\n              if (sVar34 != sVar35) {\n                piVar40 = __errno_location();\n                pcVar23 = strerror(*piVar40);\n                pcVar24 = psVar6->filename;\n                pcVar41 = (char *)dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                non_fatal(pcVar41,pcVar24,pcVar23);\n                free(contents);\n                return 0;\n              }\n            }\n            fclose(__s);\n            free(contents);\n          }\n          goto LAB_00018b49;\n        }\n        pcVar24 = "can\'t dump section - it is empty";\n      }" else (compound_statement "{\n        sVar34 = paVar27->size;\n        if (sVar34 != 0) {\n          __s = fopen64(psVar6->filename,"w");\n          if (__s == (FILE *)0x0) {\n            pcVar24 = (char *)dcgettext(0,"could not open section dump file",5);\n            bfd_nonfatal_message(psVar6->filename,(bfd *)0x0,(asection *)0x0,pcVar24);\n          }\n          else {\n            iVar18 = bfd_malloc_and_get_section(ibfd,paVar27,&contents);\n            if (iVar18 == 0) {\n              pcVar24 = (char *)dcgettext(0,"could not retrieve section contents",5);\n              bfd_nonfatal_message((char *)0x0,ibfd,paVar27,pcVar24);\n            }\n            else {\n              sVar35 = fwrite(contents,1,sVar34,__s);\n              if (sVar34 != sVar35) {\n                piVar40 = __errno_location();\n                pcVar23 = strerror(*piVar40);\n                pcVar24 = psVar6->filename;\n                pcVar41 = (char *)dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                non_fatal(pcVar41,pcVar24,pcVar23);\n                free(contents);\n                return 0;\n              }\n            }\n            fclose(__s);\n            free(contents);\n          }\n          goto LAB_00018b49;\n        }\n        pcVar24 = "can\'t dump section - it is empty";\n      }" { (expression_statement "sVar34 = paVar27->size;" (assignment_expression "sVar34 = paVar27->size" identifier = (field_expression "paVar27->size" identifier -> field_identifier)) ;) (if_statement "if (sVar34 != 0) {\n          __s = fopen64(psVar6->filename,"w");\n          if (__s == (FILE *)0x0) {\n            pcVar24 = (char *)dcgettext(0,"could not open section dump file",5);\n            bfd_nonfatal_message(psVar6->filename,(bfd *)0x0,(asection *)0x0,pcVar24);\n          }\n          else {\n            iVar18 = bfd_malloc_and_get_section(ibfd,paVar27,&contents);\n            if (iVar18 == 0) {\n              pcVar24 = (char *)dcgettext(0,"could not retrieve section contents",5);\n              bfd_nonfatal_message((char *)0x0,ibfd,paVar27,pcVar24);\n            }\n            else {\n              sVar35 = fwrite(contents,1,sVar34,__s);\n              if (sVar34 != sVar35) {\n                piVar40 = __errno_location();\n                pcVar23 = strerror(*piVar40);\n                pcVar24 = psVar6->filename;\n                pcVar41 = (char *)dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                non_fatal(pcVar41,pcVar24,pcVar23);\n                free(contents);\n                return 0;\n              }\n            }\n            fclose(__s);\n            free(contents);\n          }\n          goto LAB_00018b49;\n        }" if (parenthesized_expression "(sVar34 != 0)" ( (binary_expression "sVar34 != 0" identifier != number_literal) )) (compound_statement "{\n          __s = fopen64(psVar6->filename,"w");\n          if (__s == (FILE *)0x0) {\n            pcVar24 = (char *)dcgettext(0,"could not open section dump file",5);\n            bfd_nonfatal_message(psVar6->filename,(bfd *)0x0,(asection *)0x0,pcVar24);\n          }\n          else {\n            iVar18 = bfd_malloc_and_get_section(ibfd,paVar27,&contents);\n            if (iVar18 == 0) {\n              pcVar24 = (char *)dcgettext(0,"could not retrieve section contents",5);\n              bfd_nonfatal_message((char *)0x0,ibfd,paVar27,pcVar24);\n            }\n            else {\n              sVar35 = fwrite(contents,1,sVar34,__s);\n              if (sVar34 != sVar35) {\n                piVar40 = __errno_location();\n                pcVar23 = strerror(*piVar40);\n                pcVar24 = psVar6->filename;\n                pcVar41 = (char *)dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                non_fatal(pcVar41,pcVar24,pcVar23);\n                free(contents);\n                return 0;\n              }\n            }\n            fclose(__s);\n            free(contents);\n          }\n          goto LAB_00018b49;\n        }" { (expression_statement "__s = fopen64(psVar6->filename,"w");" (assignment_expression "__s = fopen64(psVar6->filename,"w")" identifier = (call_expression "fopen64(psVar6->filename,"w")" identifier (argument_list "(psVar6->filename,"w")" ( (field_expression "psVar6->filename" identifier -> field_identifier) , (string_literal ""w"" " string_content ") )))) ;) (if_statement "if (__s == (FILE *)0x0) {\n            pcVar24 = (char *)dcgettext(0,"could not open section dump file",5);\n            bfd_nonfatal_message(psVar6->filename,(bfd *)0x0,(asection *)0x0,pcVar24);\n          }\n          else {\n            iVar18 = bfd_malloc_and_get_section(ibfd,paVar27,&contents);\n            if (iVar18 == 0) {\n              pcVar24 = (char *)dcgettext(0,"could not retrieve section contents",5);\n              bfd_nonfatal_message((char *)0x0,ibfd,paVar27,pcVar24);\n            }\n            else {\n              sVar35 = fwrite(contents,1,sVar34,__s);\n              if (sVar34 != sVar35) {\n                piVar40 = __errno_location();\n                pcVar23 = strerror(*piVar40);\n                pcVar24 = psVar6->filename;\n                pcVar41 = (char *)dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                non_fatal(pcVar41,pcVar24,pcVar23);\n                free(contents);\n                return 0;\n              }\n            }\n            fclose(__s);\n            free(contents);\n          }" if (parenthesized_expression "(__s == (FILE *)0x0)" ( (binary_expression "__s == (FILE *)0x0" identifier == (cast_expression "(FILE *)0x0" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            pcVar24 = (char *)dcgettext(0,"could not open section dump file",5);\n            bfd_nonfatal_message(psVar6->filename,(bfd *)0x0,(asection *)0x0,pcVar24);\n          }" { (expression_statement "pcVar24 = (char *)dcgettext(0,"could not open section dump file",5);" (assignment_expression "pcVar24 = (char *)dcgettext(0,"could not open section dump file",5)" identifier = (cast_expression "(char *)dcgettext(0,"could not open section dump file",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"could not open section dump file",5)" identifier (argument_list "(0,"could not open section dump file",5)" ( number_literal , (string_literal ""could not open section dump file"" " string_content ") , number_literal ))))) ;) (expression_statement "bfd_nonfatal_message(psVar6->filename,(bfd *)0x0,(asection *)0x0,pcVar24);" (call_expression "bfd_nonfatal_message(psVar6->filename,(bfd *)0x0,(asection *)0x0,pcVar24)" identifier (argument_list "(psVar6->filename,(bfd *)0x0,(asection *)0x0,pcVar24)" ( (field_expression "psVar6->filename" identifier -> field_identifier) , (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , (cast_expression "(asection *)0x0" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , identifier ))) ;) }) (else_clause "else {\n            iVar18 = bfd_malloc_and_get_section(ibfd,paVar27,&contents);\n            if (iVar18 == 0) {\n              pcVar24 = (char *)dcgettext(0,"could not retrieve section contents",5);\n              bfd_nonfatal_message((char *)0x0,ibfd,paVar27,pcVar24);\n            }\n            else {\n              sVar35 = fwrite(contents,1,sVar34,__s);\n              if (sVar34 != sVar35) {\n                piVar40 = __errno_location();\n                pcVar23 = strerror(*piVar40);\n                pcVar24 = psVar6->filename;\n                pcVar41 = (char *)dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                non_fatal(pcVar41,pcVar24,pcVar23);\n                free(contents);\n                return 0;\n              }\n            }\n            fclose(__s);\n            free(contents);\n          }" else (compound_statement "{\n            iVar18 = bfd_malloc_and_get_section(ibfd,paVar27,&contents);\n            if (iVar18 == 0) {\n              pcVar24 = (char *)dcgettext(0,"could not retrieve section contents",5);\n              bfd_nonfatal_message((char *)0x0,ibfd,paVar27,pcVar24);\n            }\n            else {\n              sVar35 = fwrite(contents,1,sVar34,__s);\n              if (sVar34 != sVar35) {\n                piVar40 = __errno_location();\n                pcVar23 = strerror(*piVar40);\n                pcVar24 = psVar6->filename;\n                pcVar41 = (char *)dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                non_fatal(pcVar41,pcVar24,pcVar23);\n                free(contents);\n                return 0;\n              }\n            }\n            fclose(__s);\n            free(contents);\n          }" { (expression_statement "iVar18 = bfd_malloc_and_get_section(ibfd,paVar27,&contents);" (assignment_expression "iVar18 = bfd_malloc_and_get_section(ibfd,paVar27,&contents)" identifier = (call_expression "bfd_malloc_and_get_section(ibfd,paVar27,&contents)" identifier (argument_list "(ibfd,paVar27,&contents)" ( identifier , identifier , (pointer_expression "&contents" & identifier) )))) ;) (if_statement "if (iVar18 == 0) {\n              pcVar24 = (char *)dcgettext(0,"could not retrieve section contents",5);\n              bfd_nonfatal_message((char *)0x0,ibfd,paVar27,pcVar24);\n            }\n            else {\n              sVar35 = fwrite(contents,1,sVar34,__s);\n              if (sVar34 != sVar35) {\n                piVar40 = __errno_location();\n                pcVar23 = strerror(*piVar40);\n                pcVar24 = psVar6->filename;\n                pcVar41 = (char *)dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                non_fatal(pcVar41,pcVar24,pcVar23);\n                free(contents);\n                return 0;\n              }\n            }" if (parenthesized_expression "(iVar18 == 0)" ( (binary_expression "iVar18 == 0" identifier == number_literal) )) (compound_statement "{\n              pcVar24 = (char *)dcgettext(0,"could not retrieve section contents",5);\n              bfd_nonfatal_message((char *)0x0,ibfd,paVar27,pcVar24);\n            }" { (expression_statement "pcVar24 = (char *)dcgettext(0,"could not retrieve section contents",5);" (assignment_expression "pcVar24 = (char *)dcgettext(0,"could not retrieve section contents",5)" identifier = (cast_expression "(char *)dcgettext(0,"could not retrieve section contents",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"could not retrieve section contents",5)" identifier (argument_list "(0,"could not retrieve section contents",5)" ( number_literal , (string_literal ""could not retrieve section contents"" " string_content ") , number_literal ))))) ;) (expression_statement "bfd_nonfatal_message((char *)0x0,ibfd,paVar27,pcVar24);" (call_expression "bfd_nonfatal_message((char *)0x0,ibfd,paVar27,pcVar24)" identifier (argument_list "((char *)0x0,ibfd,paVar27,pcVar24)" ( (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) , identifier , identifier , identifier ))) ;) }) (else_clause "else {\n              sVar35 = fwrite(contents,1,sVar34,__s);\n              if (sVar34 != sVar35) {\n                piVar40 = __errno_location();\n                pcVar23 = strerror(*piVar40);\n                pcVar24 = psVar6->filename;\n                pcVar41 = (char *)dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                non_fatal(pcVar41,pcVar24,pcVar23);\n                free(contents);\n                return 0;\n              }\n            }" else (compound_statement "{\n              sVar35 = fwrite(contents,1,sVar34,__s);\n              if (sVar34 != sVar35) {\n                piVar40 = __errno_location();\n                pcVar23 = strerror(*piVar40);\n                pcVar24 = psVar6->filename;\n                pcVar41 = (char *)dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                non_fatal(pcVar41,pcVar24,pcVar23);\n                free(contents);\n                return 0;\n              }\n            }" { (expression_statement "sVar35 = fwrite(contents,1,sVar34,__s);" (assignment_expression "sVar35 = fwrite(contents,1,sVar34,__s)" identifier = (call_expression "fwrite(contents,1,sVar34,__s)" identifier (argument_list "(contents,1,sVar34,__s)" ( identifier , number_literal , identifier , identifier )))) ;) (if_statement "if (sVar34 != sVar35) {\n                piVar40 = __errno_location();\n                pcVar23 = strerror(*piVar40);\n                pcVar24 = psVar6->filename;\n                pcVar41 = (char *)dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                non_fatal(pcVar41,pcVar24,pcVar23);\n                free(contents);\n                return 0;\n              }" if (parenthesized_expression "(sVar34 != sVar35)" ( (binary_expression "sVar34 != sVar35" identifier != identifier) )) (compound_statement "{\n                piVar40 = __errno_location();\n                pcVar23 = strerror(*piVar40);\n                pcVar24 = psVar6->filename;\n                pcVar41 = (char *)dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                non_fatal(pcVar41,pcVar24,pcVar23);\n                free(contents);\n                return 0;\n              }" { (expression_statement "piVar40 = __errno_location();" (assignment_expression "piVar40 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar23 = strerror(*piVar40);" (assignment_expression "pcVar23 = strerror(*piVar40)" identifier = (call_expression "strerror(*piVar40)" identifier (argument_list "(*piVar40)" ( (pointer_expression "*piVar40" * identifier) )))) ;) (expression_statement "pcVar24 = psVar6->filename;" (assignment_expression "pcVar24 = psVar6->filename" identifier = (field_expression "psVar6->filename" identifier -> field_identifier)) ;) (expression_statement "pcVar41 = (char *)dcgettext(0,"error writing section contents to %s (error: %s)",5);" (assignment_expression "pcVar41 = (char *)dcgettext(0,"error writing section contents to %s (error: %s)",5)" identifier = (cast_expression "(char *)dcgettext(0,"error writing section contents to %s (error: %s)",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"error writing section contents to %s (error: %s)",5)" identifier (argument_list "(0,"error writing section contents to %s (error: %s)",5)" ( number_literal , (string_literal ""error writing section contents to %s (error: %s)"" " string_content ") , number_literal ))))) ;) (expression_statement "non_fatal(pcVar41,pcVar24,pcVar23);" (call_expression "non_fatal(pcVar41,pcVar24,pcVar23)" identifier (argument_list "(pcVar41,pcVar24,pcVar23)" ( identifier , identifier , identifier ))) ;) (expression_statement "free(contents);" (call_expression "free(contents)" identifier (argument_list "(contents)" ( identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) }))) (expression_statement "fclose(__s);" (call_expression "fclose(__s)" identifier (argument_list "(__s)" ( identifier ))) ;) (expression_statement "free(contents);" (call_expression "free(contents)" identifier (argument_list "(contents)" ( identifier ))) ;) }))) (goto_statement "goto LAB_00018b49;" goto statement_identifier ;) })) (expression_statement "pcVar24 = "can\'t dump section - it is empty";" (assignment_expression "pcVar24 = "can\'t dump section - it is empty"" identifier = (string_literal ""can\'t dump section - it is empty"" " string_content escape_sequence string_content ")) ;) }))) (expression_statement "pcVar24 = (char *)dcgettext(0,pcVar24,5);" (assignment_expression "pcVar24 = (char *)dcgettext(0,pcVar24,5)" identifier = (cast_expression "(char *)dcgettext(0,pcVar24,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar24,5)" identifier (argument_list "(0,pcVar24,5)" ( number_literal , identifier , number_literal ))))) ;) (expression_statement "bfd_nonfatal_message((char *)0x0,ibfd,paVar27,pcVar24);" (call_expression "bfd_nonfatal_message((char *)0x0,ibfd,paVar27,pcVar24)" identifier (argument_list "((char *)0x0,ibfd,paVar27,pcVar24)" ( (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) , identifier , identifier , identifier ))) ;) }))) (labeled_statement "LAB_00018b49:\n    local_98 = gnu_debuglink_filename;" statement_identifier : (expression_statement "local_98 = gnu_debuglink_filename;" (assignment_expression "local_98 = gnu_debuglink_filename" identifier = identifier) ;)) })) (if_statement "if (local_98 != (char *)0x0) {\n    iVar18 = bfd_get_section_by_name(local_5c,".gnu_debuglink");\n    if (iVar18 == 0) {\n      local_98 = (char *)bfd_create_gnu_debuglink_section(local_5c,gnu_debuglink_filename);\n      pcVar24 = gnu_debuglink_filename;\n      if (local_98 == (char *)0x0) {\n        pcVar23 = (char *)dcgettext(0,"cannot create debug link section `%s\'",5,local_5c);\n        bfd_nonfatal_message((char *)0x0,local_5c,(asection *)0x0,pcVar23,pcVar24);\n        return 0;\n      }\n      if (local_5c->xvec->flavour == bfd_target_coff_flavour) {\n        pbVar32 = local_5c->sections;\n        pbVar54 = (bfd_section *)0x0;\n        if (pbVar32 == (bfd_section *)0x0) {\nLAB_0001a360:\n          uVar47 = 0x1000;\n        }\n        else {\n          do {\n            pbVar53 = pbVar54;\n            if (((pbVar32->vma != 0) && (pbVar53 = pbVar32, pbVar54 != (bfd_section *)0x0)) &&\n               (pbVar53 = pbVar54, pbVar54->vma < pbVar32->vma)) {\n              pbVar53 = pbVar32;\n            }\n            pbVar32 = pbVar32->next;\n            pbVar54 = pbVar53;\n          } while (pbVar32 != (bfd_section *)0x0);\n          if (pbVar53 == (bfd_section *)0x0) goto LAB_0001a360;\n          uVar58 = pbVar53->size + pbVar53->vma;\n          uVar47 = 0xffffffff;\n          if (uVar58 < 0xfffff001) {\n            uVar47 = uVar58 + 0xfff & 0xfffff000;\n          }\n        }\n        *(uint *)(local_98 + 0x20) = uVar47;\n        *(uint *)(local_98 + 0x1c) = uVar47;\n        local_98[0x18] = local_98[0x18] | 1;\n      }\n    }\n    else {\n      pcVar24 = local_5c->filename;\n      pcVar23 = (char *)dcgettext(0,"%s: debuglink section already exists",5);\n      non_fatal(pcVar23,pcVar24);\n      gnu_debuglink_filename = (char *)0x0;\n      local_98 = (char *)0x0;\n    }\n  }" if (parenthesized_expression "(local_98 != (char *)0x0)" ( (binary_expression "local_98 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar18 = bfd_get_section_by_name(local_5c,".gnu_debuglink");\n    if (iVar18 == 0) {\n      local_98 = (char *)bfd_create_gnu_debuglink_section(local_5c,gnu_debuglink_filename);\n      pcVar24 = gnu_debuglink_filename;\n      if (local_98 == (char *)0x0) {\n        pcVar23 = (char *)dcgettext(0,"cannot create debug link section `%s\'",5,local_5c);\n        bfd_nonfatal_message((char *)0x0,local_5c,(asection *)0x0,pcVar23,pcVar24);\n        return 0;\n      }\n      if (local_5c->xvec->flavour == bfd_target_coff_flavour) {\n        pbVar32 = local_5c->sections;\n        pbVar54 = (bfd_section *)0x0;\n        if (pbVar32 == (bfd_section *)0x0) {\nLAB_0001a360:\n          uVar47 = 0x1000;\n        }\n        else {\n          do {\n            pbVar53 = pbVar54;\n            if (((pbVar32->vma != 0) && (pbVar53 = pbVar32, pbVar54 != (bfd_section *)0x0)) &&\n               (pbVar53 = pbVar54, pbVar54->vma < pbVar32->vma)) {\n              pbVar53 = pbVar32;\n            }\n            pbVar32 = pbVar32->next;\n            pbVar54 = pbVar53;\n          } while (pbVar32 != (bfd_section *)0x0);\n          if (pbVar53 == (bfd_section *)0x0) goto LAB_0001a360;\n          uVar58 = pbVar53->size + pbVar53->vma;\n          uVar47 = 0xffffffff;\n          if (uVar58 < 0xfffff001) {\n            uVar47 = uVar58 + 0xfff & 0xfffff000;\n          }\n        }\n        *(uint *)(local_98 + 0x20) = uVar47;\n        *(uint *)(local_98 + 0x1c) = uVar47;\n        local_98[0x18] = local_98[0x18] | 1;\n      }\n    }\n    else {\n      pcVar24 = local_5c->filename;\n      pcVar23 = (char *)dcgettext(0,"%s: debuglink section already exists",5);\n      non_fatal(pcVar23,pcVar24);\n      gnu_debuglink_filename = (char *)0x0;\n      local_98 = (char *)0x0;\n    }\n  }" { (expression_statement "iVar18 = bfd_get_section_by_name(local_5c,".gnu_debuglink");" (assignment_expression "iVar18 = bfd_get_section_by_name(local_5c,".gnu_debuglink")" identifier = (call_expression "bfd_get_section_by_name(local_5c,".gnu_debuglink")" identifier (argument_list "(local_5c,".gnu_debuglink")" ( identifier , (string_literal "".gnu_debuglink"" " string_content ") )))) ;) (if_statement "if (iVar18 == 0) {\n      local_98 = (char *)bfd_create_gnu_debuglink_section(local_5c,gnu_debuglink_filename);\n      pcVar24 = gnu_debuglink_filename;\n      if (local_98 == (char *)0x0) {\n        pcVar23 = (char *)dcgettext(0,"cannot create debug link section `%s\'",5,local_5c);\n        bfd_nonfatal_message((char *)0x0,local_5c,(asection *)0x0,pcVar23,pcVar24);\n        return 0;\n      }\n      if (local_5c->xvec->flavour == bfd_target_coff_flavour) {\n        pbVar32 = local_5c->sections;\n        pbVar54 = (bfd_section *)0x0;\n        if (pbVar32 == (bfd_section *)0x0) {\nLAB_0001a360:\n          uVar47 = 0x1000;\n        }\n        else {\n          do {\n            pbVar53 = pbVar54;\n            if (((pbVar32->vma != 0) && (pbVar53 = pbVar32, pbVar54 != (bfd_section *)0x0)) &&\n               (pbVar53 = pbVar54, pbVar54->vma < pbVar32->vma)) {\n              pbVar53 = pbVar32;\n            }\n            pbVar32 = pbVar32->next;\n            pbVar54 = pbVar53;\n          } while (pbVar32 != (bfd_section *)0x0);\n          if (pbVar53 == (bfd_section *)0x0) goto LAB_0001a360;\n          uVar58 = pbVar53->size + pbVar53->vma;\n          uVar47 = 0xffffffff;\n          if (uVar58 < 0xfffff001) {\n            uVar47 = uVar58 + 0xfff & 0xfffff000;\n          }\n        }\n        *(uint *)(local_98 + 0x20) = uVar47;\n        *(uint *)(local_98 + 0x1c) = uVar47;\n        local_98[0x18] = local_98[0x18] | 1;\n      }\n    }\n    else {\n      pcVar24 = local_5c->filename;\n      pcVar23 = (char *)dcgettext(0,"%s: debuglink section already exists",5);\n      non_fatal(pcVar23,pcVar24);\n      gnu_debuglink_filename = (char *)0x0;\n      local_98 = (char *)0x0;\n    }" if (parenthesized_expression "(iVar18 == 0)" ( (binary_expression "iVar18 == 0" identifier == number_literal) )) (compound_statement "{\n      local_98 = (char *)bfd_create_gnu_debuglink_section(local_5c,gnu_debuglink_filename);\n      pcVar24 = gnu_debuglink_filename;\n      if (local_98 == (char *)0x0) {\n        pcVar23 = (char *)dcgettext(0,"cannot create debug link section `%s\'",5,local_5c);\n        bfd_nonfatal_message((char *)0x0,local_5c,(asection *)0x0,pcVar23,pcVar24);\n        return 0;\n      }\n      if (local_5c->xvec->flavour == bfd_target_coff_flavour) {\n        pbVar32 = local_5c->sections;\n        pbVar54 = (bfd_section *)0x0;\n        if (pbVar32 == (bfd_section *)0x0) {\nLAB_0001a360:\n          uVar47 = 0x1000;\n        }\n        else {\n          do {\n            pbVar53 = pbVar54;\n            if (((pbVar32->vma != 0) && (pbVar53 = pbVar32, pbVar54 != (bfd_section *)0x0)) &&\n               (pbVar53 = pbVar54, pbVar54->vma < pbVar32->vma)) {\n              pbVar53 = pbVar32;\n            }\n            pbVar32 = pbVar32->next;\n            pbVar54 = pbVar53;\n          } while (pbVar32 != (bfd_section *)0x0);\n          if (pbVar53 == (bfd_section *)0x0) goto LAB_0001a360;\n          uVar58 = pbVar53->size + pbVar53->vma;\n          uVar47 = 0xffffffff;\n          if (uVar58 < 0xfffff001) {\n            uVar47 = uVar58 + 0xfff & 0xfffff000;\n          }\n        }\n        *(uint *)(local_98 + 0x20) = uVar47;\n        *(uint *)(local_98 + 0x1c) = uVar47;\n        local_98[0x18] = local_98[0x18] | 1;\n      }\n    }" { (expression_statement "local_98 = (char *)bfd_create_gnu_debuglink_section(local_5c,gnu_debuglink_filename);" (assignment_expression "local_98 = (char *)bfd_create_gnu_debuglink_section(local_5c,gnu_debuglink_filename)" identifier = (cast_expression "(char *)bfd_create_gnu_debuglink_section(local_5c,gnu_debuglink_filename)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "bfd_create_gnu_debuglink_section(local_5c,gnu_debuglink_filename)" identifier (argument_list "(local_5c,gnu_debuglink_filename)" ( identifier , identifier ))))) ;) (expression_statement "pcVar24 = gnu_debuglink_filename;" (assignment_expression "pcVar24 = gnu_debuglink_filename" identifier = identifier) ;) (if_statement "if (local_98 == (char *)0x0) {\n        pcVar23 = (char *)dcgettext(0,"cannot create debug link section `%s\'",5,local_5c);\n        bfd_nonfatal_message((char *)0x0,local_5c,(asection *)0x0,pcVar23,pcVar24);\n        return 0;\n      }" if (parenthesized_expression "(local_98 == (char *)0x0)" ( (binary_expression "local_98 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pcVar23 = (char *)dcgettext(0,"cannot create debug link section `%s\'",5,local_5c);\n        bfd_nonfatal_message((char *)0x0,local_5c,(asection *)0x0,pcVar23,pcVar24);\n        return 0;\n      }" { (expression_statement "pcVar23 = (char *)dcgettext(0,"cannot create debug link section `%s\'",5,local_5c);" (assignment_expression "pcVar23 = (char *)dcgettext(0,"cannot create debug link section `%s\'",5,local_5c)" identifier = (cast_expression "(char *)dcgettext(0,"cannot create debug link section `%s\'",5,local_5c)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"cannot create debug link section `%s\'",5,local_5c)" identifier (argument_list "(0,"cannot create debug link section `%s\'",5,local_5c)" ( number_literal , (string_literal ""cannot create debug link section `%s\'"" " string_content escape_sequence ") , number_literal , identifier ))))) ;) (expression_statement "bfd_nonfatal_message((char *)0x0,local_5c,(asection *)0x0,pcVar23,pcVar24);" (call_expression "bfd_nonfatal_message((char *)0x0,local_5c,(asection *)0x0,pcVar23,pcVar24)" identifier (argument_list "((char *)0x0,local_5c,(asection *)0x0,pcVar23,pcVar24)" ( (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) , identifier , (cast_expression "(asection *)0x0" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , identifier , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (if_statement "if (local_5c->xvec->flavour == bfd_target_coff_flavour) {\n        pbVar32 = local_5c->sections;\n        pbVar54 = (bfd_section *)0x0;\n        if (pbVar32 == (bfd_section *)0x0) {\nLAB_0001a360:\n          uVar47 = 0x1000;\n        }\n        else {\n          do {\n            pbVar53 = pbVar54;\n            if (((pbVar32->vma != 0) && (pbVar53 = pbVar32, pbVar54 != (bfd_section *)0x0)) &&\n               (pbVar53 = pbVar54, pbVar54->vma < pbVar32->vma)) {\n              pbVar53 = pbVar32;\n            }\n            pbVar32 = pbVar32->next;\n            pbVar54 = pbVar53;\n          } while (pbVar32 != (bfd_section *)0x0);\n          if (pbVar53 == (bfd_section *)0x0) goto LAB_0001a360;\n          uVar58 = pbVar53->size + pbVar53->vma;\n          uVar47 = 0xffffffff;\n          if (uVar58 < 0xfffff001) {\n            uVar47 = uVar58 + 0xfff & 0xfffff000;\n          }\n        }\n        *(uint *)(local_98 + 0x20) = uVar47;\n        *(uint *)(local_98 + 0x1c) = uVar47;\n        local_98[0x18] = local_98[0x18] | 1;\n      }" if (parenthesized_expression "(local_5c->xvec->flavour == bfd_target_coff_flavour)" ( (binary_expression "local_5c->xvec->flavour == bfd_target_coff_flavour" (field_expression "local_5c->xvec->flavour" (field_expression "local_5c->xvec" identifier -> field_identifier) -> field_identifier) == identifier) )) (compound_statement "{\n        pbVar32 = local_5c->sections;\n        pbVar54 = (bfd_section *)0x0;\n        if (pbVar32 == (bfd_section *)0x0) {\nLAB_0001a360:\n          uVar47 = 0x1000;\n        }\n        else {\n          do {\n            pbVar53 = pbVar54;\n            if (((pbVar32->vma != 0) && (pbVar53 = pbVar32, pbVar54 != (bfd_section *)0x0)) &&\n               (pbVar53 = pbVar54, pbVar54->vma < pbVar32->vma)) {\n              pbVar53 = pbVar32;\n            }\n            pbVar32 = pbVar32->next;\n            pbVar54 = pbVar53;\n          } while (pbVar32 != (bfd_section *)0x0);\n          if (pbVar53 == (bfd_section *)0x0) goto LAB_0001a360;\n          uVar58 = pbVar53->size + pbVar53->vma;\n          uVar47 = 0xffffffff;\n          if (uVar58 < 0xfffff001) {\n            uVar47 = uVar58 + 0xfff & 0xfffff000;\n          }\n        }\n        *(uint *)(local_98 + 0x20) = uVar47;\n        *(uint *)(local_98 + 0x1c) = uVar47;\n        local_98[0x18] = local_98[0x18] | 1;\n      }" { (expression_statement "pbVar32 = local_5c->sections;" (assignment_expression "pbVar32 = local_5c->sections" identifier = (field_expression "local_5c->sections" identifier -> field_identifier)) ;) (expression_statement "pbVar54 = (bfd_section *)0x0;" (assignment_expression "pbVar54 = (bfd_section *)0x0" identifier = (cast_expression "(bfd_section *)0x0" ( (type_descriptor "bfd_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (pbVar32 == (bfd_section *)0x0) {\nLAB_0001a360:\n          uVar47 = 0x1000;\n        }\n        else {\n          do {\n            pbVar53 = pbVar54;\n            if (((pbVar32->vma != 0) && (pbVar53 = pbVar32, pbVar54 != (bfd_section *)0x0)) &&\n               (pbVar53 = pbVar54, pbVar54->vma < pbVar32->vma)) {\n              pbVar53 = pbVar32;\n            }\n            pbVar32 = pbVar32->next;\n            pbVar54 = pbVar53;\n          } while (pbVar32 != (bfd_section *)0x0);\n          if (pbVar53 == (bfd_section *)0x0) goto LAB_0001a360;\n          uVar58 = pbVar53->size + pbVar53->vma;\n          uVar47 = 0xffffffff;\n          if (uVar58 < 0xfffff001) {\n            uVar47 = uVar58 + 0xfff & 0xfffff000;\n          }\n        }" if (parenthesized_expression "(pbVar32 == (bfd_section *)0x0)" ( (binary_expression "pbVar32 == (bfd_section *)0x0" identifier == (cast_expression "(bfd_section *)0x0" ( (type_descriptor "bfd_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0001a360:\n          uVar47 = 0x1000;\n        }" { (labeled_statement "LAB_0001a360:\n          uVar47 = 0x1000;" statement_identifier : (expression_statement "uVar47 = 0x1000;" (assignment_expression "uVar47 = 0x1000" identifier = number_literal) ;)) }) (else_clause "else {\n          do {\n            pbVar53 = pbVar54;\n            if (((pbVar32->vma != 0) && (pbVar53 = pbVar32, pbVar54 != (bfd_section *)0x0)) &&\n               (pbVar53 = pbVar54, pbVar54->vma < pbVar32->vma)) {\n              pbVar53 = pbVar32;\n            }\n            pbVar32 = pbVar32->next;\n            pbVar54 = pbVar53;\n          } while (pbVar32 != (bfd_section *)0x0);\n          if (pbVar53 == (bfd_section *)0x0) goto LAB_0001a360;\n          uVar58 = pbVar53->size + pbVar53->vma;\n          uVar47 = 0xffffffff;\n          if (uVar58 < 0xfffff001) {\n            uVar47 = uVar58 + 0xfff & 0xfffff000;\n          }\n        }" else (compound_statement "{\n          do {\n            pbVar53 = pbVar54;\n            if (((pbVar32->vma != 0) && (pbVar53 = pbVar32, pbVar54 != (bfd_section *)0x0)) &&\n               (pbVar53 = pbVar54, pbVar54->vma < pbVar32->vma)) {\n              pbVar53 = pbVar32;\n            }\n            pbVar32 = pbVar32->next;\n            pbVar54 = pbVar53;\n          } while (pbVar32 != (bfd_section *)0x0);\n          if (pbVar53 == (bfd_section *)0x0) goto LAB_0001a360;\n          uVar58 = pbVar53->size + pbVar53->vma;\n          uVar47 = 0xffffffff;\n          if (uVar58 < 0xfffff001) {\n            uVar47 = uVar58 + 0xfff & 0xfffff000;\n          }\n        }" { (do_statement "do {\n            pbVar53 = pbVar54;\n            if (((pbVar32->vma != 0) && (pbVar53 = pbVar32, pbVar54 != (bfd_section *)0x0)) &&\n               (pbVar53 = pbVar54, pbVar54->vma < pbVar32->vma)) {\n              pbVar53 = pbVar32;\n            }\n            pbVar32 = pbVar32->next;\n            pbVar54 = pbVar53;\n          } while (pbVar32 != (bfd_section *)0x0);" do (compound_statement "{\n            pbVar53 = pbVar54;\n            if (((pbVar32->vma != 0) && (pbVar53 = pbVar32, pbVar54 != (bfd_section *)0x0)) &&\n               (pbVar53 = pbVar54, pbVar54->vma < pbVar32->vma)) {\n              pbVar53 = pbVar32;\n            }\n            pbVar32 = pbVar32->next;\n            pbVar54 = pbVar53;\n          }" { (expression_statement "pbVar53 = pbVar54;" (assignment_expression "pbVar53 = pbVar54" identifier = identifier) ;) (if_statement "if (((pbVar32->vma != 0) && (pbVar53 = pbVar32, pbVar54 != (bfd_section *)0x0)) &&\n               (pbVar53 = pbVar54, pbVar54->vma < pbVar32->vma)) {\n              pbVar53 = pbVar32;\n            }" if (parenthesized_expression "(((pbVar32->vma != 0) && (pbVar53 = pbVar32, pbVar54 != (bfd_section *)0x0)) &&\n               (pbVar53 = pbVar54, pbVar54->vma < pbVar32->vma))" ( (binary_expression "((pbVar32->vma != 0) && (pbVar53 = pbVar32, pbVar54 != (bfd_section *)0x0)) &&\n               (pbVar53 = pbVar54, pbVar54->vma < pbVar32->vma)" (parenthesized_expression "((pbVar32->vma != 0) && (pbVar53 = pbVar32, pbVar54 != (bfd_section *)0x0))" ( (binary_expression "(pbVar32->vma != 0) && (pbVar53 = pbVar32, pbVar54 != (bfd_section *)0x0)" (parenthesized_expression "(pbVar32->vma != 0)" ( (binary_expression "pbVar32->vma != 0" (field_expression "pbVar32->vma" identifier -> field_identifier) != number_literal) )) && (parenthesized_expression "(pbVar53 = pbVar32, pbVar54 != (bfd_section *)0x0)" ( (comma_expression "pbVar53 = pbVar32, pbVar54 != (bfd_section *)0x0" (assignment_expression "pbVar53 = pbVar32" identifier = identifier) , (binary_expression "pbVar54 != (bfd_section *)0x0" identifier != (cast_expression "(bfd_section *)0x0" ( (type_descriptor "bfd_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) && (parenthesized_expression "(pbVar53 = pbVar54, pbVar54->vma < pbVar32->vma)" ( (comma_expression "pbVar53 = pbVar54, pbVar54->vma < pbVar32->vma" (assignment_expression "pbVar53 = pbVar54" identifier = identifier) , (binary_expression "pbVar54->vma < pbVar32->vma" (field_expression "pbVar54->vma" identifier -> field_identifier) < (field_expression "pbVar32->vma" identifier -> field_identifier))) ))) )) (compound_statement "{\n              pbVar53 = pbVar32;\n            }" { (expression_statement "pbVar53 = pbVar32;" (assignment_expression "pbVar53 = pbVar32" identifier = identifier) ;) })) (expression_statement "pbVar32 = pbVar32->next;" (assignment_expression "pbVar32 = pbVar32->next" identifier = (field_expression "pbVar32->next" identifier -> field_identifier)) ;) (expression_statement "pbVar54 = pbVar53;" (assignment_expression "pbVar54 = pbVar53" identifier = identifier) ;) }) while (parenthesized_expression "(pbVar32 != (bfd_section *)0x0)" ( (binary_expression "pbVar32 != (bfd_section *)0x0" identifier != (cast_expression "(bfd_section *)0x0" ( (type_descriptor "bfd_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (if_statement "if (pbVar53 == (bfd_section *)0x0) goto LAB_0001a360;" if (parenthesized_expression "(pbVar53 == (bfd_section *)0x0)" ( (binary_expression "pbVar53 == (bfd_section *)0x0" identifier == (cast_expression "(bfd_section *)0x0" ( (type_descriptor "bfd_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0001a360;" goto statement_identifier ;)) (expression_statement "uVar58 = pbVar53->size + pbVar53->vma;" (assignment_expression "uVar58 = pbVar53->size + pbVar53->vma" identifier = (binary_expression "pbVar53->size + pbVar53->vma" (field_expression "pbVar53->size" identifier -> field_identifier) + (field_expression "pbVar53->vma" identifier -> field_identifier))) ;) (expression_statement "uVar47 = 0xffffffff;" (assignment_expression "uVar47 = 0xffffffff" identifier = number_literal) ;) (if_statement "if (uVar58 < 0xfffff001) {\n            uVar47 = uVar58 + 0xfff & 0xfffff000;\n          }" if (parenthesized_expression "(uVar58 < 0xfffff001)" ( (binary_expression "uVar58 < 0xfffff001" identifier < number_literal) )) (compound_statement "{\n            uVar47 = uVar58 + 0xfff & 0xfffff000;\n          }" { (expression_statement "uVar47 = uVar58 + 0xfff & 0xfffff000;" (assignment_expression "uVar47 = uVar58 + 0xfff & 0xfffff000" identifier = (binary_expression "uVar58 + 0xfff & 0xfffff000" (binary_expression "uVar58 + 0xfff" identifier + number_literal) & number_literal)) ;) })) }))) (expression_statement "*(uint *)(local_98 + 0x20) = uVar47;" (assignment_expression "*(uint *)(local_98 + 0x20) = uVar47" (pointer_expression "*(uint *)(local_98 + 0x20)" * (cast_expression "(uint *)(local_98 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 0x20)" ( (binary_expression "local_98 + 0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(local_98 + 0x1c) = uVar47;" (assignment_expression "*(uint *)(local_98 + 0x1c) = uVar47" (pointer_expression "*(uint *)(local_98 + 0x1c)" * (cast_expression "(uint *)(local_98 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 0x1c)" ( (binary_expression "local_98 + 0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "local_98[0x18] = local_98[0x18] | 1;" (assignment_expression "local_98[0x18] = local_98[0x18] | 1" (subscript_expression "local_98[0x18]" identifier [ number_literal ]) = (binary_expression "local_98[0x18] | 1" (subscript_expression "local_98[0x18]" identifier [ number_literal ]) | number_literal)) ;) })) }) (else_clause "else {\n      pcVar24 = local_5c->filename;\n      pcVar23 = (char *)dcgettext(0,"%s: debuglink section already exists",5);\n      non_fatal(pcVar23,pcVar24);\n      gnu_debuglink_filename = (char *)0x0;\n      local_98 = (char *)0x0;\n    }" else (compound_statement "{\n      pcVar24 = local_5c->filename;\n      pcVar23 = (char *)dcgettext(0,"%s: debuglink section already exists",5);\n      non_fatal(pcVar23,pcVar24);\n      gnu_debuglink_filename = (char *)0x0;\n      local_98 = (char *)0x0;\n    }" { (expression_statement "pcVar24 = local_5c->filename;" (assignment_expression "pcVar24 = local_5c->filename" identifier = (field_expression "local_5c->filename" identifier -> field_identifier)) ;) (expression_statement "pcVar23 = (char *)dcgettext(0,"%s: debuglink section already exists",5);" (assignment_expression "pcVar23 = (char *)dcgettext(0,"%s: debuglink section already exists",5)" identifier = (cast_expression "(char *)dcgettext(0,"%s: debuglink section already exists",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"%s: debuglink section already exists",5)" identifier (argument_list "(0,"%s: debuglink section already exists",5)" ( number_literal , (string_literal ""%s: debuglink section already exists"" " string_content ") , number_literal ))))) ;) (expression_statement "non_fatal(pcVar23,pcVar24);" (call_expression "non_fatal(pcVar23,pcVar24)" identifier (argument_list "(pcVar23,pcVar24)" ( identifier , identifier ))) ;) (expression_statement "gnu_debuglink_filename = (char *)0x0;" (assignment_expression "gnu_debuglink_filename = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_98 = (char *)0x0;" (assignment_expression "local_98 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) })) (expression_statement "pbVar62 = (bfd *)local_5c->section_count;" (assignment_expression "pbVar62 = (bfd *)local_5c->section_count" identifier = (cast_expression "(bfd *)local_5c->section_count" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_5c->section_count" identifier -> field_identifier))) ;) (expression_statement "local_8c = pbVar62;" (assignment_expression "local_8c = pbVar62" identifier = identifier) ;) (if_statement "if (pbVar62 == (bfd *)0x0) {\nLAB_00018ff7:\n    local_90 = (void *)0x0;\n    local_84 = (int *)0x0;\n    pbVar69 = local_8c;\n  }\n  else {\n    if (gap_fill_set == 0 && pad_to_set == 0) {\n      local_8c = (bfd *)0x0;\n      goto LAB_00018ff7;\n    }\n    sVar34 = (int)pbVar62 * 4;\n    local_84 = (int *)xmalloc(sVar34);\n    contents = (bfd_byte *)local_84;\n    bfd_map_over_sections(local_5c,get_sections,&contents);\n    qsort(local_84,(size_t)pbVar62,4,compare_section_lma);\n    local_90 = (void *)xmalloc(sVar34);\n    memset(local_90,0,sVar34);\n    if ((gap_fill_set == 0) || (pbVar62 == (bfd *)0x1)) {\n      local_8c = (bfd *)0x0;\n    }\n    else {\n      puVar61 = (undefined1 *)0x0;\n      local_8c = (bfd *)0x0;\n      piVar40 = local_84;\n      do {\n        iVar18 = *piVar40;\n        puVar61 = puVar61 + 1;\n        pbVar69 = local_8c;\n        if ((*(uint *)(iVar18 + 0x14) & 0x102) == 0x102) {\n          uVar58 = *(int *)(iVar18 + 0x20) + *(int *)(iVar18 + 0x24);\n          if (uVar58 < *(uint *)(piVar40[1] + 0x20)) {\n            pbVar69 = (bfd *)(*(uint *)(piVar40[1] + 0x20) - uVar58);\n            uVar67 = bfd_set_section_size\n                               (local_5c,iVar18,(int)&pbVar69->filename + *(int *)(iVar18 + 0x24));\n            if ((int)uVar67 == 0) {\n              pcVar24 = (char *)dcgettext(0,"Can\'t fill gap after section",5,\n                                          (int)((ulonglong)uVar67 >> 0x20));\n              bfd_nonfatal_message((char *)0x0,local_5c,(asection *)*piVar40,pcVar24);\n              status = 1;\n              break;\n            }\n            *(bfd **)((int)local_90 + (int)puVar61 * 4 + -4) = pbVar69;\n            if (pbVar69 <= local_8c) {\n              pbVar69 = local_8c;\n            }\n          }\n        }\n        local_8c = pbVar69;\n        piVar40 = piVar40 + 1;\n      } while ((undefined1 *)((int)&pbVar62[-1].build_id + 3) != puVar61);\n    }\n    pbVar69 = local_8c;\n    if (pad_to_set != 0) {\n      iVar18 = local_84[(int)((int)&pbVar62[-1].build_id + 3)];\n      uVar58 = *(int *)(iVar18 + 0x24) + *(int *)(iVar18 + 0x20);\n      if (uVar58 < pad_to) {\n        iVar18 = bfd_set_section_size(local_5c,iVar18,pad_to - *(int *)(iVar18 + 0x20));\n        if (iVar18 == 0) {\n          pcVar24 = (char *)dcgettext(0,"can\'t add padding",5,uVar58);\n          bfd_nonfatal_message\n                    ((char *)0x0,local_5c,\n                     (asection *)local_84[(int)((int)&pbVar62[-1].build_id + 3)],pcVar24);\n          status = 1;\n        }\n        else {\n          pbVar69 = (bfd *)(pad_to - uVar58);\n          *(bfd **)((int)local_90 + (sVar34 - 4)) = pbVar69;\n          if (pbVar69 <= local_8c) {\n            pbVar69 = local_8c;\n          }\n        }\n      }\n    }\n  }" if (parenthesized_expression "(pbVar62 == (bfd *)0x0)" ( (binary_expression "pbVar62 == (bfd *)0x0" identifier == (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00018ff7:\n    local_90 = (void *)0x0;\n    local_84 = (int *)0x0;\n    pbVar69 = local_8c;\n  }" { (labeled_statement "LAB_00018ff7:\n    local_90 = (void *)0x0;" statement_identifier : (expression_statement "local_90 = (void *)0x0;" (assignment_expression "local_90 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "local_84 = (int *)0x0;" (assignment_expression "local_84 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar69 = local_8c;" (assignment_expression "pbVar69 = local_8c" identifier = identifier) ;) }) (else_clause "else {\n    if (gap_fill_set == 0 && pad_to_set == 0) {\n      local_8c = (bfd *)0x0;\n      goto LAB_00018ff7;\n    }\n    sVar34 = (int)pbVar62 * 4;\n    local_84 = (int *)xmalloc(sVar34);\n    contents = (bfd_byte *)local_84;\n    bfd_map_over_sections(local_5c,get_sections,&contents);\n    qsort(local_84,(size_t)pbVar62,4,compare_section_lma);\n    local_90 = (void *)xmalloc(sVar34);\n    memset(local_90,0,sVar34);\n    if ((gap_fill_set == 0) || (pbVar62 == (bfd *)0x1)) {\n      local_8c = (bfd *)0x0;\n    }\n    else {\n      puVar61 = (undefined1 *)0x0;\n      local_8c = (bfd *)0x0;\n      piVar40 = local_84;\n      do {\n        iVar18 = *piVar40;\n        puVar61 = puVar61 + 1;\n        pbVar69 = local_8c;\n        if ((*(uint *)(iVar18 + 0x14) & 0x102) == 0x102) {\n          uVar58 = *(int *)(iVar18 + 0x20) + *(int *)(iVar18 + 0x24);\n          if (uVar58 < *(uint *)(piVar40[1] + 0x20)) {\n            pbVar69 = (bfd *)(*(uint *)(piVar40[1] + 0x20) - uVar58);\n            uVar67 = bfd_set_section_size\n                               (local_5c,iVar18,(int)&pbVar69->filename + *(int *)(iVar18 + 0x24));\n            if ((int)uVar67 == 0) {\n              pcVar24 = (char *)dcgettext(0,"Can\'t fill gap after section",5,\n                                          (int)((ulonglong)uVar67 >> 0x20));\n              bfd_nonfatal_message((char *)0x0,local_5c,(asection *)*piVar40,pcVar24);\n              status = 1;\n              break;\n            }\n            *(bfd **)((int)local_90 + (int)puVar61 * 4 + -4) = pbVar69;\n            if (pbVar69 <= local_8c) {\n              pbVar69 = local_8c;\n            }\n          }\n        }\n        local_8c = pbVar69;\n        piVar40 = piVar40 + 1;\n      } while ((undefined1 *)((int)&pbVar62[-1].build_id + 3) != puVar61);\n    }\n    pbVar69 = local_8c;\n    if (pad_to_set != 0) {\n      iVar18 = local_84[(int)((int)&pbVar62[-1].build_id + 3)];\n      uVar58 = *(int *)(iVar18 + 0x24) + *(int *)(iVar18 + 0x20);\n      if (uVar58 < pad_to) {\n        iVar18 = bfd_set_section_size(local_5c,iVar18,pad_to - *(int *)(iVar18 + 0x20));\n        if (iVar18 == 0) {\n          pcVar24 = (char *)dcgettext(0,"can\'t add padding",5,uVar58);\n          bfd_nonfatal_message\n                    ((char *)0x0,local_5c,\n                     (asection *)local_84[(int)((int)&pbVar62[-1].build_id + 3)],pcVar24);\n          status = 1;\n        }\n        else {\n          pbVar69 = (bfd *)(pad_to - uVar58);\n          *(bfd **)((int)local_90 + (sVar34 - 4)) = pbVar69;\n          if (pbVar69 <= local_8c) {\n            pbVar69 = local_8c;\n          }\n        }\n      }\n    }\n  }" else (compound_statement "{\n    if (gap_fill_set == 0 && pad_to_set == 0) {\n      local_8c = (bfd *)0x0;\n      goto LAB_00018ff7;\n    }\n    sVar34 = (int)pbVar62 * 4;\n    local_84 = (int *)xmalloc(sVar34);\n    contents = (bfd_byte *)local_84;\n    bfd_map_over_sections(local_5c,get_sections,&contents);\n    qsort(local_84,(size_t)pbVar62,4,compare_section_lma);\n    local_90 = (void *)xmalloc(sVar34);\n    memset(local_90,0,sVar34);\n    if ((gap_fill_set == 0) || (pbVar62 == (bfd *)0x1)) {\n      local_8c = (bfd *)0x0;\n    }\n    else {\n      puVar61 = (undefined1 *)0x0;\n      local_8c = (bfd *)0x0;\n      piVar40 = local_84;\n      do {\n        iVar18 = *piVar40;\n        puVar61 = puVar61 + 1;\n        pbVar69 = local_8c;\n        if ((*(uint *)(iVar18 + 0x14) & 0x102) == 0x102) {\n          uVar58 = *(int *)(iVar18 + 0x20) + *(int *)(iVar18 + 0x24);\n          if (uVar58 < *(uint *)(piVar40[1] + 0x20)) {\n            pbVar69 = (bfd *)(*(uint *)(piVar40[1] + 0x20) - uVar58);\n            uVar67 = bfd_set_section_size\n                               (local_5c,iVar18,(int)&pbVar69->filename + *(int *)(iVar18 + 0x24));\n            if ((int)uVar67 == 0) {\n              pcVar24 = (char *)dcgettext(0,"Can\'t fill gap after section",5,\n                                          (int)((ulonglong)uVar67 >> 0x20));\n              bfd_nonfatal_message((char *)0x0,local_5c,(asection *)*piVar40,pcVar24);\n              status = 1;\n              break;\n            }\n            *(bfd **)((int)local_90 + (int)puVar61 * 4 + -4) = pbVar69;\n            if (pbVar69 <= local_8c) {\n              pbVar69 = local_8c;\n            }\n          }\n        }\n        local_8c = pbVar69;\n        piVar40 = piVar40 + 1;\n      } while ((undefined1 *)((int)&pbVar62[-1].build_id + 3) != puVar61);\n    }\n    pbVar69 = local_8c;\n    if (pad_to_set != 0) {\n      iVar18 = local_84[(int)((int)&pbVar62[-1].build_id + 3)];\n      uVar58 = *(int *)(iVar18 + 0x24) + *(int *)(iVar18 + 0x20);\n      if (uVar58 < pad_to) {\n        iVar18 = bfd_set_section_size(local_5c,iVar18,pad_to - *(int *)(iVar18 + 0x20));\n        if (iVar18 == 0) {\n          pcVar24 = (char *)dcgettext(0,"can\'t add padding",5,uVar58);\n          bfd_nonfatal_message\n                    ((char *)0x0,local_5c,\n                     (asection *)local_84[(int)((int)&pbVar62[-1].build_id + 3)],pcVar24);\n          status = 1;\n        }\n        else {\n          pbVar69 = (bfd *)(pad_to - uVar58);\n          *(bfd **)((int)local_90 + (sVar34 - 4)) = pbVar69;\n          if (pbVar69 <= local_8c) {\n            pbVar69 = local_8c;\n          }\n        }\n      }\n    }\n  }" { (if_statement "if (gap_fill_set == 0 && pad_to_set == 0) {\n      local_8c = (bfd *)0x0;\n      goto LAB_00018ff7;\n    }" if (parenthesized_expression "(gap_fill_set == 0 && pad_to_set == 0)" ( (binary_expression "gap_fill_set == 0 && pad_to_set == 0" (binary_expression "gap_fill_set == 0" identifier == number_literal) && (binary_expression "pad_to_set == 0" identifier == number_literal)) )) (compound_statement "{\n      local_8c = (bfd *)0x0;\n      goto LAB_00018ff7;\n    }" { (expression_statement "local_8c = (bfd *)0x0;" (assignment_expression "local_8c = (bfd *)0x0" identifier = (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00018ff7;" goto statement_identifier ;) })) (expression_statement "sVar34 = (int)pbVar62 * 4;" (assignment_expression "sVar34 = (int)pbVar62 * 4" identifier = (binary_expression "(int)pbVar62 * 4" (cast_expression "(int)pbVar62" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ;) (expression_statement "local_84 = (int *)xmalloc(sVar34);" (assignment_expression "local_84 = (int *)xmalloc(sVar34)" identifier = (cast_expression "(int *)xmalloc(sVar34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(sVar34)" identifier (argument_list "(sVar34)" ( identifier ))))) ;) (expression_statement "contents = (bfd_byte *)local_84;" (assignment_expression "contents = (bfd_byte *)local_84" identifier = (cast_expression "(bfd_byte *)local_84" ( (type_descriptor "bfd_byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "bfd_map_over_sections(local_5c,get_sections,&contents);" (call_expression "bfd_map_over_sections(local_5c,get_sections,&contents)" identifier (argument_list "(local_5c,get_sections,&contents)" ( identifier , identifier , (pointer_expression "&contents" & identifier) ))) ;) (expression_statement "qsort(local_84,(size_t)pbVar62,4,compare_section_lma);" (call_expression "qsort(local_84,(size_t)pbVar62,4,compare_section_lma)" identifier (argument_list "(local_84,(size_t)pbVar62,4,compare_section_lma)" ( identifier , (cast_expression "(size_t)pbVar62" ( (type_descriptor "size_t" primitive_type) ) identifier) , number_literal , identifier ))) ;) (expression_statement "local_90 = (void *)xmalloc(sVar34);" (assignment_expression "local_90 = (void *)xmalloc(sVar34)" identifier = (cast_expression "(void *)xmalloc(sVar34)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(sVar34)" identifier (argument_list "(sVar34)" ( identifier ))))) ;) (expression_statement "memset(local_90,0,sVar34);" (call_expression "memset(local_90,0,sVar34)" identifier (argument_list "(local_90,0,sVar34)" ( identifier , number_literal , identifier ))) ;) (if_statement "if ((gap_fill_set == 0) || (pbVar62 == (bfd *)0x1)) {\n      local_8c = (bfd *)0x0;\n    }\n    else {\n      puVar61 = (undefined1 *)0x0;\n      local_8c = (bfd *)0x0;\n      piVar40 = local_84;\n      do {\n        iVar18 = *piVar40;\n        puVar61 = puVar61 + 1;\n        pbVar69 = local_8c;\n        if ((*(uint *)(iVar18 + 0x14) & 0x102) == 0x102) {\n          uVar58 = *(int *)(iVar18 + 0x20) + *(int *)(iVar18 + 0x24);\n          if (uVar58 < *(uint *)(piVar40[1] + 0x20)) {\n            pbVar69 = (bfd *)(*(uint *)(piVar40[1] + 0x20) - uVar58);\n            uVar67 = bfd_set_section_size\n                               (local_5c,iVar18,(int)&pbVar69->filename + *(int *)(iVar18 + 0x24));\n            if ((int)uVar67 == 0) {\n              pcVar24 = (char *)dcgettext(0,"Can\'t fill gap after section",5,\n                                          (int)((ulonglong)uVar67 >> 0x20));\n              bfd_nonfatal_message((char *)0x0,local_5c,(asection *)*piVar40,pcVar24);\n              status = 1;\n              break;\n            }\n            *(bfd **)((int)local_90 + (int)puVar61 * 4 + -4) = pbVar69;\n            if (pbVar69 <= local_8c) {\n              pbVar69 = local_8c;\n            }\n          }\n        }\n        local_8c = pbVar69;\n        piVar40 = piVar40 + 1;\n      } while ((undefined1 *)((int)&pbVar62[-1].build_id + 3) != puVar61);\n    }" if (parenthesized_expression "((gap_fill_set == 0) || (pbVar62 == (bfd *)0x1))" ( (binary_expression "(gap_fill_set == 0) || (pbVar62 == (bfd *)0x1)" (parenthesized_expression "(gap_fill_set == 0)" ( (binary_expression "gap_fill_set == 0" identifier == number_literal) )) || (parenthesized_expression "(pbVar62 == (bfd *)0x1)" ( (binary_expression "pbVar62 == (bfd *)0x1" identifier == (cast_expression "(bfd *)0x1" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n      local_8c = (bfd *)0x0;\n    }" { (expression_statement "local_8c = (bfd *)0x0;" (assignment_expression "local_8c = (bfd *)0x0" identifier = (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n      puVar61 = (undefined1 *)0x0;\n      local_8c = (bfd *)0x0;\n      piVar40 = local_84;\n      do {\n        iVar18 = *piVar40;\n        puVar61 = puVar61 + 1;\n        pbVar69 = local_8c;\n        if ((*(uint *)(iVar18 + 0x14) & 0x102) == 0x102) {\n          uVar58 = *(int *)(iVar18 + 0x20) + *(int *)(iVar18 + 0x24);\n          if (uVar58 < *(uint *)(piVar40[1] + 0x20)) {\n            pbVar69 = (bfd *)(*(uint *)(piVar40[1] + 0x20) - uVar58);\n            uVar67 = bfd_set_section_size\n                               (local_5c,iVar18,(int)&pbVar69->filename + *(int *)(iVar18 + 0x24));\n            if ((int)uVar67 == 0) {\n              pcVar24 = (char *)dcgettext(0,"Can\'t fill gap after section",5,\n                                          (int)((ulonglong)uVar67 >> 0x20));\n              bfd_nonfatal_message((char *)0x0,local_5c,(asection *)*piVar40,pcVar24);\n              status = 1;\n              break;\n            }\n            *(bfd **)((int)local_90 + (int)puVar61 * 4 + -4) = pbVar69;\n            if (pbVar69 <= local_8c) {\n              pbVar69 = local_8c;\n            }\n          }\n        }\n        local_8c = pbVar69;\n        piVar40 = piVar40 + 1;\n      } while ((undefined1 *)((int)&pbVar62[-1].build_id + 3) != puVar61);\n    }" else (compound_statement "{\n      puVar61 = (undefined1 *)0x0;\n      local_8c = (bfd *)0x0;\n      piVar40 = local_84;\n      do {\n        iVar18 = *piVar40;\n        puVar61 = puVar61 + 1;\n        pbVar69 = local_8c;\n        if ((*(uint *)(iVar18 + 0x14) & 0x102) == 0x102) {\n          uVar58 = *(int *)(iVar18 + 0x20) + *(int *)(iVar18 + 0x24);\n          if (uVar58 < *(uint *)(piVar40[1] + 0x20)) {\n            pbVar69 = (bfd *)(*(uint *)(piVar40[1] + 0x20) - uVar58);\n            uVar67 = bfd_set_section_size\n                               (local_5c,iVar18,(int)&pbVar69->filename + *(int *)(iVar18 + 0x24));\n            if ((int)uVar67 == 0) {\n              pcVar24 = (char *)dcgettext(0,"Can\'t fill gap after section",5,\n                                          (int)((ulonglong)uVar67 >> 0x20));\n              bfd_nonfatal_message((char *)0x0,local_5c,(asection *)*piVar40,pcVar24);\n              status = 1;\n              break;\n            }\n            *(bfd **)((int)local_90 + (int)puVar61 * 4 + -4) = pbVar69;\n            if (pbVar69 <= local_8c) {\n              pbVar69 = local_8c;\n            }\n          }\n        }\n        local_8c = pbVar69;\n        piVar40 = piVar40 + 1;\n      } while ((undefined1 *)((int)&pbVar62[-1].build_id + 3) != puVar61);\n    }" { (expression_statement "puVar61 = (undefined1 *)0x0;" (assignment_expression "puVar61 = (undefined1 *)0x0" identifier = (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_8c = (bfd *)0x0;" (assignment_expression "local_8c = (bfd *)0x0" identifier = (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "piVar40 = local_84;" (assignment_expression "piVar40 = local_84" identifier = identifier) ;) (do_statement "do {\n        iVar18 = *piVar40;\n        puVar61 = puVar61 + 1;\n        pbVar69 = local_8c;\n        if ((*(uint *)(iVar18 + 0x14) & 0x102) == 0x102) {\n          uVar58 = *(int *)(iVar18 + 0x20) + *(int *)(iVar18 + 0x24);\n          if (uVar58 < *(uint *)(piVar40[1] + 0x20)) {\n            pbVar69 = (bfd *)(*(uint *)(piVar40[1] + 0x20) - uVar58);\n            uVar67 = bfd_set_section_size\n                               (local_5c,iVar18,(int)&pbVar69->filename + *(int *)(iVar18 + 0x24));\n            if ((int)uVar67 == 0) {\n              pcVar24 = (char *)dcgettext(0,"Can\'t fill gap after section",5,\n                                          (int)((ulonglong)uVar67 >> 0x20));\n              bfd_nonfatal_message((char *)0x0,local_5c,(asection *)*piVar40,pcVar24);\n              status = 1;\n              break;\n            }\n            *(bfd **)((int)local_90 + (int)puVar61 * 4 + -4) = pbVar69;\n            if (pbVar69 <= local_8c) {\n              pbVar69 = local_8c;\n            }\n          }\n        }\n        local_8c = pbVar69;\n        piVar40 = piVar40 + 1;\n      } while ((undefined1 *)((int)&pbVar62[-1].build_id + 3) != puVar61);" do (compound_statement "{\n        iVar18 = *piVar40;\n        puVar61 = puVar61 + 1;\n        pbVar69 = local_8c;\n        if ((*(uint *)(iVar18 + 0x14) & 0x102) == 0x102) {\n          uVar58 = *(int *)(iVar18 + 0x20) + *(int *)(iVar18 + 0x24);\n          if (uVar58 < *(uint *)(piVar40[1] + 0x20)) {\n            pbVar69 = (bfd *)(*(uint *)(piVar40[1] + 0x20) - uVar58);\n            uVar67 = bfd_set_section_size\n                               (local_5c,iVar18,(int)&pbVar69->filename + *(int *)(iVar18 + 0x24));\n            if ((int)uVar67 == 0) {\n              pcVar24 = (char *)dcgettext(0,"Can\'t fill gap after section",5,\n                                          (int)((ulonglong)uVar67 >> 0x20));\n              bfd_nonfatal_message((char *)0x0,local_5c,(asection *)*piVar40,pcVar24);\n              status = 1;\n              break;\n            }\n            *(bfd **)((int)local_90 + (int)puVar61 * 4 + -4) = pbVar69;\n            if (pbVar69 <= local_8c) {\n              pbVar69 = local_8c;\n            }\n          }\n        }\n        local_8c = pbVar69;\n        piVar40 = piVar40 + 1;\n      }" { (expression_statement "iVar18 = *piVar40;" (assignment_expression "iVar18 = *piVar40" identifier = (pointer_expression "*piVar40" * identifier)) ;) (expression_statement "puVar61 = puVar61 + 1;" (assignment_expression "puVar61 = puVar61 + 1" identifier = (binary_expression "puVar61 + 1" identifier + number_literal)) ;) (expression_statement "pbVar69 = local_8c;" (assignment_expression "pbVar69 = local_8c" identifier = identifier) ;) (if_statement "if ((*(uint *)(iVar18 + 0x14) & 0x102) == 0x102) {\n          uVar58 = *(int *)(iVar18 + 0x20) + *(int *)(iVar18 + 0x24);\n          if (uVar58 < *(uint *)(piVar40[1] + 0x20)) {\n            pbVar69 = (bfd *)(*(uint *)(piVar40[1] + 0x20) - uVar58);\n            uVar67 = bfd_set_section_size\n                               (local_5c,iVar18,(int)&pbVar69->filename + *(int *)(iVar18 + 0x24));\n            if ((int)uVar67 == 0) {\n              pcVar24 = (char *)dcgettext(0,"Can\'t fill gap after section",5,\n                                          (int)((ulonglong)uVar67 >> 0x20));\n              bfd_nonfatal_message((char *)0x0,local_5c,(asection *)*piVar40,pcVar24);\n              status = 1;\n              break;\n            }\n            *(bfd **)((int)local_90 + (int)puVar61 * 4 + -4) = pbVar69;\n            if (pbVar69 <= local_8c) {\n              pbVar69 = local_8c;\n            }\n          }\n        }" if (parenthesized_expression "((*(uint *)(iVar18 + 0x14) & 0x102) == 0x102)" ( (binary_expression "(*(uint *)(iVar18 + 0x14) & 0x102) == 0x102" (parenthesized_expression "(*(uint *)(iVar18 + 0x14) & 0x102)" ( (binary_expression "*(uint *)(iVar18 + 0x14) & 0x102" (pointer_expression "*(uint *)(iVar18 + 0x14)" * (cast_expression "(uint *)(iVar18 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + 0x14)" ( (binary_expression "iVar18 + 0x14" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n          uVar58 = *(int *)(iVar18 + 0x20) + *(int *)(iVar18 + 0x24);\n          if (uVar58 < *(uint *)(piVar40[1] + 0x20)) {\n            pbVar69 = (bfd *)(*(uint *)(piVar40[1] + 0x20) - uVar58);\n            uVar67 = bfd_set_section_size\n                               (local_5c,iVar18,(int)&pbVar69->filename + *(int *)(iVar18 + 0x24));\n            if ((int)uVar67 == 0) {\n              pcVar24 = (char *)dcgettext(0,"Can\'t fill gap after section",5,\n                                          (int)((ulonglong)uVar67 >> 0x20));\n              bfd_nonfatal_message((char *)0x0,local_5c,(asection *)*piVar40,pcVar24);\n              status = 1;\n              break;\n            }\n            *(bfd **)((int)local_90 + (int)puVar61 * 4 + -4) = pbVar69;\n            if (pbVar69 <= local_8c) {\n              pbVar69 = local_8c;\n            }\n          }\n        }" { (expression_statement "uVar58 = *(int *)(iVar18 + 0x20) + *(int *)(iVar18 + 0x24);" (assignment_expression "uVar58 = *(int *)(iVar18 + 0x20) + *(int *)(iVar18 + 0x24)" identifier = (binary_expression "*(int *)(iVar18 + 0x20) + *(int *)(iVar18 + 0x24)" (pointer_expression "*(int *)(iVar18 + 0x20)" * (cast_expression "(int *)(iVar18 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + 0x20)" ( (binary_expression "iVar18 + 0x20" identifier + number_literal) )))) + (pointer_expression "*(int *)(iVar18 + 0x24)" * (cast_expression "(int *)(iVar18 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + 0x24)" ( (binary_expression "iVar18 + 0x24" identifier + number_literal) )))))) ;) (if_statement "if (uVar58 < *(uint *)(piVar40[1] + 0x20)) {\n            pbVar69 = (bfd *)(*(uint *)(piVar40[1] + 0x20) - uVar58);\n            uVar67 = bfd_set_section_size\n                               (local_5c,iVar18,(int)&pbVar69->filename + *(int *)(iVar18 + 0x24));\n            if ((int)uVar67 == 0) {\n              pcVar24 = (char *)dcgettext(0,"Can\'t fill gap after section",5,\n                                          (int)((ulonglong)uVar67 >> 0x20));\n              bfd_nonfatal_message((char *)0x0,local_5c,(asection *)*piVar40,pcVar24);\n              status = 1;\n              break;\n            }\n            *(bfd **)((int)local_90 + (int)puVar61 * 4 + -4) = pbVar69;\n            if (pbVar69 <= local_8c) {\n              pbVar69 = local_8c;\n            }\n          }" if (parenthesized_expression "(uVar58 < *(uint *)(piVar40[1] + 0x20))" ( (binary_expression "uVar58 < *(uint *)(piVar40[1] + 0x20)" identifier < (pointer_expression "*(uint *)(piVar40[1] + 0x20)" * (cast_expression "(uint *)(piVar40[1] + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar40[1] + 0x20)" ( (binary_expression "piVar40[1] + 0x20" (subscript_expression "piVar40[1]" identifier [ number_literal ]) + number_literal) ))))) )) (compound_statement "{\n            pbVar69 = (bfd *)(*(uint *)(piVar40[1] + 0x20) - uVar58);\n            uVar67 = bfd_set_section_size\n                               (local_5c,iVar18,(int)&pbVar69->filename + *(int *)(iVar18 + 0x24));\n            if ((int)uVar67 == 0) {\n              pcVar24 = (char *)dcgettext(0,"Can\'t fill gap after section",5,\n                                          (int)((ulonglong)uVar67 >> 0x20));\n              bfd_nonfatal_message((char *)0x0,local_5c,(asection *)*piVar40,pcVar24);\n              status = 1;\n              break;\n            }\n            *(bfd **)((int)local_90 + (int)puVar61 * 4 + -4) = pbVar69;\n            if (pbVar69 <= local_8c) {\n              pbVar69 = local_8c;\n            }\n          }" { (expression_statement "pbVar69 = (bfd *)(*(uint *)(piVar40[1] + 0x20) - uVar58);" (assignment_expression "pbVar69 = (bfd *)(*(uint *)(piVar40[1] + 0x20) - uVar58)" identifier = (cast_expression "(bfd *)(*(uint *)(piVar40[1] + 0x20) - uVar58)" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(uint *)(piVar40[1] + 0x20) - uVar58)" ( (binary_expression "*(uint *)(piVar40[1] + 0x20) - uVar58" (pointer_expression "*(uint *)(piVar40[1] + 0x20)" * (cast_expression "(uint *)(piVar40[1] + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar40[1] + 0x20)" ( (binary_expression "piVar40[1] + 0x20" (subscript_expression "piVar40[1]" identifier [ number_literal ]) + number_literal) )))) - identifier) )))) ;) (expression_statement "uVar67 = bfd_set_section_size\n                               (local_5c,iVar18,(int)&pbVar69->filename + *(int *)(iVar18 + 0x24));" (assignment_expression "uVar67 = bfd_set_section_size\n                               (local_5c,iVar18,(int)&pbVar69->filename + *(int *)(iVar18 + 0x24))" identifier = (call_expression "bfd_set_section_size\n                               (local_5c,iVar18,(int)&pbVar69->filename + *(int *)(iVar18 + 0x24))" identifier (argument_list "(local_5c,iVar18,(int)&pbVar69->filename + *(int *)(iVar18 + 0x24))" ( identifier , identifier , (binary_expression "(int)&pbVar69->filename + *(int *)(iVar18 + 0x24)" (cast_expression "(int)&pbVar69->filename" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pbVar69->filename" & (field_expression "pbVar69->filename" identifier -> field_identifier))) + (pointer_expression "*(int *)(iVar18 + 0x24)" * (cast_expression "(int *)(iVar18 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + 0x24)" ( (binary_expression "iVar18 + 0x24" identifier + number_literal) ))))) )))) ;) (if_statement "if ((int)uVar67 == 0) {\n              pcVar24 = (char *)dcgettext(0,"Can\'t fill gap after section",5,\n                                          (int)((ulonglong)uVar67 >> 0x20));\n              bfd_nonfatal_message((char *)0x0,local_5c,(asection *)*piVar40,pcVar24);\n              status = 1;\n              break;\n            }" if (parenthesized_expression "((int)uVar67 == 0)" ( (binary_expression "(int)uVar67 == 0" (cast_expression "(int)uVar67" ( (type_descriptor "int" primitive_type) ) identifier) == number_literal) )) (compound_statement "{\n              pcVar24 = (char *)dcgettext(0,"Can\'t fill gap after section",5,\n                                          (int)((ulonglong)uVar67 >> 0x20));\n              bfd_nonfatal_message((char *)0x0,local_5c,(asection *)*piVar40,pcVar24);\n              status = 1;\n              break;\n            }" { (expression_statement "pcVar24 = (char *)dcgettext(0,"Can\'t fill gap after section",5,\n                                          (int)((ulonglong)uVar67 >> 0x20));" (assignment_expression "pcVar24 = (char *)dcgettext(0,"Can\'t fill gap after section",5,\n                                          (int)((ulonglong)uVar67 >> 0x20))" identifier = (cast_expression "(char *)dcgettext(0,"Can\'t fill gap after section",5,\n                                          (int)((ulonglong)uVar67 >> 0x20))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Can\'t fill gap after section",5,\n                                          (int)((ulonglong)uVar67 >> 0x20))" identifier (argument_list "(0,"Can\'t fill gap after section",5,\n                                          (int)((ulonglong)uVar67 >> 0x20))" ( number_literal , (string_literal ""Can\'t fill gap after section"" " string_content escape_sequence string_content ") , number_literal , (cast_expression "(int)((ulonglong)uVar67 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar67 >> 0x20)" ( (binary_expression "(ulonglong)uVar67 >> 0x20" (cast_expression "(ulonglong)uVar67" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) ))))) ;) (expression_statement "bfd_nonfatal_message((char *)0x0,local_5c,(asection *)*piVar40,pcVar24);" (call_expression "bfd_nonfatal_message((char *)0x0,local_5c,(asection *)*piVar40,pcVar24)" identifier (argument_list "((char *)0x0,local_5c,(asection *)*piVar40,pcVar24)" ( (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) , identifier , (cast_expression "(asection *)*piVar40" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar40" * identifier)) , identifier ))) ;) (expression_statement "status = 1;" (assignment_expression "status = 1" identifier = number_literal) ;) (break_statement "break;" break ;) })) (expression_statement "*(bfd **)((int)local_90 + (int)puVar61 * 4 + -4) = pbVar69;" (assignment_expression "*(bfd **)((int)local_90 + (int)puVar61 * 4 + -4) = pbVar69" (pointer_expression "*(bfd **)((int)local_90 + (int)puVar61 * 4 + -4)" * (cast_expression "(bfd **)((int)local_90 + (int)puVar61 * 4 + -4)" ( (type_descriptor "bfd **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)local_90 + (int)puVar61 * 4 + -4)" ( (binary_expression "(int)local_90 + (int)puVar61 * 4 + -4" (binary_expression "(int)local_90 + (int)puVar61 * 4" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(int)puVar61 * 4" (cast_expression "(int)puVar61" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) + number_literal) )))) = identifier) ;) (if_statement "if (pbVar69 <= local_8c) {\n              pbVar69 = local_8c;\n            }" if (parenthesized_expression "(pbVar69 <= local_8c)" ( (binary_expression "pbVar69 <= local_8c" identifier <= identifier) )) (compound_statement "{\n              pbVar69 = local_8c;\n            }" { (expression_statement "pbVar69 = local_8c;" (assignment_expression "pbVar69 = local_8c" identifier = identifier) ;) })) })) })) (expression_statement "local_8c = pbVar69;" (assignment_expression "local_8c = pbVar69" identifier = identifier) ;) (expression_statement "piVar40 = piVar40 + 1;" (assignment_expression "piVar40 = piVar40 + 1" identifier = (binary_expression "piVar40 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((undefined1 *)((int)&pbVar62[-1].build_id + 3) != puVar61)" ( (binary_expression "(undefined1 *)((int)&pbVar62[-1].build_id + 3) != puVar61" (cast_expression "(undefined1 *)((int)&pbVar62[-1].build_id + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pbVar62[-1].build_id + 3)" ( (binary_expression "(int)&pbVar62[-1].build_id + 3" (cast_expression "(int)&pbVar62[-1].build_id" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pbVar62[-1].build_id" & (field_expression "pbVar62[-1].build_id" (subscript_expression "pbVar62[-1]" identifier [ number_literal ]) . field_identifier))) + number_literal) ))) != identifier) )) ;) }))) (expression_statement "pbVar69 = local_8c;" (assignment_expression "pbVar69 = local_8c" identifier = identifier) ;) (if_statement "if (pad_to_set != 0) {\n      iVar18 = local_84[(int)((int)&pbVar62[-1].build_id + 3)];\n      uVar58 = *(int *)(iVar18 + 0x24) + *(int *)(iVar18 + 0x20);\n      if (uVar58 < pad_to) {\n        iVar18 = bfd_set_section_size(local_5c,iVar18,pad_to - *(int *)(iVar18 + 0x20));\n        if (iVar18 == 0) {\n          pcVar24 = (char *)dcgettext(0,"can\'t add padding",5,uVar58);\n          bfd_nonfatal_message\n                    ((char *)0x0,local_5c,\n                     (asection *)local_84[(int)((int)&pbVar62[-1].build_id + 3)],pcVar24);\n          status = 1;\n        }\n        else {\n          pbVar69 = (bfd *)(pad_to - uVar58);\n          *(bfd **)((int)local_90 + (sVar34 - 4)) = pbVar69;\n          if (pbVar69 <= local_8c) {\n            pbVar69 = local_8c;\n          }\n        }\n      }\n    }" if (parenthesized_expression "(pad_to_set != 0)" ( (binary_expression "pad_to_set != 0" identifier != number_literal) )) (compound_statement "{\n      iVar18 = local_84[(int)((int)&pbVar62[-1].build_id + 3)];\n      uVar58 = *(int *)(iVar18 + 0x24) + *(int *)(iVar18 + 0x20);\n      if (uVar58 < pad_to) {\n        iVar18 = bfd_set_section_size(local_5c,iVar18,pad_to - *(int *)(iVar18 + 0x20));\n        if (iVar18 == 0) {\n          pcVar24 = (char *)dcgettext(0,"can\'t add padding",5,uVar58);\n          bfd_nonfatal_message\n                    ((char *)0x0,local_5c,\n                     (asection *)local_84[(int)((int)&pbVar62[-1].build_id + 3)],pcVar24);\n          status = 1;\n        }\n        else {\n          pbVar69 = (bfd *)(pad_to - uVar58);\n          *(bfd **)((int)local_90 + (sVar34 - 4)) = pbVar69;\n          if (pbVar69 <= local_8c) {\n            pbVar69 = local_8c;\n          }\n        }\n      }\n    }" { (expression_statement "iVar18 = local_84[(int)((int)&pbVar62[-1].build_id + 3)];" (assignment_expression "iVar18 = local_84[(int)((int)&pbVar62[-1].build_id + 3)]" identifier = (subscript_expression "local_84[(int)((int)&pbVar62[-1].build_id + 3)]" identifier [ (cast_expression "(int)((int)&pbVar62[-1].build_id + 3)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)&pbVar62[-1].build_id + 3)" ( (binary_expression "(int)&pbVar62[-1].build_id + 3" (cast_expression "(int)&pbVar62[-1].build_id" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pbVar62[-1].build_id" & (field_expression "pbVar62[-1].build_id" (subscript_expression "pbVar62[-1]" identifier [ number_literal ]) . field_identifier))) + number_literal) ))) ])) ;) (expression_statement "uVar58 = *(int *)(iVar18 + 0x24) + *(int *)(iVar18 + 0x20);" (assignment_expression "uVar58 = *(int *)(iVar18 + 0x24) + *(int *)(iVar18 + 0x20)" identifier = (binary_expression "*(int *)(iVar18 + 0x24) + *(int *)(iVar18 + 0x20)" (pointer_expression "*(int *)(iVar18 + 0x24)" * (cast_expression "(int *)(iVar18 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + 0x24)" ( (binary_expression "iVar18 + 0x24" identifier + number_literal) )))) + (pointer_expression "*(int *)(iVar18 + 0x20)" * (cast_expression "(int *)(iVar18 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + 0x20)" ( (binary_expression "iVar18 + 0x20" identifier + number_literal) )))))) ;) (if_statement "if (uVar58 < pad_to) {\n        iVar18 = bfd_set_section_size(local_5c,iVar18,pad_to - *(int *)(iVar18 + 0x20));\n        if (iVar18 == 0) {\n          pcVar24 = (char *)dcgettext(0,"can\'t add padding",5,uVar58);\n          bfd_nonfatal_message\n                    ((char *)0x0,local_5c,\n                     (asection *)local_84[(int)((int)&pbVar62[-1].build_id + 3)],pcVar24);\n          status = 1;\n        }\n        else {\n          pbVar69 = (bfd *)(pad_to - uVar58);\n          *(bfd **)((int)local_90 + (sVar34 - 4)) = pbVar69;\n          if (pbVar69 <= local_8c) {\n            pbVar69 = local_8c;\n          }\n        }\n      }" if (parenthesized_expression "(uVar58 < pad_to)" ( (binary_expression "uVar58 < pad_to" identifier < identifier) )) (compound_statement "{\n        iVar18 = bfd_set_section_size(local_5c,iVar18,pad_to - *(int *)(iVar18 + 0x20));\n        if (iVar18 == 0) {\n          pcVar24 = (char *)dcgettext(0,"can\'t add padding",5,uVar58);\n          bfd_nonfatal_message\n                    ((char *)0x0,local_5c,\n                     (asection *)local_84[(int)((int)&pbVar62[-1].build_id + 3)],pcVar24);\n          status = 1;\n        }\n        else {\n          pbVar69 = (bfd *)(pad_to - uVar58);\n          *(bfd **)((int)local_90 + (sVar34 - 4)) = pbVar69;\n          if (pbVar69 <= local_8c) {\n            pbVar69 = local_8c;\n          }\n        }\n      }" { (expression_statement "iVar18 = bfd_set_section_size(local_5c,iVar18,pad_to - *(int *)(iVar18 + 0x20));" (assignment_expression "iVar18 = bfd_set_section_size(local_5c,iVar18,pad_to - *(int *)(iVar18 + 0x20))" identifier = (call_expression "bfd_set_section_size(local_5c,iVar18,pad_to - *(int *)(iVar18 + 0x20))" identifier (argument_list "(local_5c,iVar18,pad_to - *(int *)(iVar18 + 0x20))" ( identifier , identifier , (binary_expression "pad_to - *(int *)(iVar18 + 0x20)" identifier - (pointer_expression "*(int *)(iVar18 + 0x20)" * (cast_expression "(int *)(iVar18 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + 0x20)" ( (binary_expression "iVar18 + 0x20" identifier + number_literal) ))))) )))) ;) (if_statement "if (iVar18 == 0) {\n          pcVar24 = (char *)dcgettext(0,"can\'t add padding",5,uVar58);\n          bfd_nonfatal_message\n                    ((char *)0x0,local_5c,\n                     (asection *)local_84[(int)((int)&pbVar62[-1].build_id + 3)],pcVar24);\n          status = 1;\n        }\n        else {\n          pbVar69 = (bfd *)(pad_to - uVar58);\n          *(bfd **)((int)local_90 + (sVar34 - 4)) = pbVar69;\n          if (pbVar69 <= local_8c) {\n            pbVar69 = local_8c;\n          }\n        }" if (parenthesized_expression "(iVar18 == 0)" ( (binary_expression "iVar18 == 0" identifier == number_literal) )) (compound_statement "{\n          pcVar24 = (char *)dcgettext(0,"can\'t add padding",5,uVar58);\n          bfd_nonfatal_message\n                    ((char *)0x0,local_5c,\n                     (asection *)local_84[(int)((int)&pbVar62[-1].build_id + 3)],pcVar24);\n          status = 1;\n        }" { (expression_statement "pcVar24 = (char *)dcgettext(0,"can\'t add padding",5,uVar58);" (assignment_expression "pcVar24 = (char *)dcgettext(0,"can\'t add padding",5,uVar58)" identifier = (cast_expression "(char *)dcgettext(0,"can\'t add padding",5,uVar58)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"can\'t add padding",5,uVar58)" identifier (argument_list "(0,"can\'t add padding",5,uVar58)" ( number_literal , (string_literal ""can\'t add padding"" " string_content escape_sequence string_content ") , number_literal , identifier ))))) ;) (expression_statement "bfd_nonfatal_message\n                    ((char *)0x0,local_5c,\n                     (asection *)local_84[(int)((int)&pbVar62[-1].build_id + 3)],pcVar24);" (call_expression "bfd_nonfatal_message\n                    ((char *)0x0,local_5c,\n                     (asection *)local_84[(int)((int)&pbVar62[-1].build_id + 3)],pcVar24)" identifier (argument_list "((char *)0x0,local_5c,\n                     (asection *)local_84[(int)((int)&pbVar62[-1].build_id + 3)],pcVar24)" ( (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) , identifier , (cast_expression "(asection *)local_84[(int)((int)&pbVar62[-1].build_id + 3)]" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_84[(int)((int)&pbVar62[-1].build_id + 3)]" identifier [ (cast_expression "(int)((int)&pbVar62[-1].build_id + 3)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)&pbVar62[-1].build_id + 3)" ( (binary_expression "(int)&pbVar62[-1].build_id + 3" (cast_expression "(int)&pbVar62[-1].build_id" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pbVar62[-1].build_id" & (field_expression "pbVar62[-1].build_id" (subscript_expression "pbVar62[-1]" identifier [ number_literal ]) . field_identifier))) + number_literal) ))) ])) , identifier ))) ;) (expression_statement "status = 1;" (assignment_expression "status = 1" identifier = number_literal) ;) }) (else_clause "else {\n          pbVar69 = (bfd *)(pad_to - uVar58);\n          *(bfd **)((int)local_90 + (sVar34 - 4)) = pbVar69;\n          if (pbVar69 <= local_8c) {\n            pbVar69 = local_8c;\n          }\n        }" else (compound_statement "{\n          pbVar69 = (bfd *)(pad_to - uVar58);\n          *(bfd **)((int)local_90 + (sVar34 - 4)) = pbVar69;\n          if (pbVar69 <= local_8c) {\n            pbVar69 = local_8c;\n          }\n        }" { (expression_statement "pbVar69 = (bfd *)(pad_to - uVar58);" (assignment_expression "pbVar69 = (bfd *)(pad_to - uVar58)" identifier = (cast_expression "(bfd *)(pad_to - uVar58)" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pad_to - uVar58)" ( (binary_expression "pad_to - uVar58" identifier - identifier) )))) ;) (expression_statement "*(bfd **)((int)local_90 + (sVar34 - 4)) = pbVar69;" (assignment_expression "*(bfd **)((int)local_90 + (sVar34 - 4)) = pbVar69" (pointer_expression "*(bfd **)((int)local_90 + (sVar34 - 4))" * (cast_expression "(bfd **)((int)local_90 + (sVar34 - 4))" ( (type_descriptor "bfd **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)local_90 + (sVar34 - 4))" ( (binary_expression "(int)local_90 + (sVar34 - 4)" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(sVar34 - 4)" ( (binary_expression "sVar34 - 4" identifier - number_literal) ))) )))) = identifier) ;) (if_statement "if (pbVar69 <= local_8c) {\n            pbVar69 = local_8c;\n          }" if (parenthesized_expression "(pbVar69 <= local_8c)" ( (binary_expression "pbVar69 <= local_8c" identifier <= identifier) )) (compound_statement "{\n            pbVar69 = local_8c;\n          }" { (expression_statement "pbVar69 = local_8c;" (assignment_expression "pbVar69 = local_8c" identifier = identifier) ;) })) }))) })) })) }))) (expression_statement "local_8c = pbVar69;" (assignment_expression "local_8c = pbVar69" identifier = identifier) ;) (expression_statement "local_94 = (bfd *)0x0;" (assignment_expression "local_94 = (bfd *)0x0" identifier = (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (convert_debugging != 0) {\n    local_94 = (bfd *)read_debugging_info(ibfd,isympp,local_70,0);\n  }" if (parenthesized_expression "(convert_debugging != 0)" ( (binary_expression "convert_debugging != 0" identifier != number_literal) )) (compound_statement "{\n    local_94 = (bfd *)read_debugging_info(ibfd,isympp,local_70,0);\n  }" { (expression_statement "local_94 = (bfd *)read_debugging_info(ibfd,isympp,local_70,0);" (assignment_expression "local_94 = (bfd *)read_debugging_info(ibfd,isympp,local_70,0)" identifier = (cast_expression "(bfd *)read_debugging_info(ibfd,isympp,local_70,0)" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "read_debugging_info(ibfd,isympp,local_70,0)" identifier (argument_list "(ibfd,isympp,local_70,0)" ( identifier , identifier , identifier , number_literal ))))) ;) })) (if_statement "if (strip_symbols - STRIP_DEBUG < 6) {\nLAB_00019032:\n    if (strip_symbols != STRIP_ALL) {\nLAB_00019037:\n      bfd_set_error(0);\n      bfd_map_over_sections(ibfd,mark_symbols_used_in_relocations,isympp);\n      iVar18 = bfd_get_error();\n      if (iVar18 != 0) {\n        status = 1;\n        return 0;\n      }\n    }\n    ppaVar31 = (asymbol **)xmalloc((add_symbols + local_70) * 4 + 4);\n    local_68 = isympp;\n    uVar58 = *(uint *)&ibfd->field_0x28;\n    osympp = ppaVar31;\n    if (local_70 != 0) {\n      ppaVar1 = isympp + local_70;\n      local_70 = 0;\n      pbVar32 = (bfd_section *)(PTR__bfd_std_section_0003efc8 + 0xa8);\n      do {\n        iVar18 = add_symbols;\n        paVar37 = *local_68;\n        uVar47 = paVar37->flags;\n        pbVar36 = (bfd_byte *)paVar37->name;\n        pbVar54 = paVar37->section;\n        if (((add_sym_list != (addsym_node *)0x0) && (0 < add_symbols)) &&\n           (pcVar24 = add_sym_list->othersym, pcVar24 != (char *)0x0)) {\n          local_5c = (bfd *)0x0;\n          ptr = add_sym_list;\n          while (iVar22 = strcmp(pcVar24,(char *)pbVar36), iVar22 != 0) {\n            local_5c = (bfd *)((int)local_5c + 1);\n            ptr = ptr->next;\n            if ((local_5c == (bfd *)iVar18) || (pcVar24 = ptr->othersym, pcVar24 == (char *)0x0))\n            goto LAB_00019180;\n          }\n          free(pcVar24);\n          ptr->othersym = "";\n          ppaVar2 = ppaVar31 + local_70;\n          local_70 = local_70 + 1;\n          paVar33 = create_new_symbol(ptr,obfd);\n          *ppaVar2 = paVar33;\n        }\nLAB_00019180:\n        iVar18 = htab_elements(redefine_specific_htab);\n        pbVar50 = pbVar36;\n        if ((iVar18 != 0) || (section_rename_list != (section_rename *)0x0)) {\n          local_2c = 0;\n          contents = pbVar36;\n          iVar18 = htab_find(redefine_specific_htab,&contents);\n          if (((iVar18 == 0) || (pbVar50 = *(bfd_byte **)(iVar18 + 4), pbVar36 == pbVar50)) &&\n             (psVar15 = section_rename_list, (uVar47 & 0x100) != 0)) {\n            for (; pbVar50 = pbVar36, psVar15 != (section_rename *)0x0; psVar15 = psVar15->next) {\n              iVar18 = strcmp(psVar15->old_name,(char *)pbVar36);\n              if (iVar18 == 0) {\n                pbVar50 = (bfd_byte *)psVar15->new_name;\n                break;\n              }\n            }\n          }\n          paVar37->name = (char *)pbVar50;\n        }\n        pcVar24 = prefix_symbols_string;\n        bVar17 = ibfd->xvec->symbol_leading_char;\n        if (*pbVar50 == bVar17) {\n          if (change_leading_char == 0) {\n            if ((remove_leading_char == 0) ||\n               ((((uVar47 & 0x82) == 0 && (pbVar54 != pbVar32)) &&\n                ((paVar37->section->flags & 0x1000) == 0)))) goto LAB_00019203;\nLAB_0001943c:\n            pbVar50 = pbVar50 + 1;\n            paVar37->name = (char *)pbVar50;\n            goto LAB_00019203;\n          }\n          bVar17 = obfd->xvec->symbol_leading_char;\n          if (bVar17 == '\0') goto LAB_0001943c;\n          if (prefix_symbols_string != (char *)0x0) {\n            pbVar50 = pbVar50 + 1;\n            paVar37->name = (char *)pbVar50;\n            goto LAB_0001945b;\n          }\n          *pbVar50 = bVar17;\n          paVar37->name = (char *)pbVar50;\n        }\n        else {\n          if (((change_leading_char == 0) || (obfd->xvec->symbol_leading_char == '\0')) ||\n             (bVar17 != '\0')) {\nLAB_00019203:\n            if (pcVar24 == (char *)0x0) goto LAB_0001926f;\n            sVar34 = strlen(pcVar24);\n            sVar35 = strlen((char *)pbVar50);\n            pbVar36 = (bfd_byte *)xmalloc(sVar34 + 2 + sVar35);\n            local_5c = (bfd *)pbVar36;\n          }\n          else {\nLAB_0001945b:\n            sVar34 = strlen(pcVar24);\n            sVar35 = strlen((char *)pbVar50);\n            pbVar36 = (bfd_byte *)xmalloc(sVar34 + 2 + sVar35);\n            local_5c = (bfd *)(pbVar36 + 1);\n            *pbVar36 = obfd->xvec->symbol_leading_char;\n          }\n          pcVar24 = prefix_symbols_string;\n          if (prefix_symbols_string != (char *)0x0) {\n            strcpy((char *)local_5c,prefix_symbols_string);\n            sVar34 = strlen(pcVar24);\n            local_5c = (bfd *)((int)local_5c + sVar34);\n          }\n          strcpy((char *)local_5c,(char *)pbVar50);\n          paVar37->name = (char *)pbVar36;\n          pbVar50 = pbVar36;\n        }\nLAB_0001926f:\n        if (strip_symbols == STRIP_ALL) goto LAB_000192f8;\n        if ((uVar47 & 0x20) == 0) {\n          if (((uVar47 & 0x100) == 0) || (((*paVar37->section->symbol_ptr_ptr)->flags & 0x20) == 0))\n          {\n            if ((((uVar58 >> 5 & 0x42) == 0) &&\n                (((uVar47 & 0x82) != 0 || ((paVar37->section->flags & 0x1000) != 0)))) ||\n               (iVar18 = bfd_decode_symclass(paVar37), iVar18 == 0x49)) {\nLAB_00019528:\n              bVar21 = is_specified_symbol((char *)pbVar50,strip_specific_htab);\n              if (bVar21 == 0) goto LAB_000192e0;\n            }\n            else if ((((uVar47 & 0x82) == 0) &&\n                     (pbVar54 != (bfd_section *)(PTR__bfd_std_section_0003efc8 + 0xa8))) &&\n                    ((paVar37->section->flags & 0x1000) == 0)) {\n              if ((uVar47 & 4) == 0) {\n                if (((ibfd->xvec->flavour != bfd_target_coff_flavour) ||\n                    (pvVar70 = paVar37->section->used_by_bfd, pvVar70 == (void *)0x0)) ||\n                   (*(int *)((int)pvVar70 + 0x24) == 0)) {\n                  if ((strip_symbols == STRIP_UNNEEDED) || (discard_locals == LOCALS_ALL))\n                  goto LAB_000192f8;\n                  if (discard_locals == LOCALS_START_L) {\n                    iVar18 = bfd_is_local_label(ibfd,paVar37,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }\n                goto LAB_00019528;\n              }\n              iVar18 = convert_debugging;\n              if (1 < strip_symbols - STRIP_DEBUG) {\njoined_r0x0001a13f:\n                if (iVar18 == 0) goto LAB_00019528;\n              }\n            }\n            else if (strip_symbols != STRIP_UNNEEDED) goto LAB_00019528;\n          }\n          else {\n            bVar21 = is_specified_symbol((char *)pbVar50,strip_specific_htab);\n            if (bVar21 != 0) {\n              pcVar24 = (char *)dcgettext(0,\n                                          "not stripping symbol `%s\' because it is named in a relocation"\n                                          ,5,bVar21);\n              non_fatal(pcVar24,pbVar50);\n              status = 1;\n            }\nLAB_000192e0:\n            bVar21 = is_specified_symbol((char *)pbVar50,strip_unneeded_htab);\n            if (bVar21 == 0) goto LAB_0001931c;\n          }\nLAB_000192f8:\n          if (((keep_file_symbols != 0) && ((uVar47 & 0x4000) != 0)) ||\n             (bVar21 = is_specified_symbol((char *)pbVar50,keep_specific_htab), bVar21 != 0))\n          goto LAB_0001931c;\n        }\n        else {\n          bVar21 = is_specified_symbol((char *)pbVar50,strip_specific_htab);\n          if (bVar21 != 0) {\n            pcVar24 = (char *)dcgettext(0,\n                                        "not stripping symbol `%s\' because it is named in a relocation"\n                                        ,5);\n            non_fatal(pcVar24,pbVar50);\n            status = 1;\n          }\nLAB_0001931c:\n          bVar21 = is_strip_section(in_stack_ffffff54,(asection *)in_stack_ffffff58);\n          if (bVar21 == 0) {\n            if (((uVar47 & 2) != 0) &&\n               ((weaken != 0 ||\n                (bVar21 = is_specified_symbol((char *)pbVar50,weaken_specific_htab), bVar21 != 0))))\n            {\n              paVar37->flags = paVar37->flags & 0xfffffffd | 0x80;\n            }\n            if (pbVar54 != (bfd_section *)(PTR__bfd_std_section_0003efc8 + 0xa8)) {\n              if (((uVar47 & 0x82) != 0) &&\n                 (((bVar21 = is_specified_symbol((char *)pbVar50,localize_specific_htab),\n                   bVar21 != 0 ||\n                   ((iVar18 = htab_elements(keepglobal_specific_htab), iVar18 != 0 &&\n                    (bVar21 = is_specified_symbol((char *)pbVar50,keepglobal_specific_htab),\n                    bVar21 == 0)))) ||\n                  ((localize_hidden != 0 &&\n                   ((((pbVar62 = paVar37->the_bfd, pbVar62 != (bfd *)0x0 &&\n                      (pbVar62->xvec->flavour == bfd_target_elf_flavour)) &&\n                     ((pbVar62->tdata).aout_data != (aout_data_struct *)0x0)) &&\n                    ((*(byte *)((int)&paVar37[1].flags + 1) & 3) - 1 < 2)))))))) {\n                paVar37->flags = paVar37->flags & 0xffffff7d | 1;\n              }\n              if (((uVar47 & 1) != 0) &&\n                 (bVar21 = is_specified_symbol((char *)pbVar50,globalize_specific_htab), bVar21 != 0\n                 )) {\n                paVar37->flags = paVar37->flags & 0xfffffffe | 2;\n              }\n            }\n            ppaVar31[local_70] = paVar37;\n            local_70 = local_70 + 1;\n          }\n        }\n        local_68 = local_68 + 1;\n      } while (ppaVar1 != local_68);\n    }\n    local_5c = (bfd *)add_sym_list;\n    if ((add_sym_list != (addsym_node *)0x0) && (0 < add_symbols)) {\n      iVar18 = 0;\n      do {\n        pcVar24 = (char *)local_5c->lru_next;\n        if (pcVar24 == (char *)0x0) {\n          paVar37 = create_new_symbol((addsym_node *)local_5c,obfd);\n          ppaVar31[local_70] = paVar37;\n          local_70 = local_70 + 1;\n        }\n        else if (*pcVar24 != '\0') {\n          pcVar23 = (char *)dcgettext(0,"\'before=%s\' not found",5,local_70);\n                    /* WARNING: Subroutine does not return */\n          fatal(pcVar23,pcVar24);\n        }\n        iVar18 = iVar18 + 1;\n        local_5c = (bfd *)local_5c->filename;\n      } while (iVar18 < add_symbols);\n    }\n    ppaVar31[local_70] = (asymbol *)0x0;\n    if ((convert_debugging != 0) && (local_94 != (bfd *)0x0)) {\n      bVar11 = obfd->xvec->flavour;\n      if ((bVar11 != bfd_target_coff_flavour) && (bVar11 != bfd_target_elf_flavour)) {\n        pcVar24 = obfd->xvec->name;\n        pcVar23 = (char *)dcgettext(0,"don\'t know how to write debugging information for %s",5);\n        bfd_nonfatal_message((char *)0x0,obfd,(asection *)0x0,pcVar23,pcVar24);\n        status = 1;\n        return 0;\n      }\n      bVar21 = write_stabs_in_sections_debugging_info\n                         (obfd,local_94,&syms,(bfd_size_type *)file_alignment,&strings,\n                          (bfd_size_type *)&contents);\n      if (bVar21 == 0) {\n        status = 1;\n        return 0;\n      }\n      iVar18 = bfd_make_section_with_flags(obfd,".stab",0x2108);\n      iVar22 = bfd_make_section_with_flags(obfd,".stabstr",0x2108);\n      if ((((iVar18 == 0) || (iVar22 == 0)) ||\n          (iVar39 = bfd_set_section_size(obfd,iVar18,file_alignment._0_4_,iVar22), iVar39 == 0)) ||\n         (iVar39 = bfd_set_section_size(obfd,iVar22,contents,iVar39), iVar39 == 0)) {\n        pcVar24 = "can\'t create debugging section";\nLAB_00019fcf:\n        pcVar24 = (char *)dcgettext(0,pcVar24,5,iVar18);\n        bfd_nonfatal_message((char *)0x0,obfd,(asection *)0x0,pcVar24);\n        status = 1;\n        return 0;\n      }\n      *(undefined4 *)(iVar18 + 0x40) = 2;\n      *(undefined4 *)(iVar22 + 0x40) = 0;\n      iVar18 = bfd_set_section_contents(obfd,iVar18,syms,0,0,file_alignment._0_4_,iVar39,iVar39);\n      if ((iVar18 == 0) ||\n         (iVar18 = bfd_set_section_contents\n                             (obfd,iVar22,strings,0,0,contents,extraout_ECX,extraout_ECX),\n         iVar18 == 0)) {\n        pcVar24 = "can\'t set debugging section contents";\n        iVar18 = iVar22;\n        goto LAB_00019fcf;\n      }\n    }\n  }\n  else {\n    if (localize_hidden != 0 || discard_locals != LOCALS_UNDEF) goto LAB_00019037;\n    iVar18 = htab_elements(strip_specific_htab);\n    if (((iVar18 != 0) || (iVar18 = htab_elements(keep_specific_htab), iVar18 != 0)) ||\n       ((iVar18 = htab_elements(localize_specific_htab), iVar18 != 0 ||\n        (((((iVar18 = htab_elements(globalize_specific_htab), iVar18 != 0 ||\n            (iVar18 = htab_elements(keepglobal_specific_htab), iVar18 != 0)) ||\n           (iVar18 = htab_elements(weaken_specific_htab), iVar18 != 0)) ||\n          ((iVar18 = htab_elements(redefine_specific_htab), prefix_symbols_string != (char *)0x0 ||\n           (section_rename_list != (section_rename *)0x0)))) ||\n         (((((((sections_removed != 0 || sections_copied != 0) || convert_debugging != 0) ||\n             change_leading_char != 0) || remove_leading_char != 0) || weaken != 0) ||\n          add_symbols != 0) || iVar18 != 0)))))) goto LAB_00019032;\n  }" if (parenthesized_expression "(strip_symbols - STRIP_DEBUG < 6)" ( (binary_expression "strip_symbols - STRIP_DEBUG < 6" (binary_expression "strip_symbols - STRIP_DEBUG" identifier - identifier) < number_literal) )) (compound_statement "{\nLAB_00019032:\n    if (strip_symbols != STRIP_ALL) {\nLAB_00019037:\n      bfd_set_error(0);\n      bfd_map_over_sections(ibfd,mark_symbols_used_in_relocations,isympp);\n      iVar18 = bfd_get_error();\n      if (iVar18 != 0) {\n        status = 1;\n        return 0;\n      }\n    }\n    ppaVar31 = (asymbol **)xmalloc((add_symbols + local_70) * 4 + 4);\n    local_68 = isympp;\n    uVar58 = *(uint *)&ibfd->field_0x28;\n    osympp = ppaVar31;\n    if (local_70 != 0) {\n      ppaVar1 = isympp + local_70;\n      local_70 = 0;\n      pbVar32 = (bfd_section *)(PTR__bfd_std_section_0003efc8 + 0xa8);\n      do {\n        iVar18 = add_symbols;\n        paVar37 = *local_68;\n        uVar47 = paVar37->flags;\n        pbVar36 = (bfd_byte *)paVar37->name;\n        pbVar54 = paVar37->section;\n        if (((add_sym_list != (addsym_node *)0x0) && (0 < add_symbols)) &&\n           (pcVar24 = add_sym_list->othersym, pcVar24 != (char *)0x0)) {\n          local_5c = (bfd *)0x0;\n          ptr = add_sym_list;\n          while (iVar22 = strcmp(pcVar24,(char *)pbVar36), iVar22 != 0) {\n            local_5c = (bfd *)((int)local_5c + 1);\n            ptr = ptr->next;\n            if ((local_5c == (bfd *)iVar18) || (pcVar24 = ptr->othersym, pcVar24 == (char *)0x0))\n            goto LAB_00019180;\n          }\n          free(pcVar24);\n          ptr->othersym = "";\n          ppaVar2 = ppaVar31 + local_70;\n          local_70 = local_70 + 1;\n          paVar33 = create_new_symbol(ptr,obfd);\n          *ppaVar2 = paVar33;\n        }\nLAB_00019180:\n        iVar18 = htab_elements(redefine_specific_htab);\n        pbVar50 = pbVar36;\n        if ((iVar18 != 0) || (section_rename_list != (section_rename *)0x0)) {\n          local_2c = 0;\n          contents = pbVar36;\n          iVar18 = htab_find(redefine_specific_htab,&contents);\n          if (((iVar18 == 0) || (pbVar50 = *(bfd_byte **)(iVar18 + 4), pbVar36 == pbVar50)) &&\n             (psVar15 = section_rename_list, (uVar47 & 0x100) != 0)) {\n            for (; pbVar50 = pbVar36, psVar15 != (section_rename *)0x0; psVar15 = psVar15->next) {\n              iVar18 = strcmp(psVar15->old_name,(char *)pbVar36);\n              if (iVar18 == 0) {\n                pbVar50 = (bfd_byte *)psVar15->new_name;\n                break;\n              }\n            }\n          }\n          paVar37->name = (char *)pbVar50;\n        }\n        pcVar24 = prefix_symbols_string;\n        bVar17 = ibfd->xvec->symbol_leading_char;\n        if (*pbVar50 == bVar17) {\n          if (change_leading_char == 0) {\n            if ((remove_leading_char == 0) ||\n               ((((uVar47 & 0x82) == 0 && (pbVar54 != pbVar32)) &&\n                ((paVar37->section->flags & 0x1000) == 0)))) goto LAB_00019203;\nLAB_0001943c:\n            pbVar50 = pbVar50 + 1;\n            paVar37->name = (char *)pbVar50;\n            goto LAB_00019203;\n          }\n          bVar17 = obfd->xvec->symbol_leading_char;\n          if (bVar17 == '\0') goto LAB_0001943c;\n          if (prefix_symbols_string != (char *)0x0) {\n            pbVar50 = pbVar50 + 1;\n            paVar37->name = (char *)pbVar50;\n            goto LAB_0001945b;\n          }\n          *pbVar50 = bVar17;\n          paVar37->name = (char *)pbVar50;\n        }\n        else {\n          if (((change_leading_char == 0) || (obfd->xvec->symbol_leading_char == '\0')) ||\n             (bVar17 != '\0')) {\nLAB_00019203:\n            if (pcVar24 == (char *)0x0) goto LAB_0001926f;\n            sVar34 = strlen(pcVar24);\n            sVar35 = strlen((char *)pbVar50);\n            pbVar36 = (bfd_byte *)xmalloc(sVar34 + 2 + sVar35);\n            local_5c = (bfd *)pbVar36;\n          }\n          else {\nLAB_0001945b:\n            sVar34 = strlen(pcVar24);\n            sVar35 = strlen((char *)pbVar50);\n            pbVar36 = (bfd_byte *)xmalloc(sVar34 + 2 + sVar35);\n            local_5c = (bfd *)(pbVar36 + 1);\n            *pbVar36 = obfd->xvec->symbol_leading_char;\n          }\n          pcVar24 = prefix_symbols_string;\n          if (prefix_symbols_string != (char *)0x0) {\n            strcpy((char *)local_5c,prefix_symbols_string);\n            sVar34 = strlen(pcVar24);\n            local_5c = (bfd *)((int)local_5c + sVar34);\n          }\n          strcpy((char *)local_5c,(char *)pbVar50);\n          paVar37->name = (char *)pbVar36;\n          pbVar50 = pbVar36;\n        }\nLAB_0001926f:\n        if (strip_symbols == STRIP_ALL) goto LAB_000192f8;\n        if ((uVar47 & 0x20) == 0) {\n          if (((uVar47 & 0x100) == 0) || (((*paVar37->section->symbol_ptr_ptr)->flags & 0x20) == 0))\n          {\n            if ((((uVar58 >> 5 & 0x42) == 0) &&\n                (((uVar47 & 0x82) != 0 || ((paVar37->section->flags & 0x1000) != 0)))) ||\n               (iVar18 = bfd_decode_symclass(paVar37), iVar18 == 0x49)) {\nLAB_00019528:\n              bVar21 = is_specified_symbol((char *)pbVar50,strip_specific_htab);\n              if (bVar21 == 0) goto LAB_000192e0;\n            }\n            else if ((((uVar47 & 0x82) == 0) &&\n                     (pbVar54 != (bfd_section *)(PTR__bfd_std_section_0003efc8 + 0xa8))) &&\n                    ((paVar37->section->flags & 0x1000) == 0)) {\n              if ((uVar47 & 4) == 0) {\n                if (((ibfd->xvec->flavour != bfd_target_coff_flavour) ||\n                    (pvVar70 = paVar37->section->used_by_bfd, pvVar70 == (void *)0x0)) ||\n                   (*(int *)((int)pvVar70 + 0x24) == 0)) {\n                  if ((strip_symbols == STRIP_UNNEEDED) || (discard_locals == LOCALS_ALL))\n                  goto LAB_000192f8;\n                  if (discard_locals == LOCALS_START_L) {\n                    iVar18 = bfd_is_local_label(ibfd,paVar37,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }\n                goto LAB_00019528;\n              }\n              iVar18 = convert_debugging;\n              if (1 < strip_symbols - STRIP_DEBUG) {\njoined_r0x0001a13f:\n                if (iVar18 == 0) goto LAB_00019528;\n              }\n            }\n            else if (strip_symbols != STRIP_UNNEEDED) goto LAB_00019528;\n          }\n          else {\n            bVar21 = is_specified_symbol((char *)pbVar50,strip_specific_htab);\n            if (bVar21 != 0) {\n              pcVar24 = (char *)dcgettext(0,\n                                          "not stripping symbol `%s\' because it is named in a relocation"\n                                          ,5,bVar21);\n              non_fatal(pcVar24,pbVar50);\n              status = 1;\n            }\nLAB_000192e0:\n            bVar21 = is_specified_symbol((char *)pbVar50,strip_unneeded_htab);\n            if (bVar21 == 0) goto LAB_0001931c;\n          }\nLAB_000192f8:\n          if (((keep_file_symbols != 0) && ((uVar47 & 0x4000) != 0)) ||\n             (bVar21 = is_specified_symbol((char *)pbVar50,keep_specific_htab), bVar21 != 0))\n          goto LAB_0001931c;\n        }\n        else {\n          bVar21 = is_specified_symbol((char *)pbVar50,strip_specific_htab);\n          if (bVar21 != 0) {\n            pcVar24 = (char *)dcgettext(0,\n                                        "not stripping symbol `%s\' because it is named in a relocation"\n                                        ,5);\n            non_fatal(pcVar24,pbVar50);\n            status = 1;\n          }\nLAB_0001931c:\n          bVar21 = is_strip_section(in_stack_ffffff54,(asection *)in_stack_ffffff58);\n          if (bVar21 == 0) {\n            if (((uVar47 & 2) != 0) &&\n               ((weaken != 0 ||\n                (bVar21 = is_specified_symbol((char *)pbVar50,weaken_specific_htab), bVar21 != 0))))\n            {\n              paVar37->flags = paVar37->flags & 0xfffffffd | 0x80;\n            }\n            if (pbVar54 != (bfd_section *)(PTR__bfd_std_section_0003efc8 + 0xa8)) {\n              if (((uVar47 & 0x82) != 0) &&\n                 (((bVar21 = is_specified_symbol((char *)pbVar50,localize_specific_htab),\n                   bVar21 != 0 ||\n                   ((iVar18 = htab_elements(keepglobal_specific_htab), iVar18 != 0 &&\n                    (bVar21 = is_specified_symbol((char *)pbVar50,keepglobal_specific_htab),\n                    bVar21 == 0)))) ||\n                  ((localize_hidden != 0 &&\n                   ((((pbVar62 = paVar37->the_bfd, pbVar62 != (bfd *)0x0 &&\n                      (pbVar62->xvec->flavour == bfd_target_elf_flavour)) &&\n                     ((pbVar62->tdata).aout_data != (aout_data_struct *)0x0)) &&\n                    ((*(byte *)((int)&paVar37[1].flags + 1) & 3) - 1 < 2)))))))) {\n                paVar37->flags = paVar37->flags & 0xffffff7d | 1;\n              }\n              if (((uVar47 & 1) != 0) &&\n                 (bVar21 = is_specified_symbol((char *)pbVar50,globalize_specific_htab), bVar21 != 0\n                 )) {\n                paVar37->flags = paVar37->flags & 0xfffffffe | 2;\n              }\n            }\n            ppaVar31[local_70] = paVar37;\n            local_70 = local_70 + 1;\n          }\n        }\n        local_68 = local_68 + 1;\n      } while (ppaVar1 != local_68);\n    }\n    local_5c = (bfd *)add_sym_list;\n    if ((add_sym_list != (addsym_node *)0x0) && (0 < add_symbols)) {\n      iVar18 = 0;\n      do {\n        pcVar24 = (char *)local_5c->lru_next;\n        if (pcVar24 == (char *)0x0) {\n          paVar37 = create_new_symbol((addsym_node *)local_5c,obfd);\n          ppaVar31[local_70] = paVar37;\n          local_70 = local_70 + 1;\n        }\n        else if (*pcVar24 != '\0') {\n          pcVar23 = (char *)dcgettext(0,"\'before=%s\' not found",5,local_70);\n                    /* WARNING: Subroutine does not return */\n          fatal(pcVar23,pcVar24);\n        }\n        iVar18 = iVar18 + 1;\n        local_5c = (bfd *)local_5c->filename;\n      } while (iVar18 < add_symbols);\n    }\n    ppaVar31[local_70] = (asymbol *)0x0;\n    if ((convert_debugging != 0) && (local_94 != (bfd *)0x0)) {\n      bVar11 = obfd->xvec->flavour;\n      if ((bVar11 != bfd_target_coff_flavour) && (bVar11 != bfd_target_elf_flavour)) {\n        pcVar24 = obfd->xvec->name;\n        pcVar23 = (char *)dcgettext(0,"don\'t know how to write debugging information for %s",5);\n        bfd_nonfatal_message((char *)0x0,obfd,(asection *)0x0,pcVar23,pcVar24);\n        status = 1;\n        return 0;\n      }\n      bVar21 = write_stabs_in_sections_debugging_info\n                         (obfd,local_94,&syms,(bfd_size_type *)file_alignment,&strings,\n                          (bfd_size_type *)&contents);\n      if (bVar21 == 0) {\n        status = 1;\n        return 0;\n      }\n      iVar18 = bfd_make_section_with_flags(obfd,".stab",0x2108);\n      iVar22 = bfd_make_section_with_flags(obfd,".stabstr",0x2108);\n      if ((((iVar18 == 0) || (iVar22 == 0)) ||\n          (iVar39 = bfd_set_section_size(obfd,iVar18,file_alignment._0_4_,iVar22), iVar39 == 0)) ||\n         (iVar39 = bfd_set_section_size(obfd,iVar22,contents,iVar39), iVar39 == 0)) {\n        pcVar24 = "can\'t create debugging section";\nLAB_00019fcf:\n        pcVar24 = (char *)dcgettext(0,pcVar24,5,iVar18);\n        bfd_nonfatal_message((char *)0x0,obfd,(asection *)0x0,pcVar24);\n        status = 1;\n        return 0;\n      }\n      *(undefined4 *)(iVar18 + 0x40) = 2;\n      *(undefined4 *)(iVar22 + 0x40) = 0;\n      iVar18 = bfd_set_section_contents(obfd,iVar18,syms,0,0,file_alignment._0_4_,iVar39,iVar39);\n      if ((iVar18 == 0) ||\n         (iVar18 = bfd_set_section_contents\n                             (obfd,iVar22,strings,0,0,contents,extraout_ECX,extraout_ECX),\n         iVar18 == 0)) {\n        pcVar24 = "can\'t set debugging section contents";\n        iVar18 = iVar22;\n        goto LAB_00019fcf;\n      }\n    }\n  }" { (labeled_statement "LAB_00019032:\n    if (strip_symbols != STRIP_ALL) {\nLAB_00019037:\n      bfd_set_error(0);\n      bfd_map_over_sections(ibfd,mark_symbols_used_in_relocations,isympp);\n      iVar18 = bfd_get_error();\n      if (iVar18 != 0) {\n        status = 1;\n        return 0;\n      }\n    }" statement_identifier : (if_statement "if (strip_symbols != STRIP_ALL) {\nLAB_00019037:\n      bfd_set_error(0);\n      bfd_map_over_sections(ibfd,mark_symbols_used_in_relocations,isympp);\n      iVar18 = bfd_get_error();\n      if (iVar18 != 0) {\n        status = 1;\n        return 0;\n      }\n    }" if (parenthesized_expression "(strip_symbols != STRIP_ALL)" ( (binary_expression "strip_symbols != STRIP_ALL" identifier != identifier) )) (compound_statement "{\nLAB_00019037:\n      bfd_set_error(0);\n      bfd_map_over_sections(ibfd,mark_symbols_used_in_relocations,isympp);\n      iVar18 = bfd_get_error();\n      if (iVar18 != 0) {\n        status = 1;\n        return 0;\n      }\n    }" { (labeled_statement "LAB_00019037:\n      bfd_set_error(0);" statement_identifier : (expression_statement "bfd_set_error(0);" (call_expression "bfd_set_error(0)" identifier (argument_list "(0)" ( number_literal ))) ;)) (expression_statement "bfd_map_over_sections(ibfd,mark_symbols_used_in_relocations,isympp);" (call_expression "bfd_map_over_sections(ibfd,mark_symbols_used_in_relocations,isympp)" identifier (argument_list "(ibfd,mark_symbols_used_in_relocations,isympp)" ( identifier , identifier , identifier ))) ;) (expression_statement "iVar18 = bfd_get_error();" (assignment_expression "iVar18 = bfd_get_error()" identifier = (call_expression "bfd_get_error()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar18 != 0) {\n        status = 1;\n        return 0;\n      }" if (parenthesized_expression "(iVar18 != 0)" ( (binary_expression "iVar18 != 0" identifier != number_literal) )) (compound_statement "{\n        status = 1;\n        return 0;\n      }" { (expression_statement "status = 1;" (assignment_expression "status = 1" identifier = number_literal) ;) (return_statement "return 0;" return number_literal ;) })) }))) (expression_statement "ppaVar31 = (asymbol **)xmalloc((add_symbols + local_70) * 4 + 4);" (assignment_expression "ppaVar31 = (asymbol **)xmalloc((add_symbols + local_70) * 4 + 4)" identifier = (cast_expression "(asymbol **)xmalloc((add_symbols + local_70) * 4 + 4)" ( (type_descriptor "asymbol **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "xmalloc((add_symbols + local_70) * 4 + 4)" identifier (argument_list "((add_symbols + local_70) * 4 + 4)" ( (binary_expression "(add_symbols + local_70) * 4 + 4" (binary_expression "(add_symbols + local_70) * 4" (parenthesized_expression "(add_symbols + local_70)" ( (binary_expression "add_symbols + local_70" identifier + identifier) )) * number_literal) + number_literal) ))))) ;) (expression_statement "local_68 = isympp;" (assignment_expression "local_68 = isympp" identifier = identifier) ;) (expression_statement "uVar58 = *(uint *)&ibfd->field_0x28;" (assignment_expression "uVar58 = *(uint *)&ibfd->field_0x28" identifier = (pointer_expression "*(uint *)&ibfd->field_0x28" * (cast_expression "(uint *)&ibfd->field_0x28" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&ibfd->field_0x28" & (field_expression "ibfd->field_0x28" identifier -> field_identifier))))) ;) (expression_statement "osympp = ppaVar31;" (assignment_expression "osympp = ppaVar31" identifier = identifier) ;) (if_statement "if (local_70 != 0) {\n      ppaVar1 = isympp + local_70;\n      local_70 = 0;\n      pbVar32 = (bfd_section *)(PTR__bfd_std_section_0003efc8 + 0xa8);\n      do {\n        iVar18 = add_symbols;\n        paVar37 = *local_68;\n        uVar47 = paVar37->flags;\n        pbVar36 = (bfd_byte *)paVar37->name;\n        pbVar54 = paVar37->section;\n        if (((add_sym_list != (addsym_node *)0x0) && (0 < add_symbols)) &&\n           (pcVar24 = add_sym_list->othersym, pcVar24 != (char *)0x0)) {\n          local_5c = (bfd *)0x0;\n          ptr = add_sym_list;\n          while (iVar22 = strcmp(pcVar24,(char *)pbVar36), iVar22 != 0) {\n            local_5c = (bfd *)((int)local_5c + 1);\n            ptr = ptr->next;\n            if ((local_5c == (bfd *)iVar18) || (pcVar24 = ptr->othersym, pcVar24 == (char *)0x0))\n            goto LAB_00019180;\n          }\n          free(pcVar24);\n          ptr->othersym = "";\n          ppaVar2 = ppaVar31 + local_70;\n          local_70 = local_70 + 1;\n          paVar33 = create_new_symbol(ptr,obfd);\n          *ppaVar2 = paVar33;\n        }\nLAB_00019180:\n        iVar18 = htab_elements(redefine_specific_htab);\n        pbVar50 = pbVar36;\n        if ((iVar18 != 0) || (section_rename_list != (section_rename *)0x0)) {\n          local_2c = 0;\n          contents = pbVar36;\n          iVar18 = htab_find(redefine_specific_htab,&contents);\n          if (((iVar18 == 0) || (pbVar50 = *(bfd_byte **)(iVar18 + 4), pbVar36 == pbVar50)) &&\n             (psVar15 = section_rename_list, (uVar47 & 0x100) != 0)) {\n            for (; pbVar50 = pbVar36, psVar15 != (section_rename *)0x0; psVar15 = psVar15->next) {\n              iVar18 = strcmp(psVar15->old_name,(char *)pbVar36);\n              if (iVar18 == 0) {\n                pbVar50 = (bfd_byte *)psVar15->new_name;\n                break;\n              }\n            }\n          }\n          paVar37->name = (char *)pbVar50;\n        }\n        pcVar24 = prefix_symbols_string;\n        bVar17 = ibfd->xvec->symbol_leading_char;\n        if (*pbVar50 == bVar17) {\n          if (change_leading_char == 0) {\n            if ((remove_leading_char == 0) ||\n               ((((uVar47 & 0x82) == 0 && (pbVar54 != pbVar32)) &&\n                ((paVar37->section->flags & 0x1000) == 0)))) goto LAB_00019203;\nLAB_0001943c:\n            pbVar50 = pbVar50 + 1;\n            paVar37->name = (char *)pbVar50;\n            goto LAB_00019203;\n          }\n          bVar17 = obfd->xvec->symbol_leading_char;\n          if (bVar17 == '\0') goto LAB_0001943c;\n          if (prefix_symbols_string != (char *)0x0) {\n            pbVar50 = pbVar50 + 1;\n            paVar37->name = (char *)pbVar50;\n            goto LAB_0001945b;\n          }\n          *pbVar50 = bVar17;\n          paVar37->name = (char *)pbVar50;\n        }\n        else {\n          if (((change_leading_char == 0) || (obfd->xvec->symbol_leading_char == '\0')) ||\n             (bVar17 != '\0')) {\nLAB_00019203:\n            if (pcVar24 == (char *)0x0) goto LAB_0001926f;\n            sVar34 = strlen(pcVar24);\n            sVar35 = strlen((char *)pbVar50);\n            pbVar36 = (bfd_byte *)xmalloc(sVar34 + 2 + sVar35);\n            local_5c = (bfd *)pbVar36;\n          }\n          else {\nLAB_0001945b:\n            sVar34 = strlen(pcVar24);\n            sVar35 = strlen((char *)pbVar50);\n            pbVar36 = (bfd_byte *)xmalloc(sVar34 + 2 + sVar35);\n            local_5c = (bfd *)(pbVar36 + 1);\n            *pbVar36 = obfd->xvec->symbol_leading_char;\n          }\n          pcVar24 = prefix_symbols_string;\n          if (prefix_symbols_string != (char *)0x0) {\n            strcpy((char *)local_5c,prefix_symbols_string);\n            sVar34 = strlen(pcVar24);\n            local_5c = (bfd *)((int)local_5c + sVar34);\n          }\n          strcpy((char *)local_5c,(char *)pbVar50);\n          paVar37->name = (char *)pbVar36;\n          pbVar50 = pbVar36;\n        }\nLAB_0001926f:\n        if (strip_symbols == STRIP_ALL) goto LAB_000192f8;\n        if ((uVar47 & 0x20) == 0) {\n          if (((uVar47 & 0x100) == 0) || (((*paVar37->section->symbol_ptr_ptr)->flags & 0x20) == 0))\n          {\n            if ((((uVar58 >> 5 & 0x42) == 0) &&\n                (((uVar47 & 0x82) != 0 || ((paVar37->section->flags & 0x1000) != 0)))) ||\n               (iVar18 = bfd_decode_symclass(paVar37), iVar18 == 0x49)) {\nLAB_00019528:\n              bVar21 = is_specified_symbol((char *)pbVar50,strip_specific_htab);\n              if (bVar21 == 0) goto LAB_000192e0;\n            }\n            else if ((((uVar47 & 0x82) == 0) &&\n                     (pbVar54 != (bfd_section *)(PTR__bfd_std_section_0003efc8 + 0xa8))) &&\n                    ((paVar37->section->flags & 0x1000) == 0)) {\n              if ((uVar47 & 4) == 0) {\n                if (((ibfd->xvec->flavour != bfd_target_coff_flavour) ||\n                    (pvVar70 = paVar37->section->used_by_bfd, pvVar70 == (void *)0x0)) ||\n                   (*(int *)((int)pvVar70 + 0x24) == 0)) {\n                  if ((strip_symbols == STRIP_UNNEEDED) || (discard_locals == LOCALS_ALL))\n                  goto LAB_000192f8;\n                  if (discard_locals == LOCALS_START_L) {\n                    iVar18 = bfd_is_local_label(ibfd,paVar37,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }\n                goto LAB_00019528;\n              }\n              iVar18 = convert_debugging;\n              if (1 < strip_symbols - STRIP_DEBUG) {\njoined_r0x0001a13f:\n                if (iVar18 == 0) goto LAB_00019528;\n              }\n            }\n            else if (strip_symbols != STRIP_UNNEEDED) goto LAB_00019528;\n          }\n          else {\n            bVar21 = is_specified_symbol((char *)pbVar50,strip_specific_htab);\n            if (bVar21 != 0) {\n              pcVar24 = (char *)dcgettext(0,\n                                          "not stripping symbol `%s\' because it is named in a relocation"\n                                          ,5,bVar21);\n              non_fatal(pcVar24,pbVar50);\n              status = 1;\n            }\nLAB_000192e0:\n            bVar21 = is_specified_symbol((char *)pbVar50,strip_unneeded_htab);\n            if (bVar21 == 0) goto LAB_0001931c;\n          }\nLAB_000192f8:\n          if (((keep_file_symbols != 0) && ((uVar47 & 0x4000) != 0)) ||\n             (bVar21 = is_specified_symbol((char *)pbVar50,keep_specific_htab), bVar21 != 0))\n          goto LAB_0001931c;\n        }\n        else {\n          bVar21 = is_specified_symbol((char *)pbVar50,strip_specific_htab);\n          if (bVar21 != 0) {\n            pcVar24 = (char *)dcgettext(0,\n                                        "not stripping symbol `%s\' because it is named in a relocation"\n                                        ,5);\n            non_fatal(pcVar24,pbVar50);\n            status = 1;\n          }\nLAB_0001931c:\n          bVar21 = is_strip_section(in_stack_ffffff54,(asection *)in_stack_ffffff58);\n          if (bVar21 == 0) {\n            if (((uVar47 & 2) != 0) &&\n               ((weaken != 0 ||\n                (bVar21 = is_specified_symbol((char *)pbVar50,weaken_specific_htab), bVar21 != 0))))\n            {\n              paVar37->flags = paVar37->flags & 0xfffffffd | 0x80;\n            }\n            if (pbVar54 != (bfd_section *)(PTR__bfd_std_section_0003efc8 + 0xa8)) {\n              if (((uVar47 & 0x82) != 0) &&\n                 (((bVar21 = is_specified_symbol((char *)pbVar50,localize_specific_htab),\n                   bVar21 != 0 ||\n                   ((iVar18 = htab_elements(keepglobal_specific_htab), iVar18 != 0 &&\n                    (bVar21 = is_specified_symbol((char *)pbVar50,keepglobal_specific_htab),\n                    bVar21 == 0)))) ||\n                  ((localize_hidden != 0 &&\n                   ((((pbVar62 = paVar37->the_bfd, pbVar62 != (bfd *)0x0 &&\n                      (pbVar62->xvec->flavour == bfd_target_elf_flavour)) &&\n                     ((pbVar62->tdata).aout_data != (aout_data_struct *)0x0)) &&\n                    ((*(byte *)((int)&paVar37[1].flags + 1) & 3) - 1 < 2)))))))) {\n                paVar37->flags = paVar37->flags & 0xffffff7d | 1;\n              }\n              if (((uVar47 & 1) != 0) &&\n                 (bVar21 = is_specified_symbol((char *)pbVar50,globalize_specific_htab), bVar21 != 0\n                 )) {\n                paVar37->flags = paVar37->flags & 0xfffffffe | 2;\n              }\n            }\n            ppaVar31[local_70] = paVar37;\n            local_70 = local_70 + 1;\n          }\n        }\n        local_68 = local_68 + 1;\n      } while (ppaVar1 != local_68);\n    }" if (parenthesized_expression "(local_70 != 0)" ( (binary_expression "local_70 != 0" identifier != number_literal) )) (compound_statement "{\n      ppaVar1 = isympp + local_70;\n      local_70 = 0;\n      pbVar32 = (bfd_section *)(PTR__bfd_std_section_0003efc8 + 0xa8);\n      do {\n        iVar18 = add_symbols;\n        paVar37 = *local_68;\n        uVar47 = paVar37->flags;\n        pbVar36 = (bfd_byte *)paVar37->name;\n        pbVar54 = paVar37->section;\n        if (((add_sym_list != (addsym_node *)0x0) && (0 < add_symbols)) &&\n           (pcVar24 = add_sym_list->othersym, pcVar24 != (char *)0x0)) {\n          local_5c = (bfd *)0x0;\n          ptr = add_sym_list;\n          while (iVar22 = strcmp(pcVar24,(char *)pbVar36), iVar22 != 0) {\n            local_5c = (bfd *)((int)local_5c + 1);\n            ptr = ptr->next;\n            if ((local_5c == (bfd *)iVar18) || (pcVar24 = ptr->othersym, pcVar24 == (char *)0x0))\n            goto LAB_00019180;\n          }\n          free(pcVar24);\n          ptr->othersym = "";\n          ppaVar2 = ppaVar31 + local_70;\n          local_70 = local_70 + 1;\n          paVar33 = create_new_symbol(ptr,obfd);\n          *ppaVar2 = paVar33;\n        }\nLAB_00019180:\n        iVar18 = htab_elements(redefine_specific_htab);\n        pbVar50 = pbVar36;\n        if ((iVar18 != 0) || (section_rename_list != (section_rename *)0x0)) {\n          local_2c = 0;\n          contents = pbVar36;\n          iVar18 = htab_find(redefine_specific_htab,&contents);\n          if (((iVar18 == 0) || (pbVar50 = *(bfd_byte **)(iVar18 + 4), pbVar36 == pbVar50)) &&\n             (psVar15 = section_rename_list, (uVar47 & 0x100) != 0)) {\n            for (; pbVar50 = pbVar36, psVar15 != (section_rename *)0x0; psVar15 = psVar15->next) {\n              iVar18 = strcmp(psVar15->old_name,(char *)pbVar36);\n              if (iVar18 == 0) {\n                pbVar50 = (bfd_byte *)psVar15->new_name;\n                break;\n              }\n            }\n          }\n          paVar37->name = (char *)pbVar50;\n        }\n        pcVar24 = prefix_symbols_string;\n        bVar17 = ibfd->xvec->symbol_leading_char;\n        if (*pbVar50 == bVar17) {\n          if (change_leading_char == 0) {\n            if ((remove_leading_char == 0) ||\n               ((((uVar47 & 0x82) == 0 && (pbVar54 != pbVar32)) &&\n                ((paVar37->section->flags & 0x1000) == 0)))) goto LAB_00019203;\nLAB_0001943c:\n            pbVar50 = pbVar50 + 1;\n            paVar37->name = (char *)pbVar50;\n            goto LAB_00019203;\n          }\n          bVar17 = obfd->xvec->symbol_leading_char;\n          if (bVar17 == '\0') goto LAB_0001943c;\n          if (prefix_symbols_string != (char *)0x0) {\n            pbVar50 = pbVar50 + 1;\n            paVar37->name = (char *)pbVar50;\n            goto LAB_0001945b;\n          }\n          *pbVar50 = bVar17;\n          paVar37->name = (char *)pbVar50;\n        }\n        else {\n          if (((change_leading_char == 0) || (obfd->xvec->symbol_leading_char == '\0')) ||\n             (bVar17 != '\0')) {\nLAB_00019203:\n            if (pcVar24 == (char *)0x0) goto LAB_0001926f;\n            sVar34 = strlen(pcVar24);\n            sVar35 = strlen((char *)pbVar50);\n            pbVar36 = (bfd_byte *)xmalloc(sVar34 + 2 + sVar35);\n            local_5c = (bfd *)pbVar36;\n          }\n          else {\nLAB_0001945b:\n            sVar34 = strlen(pcVar24);\n            sVar35 = strlen((char *)pbVar50);\n            pbVar36 = (bfd_byte *)xmalloc(sVar34 + 2 + sVar35);\n            local_5c = (bfd *)(pbVar36 + 1);\n            *pbVar36 = obfd->xvec->symbol_leading_char;\n          }\n          pcVar24 = prefix_symbols_string;\n          if (prefix_symbols_string != (char *)0x0) {\n            strcpy((char *)local_5c,prefix_symbols_string);\n            sVar34 = strlen(pcVar24);\n            local_5c = (bfd *)((int)local_5c + sVar34);\n          }\n          strcpy((char *)local_5c,(char *)pbVar50);\n          paVar37->name = (char *)pbVar36;\n          pbVar50 = pbVar36;\n        }\nLAB_0001926f:\n        if (strip_symbols == STRIP_ALL) goto LAB_000192f8;\n        if ((uVar47 & 0x20) == 0) {\n          if (((uVar47 & 0x100) == 0) || (((*paVar37->section->symbol_ptr_ptr)->flags & 0x20) == 0))\n          {\n            if ((((uVar58 >> 5 & 0x42) == 0) &&\n                (((uVar47 & 0x82) != 0 || ((paVar37->section->flags & 0x1000) != 0)))) ||\n               (iVar18 = bfd_decode_symclass(paVar37), iVar18 == 0x49)) {\nLAB_00019528:\n              bVar21 = is_specified_symbol((char *)pbVar50,strip_specific_htab);\n              if (bVar21 == 0) goto LAB_000192e0;\n            }\n            else if ((((uVar47 & 0x82) == 0) &&\n                     (pbVar54 != (bfd_section *)(PTR__bfd_std_section_0003efc8 + 0xa8))) &&\n                    ((paVar37->section->flags & 0x1000) == 0)) {\n              if ((uVar47 & 4) == 0) {\n                if (((ibfd->xvec->flavour != bfd_target_coff_flavour) ||\n                    (pvVar70 = paVar37->section->used_by_bfd, pvVar70 == (void *)0x0)) ||\n                   (*(int *)((int)pvVar70 + 0x24) == 0)) {\n                  if ((strip_symbols == STRIP_UNNEEDED) || (discard_locals == LOCALS_ALL))\n                  goto LAB_000192f8;\n                  if (discard_locals == LOCALS_START_L) {\n                    iVar18 = bfd_is_local_label(ibfd,paVar37,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }\n                goto LAB_00019528;\n              }\n              iVar18 = convert_debugging;\n              if (1 < strip_symbols - STRIP_DEBUG) {\njoined_r0x0001a13f:\n                if (iVar18 == 0) goto LAB_00019528;\n              }\n            }\n            else if (strip_symbols != STRIP_UNNEEDED) goto LAB_00019528;\n          }\n          else {\n            bVar21 = is_specified_symbol((char *)pbVar50,strip_specific_htab);\n            if (bVar21 != 0) {\n              pcVar24 = (char *)dcgettext(0,\n                                          "not stripping symbol `%s\' because it is named in a relocation"\n                                          ,5,bVar21);\n              non_fatal(pcVar24,pbVar50);\n              status = 1;\n            }\nLAB_000192e0:\n            bVar21 = is_specified_symbol((char *)pbVar50,strip_unneeded_htab);\n            if (bVar21 == 0) goto LAB_0001931c;\n          }\nLAB_000192f8:\n          if (((keep_file_symbols != 0) && ((uVar47 & 0x4000) != 0)) ||\n             (bVar21 = is_specified_symbol((char *)pbVar50,keep_specific_htab), bVar21 != 0))\n          goto LAB_0001931c;\n        }\n        else {\n          bVar21 = is_specified_symbol((char *)pbVar50,strip_specific_htab);\n          if (bVar21 != 0) {\n            pcVar24 = (char *)dcgettext(0,\n                                        "not stripping symbol `%s\' because it is named in a relocation"\n                                        ,5);\n            non_fatal(pcVar24,pbVar50);\n            status = 1;\n          }\nLAB_0001931c:\n          bVar21 = is_strip_section(in_stack_ffffff54,(asection *)in_stack_ffffff58);\n          if (bVar21 == 0) {\n            if (((uVar47 & 2) != 0) &&\n               ((weaken != 0 ||\n                (bVar21 = is_specified_symbol((char *)pbVar50,weaken_specific_htab), bVar21 != 0))))\n            {\n              paVar37->flags = paVar37->flags & 0xfffffffd | 0x80;\n            }\n            if (pbVar54 != (bfd_section *)(PTR__bfd_std_section_0003efc8 + 0xa8)) {\n              if (((uVar47 & 0x82) != 0) &&\n                 (((bVar21 = is_specified_symbol((char *)pbVar50,localize_specific_htab),\n                   bVar21 != 0 ||\n                   ((iVar18 = htab_elements(keepglobal_specific_htab), iVar18 != 0 &&\n                    (bVar21 = is_specified_symbol((char *)pbVar50,keepglobal_specific_htab),\n                    bVar21 == 0)))) ||\n                  ((localize_hidden != 0 &&\n                   ((((pbVar62 = paVar37->the_bfd, pbVar62 != (bfd *)0x0 &&\n                      (pbVar62->xvec->flavour == bfd_target_elf_flavour)) &&\n                     ((pbVar62->tdata).aout_data != (aout_data_struct *)0x0)) &&\n                    ((*(byte *)((int)&paVar37[1].flags + 1) & 3) - 1 < 2)))))))) {\n                paVar37->flags = paVar37->flags & 0xffffff7d | 1;\n              }\n              if (((uVar47 & 1) != 0) &&\n                 (bVar21 = is_specified_symbol((char *)pbVar50,globalize_specific_htab), bVar21 != 0\n                 )) {\n                paVar37->flags = paVar37->flags & 0xfffffffe | 2;\n              }\n            }\n            ppaVar31[local_70] = paVar37;\n            local_70 = local_70 + 1;\n          }\n        }\n        local_68 = local_68 + 1;\n      } while (ppaVar1 != local_68);\n    }" { (expression_statement "ppaVar1 = isympp + local_70;" (assignment_expression "ppaVar1 = isympp + local_70" identifier = (binary_expression "isympp + local_70" identifier + identifier)) ;) (expression_statement "local_70 = 0;" (assignment_expression "local_70 = 0" identifier = number_literal) ;) (expression_statement "pbVar32 = (bfd_section *)(PTR__bfd_std_section_0003efc8 + 0xa8);" (assignment_expression "pbVar32 = (bfd_section *)(PTR__bfd_std_section_0003efc8 + 0xa8)" identifier = (cast_expression "(bfd_section *)(PTR__bfd_std_section_0003efc8 + 0xa8)" ( (type_descriptor "bfd_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR__bfd_std_section_0003efc8 + 0xa8)" ( (binary_expression "PTR__bfd_std_section_0003efc8 + 0xa8" identifier + number_literal) )))) ;) (do_statement "do {\n        iVar18 = add_symbols;\n        paVar37 = *local_68;\n        uVar47 = paVar37->flags;\n        pbVar36 = (bfd_byte *)paVar37->name;\n        pbVar54 = paVar37->section;\n        if (((add_sym_list != (addsym_node *)0x0) && (0 < add_symbols)) &&\n           (pcVar24 = add_sym_list->othersym, pcVar24 != (char *)0x0)) {\n          local_5c = (bfd *)0x0;\n          ptr = add_sym_list;\n          while (iVar22 = strcmp(pcVar24,(char *)pbVar36), iVar22 != 0) {\n            local_5c = (bfd *)((int)local_5c + 1);\n            ptr = ptr->next;\n            if ((local_5c == (bfd *)iVar18) || (pcVar24 = ptr->othersym, pcVar24 == (char *)0x0))\n            goto LAB_00019180;\n          }\n          free(pcVar24);\n          ptr->othersym = "";\n          ppaVar2 = ppaVar31 + local_70;\n          local_70 = local_70 + 1;\n          paVar33 = create_new_symbol(ptr,obfd);\n          *ppaVar2 = paVar33;\n        }\nLAB_00019180:\n        iVar18 = htab_elements(redefine_specific_htab);\n        pbVar50 = pbVar36;\n        if ((iVar18 != 0) || (section_rename_list != (section_rename *)0x0)) {\n          local_2c = 0;\n          contents = pbVar36;\n          iVar18 = htab_find(redefine_specific_htab,&contents);\n          if (((iVar18 == 0) || (pbVar50 = *(bfd_byte **)(iVar18 + 4), pbVar36 == pbVar50)) &&\n             (psVar15 = section_rename_list, (uVar47 & 0x100) != 0)) {\n            for (; pbVar50 = pbVar36, psVar15 != (section_rename *)0x0; psVar15 = psVar15->next) {\n              iVar18 = strcmp(psVar15->old_name,(char *)pbVar36);\n              if (iVar18 == 0) {\n                pbVar50 = (bfd_byte *)psVar15->new_name;\n                break;\n              }\n            }\n          }\n          paVar37->name = (char *)pbVar50;\n        }\n        pcVar24 = prefix_symbols_string;\n        bVar17 = ibfd->xvec->symbol_leading_char;\n        if (*pbVar50 == bVar17) {\n          if (change_leading_char == 0) {\n            if ((remove_leading_char == 0) ||\n               ((((uVar47 & 0x82) == 0 && (pbVar54 != pbVar32)) &&\n                ((paVar37->section->flags & 0x1000) == 0)))) goto LAB_00019203;\nLAB_0001943c:\n            pbVar50 = pbVar50 + 1;\n            paVar37->name = (char *)pbVar50;\n            goto LAB_00019203;\n          }\n          bVar17 = obfd->xvec->symbol_leading_char;\n          if (bVar17 == '\0') goto LAB_0001943c;\n          if (prefix_symbols_string != (char *)0x0) {\n            pbVar50 = pbVar50 + 1;\n            paVar37->name = (char *)pbVar50;\n            goto LAB_0001945b;\n          }\n          *pbVar50 = bVar17;\n          paVar37->name = (char *)pbVar50;\n        }\n        else {\n          if (((change_leading_char == 0) || (obfd->xvec->symbol_leading_char == '\0')) ||\n             (bVar17 != '\0')) {\nLAB_00019203:\n            if (pcVar24 == (char *)0x0) goto LAB_0001926f;\n            sVar34 = strlen(pcVar24);\n            sVar35 = strlen((char *)pbVar50);\n            pbVar36 = (bfd_byte *)xmalloc(sVar34 + 2 + sVar35);\n            local_5c = (bfd *)pbVar36;\n          }\n          else {\nLAB_0001945b:\n            sVar34 = strlen(pcVar24);\n            sVar35 = strlen((char *)pbVar50);\n            pbVar36 = (bfd_byte *)xmalloc(sVar34 + 2 + sVar35);\n            local_5c = (bfd *)(pbVar36 + 1);\n            *pbVar36 = obfd->xvec->symbol_leading_char;\n          }\n          pcVar24 = prefix_symbols_string;\n          if (prefix_symbols_string != (char *)0x0) {\n            strcpy((char *)local_5c,prefix_symbols_string);\n            sVar34 = strlen(pcVar24);\n            local_5c = (bfd *)((int)local_5c + sVar34);\n          }\n          strcpy((char *)local_5c,(char *)pbVar50);\n          paVar37->name = (char *)pbVar36;\n          pbVar50 = pbVar36;\n        }\nLAB_0001926f:\n        if (strip_symbols == STRIP_ALL) goto LAB_000192f8;\n        if ((uVar47 & 0x20) == 0) {\n          if (((uVar47 & 0x100) == 0) || (((*paVar37->section->symbol_ptr_ptr)->flags & 0x20) == 0))\n          {\n            if ((((uVar58 >> 5 & 0x42) == 0) &&\n                (((uVar47 & 0x82) != 0 || ((paVar37->section->flags & 0x1000) != 0)))) ||\n               (iVar18 = bfd_decode_symclass(paVar37), iVar18 == 0x49)) {\nLAB_00019528:\n              bVar21 = is_specified_symbol((char *)pbVar50,strip_specific_htab);\n              if (bVar21 == 0) goto LAB_000192e0;\n            }\n            else if ((((uVar47 & 0x82) == 0) &&\n                     (pbVar54 != (bfd_section *)(PTR__bfd_std_section_0003efc8 + 0xa8))) &&\n                    ((paVar37->section->flags & 0x1000) == 0)) {\n              if ((uVar47 & 4) == 0) {\n                if (((ibfd->xvec->flavour != bfd_target_coff_flavour) ||\n                    (pvVar70 = paVar37->section->used_by_bfd, pvVar70 == (void *)0x0)) ||\n                   (*(int *)((int)pvVar70 + 0x24) == 0)) {\n                  if ((strip_symbols == STRIP_UNNEEDED) || (discard_locals == LOCALS_ALL))\n                  goto LAB_000192f8;\n                  if (discard_locals == LOCALS_START_L) {\n                    iVar18 = bfd_is_local_label(ibfd,paVar37,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }\n                goto LAB_00019528;\n              }\n              iVar18 = convert_debugging;\n              if (1 < strip_symbols - STRIP_DEBUG) {\njoined_r0x0001a13f:\n                if (iVar18 == 0) goto LAB_00019528;\n              }\n            }\n            else if (strip_symbols != STRIP_UNNEEDED) goto LAB_00019528;\n          }\n          else {\n            bVar21 = is_specified_symbol((char *)pbVar50,strip_specific_htab);\n            if (bVar21 != 0) {\n              pcVar24 = (char *)dcgettext(0,\n                                          "not stripping symbol `%s\' because it is named in a relocation"\n                                          ,5,bVar21);\n              non_fatal(pcVar24,pbVar50);\n              status = 1;\n            }\nLAB_000192e0:\n            bVar21 = is_specified_symbol((char *)pbVar50,strip_unneeded_htab);\n            if (bVar21 == 0) goto LAB_0001931c;\n          }\nLAB_000192f8:\n          if (((keep_file_symbols != 0) && ((uVar47 & 0x4000) != 0)) ||\n             (bVar21 = is_specified_symbol((char *)pbVar50,keep_specific_htab), bVar21 != 0))\n          goto LAB_0001931c;\n        }\n        else {\n          bVar21 = is_specified_symbol((char *)pbVar50,strip_specific_htab);\n          if (bVar21 != 0) {\n            pcVar24 = (char *)dcgettext(0,\n                                        "not stripping symbol `%s\' because it is named in a relocation"\n                                        ,5);\n            non_fatal(pcVar24,pbVar50);\n            status = 1;\n          }\nLAB_0001931c:\n          bVar21 = is_strip_section(in_stack_ffffff54,(asection *)in_stack_ffffff58);\n          if (bVar21 == 0) {\n            if (((uVar47 & 2) != 0) &&\n               ((weaken != 0 ||\n                (bVar21 = is_specified_symbol((char *)pbVar50,weaken_specific_htab), bVar21 != 0))))\n            {\n              paVar37->flags = paVar37->flags & 0xfffffffd | 0x80;\n            }\n            if (pbVar54 != (bfd_section *)(PTR__bfd_std_section_0003efc8 + 0xa8)) {\n              if (((uVar47 & 0x82) != 0) &&\n                 (((bVar21 = is_specified_symbol((char *)pbVar50,localize_specific_htab),\n                   bVar21 != 0 ||\n                   ((iVar18 = htab_elements(keepglobal_specific_htab), iVar18 != 0 &&\n                    (bVar21 = is_specified_symbol((char *)pbVar50,keepglobal_specific_htab),\n                    bVar21 == 0)))) ||\n                  ((localize_hidden != 0 &&\n                   ((((pbVar62 = paVar37->the_bfd, pbVar62 != (bfd *)0x0 &&\n                      (pbVar62->xvec->flavour == bfd_target_elf_flavour)) &&\n                     ((pbVar62->tdata).aout_data != (aout_data_struct *)0x0)) &&\n                    ((*(byte *)((int)&paVar37[1].flags + 1) & 3) - 1 < 2)))))))) {\n                paVar37->flags = paVar37->flags & 0xffffff7d | 1;\n              }\n              if (((uVar47 & 1) != 0) &&\n                 (bVar21 = is_specified_symbol((char *)pbVar50,globalize_specific_htab), bVar21 != 0\n                 )) {\n                paVar37->flags = paVar37->flags & 0xfffffffe | 2;\n              }\n            }\n            ppaVar31[local_70] = paVar37;\n            local_70 = local_70 + 1;\n          }\n        }\n        local_68 = local_68 + 1;\n      } while (ppaVar1 != local_68);" do (compound_statement "{\n        iVar18 = add_symbols;\n        paVar37 = *local_68;\n        uVar47 = paVar37->flags;\n        pbVar36 = (bfd_byte *)paVar37->name;\n        pbVar54 = paVar37->section;\n        if (((add_sym_list != (addsym_node *)0x0) && (0 < add_symbols)) &&\n           (pcVar24 = add_sym_list->othersym, pcVar24 != (char *)0x0)) {\n          local_5c = (bfd *)0x0;\n          ptr = add_sym_list;\n          while (iVar22 = strcmp(pcVar24,(char *)pbVar36), iVar22 != 0) {\n            local_5c = (bfd *)((int)local_5c + 1);\n            ptr = ptr->next;\n            if ((local_5c == (bfd *)iVar18) || (pcVar24 = ptr->othersym, pcVar24 == (char *)0x0))\n            goto LAB_00019180;\n          }\n          free(pcVar24);\n          ptr->othersym = "";\n          ppaVar2 = ppaVar31 + local_70;\n          local_70 = local_70 + 1;\n          paVar33 = create_new_symbol(ptr,obfd);\n          *ppaVar2 = paVar33;\n        }\nLAB_00019180:\n        iVar18 = htab_elements(redefine_specific_htab);\n        pbVar50 = pbVar36;\n        if ((iVar18 != 0) || (section_rename_list != (section_rename *)0x0)) {\n          local_2c = 0;\n          contents = pbVar36;\n          iVar18 = htab_find(redefine_specific_htab,&contents);\n          if (((iVar18 == 0) || (pbVar50 = *(bfd_byte **)(iVar18 + 4), pbVar36 == pbVar50)) &&\n             (psVar15 = section_rename_list, (uVar47 & 0x100) != 0)) {\n            for (; pbVar50 = pbVar36, psVar15 != (section_rename *)0x0; psVar15 = psVar15->next) {\n              iVar18 = strcmp(psVar15->old_name,(char *)pbVar36);\n              if (iVar18 == 0) {\n                pbVar50 = (bfd_byte *)psVar15->new_name;\n                break;\n              }\n            }\n          }\n          paVar37->name = (char *)pbVar50;\n        }\n        pcVar24 = prefix_symbols_string;\n        bVar17 = ibfd->xvec->symbol_leading_char;\n        if (*pbVar50 == bVar17) {\n          if (change_leading_char == 0) {\n            if ((remove_leading_char == 0) ||\n               ((((uVar47 & 0x82) == 0 && (pbVar54 != pbVar32)) &&\n                ((paVar37->section->flags & 0x1000) == 0)))) goto LAB_00019203;\nLAB_0001943c:\n            pbVar50 = pbVar50 + 1;\n            paVar37->name = (char *)pbVar50;\n            goto LAB_00019203;\n          }\n          bVar17 = obfd->xvec->symbol_leading_char;\n          if (bVar17 == '\0') goto LAB_0001943c;\n          if (prefix_symbols_string != (char *)0x0) {\n            pbVar50 = pbVar50 + 1;\n            paVar37->name = (char *)pbVar50;\n            goto LAB_0001945b;\n          }\n          *pbVar50 = bVar17;\n          paVar37->name = (char *)pbVar50;\n        }\n        else {\n          if (((change_leading_char == 0) || (obfd->xvec->symbol_leading_char == '\0')) ||\n             (bVar17 != '\0')) {\nLAB_00019203:\n            if (pcVar24 == (char *)0x0) goto LAB_0001926f;\n            sVar34 = strlen(pcVar24);\n            sVar35 = strlen((char *)pbVar50);\n            pbVar36 = (bfd_byte *)xmalloc(sVar34 + 2 + sVar35);\n            local_5c = (bfd *)pbVar36;\n          }\n          else {\nLAB_0001945b:\n            sVar34 = strlen(pcVar24);\n            sVar35 = strlen((char *)pbVar50);\n            pbVar36 = (bfd_byte *)xmalloc(sVar34 + 2 + sVar35);\n            local_5c = (bfd *)(pbVar36 + 1);\n            *pbVar36 = obfd->xvec->symbol_leading_char;\n          }\n          pcVar24 = prefix_symbols_string;\n          if (prefix_symbols_string != (char *)0x0) {\n            strcpy((char *)local_5c,prefix_symbols_string);\n            sVar34 = strlen(pcVar24);\n            local_5c = (bfd *)((int)local_5c + sVar34);\n          }\n          strcpy((char *)local_5c,(char *)pbVar50);\n          paVar37->name = (char *)pbVar36;\n          pbVar50 = pbVar36;\n        }\nLAB_0001926f:\n        if (strip_symbols == STRIP_ALL) goto LAB_000192f8;\n        if ((uVar47 & 0x20) == 0) {\n          if (((uVar47 & 0x100) == 0) || (((*paVar37->section->symbol_ptr_ptr)->flags & 0x20) == 0))\n          {\n            if ((((uVar58 >> 5 & 0x42) == 0) &&\n                (((uVar47 & 0x82) != 0 || ((paVar37->section->flags & 0x1000) != 0)))) ||\n               (iVar18 = bfd_decode_symclass(paVar37), iVar18 == 0x49)) {\nLAB_00019528:\n              bVar21 = is_specified_symbol((char *)pbVar50,strip_specific_htab);\n              if (bVar21 == 0) goto LAB_000192e0;\n            }\n            else if ((((uVar47 & 0x82) == 0) &&\n                     (pbVar54 != (bfd_section *)(PTR__bfd_std_section_0003efc8 + 0xa8))) &&\n                    ((paVar37->section->flags & 0x1000) == 0)) {\n              if ((uVar47 & 4) == 0) {\n                if (((ibfd->xvec->flavour != bfd_target_coff_flavour) ||\n                    (pvVar70 = paVar37->section->used_by_bfd, pvVar70 == (void *)0x0)) ||\n                   (*(int *)((int)pvVar70 + 0x24) == 0)) {\n                  if ((strip_symbols == STRIP_UNNEEDED) || (discard_locals == LOCALS_ALL))\n                  goto LAB_000192f8;\n                  if (discard_locals == LOCALS_START_L) {\n                    iVar18 = bfd_is_local_label(ibfd,paVar37,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }\n                goto LAB_00019528;\n              }\n              iVar18 = convert_debugging;\n              if (1 < strip_symbols - STRIP_DEBUG) {\njoined_r0x0001a13f:\n                if (iVar18 == 0) goto LAB_00019528;\n              }\n            }\n            else if (strip_symbols != STRIP_UNNEEDED) goto LAB_00019528;\n          }\n          else {\n            bVar21 = is_specified_symbol((char *)pbVar50,strip_specific_htab);\n            if (bVar21 != 0) {\n              pcVar24 = (char *)dcgettext(0,\n                                          "not stripping symbol `%s\' because it is named in a relocation"\n                                          ,5,bVar21);\n              non_fatal(pcVar24,pbVar50);\n              status = 1;\n            }\nLAB_000192e0:\n            bVar21 = is_specified_symbol((char *)pbVar50,strip_unneeded_htab);\n            if (bVar21 == 0) goto LAB_0001931c;\n          }\nLAB_000192f8:\n          if (((keep_file_symbols != 0) && ((uVar47 & 0x4000) != 0)) ||\n             (bVar21 = is_specified_symbol((char *)pbVar50,keep_specific_htab), bVar21 != 0))\n          goto LAB_0001931c;\n        }\n        else {\n          bVar21 = is_specified_symbol((char *)pbVar50,strip_specific_htab);\n          if (bVar21 != 0) {\n            pcVar24 = (char *)dcgettext(0,\n                                        "not stripping symbol `%s\' because it is named in a relocation"\n                                        ,5);\n            non_fatal(pcVar24,pbVar50);\n            status = 1;\n          }\nLAB_0001931c:\n          bVar21 = is_strip_section(in_stack_ffffff54,(asection *)in_stack_ffffff58);\n          if (bVar21 == 0) {\n            if (((uVar47 & 2) != 0) &&\n               ((weaken != 0 ||\n                (bVar21 = is_specified_symbol((char *)pbVar50,weaken_specific_htab), bVar21 != 0))))\n            {\n              paVar37->flags = paVar37->flags & 0xfffffffd | 0x80;\n            }\n            if (pbVar54 != (bfd_section *)(PTR__bfd_std_section_0003efc8 + 0xa8)) {\n              if (((uVar47 & 0x82) != 0) &&\n                 (((bVar21 = is_specified_symbol((char *)pbVar50,localize_specific_htab),\n                   bVar21 != 0 ||\n                   ((iVar18 = htab_elements(keepglobal_specific_htab), iVar18 != 0 &&\n                    (bVar21 = is_specified_symbol((char *)pbVar50,keepglobal_specific_htab),\n                    bVar21 == 0)))) ||\n                  ((localize_hidden != 0 &&\n                   ((((pbVar62 = paVar37->the_bfd, pbVar62 != (bfd *)0x0 &&\n                      (pbVar62->xvec->flavour == bfd_target_elf_flavour)) &&\n                     ((pbVar62->tdata).aout_data != (aout_data_struct *)0x0)) &&\n                    ((*(byte *)((int)&paVar37[1].flags + 1) & 3) - 1 < 2)))))))) {\n                paVar37->flags = paVar37->flags & 0xffffff7d | 1;\n              }\n              if (((uVar47 & 1) != 0) &&\n                 (bVar21 = is_specified_symbol((char *)pbVar50,globalize_specific_htab), bVar21 != 0\n                 )) {\n                paVar37->flags = paVar37->flags & 0xfffffffe | 2;\n              }\n            }\n            ppaVar31[local_70] = paVar37;\n            local_70 = local_70 + 1;\n          }\n        }\n        local_68 = local_68 + 1;\n      }" { (expression_statement "iVar18 = add_symbols;" (assignment_expression "iVar18 = add_symbols" identifier = identifier) ;) (expression_statement "paVar37 = *local_68;" (assignment_expression "paVar37 = *local_68" identifier = (pointer_expression "*local_68" * identifier)) ;) (expression_statement "uVar47 = paVar37->flags;" (assignment_expression "uVar47 = paVar37->flags" identifier = (field_expression "paVar37->flags" identifier -> field_identifier)) ;) (expression_statement "pbVar36 = (bfd_byte *)paVar37->name;" (assignment_expression "pbVar36 = (bfd_byte *)paVar37->name" identifier = (cast_expression "(bfd_byte *)paVar37->name" ( (type_descriptor "bfd_byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "paVar37->name" identifier -> field_identifier))) ;) (expression_statement "pbVar54 = paVar37->section;" (assignment_expression "pbVar54 = paVar37->section" identifier = (field_expression "paVar37->section" identifier -> field_identifier)) ;) (if_statement "if (((add_sym_list != (addsym_node *)0x0) && (0 < add_symbols)) &&\n           (pcVar24 = add_sym_list->othersym, pcVar24 != (char *)0x0)) {\n          local_5c = (bfd *)0x0;\n          ptr = add_sym_list;\n          while (iVar22 = strcmp(pcVar24,(char *)pbVar36), iVar22 != 0) {\n            local_5c = (bfd *)((int)local_5c + 1);\n            ptr = ptr->next;\n            if ((local_5c == (bfd *)iVar18) || (pcVar24 = ptr->othersym, pcVar24 == (char *)0x0))\n            goto LAB_00019180;\n          }\n          free(pcVar24);\n          ptr->othersym = "";\n          ppaVar2 = ppaVar31 + local_70;\n          local_70 = local_70 + 1;\n          paVar33 = create_new_symbol(ptr,obfd);\n          *ppaVar2 = paVar33;\n        }" if (parenthesized_expression "(((add_sym_list != (addsym_node *)0x0) && (0 < add_symbols)) &&\n           (pcVar24 = add_sym_list->othersym, pcVar24 != (char *)0x0))" ( (binary_expression "((add_sym_list != (addsym_node *)0x0) && (0 < add_symbols)) &&\n           (pcVar24 = add_sym_list->othersym, pcVar24 != (char *)0x0)" (parenthesized_expression "((add_sym_list != (addsym_node *)0x0) && (0 < add_symbols))" ( (binary_expression "(add_sym_list != (addsym_node *)0x0) && (0 < add_symbols)" (parenthesized_expression "(add_sym_list != (addsym_node *)0x0)" ( (binary_expression "add_sym_list != (addsym_node *)0x0" identifier != (cast_expression "(addsym_node *)0x0" ( (type_descriptor "addsym_node *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(0 < add_symbols)" ( (binary_expression "0 < add_symbols" number_literal < identifier) ))) )) && (parenthesized_expression "(pcVar24 = add_sym_list->othersym, pcVar24 != (char *)0x0)" ( (comma_expression "pcVar24 = add_sym_list->othersym, pcVar24 != (char *)0x0" (assignment_expression "pcVar24 = add_sym_list->othersym" identifier = (field_expression "add_sym_list->othersym" identifier -> field_identifier)) , (binary_expression "pcVar24 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n          local_5c = (bfd *)0x0;\n          ptr = add_sym_list;\n          while (iVar22 = strcmp(pcVar24,(char *)pbVar36), iVar22 != 0) {\n            local_5c = (bfd *)((int)local_5c + 1);\n            ptr = ptr->next;\n            if ((local_5c == (bfd *)iVar18) || (pcVar24 = ptr->othersym, pcVar24 == (char *)0x0))\n            goto LAB_00019180;\n          }\n          free(pcVar24);\n          ptr->othersym = "";\n          ppaVar2 = ppaVar31 + local_70;\n          local_70 = local_70 + 1;\n          paVar33 = create_new_symbol(ptr,obfd);\n          *ppaVar2 = paVar33;\n        }" { (expression_statement "local_5c = (bfd *)0x0;" (assignment_expression "local_5c = (bfd *)0x0" identifier = (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ptr = add_sym_list;" (assignment_expression "ptr = add_sym_list" identifier = identifier) ;) (while_statement "while (iVar22 = strcmp(pcVar24,(char *)pbVar36), iVar22 != 0) {\n            local_5c = (bfd *)((int)local_5c + 1);\n            ptr = ptr->next;\n            if ((local_5c == (bfd *)iVar18) || (pcVar24 = ptr->othersym, pcVar24 == (char *)0x0))\n            goto LAB_00019180;\n          }" while (parenthesized_expression "(iVar22 = strcmp(pcVar24,(char *)pbVar36), iVar22 != 0)" ( (comma_expression "iVar22 = strcmp(pcVar24,(char *)pbVar36), iVar22 != 0" (assignment_expression "iVar22 = strcmp(pcVar24,(char *)pbVar36)" identifier = (call_expression "strcmp(pcVar24,(char *)pbVar36)" identifier (argument_list "(pcVar24,(char *)pbVar36)" ( identifier , (cast_expression "(char *)pbVar36" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) , (binary_expression "iVar22 != 0" identifier != number_literal)) )) (compound_statement "{\n            local_5c = (bfd *)((int)local_5c + 1);\n            ptr = ptr->next;\n            if ((local_5c == (bfd *)iVar18) || (pcVar24 = ptr->othersym, pcVar24 == (char *)0x0))\n            goto LAB_00019180;\n          }" { (expression_statement "local_5c = (bfd *)((int)local_5c + 1);" (assignment_expression "local_5c = (bfd *)((int)local_5c + 1)" identifier = (cast_expression "(bfd *)((int)local_5c + 1)" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_5c + 1)" ( (binary_expression "(int)local_5c + 1" (cast_expression "(int)local_5c" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "ptr = ptr->next;" (assignment_expression "ptr = ptr->next" identifier = (field_expression "ptr->next" identifier -> field_identifier)) ;) (if_statement "if ((local_5c == (bfd *)iVar18) || (pcVar24 = ptr->othersym, pcVar24 == (char *)0x0))\n            goto LAB_00019180;" if (parenthesized_expression "((local_5c == (bfd *)iVar18) || (pcVar24 = ptr->othersym, pcVar24 == (char *)0x0))" ( (binary_expression "(local_5c == (bfd *)iVar18) || (pcVar24 = ptr->othersym, pcVar24 == (char *)0x0)" (parenthesized_expression "(local_5c == (bfd *)iVar18)" ( (binary_expression "local_5c == (bfd *)iVar18" identifier == (cast_expression "(bfd *)iVar18" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) || (parenthesized_expression "(pcVar24 = ptr->othersym, pcVar24 == (char *)0x0)" ( (comma_expression "pcVar24 = ptr->othersym, pcVar24 == (char *)0x0" (assignment_expression "pcVar24 = ptr->othersym" identifier = (field_expression "ptr->othersym" identifier -> field_identifier)) , (binary_expression "pcVar24 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (goto_statement "goto LAB_00019180;" goto statement_identifier ;)) })) (expression_statement "free(pcVar24);" (call_expression "free(pcVar24)" identifier (argument_list "(pcVar24)" ( identifier ))) ;) (expression_statement "ptr->othersym = "";" (assignment_expression "ptr->othersym = """ (field_expression "ptr->othersym" identifier -> field_identifier) = (string_literal """" " ")) ;) (expression_statement "ppaVar2 = ppaVar31 + local_70;" (assignment_expression "ppaVar2 = ppaVar31 + local_70" identifier = (binary_expression "ppaVar31 + local_70" identifier + identifier)) ;) (expression_statement "local_70 = local_70 + 1;" (assignment_expression "local_70 = local_70 + 1" identifier = (binary_expression "local_70 + 1" identifier + number_literal)) ;) (expression_statement "paVar33 = create_new_symbol(ptr,obfd);" (assignment_expression "paVar33 = create_new_symbol(ptr,obfd)" identifier = (call_expression "create_new_symbol(ptr,obfd)" identifier (argument_list "(ptr,obfd)" ( identifier , identifier )))) ;) (expression_statement "*ppaVar2 = paVar33;" (assignment_expression "*ppaVar2 = paVar33" (pointer_expression "*ppaVar2" * identifier) = identifier) ;) })) (labeled_statement "LAB_00019180:\n        iVar18 = htab_elements(redefine_specific_htab);" statement_identifier : (expression_statement "iVar18 = htab_elements(redefine_specific_htab);" (assignment_expression "iVar18 = htab_elements(redefine_specific_htab)" identifier = (call_expression "htab_elements(redefine_specific_htab)" identifier (argument_list "(redefine_specific_htab)" ( identifier )))) ;)) (expression_statement "pbVar50 = pbVar36;" (assignment_expression "pbVar50 = pbVar36" identifier = identifier) ;) (if_statement "if ((iVar18 != 0) || (section_rename_list != (section_rename *)0x0)) {\n          local_2c = 0;\n          contents = pbVar36;\n          iVar18 = htab_find(redefine_specific_htab,&contents);\n          if (((iVar18 == 0) || (pbVar50 = *(bfd_byte **)(iVar18 + 4), pbVar36 == pbVar50)) &&\n             (psVar15 = section_rename_list, (uVar47 & 0x100) != 0)) {\n            for (; pbVar50 = pbVar36, psVar15 != (section_rename *)0x0; psVar15 = psVar15->next) {\n              iVar18 = strcmp(psVar15->old_name,(char *)pbVar36);\n              if (iVar18 == 0) {\n                pbVar50 = (bfd_byte *)psVar15->new_name;\n                break;\n              }\n            }\n          }\n          paVar37->name = (char *)pbVar50;\n        }" if (parenthesized_expression "((iVar18 != 0) || (section_rename_list != (section_rename *)0x0))" ( (binary_expression "(iVar18 != 0) || (section_rename_list != (section_rename *)0x0)" (parenthesized_expression "(iVar18 != 0)" ( (binary_expression "iVar18 != 0" identifier != number_literal) )) || (parenthesized_expression "(section_rename_list != (section_rename *)0x0)" ( (binary_expression "section_rename_list != (section_rename *)0x0" identifier != (cast_expression "(section_rename *)0x0" ( (type_descriptor "section_rename *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n          local_2c = 0;\n          contents = pbVar36;\n          iVar18 = htab_find(redefine_specific_htab,&contents);\n          if (((iVar18 == 0) || (pbVar50 = *(bfd_byte **)(iVar18 + 4), pbVar36 == pbVar50)) &&\n             (psVar15 = section_rename_list, (uVar47 & 0x100) != 0)) {\n            for (; pbVar50 = pbVar36, psVar15 != (section_rename *)0x0; psVar15 = psVar15->next) {\n              iVar18 = strcmp(psVar15->old_name,(char *)pbVar36);\n              if (iVar18 == 0) {\n                pbVar50 = (bfd_byte *)psVar15->new_name;\n                break;\n              }\n            }\n          }\n          paVar37->name = (char *)pbVar50;\n        }" { (expression_statement "local_2c = 0;" (assignment_expression "local_2c = 0" identifier = number_literal) ;) (expression_statement "contents = pbVar36;" (assignment_expression "contents = pbVar36" identifier = identifier) ;) (expression_statement "iVar18 = htab_find(redefine_specific_htab,&contents);" (assignment_expression "iVar18 = htab_find(redefine_specific_htab,&contents)" identifier = (call_expression "htab_find(redefine_specific_htab,&contents)" identifier (argument_list "(redefine_specific_htab,&contents)" ( identifier , (pointer_expression "&contents" & identifier) )))) ;) (if_statement "if (((iVar18 == 0) || (pbVar50 = *(bfd_byte **)(iVar18 + 4), pbVar36 == pbVar50)) &&\n             (psVar15 = section_rename_list, (uVar47 & 0x100) != 0)) {\n            for (; pbVar50 = pbVar36, psVar15 != (section_rename *)0x0; psVar15 = psVar15->next) {\n              iVar18 = strcmp(psVar15->old_name,(char *)pbVar36);\n              if (iVar18 == 0) {\n                pbVar50 = (bfd_byte *)psVar15->new_name;\n                break;\n              }\n            }\n          }" if (parenthesized_expression "(((iVar18 == 0) || (pbVar50 = *(bfd_byte **)(iVar18 + 4), pbVar36 == pbVar50)) &&\n             (psVar15 = section_rename_list, (uVar47 & 0x100) != 0))" ( (binary_expression "((iVar18 == 0) || (pbVar50 = *(bfd_byte **)(iVar18 + 4), pbVar36 == pbVar50)) &&\n             (psVar15 = section_rename_list, (uVar47 & 0x100) != 0)" (parenthesized_expression "((iVar18 == 0) || (pbVar50 = *(bfd_byte **)(iVar18 + 4), pbVar36 == pbVar50))" ( (binary_expression "(iVar18 == 0) || (pbVar50 = *(bfd_byte **)(iVar18 + 4), pbVar36 == pbVar50)" (parenthesized_expression "(iVar18 == 0)" ( (binary_expression "iVar18 == 0" identifier == number_literal) )) || (parenthesized_expression "(pbVar50 = *(bfd_byte **)(iVar18 + 4), pbVar36 == pbVar50)" ( (comma_expression "pbVar50 = *(bfd_byte **)(iVar18 + 4), pbVar36 == pbVar50" (assignment_expression "pbVar50 = *(bfd_byte **)(iVar18 + 4)" identifier = (pointer_expression "*(bfd_byte **)(iVar18 + 4)" * (cast_expression "(bfd_byte **)(iVar18 + 4)" ( (type_descriptor "bfd_byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar18 + 4)" ( (binary_expression "iVar18 + 4" identifier + number_literal) ))))) , (binary_expression "pbVar36 == pbVar50" identifier == identifier)) ))) )) && (parenthesized_expression "(psVar15 = section_rename_list, (uVar47 & 0x100) != 0)" ( (comma_expression "psVar15 = section_rename_list, (uVar47 & 0x100) != 0" (assignment_expression "psVar15 = section_rename_list" identifier = identifier) , (binary_expression "(uVar47 & 0x100) != 0" (parenthesized_expression "(uVar47 & 0x100)" ( (binary_expression "uVar47 & 0x100" identifier & number_literal) )) != number_literal)) ))) )) (compound_statement "{\n            for (; pbVar50 = pbVar36, psVar15 != (section_rename *)0x0; psVar15 = psVar15->next) {\n              iVar18 = strcmp(psVar15->old_name,(char *)pbVar36);\n              if (iVar18 == 0) {\n                pbVar50 = (bfd_byte *)psVar15->new_name;\n                break;\n              }\n            }\n          }" { (for_statement "for (; pbVar50 = pbVar36, psVar15 != (section_rename *)0x0; psVar15 = psVar15->next) {\n              iVar18 = strcmp(psVar15->old_name,(char *)pbVar36);\n              if (iVar18 == 0) {\n                pbVar50 = (bfd_byte *)psVar15->new_name;\n                break;\n              }\n            }" for ( ; (comma_expression "pbVar50 = pbVar36, psVar15 != (section_rename *)0x0" (assignment_expression "pbVar50 = pbVar36" identifier = identifier) , (binary_expression "psVar15 != (section_rename *)0x0" identifier != (cast_expression "(section_rename *)0x0" ( (type_descriptor "section_rename *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ; (assignment_expression "psVar15 = psVar15->next" identifier = (field_expression "psVar15->next" identifier -> field_identifier)) ) (compound_statement "{\n              iVar18 = strcmp(psVar15->old_name,(char *)pbVar36);\n              if (iVar18 == 0) {\n                pbVar50 = (bfd_byte *)psVar15->new_name;\n                break;\n              }\n            }" { (expression_statement "iVar18 = strcmp(psVar15->old_name,(char *)pbVar36);" (assignment_expression "iVar18 = strcmp(psVar15->old_name,(char *)pbVar36)" identifier = (call_expression "strcmp(psVar15->old_name,(char *)pbVar36)" identifier (argument_list "(psVar15->old_name,(char *)pbVar36)" ( (field_expression "psVar15->old_name" identifier -> field_identifier) , (cast_expression "(char *)pbVar36" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (if_statement "if (iVar18 == 0) {\n                pbVar50 = (bfd_byte *)psVar15->new_name;\n                break;\n              }" if (parenthesized_expression "(iVar18 == 0)" ( (binary_expression "iVar18 == 0" identifier == number_literal) )) (compound_statement "{\n                pbVar50 = (bfd_byte *)psVar15->new_name;\n                break;\n              }" { (expression_statement "pbVar50 = (bfd_byte *)psVar15->new_name;" (assignment_expression "pbVar50 = (bfd_byte *)psVar15->new_name" identifier = (cast_expression "(bfd_byte *)psVar15->new_name" ( (type_descriptor "bfd_byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "psVar15->new_name" identifier -> field_identifier))) ;) (break_statement "break;" break ;) })) })) })) (expression_statement "paVar37->name = (char *)pbVar50;" (assignment_expression "paVar37->name = (char *)pbVar50" (field_expression "paVar37->name" identifier -> field_identifier) = (cast_expression "(char *)pbVar50" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) })) (expression_statement "pcVar24 = prefix_symbols_string;" (assignment_expression "pcVar24 = prefix_symbols_string" identifier = identifier) ;) (expression_statement "bVar17 = ibfd->xvec->symbol_leading_char;" (assignment_expression "bVar17 = ibfd->xvec->symbol_leading_char" identifier = (field_expression "ibfd->xvec->symbol_leading_char" (field_expression "ibfd->xvec" identifier -> field_identifier) -> field_identifier)) ;) (if_statement "if (*pbVar50 == bVar17) {\n          if (change_leading_char == 0) {\n            if ((remove_leading_char == 0) ||\n               ((((uVar47 & 0x82) == 0 && (pbVar54 != pbVar32)) &&\n                ((paVar37->section->flags & 0x1000) == 0)))) goto LAB_00019203;\nLAB_0001943c:\n            pbVar50 = pbVar50 + 1;\n            paVar37->name = (char *)pbVar50;\n            goto LAB_00019203;\n          }\n          bVar17 = obfd->xvec->symbol_leading_char;\n          if (bVar17 == '\0') goto LAB_0001943c;\n          if (prefix_symbols_string != (char *)0x0) {\n            pbVar50 = pbVar50 + 1;\n            paVar37->name = (char *)pbVar50;\n            goto LAB_0001945b;\n          }\n          *pbVar50 = bVar17;\n          paVar37->name = (char *)pbVar50;\n        }\n        else {\n          if (((change_leading_char == 0) || (obfd->xvec->symbol_leading_char == '\0')) ||\n             (bVar17 != '\0')) {\nLAB_00019203:\n            if (pcVar24 == (char *)0x0) goto LAB_0001926f;\n            sVar34 = strlen(pcVar24);\n            sVar35 = strlen((char *)pbVar50);\n            pbVar36 = (bfd_byte *)xmalloc(sVar34 + 2 + sVar35);\n            local_5c = (bfd *)pbVar36;\n          }\n          else {\nLAB_0001945b:\n            sVar34 = strlen(pcVar24);\n            sVar35 = strlen((char *)pbVar50);\n            pbVar36 = (bfd_byte *)xmalloc(sVar34 + 2 + sVar35);\n            local_5c = (bfd *)(pbVar36 + 1);\n            *pbVar36 = obfd->xvec->symbol_leading_char;\n          }\n          pcVar24 = prefix_symbols_string;\n          if (prefix_symbols_string != (char *)0x0) {\n            strcpy((char *)local_5c,prefix_symbols_string);\n            sVar34 = strlen(pcVar24);\n            local_5c = (bfd *)((int)local_5c + sVar34);\n          }\n          strcpy((char *)local_5c,(char *)pbVar50);\n          paVar37->name = (char *)pbVar36;\n          pbVar50 = pbVar36;\n        }" if (parenthesized_expression "(*pbVar50 == bVar17)" ( (binary_expression "*pbVar50 == bVar17" (pointer_expression "*pbVar50" * identifier) == identifier) )) (compound_statement "{\n          if (change_leading_char == 0) {\n            if ((remove_leading_char == 0) ||\n               ((((uVar47 & 0x82) == 0 && (pbVar54 != pbVar32)) &&\n                ((paVar37->section->flags & 0x1000) == 0)))) goto LAB_00019203;\nLAB_0001943c:\n            pbVar50 = pbVar50 + 1;\n            paVar37->name = (char *)pbVar50;\n            goto LAB_00019203;\n          }\n          bVar17 = obfd->xvec->symbol_leading_char;\n          if (bVar17 == '\0') goto LAB_0001943c;\n          if (prefix_symbols_string != (char *)0x0) {\n            pbVar50 = pbVar50 + 1;\n            paVar37->name = (char *)pbVar50;\n            goto LAB_0001945b;\n          }\n          *pbVar50 = bVar17;\n          paVar37->name = (char *)pbVar50;\n        }" { (if_statement "if (change_leading_char == 0) {\n            if ((remove_leading_char == 0) ||\n               ((((uVar47 & 0x82) == 0 && (pbVar54 != pbVar32)) &&\n                ((paVar37->section->flags & 0x1000) == 0)))) goto LAB_00019203;\nLAB_0001943c:\n            pbVar50 = pbVar50 + 1;\n            paVar37->name = (char *)pbVar50;\n            goto LAB_00019203;\n          }" if (parenthesized_expression "(change_leading_char == 0)" ( (binary_expression "change_leading_char == 0" identifier == number_literal) )) (compound_statement "{\n            if ((remove_leading_char == 0) ||\n               ((((uVar47 & 0x82) == 0 && (pbVar54 != pbVar32)) &&\n                ((paVar37->section->flags & 0x1000) == 0)))) goto LAB_00019203;\nLAB_0001943c:\n            pbVar50 = pbVar50 + 1;\n            paVar37->name = (char *)pbVar50;\n            goto LAB_00019203;\n          }" { (if_statement "if ((remove_leading_char == 0) ||\n               ((((uVar47 & 0x82) == 0 && (pbVar54 != pbVar32)) &&\n                ((paVar37->section->flags & 0x1000) == 0)))) goto LAB_00019203;" if (parenthesized_expression "((remove_leading_char == 0) ||\n               ((((uVar47 & 0x82) == 0 && (pbVar54 != pbVar32)) &&\n                ((paVar37->section->flags & 0x1000) == 0))))" ( (binary_expression "(remove_leading_char == 0) ||\n               ((((uVar47 & 0x82) == 0 && (pbVar54 != pbVar32)) &&\n                ((paVar37->section->flags & 0x1000) == 0)))" (parenthesized_expression "(remove_leading_char == 0)" ( (binary_expression "remove_leading_char == 0" identifier == number_literal) )) || (parenthesized_expression "((((uVar47 & 0x82) == 0 && (pbVar54 != pbVar32)) &&\n                ((paVar37->section->flags & 0x1000) == 0)))" ( (parenthesized_expression "(((uVar47 & 0x82) == 0 && (pbVar54 != pbVar32)) &&\n                ((paVar37->section->flags & 0x1000) == 0))" ( (binary_expression "((uVar47 & 0x82) == 0 && (pbVar54 != pbVar32)) &&\n                ((paVar37->section->flags & 0x1000) == 0)" (parenthesized_expression "((uVar47 & 0x82) == 0 && (pbVar54 != pbVar32))" ( (binary_expression "(uVar47 & 0x82) == 0 && (pbVar54 != pbVar32)" (binary_expression "(uVar47 & 0x82) == 0" (parenthesized_expression "(uVar47 & 0x82)" ( (binary_expression "uVar47 & 0x82" identifier & number_literal) )) == number_literal) && (parenthesized_expression "(pbVar54 != pbVar32)" ( (binary_expression "pbVar54 != pbVar32" identifier != identifier) ))) )) && (parenthesized_expression "((paVar37->section->flags & 0x1000) == 0)" ( (binary_expression "(paVar37->section->flags & 0x1000) == 0" (parenthesized_expression "(paVar37->section->flags & 0x1000)" ( (binary_expression "paVar37->section->flags & 0x1000" (field_expression "paVar37->section->flags" (field_expression "paVar37->section" identifier -> field_identifier) -> field_identifier) & number_literal) )) == number_literal) ))) )) ))) )) (goto_statement "goto LAB_00019203;" goto statement_identifier ;)) (labeled_statement "LAB_0001943c:\n            pbVar50 = pbVar50 + 1;" statement_identifier : (expression_statement "pbVar50 = pbVar50 + 1;" (assignment_expression "pbVar50 = pbVar50 + 1" identifier = (binary_expression "pbVar50 + 1" identifier + number_literal)) ;)) (expression_statement "paVar37->name = (char *)pbVar50;" (assignment_expression "paVar37->name = (char *)pbVar50" (field_expression "paVar37->name" identifier -> field_identifier) = (cast_expression "(char *)pbVar50" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (goto_statement "goto LAB_00019203;" goto statement_identifier ;) })) (expression_statement "bVar17 = obfd->xvec->symbol_leading_char;" (assignment_expression "bVar17 = obfd->xvec->symbol_leading_char" identifier = (field_expression "obfd->xvec->symbol_leading_char" (field_expression "obfd->xvec" identifier -> field_identifier) -> field_identifier)) ;) (if_statement "if (bVar17 == '\0') goto LAB_0001943c;" if (parenthesized_expression "(bVar17 == '\0')" ( (binary_expression "bVar17 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0001943c;" goto statement_identifier ;)) (if_statement "if (prefix_symbols_string != (char *)0x0) {\n            pbVar50 = pbVar50 + 1;\n            paVar37->name = (char *)pbVar50;\n            goto LAB_0001945b;\n          }" if (parenthesized_expression "(prefix_symbols_string != (char *)0x0)" ( (binary_expression "prefix_symbols_string != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            pbVar50 = pbVar50 + 1;\n            paVar37->name = (char *)pbVar50;\n            goto LAB_0001945b;\n          }" { (expression_statement "pbVar50 = pbVar50 + 1;" (assignment_expression "pbVar50 = pbVar50 + 1" identifier = (binary_expression "pbVar50 + 1" identifier + number_literal)) ;) (expression_statement "paVar37->name = (char *)pbVar50;" (assignment_expression "paVar37->name = (char *)pbVar50" (field_expression "paVar37->name" identifier -> field_identifier) = (cast_expression "(char *)pbVar50" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (goto_statement "goto LAB_0001945b;" goto statement_identifier ;) })) (expression_statement "*pbVar50 = bVar17;" (assignment_expression "*pbVar50 = bVar17" (pointer_expression "*pbVar50" * identifier) = identifier) ;) (expression_statement "paVar37->name = (char *)pbVar50;" (assignment_expression "paVar37->name = (char *)pbVar50" (field_expression "paVar37->name" identifier -> field_identifier) = (cast_expression "(char *)pbVar50" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) }) (else_clause "else {\n          if (((change_leading_char == 0) || (obfd->xvec->symbol_leading_char == '\0')) ||\n             (bVar17 != '\0')) {\nLAB_00019203:\n            if (pcVar24 == (char *)0x0) goto LAB_0001926f;\n            sVar34 = strlen(pcVar24);\n            sVar35 = strlen((char *)pbVar50);\n            pbVar36 = (bfd_byte *)xmalloc(sVar34 + 2 + sVar35);\n            local_5c = (bfd *)pbVar36;\n          }\n          else {\nLAB_0001945b:\n            sVar34 = strlen(pcVar24);\n            sVar35 = strlen((char *)pbVar50);\n            pbVar36 = (bfd_byte *)xmalloc(sVar34 + 2 + sVar35);\n            local_5c = (bfd *)(pbVar36 + 1);\n            *pbVar36 = obfd->xvec->symbol_leading_char;\n          }\n          pcVar24 = prefix_symbols_string;\n          if (prefix_symbols_string != (char *)0x0) {\n            strcpy((char *)local_5c,prefix_symbols_string);\n            sVar34 = strlen(pcVar24);\n            local_5c = (bfd *)((int)local_5c + sVar34);\n          }\n          strcpy((char *)local_5c,(char *)pbVar50);\n          paVar37->name = (char *)pbVar36;\n          pbVar50 = pbVar36;\n        }" else (compound_statement "{\n          if (((change_leading_char == 0) || (obfd->xvec->symbol_leading_char == '\0')) ||\n             (bVar17 != '\0')) {\nLAB_00019203:\n            if (pcVar24 == (char *)0x0) goto LAB_0001926f;\n            sVar34 = strlen(pcVar24);\n            sVar35 = strlen((char *)pbVar50);\n            pbVar36 = (bfd_byte *)xmalloc(sVar34 + 2 + sVar35);\n            local_5c = (bfd *)pbVar36;\n          }\n          else {\nLAB_0001945b:\n            sVar34 = strlen(pcVar24);\n            sVar35 = strlen((char *)pbVar50);\n            pbVar36 = (bfd_byte *)xmalloc(sVar34 + 2 + sVar35);\n            local_5c = (bfd *)(pbVar36 + 1);\n            *pbVar36 = obfd->xvec->symbol_leading_char;\n          }\n          pcVar24 = prefix_symbols_string;\n          if (prefix_symbols_string != (char *)0x0) {\n            strcpy((char *)local_5c,prefix_symbols_string);\n            sVar34 = strlen(pcVar24);\n            local_5c = (bfd *)((int)local_5c + sVar34);\n          }\n          strcpy((char *)local_5c,(char *)pbVar50);\n          paVar37->name = (char *)pbVar36;\n          pbVar50 = pbVar36;\n        }" { (if_statement "if (((change_leading_char == 0) || (obfd->xvec->symbol_leading_char == '\0')) ||\n             (bVar17 != '\0')) {\nLAB_00019203:\n            if (pcVar24 == (char *)0x0) goto LAB_0001926f;\n            sVar34 = strlen(pcVar24);\n            sVar35 = strlen((char *)pbVar50);\n            pbVar36 = (bfd_byte *)xmalloc(sVar34 + 2 + sVar35);\n            local_5c = (bfd *)pbVar36;\n          }\n          else {\nLAB_0001945b:\n            sVar34 = strlen(pcVar24);\n            sVar35 = strlen((char *)pbVar50);\n            pbVar36 = (bfd_byte *)xmalloc(sVar34 + 2 + sVar35);\n            local_5c = (bfd *)(pbVar36 + 1);\n            *pbVar36 = obfd->xvec->symbol_leading_char;\n          }" if (parenthesized_expression "(((change_leading_char == 0) || (obfd->xvec->symbol_leading_char == '\0')) ||\n             (bVar17 != '\0'))" ( (binary_expression "((change_leading_char == 0) || (obfd->xvec->symbol_leading_char == '\0')) ||\n             (bVar17 != '\0')" (parenthesized_expression "((change_leading_char == 0) || (obfd->xvec->symbol_leading_char == '\0'))" ( (binary_expression "(change_leading_char == 0) || (obfd->xvec->symbol_leading_char == '\0')" (parenthesized_expression "(change_leading_char == 0)" ( (binary_expression "change_leading_char == 0" identifier == number_literal) )) || (parenthesized_expression "(obfd->xvec->symbol_leading_char == '\0')" ( (binary_expression "obfd->xvec->symbol_leading_char == '\0'" (field_expression "obfd->xvec->symbol_leading_char" (field_expression "obfd->xvec" identifier -> field_identifier) -> field_identifier) == (char_literal "'\0'" ' escape_sequence ')) ))) )) || (parenthesized_expression "(bVar17 != '\0')" ( (binary_expression "bVar17 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\nLAB_00019203:\n            if (pcVar24 == (char *)0x0) goto LAB_0001926f;\n            sVar34 = strlen(pcVar24);\n            sVar35 = strlen((char *)pbVar50);\n            pbVar36 = (bfd_byte *)xmalloc(sVar34 + 2 + sVar35);\n            local_5c = (bfd *)pbVar36;\n          }" { (labeled_statement "LAB_00019203:\n            if (pcVar24 == (char *)0x0) goto LAB_0001926f;" statement_identifier : (if_statement "if (pcVar24 == (char *)0x0) goto LAB_0001926f;" if (parenthesized_expression "(pcVar24 == (char *)0x0)" ( (binary_expression "pcVar24 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0001926f;" goto statement_identifier ;))) (expression_statement "sVar34 = strlen(pcVar24);" (assignment_expression "sVar34 = strlen(pcVar24)" identifier = (call_expression "strlen(pcVar24)" identifier (argument_list "(pcVar24)" ( identifier )))) ;) (expression_statement "sVar35 = strlen((char *)pbVar50);" (assignment_expression "sVar35 = strlen((char *)pbVar50)" identifier = (call_expression "strlen((char *)pbVar50)" identifier (argument_list "((char *)pbVar50)" ( (cast_expression "(char *)pbVar50" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "pbVar36 = (bfd_byte *)xmalloc(sVar34 + 2 + sVar35);" (assignment_expression "pbVar36 = (bfd_byte *)xmalloc(sVar34 + 2 + sVar35)" identifier = (cast_expression "(bfd_byte *)xmalloc(sVar34 + 2 + sVar35)" ( (type_descriptor "bfd_byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(sVar34 + 2 + sVar35)" identifier (argument_list "(sVar34 + 2 + sVar35)" ( (binary_expression "sVar34 + 2 + sVar35" (binary_expression "sVar34 + 2" identifier + number_literal) + identifier) ))))) ;) (expression_statement "local_5c = (bfd *)pbVar36;" (assignment_expression "local_5c = (bfd *)pbVar36" identifier = (cast_expression "(bfd *)pbVar36" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) }) (else_clause "else {\nLAB_0001945b:\n            sVar34 = strlen(pcVar24);\n            sVar35 = strlen((char *)pbVar50);\n            pbVar36 = (bfd_byte *)xmalloc(sVar34 + 2 + sVar35);\n            local_5c = (bfd *)(pbVar36 + 1);\n            *pbVar36 = obfd->xvec->symbol_leading_char;\n          }" else (compound_statement "{\nLAB_0001945b:\n            sVar34 = strlen(pcVar24);\n            sVar35 = strlen((char *)pbVar50);\n            pbVar36 = (bfd_byte *)xmalloc(sVar34 + 2 + sVar35);\n            local_5c = (bfd *)(pbVar36 + 1);\n            *pbVar36 = obfd->xvec->symbol_leading_char;\n          }" { (labeled_statement "LAB_0001945b:\n            sVar34 = strlen(pcVar24);" statement_identifier : (expression_statement "sVar34 = strlen(pcVar24);" (assignment_expression "sVar34 = strlen(pcVar24)" identifier = (call_expression "strlen(pcVar24)" identifier (argument_list "(pcVar24)" ( identifier )))) ;)) (expression_statement "sVar35 = strlen((char *)pbVar50);" (assignment_expression "sVar35 = strlen((char *)pbVar50)" identifier = (call_expression "strlen((char *)pbVar50)" identifier (argument_list "((char *)pbVar50)" ( (cast_expression "(char *)pbVar50" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "pbVar36 = (bfd_byte *)xmalloc(sVar34 + 2 + sVar35);" (assignment_expression "pbVar36 = (bfd_byte *)xmalloc(sVar34 + 2 + sVar35)" identifier = (cast_expression "(bfd_byte *)xmalloc(sVar34 + 2 + sVar35)" ( (type_descriptor "bfd_byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(sVar34 + 2 + sVar35)" identifier (argument_list "(sVar34 + 2 + sVar35)" ( (binary_expression "sVar34 + 2 + sVar35" (binary_expression "sVar34 + 2" identifier + number_literal) + identifier) ))))) ;) (expression_statement "local_5c = (bfd *)(pbVar36 + 1);" (assignment_expression "local_5c = (bfd *)(pbVar36 + 1)" identifier = (cast_expression "(bfd *)(pbVar36 + 1)" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar36 + 1)" ( (binary_expression "pbVar36 + 1" identifier + number_literal) )))) ;) (expression_statement "*pbVar36 = obfd->xvec->symbol_leading_char;" (assignment_expression "*pbVar36 = obfd->xvec->symbol_leading_char" (pointer_expression "*pbVar36" * identifier) = (field_expression "obfd->xvec->symbol_leading_char" (field_expression "obfd->xvec" identifier -> field_identifier) -> field_identifier)) ;) }))) (expression_statement "pcVar24 = prefix_symbols_string;" (assignment_expression "pcVar24 = prefix_symbols_string" identifier = identifier) ;) (if_statement "if (prefix_symbols_string != (char *)0x0) {\n            strcpy((char *)local_5c,prefix_symbols_string);\n            sVar34 = strlen(pcVar24);\n            local_5c = (bfd *)((int)local_5c + sVar34);\n          }" if (parenthesized_expression "(prefix_symbols_string != (char *)0x0)" ( (binary_expression "prefix_symbols_string != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            strcpy((char *)local_5c,prefix_symbols_string);\n            sVar34 = strlen(pcVar24);\n            local_5c = (bfd *)((int)local_5c + sVar34);\n          }" { (expression_statement "strcpy((char *)local_5c,prefix_symbols_string);" (call_expression "strcpy((char *)local_5c,prefix_symbols_string)" identifier (argument_list "((char *)local_5c,prefix_symbols_string)" ( (cast_expression "(char *)local_5c" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;) (expression_statement "sVar34 = strlen(pcVar24);" (assignment_expression "sVar34 = strlen(pcVar24)" identifier = (call_expression "strlen(pcVar24)" identifier (argument_list "(pcVar24)" ( identifier )))) ;) (expression_statement "local_5c = (bfd *)((int)local_5c + sVar34);" (assignment_expression "local_5c = (bfd *)((int)local_5c + sVar34)" identifier = (cast_expression "(bfd *)((int)local_5c + sVar34)" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_5c + sVar34)" ( (binary_expression "(int)local_5c + sVar34" (cast_expression "(int)local_5c" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) })) (expression_statement "strcpy((char *)local_5c,(char *)pbVar50);" (call_expression "strcpy((char *)local_5c,(char *)pbVar50)" identifier (argument_list "((char *)local_5c,(char *)pbVar50)" ( (cast_expression "(char *)local_5c" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(char *)pbVar50" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (expression_statement "paVar37->name = (char *)pbVar36;" (assignment_expression "paVar37->name = (char *)pbVar36" (field_expression "paVar37->name" identifier -> field_identifier) = (cast_expression "(char *)pbVar36" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pbVar50 = pbVar36;" (assignment_expression "pbVar50 = pbVar36" identifier = identifier) ;) }))) (labeled_statement "LAB_0001926f:\n        if (strip_symbols == STRIP_ALL) goto LAB_000192f8;" statement_identifier : (if_statement "if (strip_symbols == STRIP_ALL) goto LAB_000192f8;" if (parenthesized_expression "(strip_symbols == STRIP_ALL)" ( (binary_expression "strip_symbols == STRIP_ALL" identifier == identifier) )) (goto_statement "goto LAB_000192f8;" goto statement_identifier ;))) (if_statement "if ((uVar47 & 0x20) == 0) {\n          if (((uVar47 & 0x100) == 0) || (((*paVar37->section->symbol_ptr_ptr)->flags & 0x20) == 0))\n          {\n            if ((((uVar58 >> 5 & 0x42) == 0) &&\n                (((uVar47 & 0x82) != 0 || ((paVar37->section->flags & 0x1000) != 0)))) ||\n               (iVar18 = bfd_decode_symclass(paVar37), iVar18 == 0x49)) {\nLAB_00019528:\n              bVar21 = is_specified_symbol((char *)pbVar50,strip_specific_htab);\n              if (bVar21 == 0) goto LAB_000192e0;\n            }\n            else if ((((uVar47 & 0x82) == 0) &&\n                     (pbVar54 != (bfd_section *)(PTR__bfd_std_section_0003efc8 + 0xa8))) &&\n                    ((paVar37->section->flags & 0x1000) == 0)) {\n              if ((uVar47 & 4) == 0) {\n                if (((ibfd->xvec->flavour != bfd_target_coff_flavour) ||\n                    (pvVar70 = paVar37->section->used_by_bfd, pvVar70 == (void *)0x0)) ||\n                   (*(int *)((int)pvVar70 + 0x24) == 0)) {\n                  if ((strip_symbols == STRIP_UNNEEDED) || (discard_locals == LOCALS_ALL))\n                  goto LAB_000192f8;\n                  if (discard_locals == LOCALS_START_L) {\n                    iVar18 = bfd_is_local_label(ibfd,paVar37,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }\n                goto LAB_00019528;\n              }\n              iVar18 = convert_debugging;\n              if (1 < strip_symbols - STRIP_DEBUG) {\njoined_r0x0001a13f:\n                if (iVar18 == 0) goto LAB_00019528;\n              }\n            }\n            else if (strip_symbols != STRIP_UNNEEDED) goto LAB_00019528;\n          }\n          else {\n            bVar21 = is_specified_symbol((char *)pbVar50,strip_specific_htab);\n            if (bVar21 != 0) {\n              pcVar24 = (char *)dcgettext(0,\n                                          "not stripping symbol `%s\' because it is named in a relocation"\n                                          ,5,bVar21);\n              non_fatal(pcVar24,pbVar50);\n              status = 1;\n            }\nLAB_000192e0:\n            bVar21 = is_specified_symbol((char *)pbVar50,strip_unneeded_htab);\n            if (bVar21 == 0) goto LAB_0001931c;\n          }\nLAB_000192f8:\n          if (((keep_file_symbols != 0) && ((uVar47 & 0x4000) != 0)) ||\n             (bVar21 = is_specified_symbol((char *)pbVar50,keep_specific_htab), bVar21 != 0))\n          goto LAB_0001931c;\n        }\n        else {\n          bVar21 = is_specified_symbol((char *)pbVar50,strip_specific_htab);\n          if (bVar21 != 0) {\n            pcVar24 = (char *)dcgettext(0,\n                                        "not stripping symbol `%s\' because it is named in a relocation"\n                                        ,5);\n            non_fatal(pcVar24,pbVar50);\n            status = 1;\n          }\nLAB_0001931c:\n          bVar21 = is_strip_section(in_stack_ffffff54,(asection *)in_stack_ffffff58);\n          if (bVar21 == 0) {\n            if (((uVar47 & 2) != 0) &&\n               ((weaken != 0 ||\n                (bVar21 = is_specified_symbol((char *)pbVar50,weaken_specific_htab), bVar21 != 0))))\n            {\n              paVar37->flags = paVar37->flags & 0xfffffffd | 0x80;\n            }\n            if (pbVar54 != (bfd_section *)(PTR__bfd_std_section_0003efc8 + 0xa8)) {\n              if (((uVar47 & 0x82) != 0) &&\n                 (((bVar21 = is_specified_symbol((char *)pbVar50,localize_specific_htab),\n                   bVar21 != 0 ||\n                   ((iVar18 = htab_elements(keepglobal_specific_htab), iVar18 != 0 &&\n                    (bVar21 = is_specified_symbol((char *)pbVar50,keepglobal_specific_htab),\n                    bVar21 == 0)))) ||\n                  ((localize_hidden != 0 &&\n                   ((((pbVar62 = paVar37->the_bfd, pbVar62 != (bfd *)0x0 &&\n                      (pbVar62->xvec->flavour == bfd_target_elf_flavour)) &&\n                     ((pbVar62->tdata).aout_data != (aout_data_struct *)0x0)) &&\n                    ((*(byte *)((int)&paVar37[1].flags + 1) & 3) - 1 < 2)))))))) {\n                paVar37->flags = paVar37->flags & 0xffffff7d | 1;\n              }\n              if (((uVar47 & 1) != 0) &&\n                 (bVar21 = is_specified_symbol((char *)pbVar50,globalize_specific_htab), bVar21 != 0\n                 )) {\n                paVar37->flags = paVar37->flags & 0xfffffffe | 2;\n              }\n            }\n            ppaVar31[local_70] = paVar37;\n            local_70 = local_70 + 1;\n          }\n        }" if (parenthesized_expression "((uVar47 & 0x20) == 0)" ( (binary_expression "(uVar47 & 0x20) == 0" (parenthesized_expression "(uVar47 & 0x20)" ( (binary_expression "uVar47 & 0x20" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n          if (((uVar47 & 0x100) == 0) || (((*paVar37->section->symbol_ptr_ptr)->flags & 0x20) == 0))\n          {\n            if ((((uVar58 >> 5 & 0x42) == 0) &&\n                (((uVar47 & 0x82) != 0 || ((paVar37->section->flags & 0x1000) != 0)))) ||\n               (iVar18 = bfd_decode_symclass(paVar37), iVar18 == 0x49)) {\nLAB_00019528:\n              bVar21 = is_specified_symbol((char *)pbVar50,strip_specific_htab);\n              if (bVar21 == 0) goto LAB_000192e0;\n            }\n            else if ((((uVar47 & 0x82) == 0) &&\n                     (pbVar54 != (bfd_section *)(PTR__bfd_std_section_0003efc8 + 0xa8))) &&\n                    ((paVar37->section->flags & 0x1000) == 0)) {\n              if ((uVar47 & 4) == 0) {\n                if (((ibfd->xvec->flavour != bfd_target_coff_flavour) ||\n                    (pvVar70 = paVar37->section->used_by_bfd, pvVar70 == (void *)0x0)) ||\n                   (*(int *)((int)pvVar70 + 0x24) == 0)) {\n                  if ((strip_symbols == STRIP_UNNEEDED) || (discard_locals == LOCALS_ALL))\n                  goto LAB_000192f8;\n                  if (discard_locals == LOCALS_START_L) {\n                    iVar18 = bfd_is_local_label(ibfd,paVar37,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }\n                goto LAB_00019528;\n              }\n              iVar18 = convert_debugging;\n              if (1 < strip_symbols - STRIP_DEBUG) {\njoined_r0x0001a13f:\n                if (iVar18 == 0) goto LAB_00019528;\n              }\n            }\n            else if (strip_symbols != STRIP_UNNEEDED) goto LAB_00019528;\n          }\n          else {\n            bVar21 = is_specified_symbol((char *)pbVar50,strip_specific_htab);\n            if (bVar21 != 0) {\n              pcVar24 = (char *)dcgettext(0,\n                                          "not stripping symbol `%s\' because it is named in a relocation"\n                                          ,5,bVar21);\n              non_fatal(pcVar24,pbVar50);\n              status = 1;\n            }\nLAB_000192e0:\n            bVar21 = is_specified_symbol((char *)pbVar50,strip_unneeded_htab);\n            if (bVar21 == 0) goto LAB_0001931c;\n          }\nLAB_000192f8:\n          if (((keep_file_symbols != 0) && ((uVar47 & 0x4000) != 0)) ||\n             (bVar21 = is_specified_symbol((char *)pbVar50,keep_specific_htab), bVar21 != 0))\n          goto LAB_0001931c;\n        }" { (if_statement "if (((uVar47 & 0x100) == 0) || (((*paVar37->section->symbol_ptr_ptr)->flags & 0x20) == 0))\n          {\n            if ((((uVar58 >> 5 & 0x42) == 0) &&\n                (((uVar47 & 0x82) != 0 || ((paVar37->section->flags & 0x1000) != 0)))) ||\n               (iVar18 = bfd_decode_symclass(paVar37), iVar18 == 0x49)) {\nLAB_00019528:\n              bVar21 = is_specified_symbol((char *)pbVar50,strip_specific_htab);\n              if (bVar21 == 0) goto LAB_000192e0;\n            }\n            else if ((((uVar47 & 0x82) == 0) &&\n                     (pbVar54 != (bfd_section *)(PTR__bfd_std_section_0003efc8 + 0xa8))) &&\n                    ((paVar37->section->flags & 0x1000) == 0)) {\n              if ((uVar47 & 4) == 0) {\n                if (((ibfd->xvec->flavour != bfd_target_coff_flavour) ||\n                    (pvVar70 = paVar37->section->used_by_bfd, pvVar70 == (void *)0x0)) ||\n                   (*(int *)((int)pvVar70 + 0x24) == 0)) {\n                  if ((strip_symbols == STRIP_UNNEEDED) || (discard_locals == LOCALS_ALL))\n                  goto LAB_000192f8;\n                  if (discard_locals == LOCALS_START_L) {\n                    iVar18 = bfd_is_local_label(ibfd,paVar37,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }\n                goto LAB_00019528;\n              }\n              iVar18 = convert_debugging;\n              if (1 < strip_symbols - STRIP_DEBUG) {\njoined_r0x0001a13f:\n                if (iVar18 == 0) goto LAB_00019528;\n              }\n            }\n            else if (strip_symbols != STRIP_UNNEEDED) goto LAB_00019528;\n          }\n          else {\n            bVar21 = is_specified_symbol((char *)pbVar50,strip_specific_htab);\n            if (bVar21 != 0) {\n              pcVar24 = (char *)dcgettext(0,\n                                          "not stripping symbol `%s\' because it is named in a relocation"\n                                          ,5,bVar21);\n              non_fatal(pcVar24,pbVar50);\n              status = 1;\n            }\nLAB_000192e0:\n            bVar21 = is_specified_symbol((char *)pbVar50,strip_unneeded_htab);\n            if (bVar21 == 0) goto LAB_0001931c;\n          }" if (parenthesized_expression "(((uVar47 & 0x100) == 0) || (((*paVar37->section->symbol_ptr_ptr)->flags & 0x20) == 0))" ( (binary_expression "((uVar47 & 0x100) == 0) || (((*paVar37->section->symbol_ptr_ptr)->flags & 0x20) == 0)" (parenthesized_expression "((uVar47 & 0x100) == 0)" ( (binary_expression "(uVar47 & 0x100) == 0" (parenthesized_expression "(uVar47 & 0x100)" ( (binary_expression "uVar47 & 0x100" identifier & number_literal) )) == number_literal) )) || (parenthesized_expression "(((*paVar37->section->symbol_ptr_ptr)->flags & 0x20) == 0)" ( (binary_expression "((*paVar37->section->symbol_ptr_ptr)->flags & 0x20) == 0" (parenthesized_expression "((*paVar37->section->symbol_ptr_ptr)->flags & 0x20)" ( (binary_expression "(*paVar37->section->symbol_ptr_ptr)->flags & 0x20" (field_expression "(*paVar37->section->symbol_ptr_ptr)->flags" (parenthesized_expression "(*paVar37->section->symbol_ptr_ptr)" ( (pointer_expression "*paVar37->section->symbol_ptr_ptr" * (field_expression "paVar37->section->symbol_ptr_ptr" (field_expression "paVar37->section" identifier -> field_identifier) -> field_identifier)) )) -> field_identifier) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n            if ((((uVar58 >> 5 & 0x42) == 0) &&\n                (((uVar47 & 0x82) != 0 || ((paVar37->section->flags & 0x1000) != 0)))) ||\n               (iVar18 = bfd_decode_symclass(paVar37), iVar18 == 0x49)) {\nLAB_00019528:\n              bVar21 = is_specified_symbol((char *)pbVar50,strip_specific_htab);\n              if (bVar21 == 0) goto LAB_000192e0;\n            }\n            else if ((((uVar47 & 0x82) == 0) &&\n                     (pbVar54 != (bfd_section *)(PTR__bfd_std_section_0003efc8 + 0xa8))) &&\n                    ((paVar37->section->flags & 0x1000) == 0)) {\n              if ((uVar47 & 4) == 0) {\n                if (((ibfd->xvec->flavour != bfd_target_coff_flavour) ||\n                    (pvVar70 = paVar37->section->used_by_bfd, pvVar70 == (void *)0x0)) ||\n                   (*(int *)((int)pvVar70 + 0x24) == 0)) {\n                  if ((strip_symbols == STRIP_UNNEEDED) || (discard_locals == LOCALS_ALL))\n                  goto LAB_000192f8;\n                  if (discard_locals == LOCALS_START_L) {\n                    iVar18 = bfd_is_local_label(ibfd,paVar37,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }\n                goto LAB_00019528;\n              }\n              iVar18 = convert_debugging;\n              if (1 < strip_symbols - STRIP_DEBUG) {\njoined_r0x0001a13f:\n                if (iVar18 == 0) goto LAB_00019528;\n              }\n            }\n            else if (strip_symbols != STRIP_UNNEEDED) goto LAB_00019528;\n          }" { (if_statement "if ((((uVar58 >> 5 & 0x42) == 0) &&\n                (((uVar47 & 0x82) != 0 || ((paVar37->section->flags & 0x1000) != 0)))) ||\n               (iVar18 = bfd_decode_symclass(paVar37), iVar18 == 0x49)) {\nLAB_00019528:\n              bVar21 = is_specified_symbol((char *)pbVar50,strip_specific_htab);\n              if (bVar21 == 0) goto LAB_000192e0;\n            }\n            else if ((((uVar47 & 0x82) == 0) &&\n                     (pbVar54 != (bfd_section *)(PTR__bfd_std_section_0003efc8 + 0xa8))) &&\n                    ((paVar37->section->flags & 0x1000) == 0)) {\n              if ((uVar47 & 4) == 0) {\n                if (((ibfd->xvec->flavour != bfd_target_coff_flavour) ||\n                    (pvVar70 = paVar37->section->used_by_bfd, pvVar70 == (void *)0x0)) ||\n                   (*(int *)((int)pvVar70 + 0x24) == 0)) {\n                  if ((strip_symbols == STRIP_UNNEEDED) || (discard_locals == LOCALS_ALL))\n                  goto LAB_000192f8;\n                  if (discard_locals == LOCALS_START_L) {\n                    iVar18 = bfd_is_local_label(ibfd,paVar37,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }\n                goto LAB_00019528;\n              }\n              iVar18 = convert_debugging;\n              if (1 < strip_symbols - STRIP_DEBUG) {\njoined_r0x0001a13f:\n                if (iVar18 == 0) goto LAB_00019528;\n              }\n            }\n            else if (strip_symbols != STRIP_UNNEEDED) goto LAB_00019528;" if (parenthesized_expression "((((uVar58 >> 5 & 0x42) == 0) &&\n                (((uVar47 & 0x82) != 0 || ((paVar37->section->flags & 0x1000) != 0)))) ||\n               (iVar18 = bfd_decode_symclass(paVar37), iVar18 == 0x49))" ( (binary_expression "(((uVar58 >> 5 & 0x42) == 0) &&\n                (((uVar47 & 0x82) != 0 || ((paVar37->section->flags & 0x1000) != 0)))) ||\n               (iVar18 = bfd_decode_symclass(paVar37), iVar18 == 0x49)" (parenthesized_expression "(((uVar58 >> 5 & 0x42) == 0) &&\n                (((uVar47 & 0x82) != 0 || ((paVar37->section->flags & 0x1000) != 0))))" ( (binary_expression "((uVar58 >> 5 & 0x42) == 0) &&\n                (((uVar47 & 0x82) != 0 || ((paVar37->section->flags & 0x1000) != 0)))" (parenthesized_expression "((uVar58 >> 5 & 0x42) == 0)" ( (binary_expression "(uVar58 >> 5 & 0x42) == 0" (parenthesized_expression "(uVar58 >> 5 & 0x42)" ( (binary_expression "uVar58 >> 5 & 0x42" (binary_expression "uVar58 >> 5" identifier >> number_literal) & number_literal) )) == number_literal) )) && (parenthesized_expression "(((uVar47 & 0x82) != 0 || ((paVar37->section->flags & 0x1000) != 0)))" ( (parenthesized_expression "((uVar47 & 0x82) != 0 || ((paVar37->section->flags & 0x1000) != 0))" ( (binary_expression "(uVar47 & 0x82) != 0 || ((paVar37->section->flags & 0x1000) != 0)" (binary_expression "(uVar47 & 0x82) != 0" (parenthesized_expression "(uVar47 & 0x82)" ( (binary_expression "uVar47 & 0x82" identifier & number_literal) )) != number_literal) || (parenthesized_expression "((paVar37->section->flags & 0x1000) != 0)" ( (binary_expression "(paVar37->section->flags & 0x1000) != 0" (parenthesized_expression "(paVar37->section->flags & 0x1000)" ( (binary_expression "paVar37->section->flags & 0x1000" (field_expression "paVar37->section->flags" (field_expression "paVar37->section" identifier -> field_identifier) -> field_identifier) & number_literal) )) != number_literal) ))) )) ))) )) || (parenthesized_expression "(iVar18 = bfd_decode_symclass(paVar37), iVar18 == 0x49)" ( (comma_expression "iVar18 = bfd_decode_symclass(paVar37), iVar18 == 0x49" (assignment_expression "iVar18 = bfd_decode_symclass(paVar37)" identifier = (call_expression "bfd_decode_symclass(paVar37)" identifier (argument_list "(paVar37)" ( identifier )))) , (binary_expression "iVar18 == 0x49" identifier == number_literal)) ))) )) (compound_statement "{\nLAB_00019528:\n              bVar21 = is_specified_symbol((char *)pbVar50,strip_specific_htab);\n              if (bVar21 == 0) goto LAB_000192e0;\n            }" { (labeled_statement "LAB_00019528:\n              bVar21 = is_specified_symbol((char *)pbVar50,strip_specific_htab);" statement_identifier : (expression_statement "bVar21 = is_specified_symbol((char *)pbVar50,strip_specific_htab);" (assignment_expression "bVar21 = is_specified_symbol((char *)pbVar50,strip_specific_htab)" identifier = (call_expression "is_specified_symbol((char *)pbVar50,strip_specific_htab)" identifier (argument_list "((char *)pbVar50,strip_specific_htab)" ( (cast_expression "(char *)pbVar50" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , identifier )))) ;)) (if_statement "if (bVar21 == 0) goto LAB_000192e0;" if (parenthesized_expression "(bVar21 == 0)" ( (binary_expression "bVar21 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000192e0;" goto statement_identifier ;)) }) (else_clause "else if ((((uVar47 & 0x82) == 0) &&\n                     (pbVar54 != (bfd_section *)(PTR__bfd_std_section_0003efc8 + 0xa8))) &&\n                    ((paVar37->section->flags & 0x1000) == 0)) {\n              if ((uVar47 & 4) == 0) {\n                if (((ibfd->xvec->flavour != bfd_target_coff_flavour) ||\n                    (pvVar70 = paVar37->section->used_by_bfd, pvVar70 == (void *)0x0)) ||\n                   (*(int *)((int)pvVar70 + 0x24) == 0)) {\n                  if ((strip_symbols == STRIP_UNNEEDED) || (discard_locals == LOCALS_ALL))\n                  goto LAB_000192f8;\n                  if (discard_locals == LOCALS_START_L) {\n                    iVar18 = bfd_is_local_label(ibfd,paVar37,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }\n                goto LAB_00019528;\n              }\n              iVar18 = convert_debugging;\n              if (1 < strip_symbols - STRIP_DEBUG) {\njoined_r0x0001a13f:\n                if (iVar18 == 0) goto LAB_00019528;\n              }\n            }\n            else if (strip_symbols != STRIP_UNNEEDED) goto LAB_00019528;" else (if_statement "if ((((uVar47 & 0x82) == 0) &&\n                     (pbVar54 != (bfd_section *)(PTR__bfd_std_section_0003efc8 + 0xa8))) &&\n                    ((paVar37->section->flags & 0x1000) == 0)) {\n              if ((uVar47 & 4) == 0) {\n                if (((ibfd->xvec->flavour != bfd_target_coff_flavour) ||\n                    (pvVar70 = paVar37->section->used_by_bfd, pvVar70 == (void *)0x0)) ||\n                   (*(int *)((int)pvVar70 + 0x24) == 0)) {\n                  if ((strip_symbols == STRIP_UNNEEDED) || (discard_locals == LOCALS_ALL))\n                  goto LAB_000192f8;\n                  if (discard_locals == LOCALS_START_L) {\n                    iVar18 = bfd_is_local_label(ibfd,paVar37,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }\n                goto LAB_00019528;\n              }\n              iVar18 = convert_debugging;\n              if (1 < strip_symbols - STRIP_DEBUG) {\njoined_r0x0001a13f:\n                if (iVar18 == 0) goto LAB_00019528;\n              }\n            }\n            else if (strip_symbols != STRIP_UNNEEDED) goto LAB_00019528;" if (parenthesized_expression "((((uVar47 & 0x82) == 0) &&\n                     (pbVar54 != (bfd_section *)(PTR__bfd_std_section_0003efc8 + 0xa8))) &&\n                    ((paVar37->section->flags & 0x1000) == 0))" ( (binary_expression "(((uVar47 & 0x82) == 0) &&\n                     (pbVar54 != (bfd_section *)(PTR__bfd_std_section_0003efc8 + 0xa8))) &&\n                    ((paVar37->section->flags & 0x1000) == 0)" (parenthesized_expression "(((uVar47 & 0x82) == 0) &&\n                     (pbVar54 != (bfd_section *)(PTR__bfd_std_section_0003efc8 + 0xa8)))" ( (binary_expression "((uVar47 & 0x82) == 0) &&\n                     (pbVar54 != (bfd_section *)(PTR__bfd_std_section_0003efc8 + 0xa8))" (parenthesized_expression "((uVar47 & 0x82) == 0)" ( (binary_expression "(uVar47 & 0x82) == 0" (parenthesized_expression "(uVar47 & 0x82)" ( (binary_expression "uVar47 & 0x82" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "(pbVar54 != (bfd_section *)(PTR__bfd_std_section_0003efc8 + 0xa8))" ( (binary_expression "pbVar54 != (bfd_section *)(PTR__bfd_std_section_0003efc8 + 0xa8)" identifier != (cast_expression "(bfd_section *)(PTR__bfd_std_section_0003efc8 + 0xa8)" ( (type_descriptor "bfd_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR__bfd_std_section_0003efc8 + 0xa8)" ( (binary_expression "PTR__bfd_std_section_0003efc8 + 0xa8" identifier + number_literal) )))) ))) )) && (parenthesized_expression "((paVar37->section->flags & 0x1000) == 0)" ( (binary_expression "(paVar37->section->flags & 0x1000) == 0" (parenthesized_expression "(paVar37->section->flags & 0x1000)" ( (binary_expression "paVar37->section->flags & 0x1000" (field_expression "paVar37->section->flags" (field_expression "paVar37->section" identifier -> field_identifier) -> field_identifier) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n              if ((uVar47 & 4) == 0) {\n                if (((ibfd->xvec->flavour != bfd_target_coff_flavour) ||\n                    (pvVar70 = paVar37->section->used_by_bfd, pvVar70 == (void *)0x0)) ||\n                   (*(int *)((int)pvVar70 + 0x24) == 0)) {\n                  if ((strip_symbols == STRIP_UNNEEDED) || (discard_locals == LOCALS_ALL))\n                  goto LAB_000192f8;\n                  if (discard_locals == LOCALS_START_L) {\n                    iVar18 = bfd_is_local_label(ibfd,paVar37,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }\n                goto LAB_00019528;\n              }\n              iVar18 = convert_debugging;\n              if (1 < strip_symbols - STRIP_DEBUG) {\njoined_r0x0001a13f:\n                if (iVar18 == 0) goto LAB_00019528;\n              }\n            }" { (if_statement "if ((uVar47 & 4) == 0) {\n                if (((ibfd->xvec->flavour != bfd_target_coff_flavour) ||\n                    (pvVar70 = paVar37->section->used_by_bfd, pvVar70 == (void *)0x0)) ||\n                   (*(int *)((int)pvVar70 + 0x24) == 0)) {\n                  if ((strip_symbols == STRIP_UNNEEDED) || (discard_locals == LOCALS_ALL))\n                  goto LAB_000192f8;\n                  if (discard_locals == LOCALS_START_L) {\n                    iVar18 = bfd_is_local_label(ibfd,paVar37,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }\n                goto LAB_00019528;\n              }" if (parenthesized_expression "((uVar47 & 4) == 0)" ( (binary_expression "(uVar47 & 4) == 0" (parenthesized_expression "(uVar47 & 4)" ( (binary_expression "uVar47 & 4" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                if (((ibfd->xvec->flavour != bfd_target_coff_flavour) ||\n                    (pvVar70 = paVar37->section->used_by_bfd, pvVar70 == (void *)0x0)) ||\n                   (*(int *)((int)pvVar70 + 0x24) == 0)) {\n                  if ((strip_symbols == STRIP_UNNEEDED) || (discard_locals == LOCALS_ALL))\n                  goto LAB_000192f8;\n                  if (discard_locals == LOCALS_START_L) {\n                    iVar18 = bfd_is_local_label(ibfd,paVar37,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }\n                goto LAB_00019528;\n              }" { (if_statement "if (((ibfd->xvec->flavour != bfd_target_coff_flavour) ||\n                    (pvVar70 = paVar37->section->used_by_bfd, pvVar70 == (void *)0x0)) ||\n                   (*(int *)((int)pvVar70 + 0x24) == 0)) {\n                  if ((strip_symbols == STRIP_UNNEEDED) || (discard_locals == LOCALS_ALL))\n                  goto LAB_000192f8;\n                  if (discard_locals == LOCALS_START_L) {\n                    iVar18 = bfd_is_local_label(ibfd,paVar37,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }" if (parenthesized_expression "(((ibfd->xvec->flavour != bfd_target_coff_flavour) ||\n                    (pvVar70 = paVar37->section->used_by_bfd, pvVar70 == (void *)0x0)) ||\n                   (*(int *)((int)pvVar70 + 0x24) == 0))" ( (binary_expression "((ibfd->xvec->flavour != bfd_target_coff_flavour) ||\n                    (pvVar70 = paVar37->section->used_by_bfd, pvVar70 == (void *)0x0)) ||\n                   (*(int *)((int)pvVar70 + 0x24) == 0)" (parenthesized_expression "((ibfd->xvec->flavour != bfd_target_coff_flavour) ||\n                    (pvVar70 = paVar37->section->used_by_bfd, pvVar70 == (void *)0x0))" ( (binary_expression "(ibfd->xvec->flavour != bfd_target_coff_flavour) ||\n                    (pvVar70 = paVar37->section->used_by_bfd, pvVar70 == (void *)0x0)" (parenthesized_expression "(ibfd->xvec->flavour != bfd_target_coff_flavour)" ( (binary_expression "ibfd->xvec->flavour != bfd_target_coff_flavour" (field_expression "ibfd->xvec->flavour" (field_expression "ibfd->xvec" identifier -> field_identifier) -> field_identifier) != identifier) )) || (parenthesized_expression "(pvVar70 = paVar37->section->used_by_bfd, pvVar70 == (void *)0x0)" ( (comma_expression "pvVar70 = paVar37->section->used_by_bfd, pvVar70 == (void *)0x0" (assignment_expression "pvVar70 = paVar37->section->used_by_bfd" identifier = (field_expression "paVar37->section->used_by_bfd" (field_expression "paVar37->section" identifier -> field_identifier) -> field_identifier)) , (binary_expression "pvVar70 == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) || (parenthesized_expression "(*(int *)((int)pvVar70 + 0x24) == 0)" ( (binary_expression "*(int *)((int)pvVar70 + 0x24) == 0" (pointer_expression "*(int *)((int)pvVar70 + 0x24)" * (cast_expression "(int *)((int)pvVar70 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar70 + 0x24)" ( (binary_expression "(int)pvVar70 + 0x24" (cast_expression "(int)pvVar70" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n                  if ((strip_symbols == STRIP_UNNEEDED) || (discard_locals == LOCALS_ALL))\n                  goto LAB_000192f8;\n                  if (discard_locals == LOCALS_START_L) {\n                    iVar18 = bfd_is_local_label(ibfd,paVar37,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }" { (if_statement "if ((strip_symbols == STRIP_UNNEEDED) || (discard_locals == LOCALS_ALL))\n                  goto LAB_000192f8;" if (parenthesized_expression "((strip_symbols == STRIP_UNNEEDED) || (discard_locals == LOCALS_ALL))" ( (binary_expression "(strip_symbols == STRIP_UNNEEDED) || (discard_locals == LOCALS_ALL)" (parenthesized_expression "(strip_symbols == STRIP_UNNEEDED)" ( (binary_expression "strip_symbols == STRIP_UNNEEDED" identifier == identifier) )) || (parenthesized_expression "(discard_locals == LOCALS_ALL)" ( (binary_expression "discard_locals == LOCALS_ALL" identifier == identifier) ))) )) (goto_statement "goto LAB_000192f8;" goto statement_identifier ;)) (if_statement "if (discard_locals == LOCALS_START_L) {\n                    iVar18 = bfd_is_local_label(ibfd,paVar37,0,0);\n                    goto joined_r0x0001a13f;\n                  }" if (parenthesized_expression "(discard_locals == LOCALS_START_L)" ( (binary_expression "discard_locals == LOCALS_START_L" identifier == identifier) )) (compound_statement "{\n                    iVar18 = bfd_is_local_label(ibfd,paVar37,0,0);\n                    goto joined_r0x0001a13f;\n                  }" { (expression_statement "iVar18 = bfd_is_local_label(ibfd,paVar37,0,0);" (assignment_expression "iVar18 = bfd_is_local_label(ibfd,paVar37,0,0)" identifier = (call_expression "bfd_is_local_label(ibfd,paVar37,0,0)" identifier (argument_list "(ibfd,paVar37,0,0)" ( identifier , identifier , number_literal , number_literal )))) ;) (goto_statement "goto joined_r0x0001a13f;" goto statement_identifier ;) })) })) (goto_statement "goto LAB_00019528;" goto statement_identifier ;) })) (expression_statement "iVar18 = convert_debugging;" (assignment_expression "iVar18 = convert_debugging" identifier = identifier) ;) (if_statement "if (1 < strip_symbols - STRIP_DEBUG) {\njoined_r0x0001a13f:\n                if (iVar18 == 0) goto LAB_00019528;\n              }" if (parenthesized_expression "(1 < strip_symbols - STRIP_DEBUG)" ( (binary_expression "1 < strip_symbols - STRIP_DEBUG" number_literal < (binary_expression "strip_symbols - STRIP_DEBUG" identifier - identifier)) )) (compound_statement "{\njoined_r0x0001a13f:\n                if (iVar18 == 0) goto LAB_00019528;\n              }" { (labeled_statement "joined_r0x0001a13f:\n                if (iVar18 == 0) goto LAB_00019528;" statement_identifier : (if_statement "if (iVar18 == 0) goto LAB_00019528;" if (parenthesized_expression "(iVar18 == 0)" ( (binary_expression "iVar18 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00019528;" goto statement_identifier ;))) })) }) (else_clause "else if (strip_symbols != STRIP_UNNEEDED) goto LAB_00019528;" else (if_statement "if (strip_symbols != STRIP_UNNEEDED) goto LAB_00019528;" if (parenthesized_expression "(strip_symbols != STRIP_UNNEEDED)" ( (binary_expression "strip_symbols != STRIP_UNNEEDED" identifier != identifier) )) (goto_statement "goto LAB_00019528;" goto statement_identifier ;)))))) }) (else_clause "else {\n            bVar21 = is_specified_symbol((char *)pbVar50,strip_specific_htab);\n            if (bVar21 != 0) {\n              pcVar24 = (char *)dcgettext(0,\n                                          "not stripping symbol `%s\' because it is named in a relocation"\n                                          ,5,bVar21);\n              non_fatal(pcVar24,pbVar50);\n              status = 1;\n            }\nLAB_000192e0:\n            bVar21 = is_specified_symbol((char *)pbVar50,strip_unneeded_htab);\n            if (bVar21 == 0) goto LAB_0001931c;\n          }" else (compound_statement "{\n            bVar21 = is_specified_symbol((char *)pbVar50,strip_specific_htab);\n            if (bVar21 != 0) {\n              pcVar24 = (char *)dcgettext(0,\n                                          "not stripping symbol `%s\' because it is named in a relocation"\n                                          ,5,bVar21);\n              non_fatal(pcVar24,pbVar50);\n              status = 1;\n            }\nLAB_000192e0:\n            bVar21 = is_specified_symbol((char *)pbVar50,strip_unneeded_htab);\n            if (bVar21 == 0) goto LAB_0001931c;\n          }" { (expression_statement "bVar21 = is_specified_symbol((char *)pbVar50,strip_specific_htab);" (assignment_expression "bVar21 = is_specified_symbol((char *)pbVar50,strip_specific_htab)" identifier = (call_expression "is_specified_symbol((char *)pbVar50,strip_specific_htab)" identifier (argument_list "((char *)pbVar50,strip_specific_htab)" ( (cast_expression "(char *)pbVar50" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , identifier )))) ;) (if_statement "if (bVar21 != 0) {\n              pcVar24 = (char *)dcgettext(0,\n                                          "not stripping symbol `%s\' because it is named in a relocation"\n                                          ,5,bVar21);\n              non_fatal(pcVar24,pbVar50);\n              status = 1;\n            }" if (parenthesized_expression "(bVar21 != 0)" ( (binary_expression "bVar21 != 0" identifier != number_literal) )) (compound_statement "{\n              pcVar24 = (char *)dcgettext(0,\n                                          "not stripping symbol `%s\' because it is named in a relocation"\n                                          ,5,bVar21);\n              non_fatal(pcVar24,pbVar50);\n              status = 1;\n            }" { (expression_statement "pcVar24 = (char *)dcgettext(0,\n                                          "not stripping symbol `%s\' because it is named in a relocation"\n                                          ,5,bVar21);" (assignment_expression "pcVar24 = (char *)dcgettext(0,\n                                          "not stripping symbol `%s\' because it is named in a relocation"\n                                          ,5,bVar21)" identifier = (cast_expression "(char *)dcgettext(0,\n                                          "not stripping symbol `%s\' because it is named in a relocation"\n                                          ,5,bVar21)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,\n                                          "not stripping symbol `%s\' because it is named in a relocation"\n                                          ,5,bVar21)" identifier (argument_list "(0,\n                                          "not stripping symbol `%s\' because it is named in a relocation"\n                                          ,5,bVar21)" ( number_literal , (string_literal ""not stripping symbol `%s\' because it is named in a relocation"" " string_content escape_sequence string_content ") , number_literal , identifier ))))) ;) (expression_statement "non_fatal(pcVar24,pbVar50);" (call_expression "non_fatal(pcVar24,pbVar50)" identifier (argument_list "(pcVar24,pbVar50)" ( identifier , identifier ))) ;) (expression_statement "status = 1;" (assignment_expression "status = 1" identifier = number_literal) ;) })) (labeled_statement "LAB_000192e0:\n            bVar21 = is_specified_symbol((char *)pbVar50,strip_unneeded_htab);" statement_identifier : (expression_statement "bVar21 = is_specified_symbol((char *)pbVar50,strip_unneeded_htab);" (assignment_expression "bVar21 = is_specified_symbol((char *)pbVar50,strip_unneeded_htab)" identifier = (call_expression "is_specified_symbol((char *)pbVar50,strip_unneeded_htab)" identifier (argument_list "((char *)pbVar50,strip_unneeded_htab)" ( (cast_expression "(char *)pbVar50" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , identifier )))) ;)) (if_statement "if (bVar21 == 0) goto LAB_0001931c;" if (parenthesized_expression "(bVar21 == 0)" ( (binary_expression "bVar21 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001931c;" goto statement_identifier ;)) }))) (labeled_statement "LAB_000192f8:\n          if (((keep_file_symbols != 0) && ((uVar47 & 0x4000) != 0)) ||\n             (bVar21 = is_specified_symbol((char *)pbVar50,keep_specific_htab), bVar21 != 0))\n          goto LAB_0001931c;" statement_identifier : (if_statement "if (((keep_file_symbols != 0) && ((uVar47 & 0x4000) != 0)) ||\n             (bVar21 = is_specified_symbol((char *)pbVar50,keep_specific_htab), bVar21 != 0))\n          goto LAB_0001931c;" if (parenthesized_expression "(((keep_file_symbols != 0) && ((uVar47 & 0x4000) != 0)) ||\n             (bVar21 = is_specified_symbol((char *)pbVar50,keep_specific_htab), bVar21 != 0))" ( (binary_expression "((keep_file_symbols != 0) && ((uVar47 & 0x4000) != 0)) ||\n             (bVar21 = is_specified_symbol((char *)pbVar50,keep_specific_htab), bVar21 != 0)" (parenthesized_expression "((keep_file_symbols != 0) && ((uVar47 & 0x4000) != 0))" ( (binary_expression "(keep_file_symbols != 0) && ((uVar47 & 0x4000) != 0)" (parenthesized_expression "(keep_file_symbols != 0)" ( (binary_expression "keep_file_symbols != 0" identifier != number_literal) )) && (parenthesized_expression "((uVar47 & 0x4000) != 0)" ( (binary_expression "(uVar47 & 0x4000) != 0" (parenthesized_expression "(uVar47 & 0x4000)" ( (binary_expression "uVar47 & 0x4000" identifier & number_literal) )) != number_literal) ))) )) || (parenthesized_expression "(bVar21 = is_specified_symbol((char *)pbVar50,keep_specific_htab), bVar21 != 0)" ( (comma_expression "bVar21 = is_specified_symbol((char *)pbVar50,keep_specific_htab), bVar21 != 0" (assignment_expression "bVar21 = is_specified_symbol((char *)pbVar50,keep_specific_htab)" identifier = (call_expression "is_specified_symbol((char *)pbVar50,keep_specific_htab)" identifier (argument_list "((char *)pbVar50,keep_specific_htab)" ( (cast_expression "(char *)pbVar50" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , identifier )))) , (binary_expression "bVar21 != 0" identifier != number_literal)) ))) )) (goto_statement "goto LAB_0001931c;" goto statement_identifier ;))) }) (else_clause "else {\n          bVar21 = is_specified_symbol((char *)pbVar50,strip_specific_htab);\n          if (bVar21 != 0) {\n            pcVar24 = (char *)dcgettext(0,\n                                        "not stripping symbol `%s\' because it is named in a relocation"\n                                        ,5);\n            non_fatal(pcVar24,pbVar50);\n            status = 1;\n          }\nLAB_0001931c:\n          bVar21 = is_strip_section(in_stack_ffffff54,(asection *)in_stack_ffffff58);\n          if (bVar21 == 0) {\n            if (((uVar47 & 2) != 0) &&\n               ((weaken != 0 ||\n                (bVar21 = is_specified_symbol((char *)pbVar50,weaken_specific_htab), bVar21 != 0))))\n            {\n              paVar37->flags = paVar37->flags & 0xfffffffd | 0x80;\n            }\n            if (pbVar54 != (bfd_section *)(PTR__bfd_std_section_0003efc8 + 0xa8)) {\n              if (((uVar47 & 0x82) != 0) &&\n                 (((bVar21 = is_specified_symbol((char *)pbVar50,localize_specific_htab),\n                   bVar21 != 0 ||\n                   ((iVar18 = htab_elements(keepglobal_specific_htab), iVar18 != 0 &&\n                    (bVar21 = is_specified_symbol((char *)pbVar50,keepglobal_specific_htab),\n                    bVar21 == 0)))) ||\n                  ((localize_hidden != 0 &&\n                   ((((pbVar62 = paVar37->the_bfd, pbVar62 != (bfd *)0x0 &&\n                      (pbVar62->xvec->flavour == bfd_target_elf_flavour)) &&\n                     ((pbVar62->tdata).aout_data != (aout_data_struct *)0x0)) &&\n                    ((*(byte *)((int)&paVar37[1].flags + 1) & 3) - 1 < 2)))))))) {\n                paVar37->flags = paVar37->flags & 0xffffff7d | 1;\n              }\n              if (((uVar47 & 1) != 0) &&\n                 (bVar21 = is_specified_symbol((char *)pbVar50,globalize_specific_htab), bVar21 != 0\n                 )) {\n                paVar37->flags = paVar37->flags & 0xfffffffe | 2;\n              }\n            }\n            ppaVar31[local_70] = paVar37;\n            local_70 = local_70 + 1;\n          }\n        }" else (compound_statement "{\n          bVar21 = is_specified_symbol((char *)pbVar50,strip_specific_htab);\n          if (bVar21 != 0) {\n            pcVar24 = (char *)dcgettext(0,\n                                        "not stripping symbol `%s\' because it is named in a relocation"\n                                        ,5);\n            non_fatal(pcVar24,pbVar50);\n            status = 1;\n          }\nLAB_0001931c:\n          bVar21 = is_strip_section(in_stack_ffffff54,(asection *)in_stack_ffffff58);\n          if (bVar21 == 0) {\n            if (((uVar47 & 2) != 0) &&\n               ((weaken != 0 ||\n                (bVar21 = is_specified_symbol((char *)pbVar50,weaken_specific_htab), bVar21 != 0))))\n            {\n              paVar37->flags = paVar37->flags & 0xfffffffd | 0x80;\n            }\n            if (pbVar54 != (bfd_section *)(PTR__bfd_std_section_0003efc8 + 0xa8)) {\n              if (((uVar47 & 0x82) != 0) &&\n                 (((bVar21 = is_specified_symbol((char *)pbVar50,localize_specific_htab),\n                   bVar21 != 0 ||\n                   ((iVar18 = htab_elements(keepglobal_specific_htab), iVar18 != 0 &&\n                    (bVar21 = is_specified_symbol((char *)pbVar50,keepglobal_specific_htab),\n                    bVar21 == 0)))) ||\n                  ((localize_hidden != 0 &&\n                   ((((pbVar62 = paVar37->the_bfd, pbVar62 != (bfd *)0x0 &&\n                      (pbVar62->xvec->flavour == bfd_target_elf_flavour)) &&\n                     ((pbVar62->tdata).aout_data != (aout_data_struct *)0x0)) &&\n                    ((*(byte *)((int)&paVar37[1].flags + 1) & 3) - 1 < 2)))))))) {\n                paVar37->flags = paVar37->flags & 0xffffff7d | 1;\n              }\n              if (((uVar47 & 1) != 0) &&\n                 (bVar21 = is_specified_symbol((char *)pbVar50,globalize_specific_htab), bVar21 != 0\n                 )) {\n                paVar37->flags = paVar37->flags & 0xfffffffe | 2;\n              }\n            }\n            ppaVar31[local_70] = paVar37;\n            local_70 = local_70 + 1;\n          }\n        }" { (expression_statement "bVar21 = is_specified_symbol((char *)pbVar50,strip_specific_htab);" (assignment_expression "bVar21 = is_specified_symbol((char *)pbVar50,strip_specific_htab)" identifier = (call_expression "is_specified_symbol((char *)pbVar50,strip_specific_htab)" identifier (argument_list "((char *)pbVar50,strip_specific_htab)" ( (cast_expression "(char *)pbVar50" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , identifier )))) ;) (if_statement "if (bVar21 != 0) {\n            pcVar24 = (char *)dcgettext(0,\n                                        "not stripping symbol `%s\' because it is named in a relocation"\n                                        ,5);\n            non_fatal(pcVar24,pbVar50);\n            status = 1;\n          }" if (parenthesized_expression "(bVar21 != 0)" ( (binary_expression "bVar21 != 0" identifier != number_literal) )) (compound_statement "{\n            pcVar24 = (char *)dcgettext(0,\n                                        "not stripping symbol `%s\' because it is named in a relocation"\n                                        ,5);\n            non_fatal(pcVar24,pbVar50);\n            status = 1;\n          }" { (expression_statement "pcVar24 = (char *)dcgettext(0,\n                                        "not stripping symbol `%s\' because it is named in a relocation"\n                                        ,5);" (assignment_expression "pcVar24 = (char *)dcgettext(0,\n                                        "not stripping symbol `%s\' because it is named in a relocation"\n                                        ,5)" identifier = (cast_expression "(char *)dcgettext(0,\n                                        "not stripping symbol `%s\' because it is named in a relocation"\n                                        ,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,\n                                        "not stripping symbol `%s\' because it is named in a relocation"\n                                        ,5)" identifier (argument_list "(0,\n                                        "not stripping symbol `%s\' because it is named in a relocation"\n                                        ,5)" ( number_literal , (string_literal ""not stripping symbol `%s\' because it is named in a relocation"" " string_content escape_sequence string_content ") , number_literal ))))) ;) (expression_statement "non_fatal(pcVar24,pbVar50);" (call_expression "non_fatal(pcVar24,pbVar50)" identifier (argument_list "(pcVar24,pbVar50)" ( identifier , identifier ))) ;) (expression_statement "status = 1;" (assignment_expression "status = 1" identifier = number_literal) ;) })) (labeled_statement "LAB_0001931c:\n          bVar21 = is_strip_section(in_stack_ffffff54,(asection *)in_stack_ffffff58);" statement_identifier : (expression_statement "bVar21 = is_strip_section(in_stack_ffffff54,(asection *)in_stack_ffffff58);" (assignment_expression "bVar21 = is_strip_section(in_stack_ffffff54,(asection *)in_stack_ffffff58)" identifier = (call_expression "is_strip_section(in_stack_ffffff54,(asection *)in_stack_ffffff58)" identifier (argument_list "(in_stack_ffffff54,(asection *)in_stack_ffffff58)" ( identifier , (cast_expression "(asection *)in_stack_ffffff58" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )))) ;)) (if_statement "if (bVar21 == 0) {\n            if (((uVar47 & 2) != 0) &&\n               ((weaken != 0 ||\n                (bVar21 = is_specified_symbol((char *)pbVar50,weaken_specific_htab), bVar21 != 0))))\n            {\n              paVar37->flags = paVar37->flags & 0xfffffffd | 0x80;\n            }\n            if (pbVar54 != (bfd_section *)(PTR__bfd_std_section_0003efc8 + 0xa8)) {\n              if (((uVar47 & 0x82) != 0) &&\n                 (((bVar21 = is_specified_symbol((char *)pbVar50,localize_specific_htab),\n                   bVar21 != 0 ||\n                   ((iVar18 = htab_elements(keepglobal_specific_htab), iVar18 != 0 &&\n                    (bVar21 = is_specified_symbol((char *)pbVar50,keepglobal_specific_htab),\n                    bVar21 == 0)))) ||\n                  ((localize_hidden != 0 &&\n                   ((((pbVar62 = paVar37->the_bfd, pbVar62 != (bfd *)0x0 &&\n                      (pbVar62->xvec->flavour == bfd_target_elf_flavour)) &&\n                     ((pbVar62->tdata).aout_data != (aout_data_struct *)0x0)) &&\n                    ((*(byte *)((int)&paVar37[1].flags + 1) & 3) - 1 < 2)))))))) {\n                paVar37->flags = paVar37->flags & 0xffffff7d | 1;\n              }\n              if (((uVar47 & 1) != 0) &&\n                 (bVar21 = is_specified_symbol((char *)pbVar50,globalize_specific_htab), bVar21 != 0\n                 )) {\n                paVar37->flags = paVar37->flags & 0xfffffffe | 2;\n              }\n            }\n            ppaVar31[local_70] = paVar37;\n            local_70 = local_70 + 1;\n          }" if (parenthesized_expression "(bVar21 == 0)" ( (binary_expression "bVar21 == 0" identifier == number_literal) )) (compound_statement "{\n            if (((uVar47 & 2) != 0) &&\n               ((weaken != 0 ||\n                (bVar21 = is_specified_symbol((char *)pbVar50,weaken_specific_htab), bVar21 != 0))))\n            {\n              paVar37->flags = paVar37->flags & 0xfffffffd | 0x80;\n            }\n            if (pbVar54 != (bfd_section *)(PTR__bfd_std_section_0003efc8 + 0xa8)) {\n              if (((uVar47 & 0x82) != 0) &&\n                 (((bVar21 = is_specified_symbol((char *)pbVar50,localize_specific_htab),\n                   bVar21 != 0 ||\n                   ((iVar18 = htab_elements(keepglobal_specific_htab), iVar18 != 0 &&\n                    (bVar21 = is_specified_symbol((char *)pbVar50,keepglobal_specific_htab),\n                    bVar21 == 0)))) ||\n                  ((localize_hidden != 0 &&\n                   ((((pbVar62 = paVar37->the_bfd, pbVar62 != (bfd *)0x0 &&\n                      (pbVar62->xvec->flavour == bfd_target_elf_flavour)) &&\n                     ((pbVar62->tdata).aout_data != (aout_data_struct *)0x0)) &&\n                    ((*(byte *)((int)&paVar37[1].flags + 1) & 3) - 1 < 2)))))))) {\n                paVar37->flags = paVar37->flags & 0xffffff7d | 1;\n              }\n              if (((uVar47 & 1) != 0) &&\n                 (bVar21 = is_specified_symbol((char *)pbVar50,globalize_specific_htab), bVar21 != 0\n                 )) {\n                paVar37->flags = paVar37->flags & 0xfffffffe | 2;\n              }\n            }\n            ppaVar31[local_70] = paVar37;\n            local_70 = local_70 + 1;\n          }" { (if_statement "if (((uVar47 & 2) != 0) &&\n               ((weaken != 0 ||\n                (bVar21 = is_specified_symbol((char *)pbVar50,weaken_specific_htab), bVar21 != 0))))\n            {\n              paVar37->flags = paVar37->flags & 0xfffffffd | 0x80;\n            }" if (parenthesized_expression "(((uVar47 & 2) != 0) &&\n               ((weaken != 0 ||\n                (bVar21 = is_specified_symbol((char *)pbVar50,weaken_specific_htab), bVar21 != 0))))" ( (binary_expression "((uVar47 & 2) != 0) &&\n               ((weaken != 0 ||\n                (bVar21 = is_specified_symbol((char *)pbVar50,weaken_specific_htab), bVar21 != 0)))" (parenthesized_expression "((uVar47 & 2) != 0)" ( (binary_expression "(uVar47 & 2) != 0" (parenthesized_expression "(uVar47 & 2)" ( (binary_expression "uVar47 & 2" identifier & number_literal) )) != number_literal) )) && (parenthesized_expression "((weaken != 0 ||\n                (bVar21 = is_specified_symbol((char *)pbVar50,weaken_specific_htab), bVar21 != 0)))" ( (parenthesized_expression "(weaken != 0 ||\n                (bVar21 = is_specified_symbol((char *)pbVar50,weaken_specific_htab), bVar21 != 0))" ( (binary_expression "weaken != 0 ||\n                (bVar21 = is_specified_symbol((char *)pbVar50,weaken_specific_htab), bVar21 != 0)" (binary_expression "weaken != 0" identifier != number_literal) || (parenthesized_expression "(bVar21 = is_specified_symbol((char *)pbVar50,weaken_specific_htab), bVar21 != 0)" ( (comma_expression "bVar21 = is_specified_symbol((char *)pbVar50,weaken_specific_htab), bVar21 != 0" (assignment_expression "bVar21 = is_specified_symbol((char *)pbVar50,weaken_specific_htab)" identifier = (call_expression "is_specified_symbol((char *)pbVar50,weaken_specific_htab)" identifier (argument_list "((char *)pbVar50,weaken_specific_htab)" ( (cast_expression "(char *)pbVar50" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , identifier )))) , (binary_expression "bVar21 != 0" identifier != number_literal)) ))) )) ))) )) (compound_statement "{\n              paVar37->flags = paVar37->flags & 0xfffffffd | 0x80;\n            }" { (expression_statement "paVar37->flags = paVar37->flags & 0xfffffffd | 0x80;" (assignment_expression "paVar37->flags = paVar37->flags & 0xfffffffd | 0x80" (field_expression "paVar37->flags" identifier -> field_identifier) = (binary_expression "paVar37->flags & 0xfffffffd | 0x80" (binary_expression "paVar37->flags & 0xfffffffd" (field_expression "paVar37->flags" identifier -> field_identifier) & number_literal) | number_literal)) ;) })) (if_statement "if (pbVar54 != (bfd_section *)(PTR__bfd_std_section_0003efc8 + 0xa8)) {\n              if (((uVar47 & 0x82) != 0) &&\n                 (((bVar21 = is_specified_symbol((char *)pbVar50,localize_specific_htab),\n                   bVar21 != 0 ||\n                   ((iVar18 = htab_elements(keepglobal_specific_htab), iVar18 != 0 &&\n                    (bVar21 = is_specified_symbol((char *)pbVar50,keepglobal_specific_htab),\n                    bVar21 == 0)))) ||\n                  ((localize_hidden != 0 &&\n                   ((((pbVar62 = paVar37->the_bfd, pbVar62 != (bfd *)0x0 &&\n                      (pbVar62->xvec->flavour == bfd_target_elf_flavour)) &&\n                     ((pbVar62->tdata).aout_data != (aout_data_struct *)0x0)) &&\n                    ((*(byte *)((int)&paVar37[1].flags + 1) & 3) - 1 < 2)))))))) {\n                paVar37->flags = paVar37->flags & 0xffffff7d | 1;\n              }\n              if (((uVar47 & 1) != 0) &&\n                 (bVar21 = is_specified_symbol((char *)pbVar50,globalize_specific_htab), bVar21 != 0\n                 )) {\n                paVar37->flags = paVar37->flags & 0xfffffffe | 2;\n              }\n            }" if (parenthesized_expression "(pbVar54 != (bfd_section *)(PTR__bfd_std_section_0003efc8 + 0xa8))" ( (binary_expression "pbVar54 != (bfd_section *)(PTR__bfd_std_section_0003efc8 + 0xa8)" identifier != (cast_expression "(bfd_section *)(PTR__bfd_std_section_0003efc8 + 0xa8)" ( (type_descriptor "bfd_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR__bfd_std_section_0003efc8 + 0xa8)" ( (binary_expression "PTR__bfd_std_section_0003efc8 + 0xa8" identifier + number_literal) )))) )) (compound_statement "{\n              if (((uVar47 & 0x82) != 0) &&\n                 (((bVar21 = is_specified_symbol((char *)pbVar50,localize_specific_htab),\n                   bVar21 != 0 ||\n                   ((iVar18 = htab_elements(keepglobal_specific_htab), iVar18 != 0 &&\n                    (bVar21 = is_specified_symbol((char *)pbVar50,keepglobal_specific_htab),\n                    bVar21 == 0)))) ||\n                  ((localize_hidden != 0 &&\n                   ((((pbVar62 = paVar37->the_bfd, pbVar62 != (bfd *)0x0 &&\n                      (pbVar62->xvec->flavour == bfd_target_elf_flavour)) &&\n                     ((pbVar62->tdata).aout_data != (aout_data_struct *)0x0)) &&\n                    ((*(byte *)((int)&paVar37[1].flags + 1) & 3) - 1 < 2)))))))) {\n                paVar37->flags = paVar37->flags & 0xffffff7d | 1;\n              }\n              if (((uVar47 & 1) != 0) &&\n                 (bVar21 = is_specified_symbol((char *)pbVar50,globalize_specific_htab), bVar21 != 0\n                 )) {\n                paVar37->flags = paVar37->flags & 0xfffffffe | 2;\n              }\n            }" { (if_statement "if (((uVar47 & 0x82) != 0) &&\n                 (((bVar21 = is_specified_symbol((char *)pbVar50,localize_specific_htab),\n                   bVar21 != 0 ||\n                   ((iVar18 = htab_elements(keepglobal_specific_htab), iVar18 != 0 &&\n                    (bVar21 = is_specified_symbol((char *)pbVar50,keepglobal_specific_htab),\n                    bVar21 == 0)))) ||\n                  ((localize_hidden != 0 &&\n                   ((((pbVar62 = paVar37->the_bfd, pbVar62 != (bfd *)0x0 &&\n                      (pbVar62->xvec->flavour == bfd_target_elf_flavour)) &&\n                     ((pbVar62->tdata).aout_data != (aout_data_struct *)0x0)) &&\n                    ((*(byte *)((int)&paVar37[1].flags + 1) & 3) - 1 < 2)))))))) {\n                paVar37->flags = paVar37->flags & 0xffffff7d | 1;\n              }" if (parenthesized_expression "(((uVar47 & 0x82) != 0) &&\n                 (((bVar21 = is_specified_symbol((char *)pbVar50,localize_specific_htab),\n                   bVar21 != 0 ||\n                   ((iVar18 = htab_elements(keepglobal_specific_htab), iVar18 != 0 &&\n                    (bVar21 = is_specified_symbol((char *)pbVar50,keepglobal_specific_htab),\n                    bVar21 == 0)))) ||\n                  ((localize_hidden != 0 &&\n                   ((((pbVar62 = paVar37->the_bfd, pbVar62 != (bfd *)0x0 &&\n                      (pbVar62->xvec->flavour == bfd_target_elf_flavour)) &&\n                     ((pbVar62->tdata).aout_data != (aout_data_struct *)0x0)) &&\n                    ((*(byte *)((int)&paVar37[1].flags + 1) & 3) - 1 < 2))))))))" ( (binary_expression "((uVar47 & 0x82) != 0) &&\n                 (((bVar21 = is_specified_symbol((char *)pbVar50,localize_specific_htab),\n                   bVar21 != 0 ||\n                   ((iVar18 = htab_elements(keepglobal_specific_htab), iVar18 != 0 &&\n                    (bVar21 = is_specified_symbol((char *)pbVar50,keepglobal_specific_htab),\n                    bVar21 == 0)))) ||\n                  ((localize_hidden != 0 &&\n                   ((((pbVar62 = paVar37->the_bfd, pbVar62 != (bfd *)0x0 &&\n                      (pbVar62->xvec->flavour == bfd_target_elf_flavour)) &&\n                     ((pbVar62->tdata).aout_data != (aout_data_struct *)0x0)) &&\n                    ((*(byte *)((int)&paVar37[1].flags + 1) & 3) - 1 < 2)))))))" (parenthesized_expression "((uVar47 & 0x82) != 0)" ( (binary_expression "(uVar47 & 0x82) != 0" (parenthesized_expression "(uVar47 & 0x82)" ( (binary_expression "uVar47 & 0x82" identifier & number_literal) )) != number_literal) )) && (parenthesized_expression "(((bVar21 = is_specified_symbol((char *)pbVar50,localize_specific_htab),\n                   bVar21 != 0 ||\n                   ((iVar18 = htab_elements(keepglobal_specific_htab), iVar18 != 0 &&\n                    (bVar21 = is_specified_symbol((char *)pbVar50,keepglobal_specific_htab),\n                    bVar21 == 0)))) ||\n                  ((localize_hidden != 0 &&\n                   ((((pbVar62 = paVar37->the_bfd, pbVar62 != (bfd *)0x0 &&\n                      (pbVar62->xvec->flavour == bfd_target_elf_flavour)) &&\n                     ((pbVar62->tdata).aout_data != (aout_data_struct *)0x0)) &&\n                    ((*(byte *)((int)&paVar37[1].flags + 1) & 3) - 1 < 2)))))))" ( (parenthesized_expression "((bVar21 = is_specified_symbol((char *)pbVar50,localize_specific_htab),\n                   bVar21 != 0 ||\n                   ((iVar18 = htab_elements(keepglobal_specific_htab), iVar18 != 0 &&\n                    (bVar21 = is_specified_symbol((char *)pbVar50,keepglobal_specific_htab),\n                    bVar21 == 0)))) ||\n                  ((localize_hidden != 0 &&\n                   ((((pbVar62 = paVar37->the_bfd, pbVar62 != (bfd *)0x0 &&\n                      (pbVar62->xvec->flavour == bfd_target_elf_flavour)) &&\n                     ((pbVar62->tdata).aout_data != (aout_data_struct *)0x0)) &&\n                    ((*(byte *)((int)&paVar37[1].flags + 1) & 3) - 1 < 2))))))" ( (binary_expression "(bVar21 = is_specified_symbol((char *)pbVar50,localize_specific_htab),\n                   bVar21 != 0 ||\n                   ((iVar18 = htab_elements(keepglobal_specific_htab), iVar18 != 0 &&\n                    (bVar21 = is_specified_symbol((char *)pbVar50,keepglobal_specific_htab),\n                    bVar21 == 0)))) ||\n                  ((localize_hidden != 0 &&\n                   ((((pbVar62 = paVar37->the_bfd, pbVar62 != (bfd *)0x0 &&\n                      (pbVar62->xvec->flavour == bfd_target_elf_flavour)) &&\n                     ((pbVar62->tdata).aout_data != (aout_data_struct *)0x0)) &&\n                    ((*(byte *)((int)&paVar37[1].flags + 1) & 3) - 1 < 2)))))" (parenthesized_expression "(bVar21 = is_specified_symbol((char *)pbVar50,localize_specific_htab),\n                   bVar21 != 0 ||\n                   ((iVar18 = htab_elements(keepglobal_specific_htab), iVar18 != 0 &&\n                    (bVar21 = is_specified_symbol((char *)pbVar50,keepglobal_specific_htab),\n                    bVar21 == 0))))" ( (comma_expression "bVar21 = is_specified_symbol((char *)pbVar50,localize_specific_htab),\n                   bVar21 != 0 ||\n                   ((iVar18 = htab_elements(keepglobal_specific_htab), iVar18 != 0 &&\n                    (bVar21 = is_specified_symbol((char *)pbVar50,keepglobal_specific_htab),\n                    bVar21 == 0)))" (assignment_expression "bVar21 = is_specified_symbol((char *)pbVar50,localize_specific_htab)" identifier = (call_expression "is_specified_symbol((char *)pbVar50,localize_specific_htab)" identifier (argument_list "((char *)pbVar50,localize_specific_htab)" ( (cast_expression "(char *)pbVar50" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , identifier )))) , (binary_expression "bVar21 != 0 ||\n                   ((iVar18 = htab_elements(keepglobal_specific_htab), iVar18 != 0 &&\n                    (bVar21 = is_specified_symbol((char *)pbVar50,keepglobal_specific_htab),\n                    bVar21 == 0)))" (binary_expression "bVar21 != 0" identifier != number_literal) || (parenthesized_expression "((iVar18 = htab_elements(keepglobal_specific_htab), iVar18 != 0 &&\n                    (bVar21 = is_specified_symbol((char *)pbVar50,keepglobal_specific_htab),\n                    bVar21 == 0)))" ( (parenthesized_expression "(iVar18 = htab_elements(keepglobal_specific_htab), iVar18 != 0 &&\n                    (bVar21 = is_specified_symbol((char *)pbVar50,keepglobal_specific_htab),\n                    bVar21 == 0))" ( (comma_expression "iVar18 = htab_elements(keepglobal_specific_htab), iVar18 != 0 &&\n                    (bVar21 = is_specified_symbol((char *)pbVar50,keepglobal_specific_htab),\n                    bVar21 == 0)" (assignment_expression "iVar18 = htab_elements(keepglobal_specific_htab)" identifier = (call_expression "htab_elements(keepglobal_specific_htab)" identifier (argument_list "(keepglobal_specific_htab)" ( identifier )))) , (binary_expression "iVar18 != 0 &&\n                    (bVar21 = is_specified_symbol((char *)pbVar50,keepglobal_specific_htab),\n                    bVar21 == 0)" (binary_expression "iVar18 != 0" identifier != number_literal) && (parenthesized_expression "(bVar21 = is_specified_symbol((char *)pbVar50,keepglobal_specific_htab),\n                    bVar21 == 0)" ( (comma_expression "bVar21 = is_specified_symbol((char *)pbVar50,keepglobal_specific_htab),\n                    bVar21 == 0" (assignment_expression "bVar21 = is_specified_symbol((char *)pbVar50,keepglobal_specific_htab)" identifier = (call_expression "is_specified_symbol((char *)pbVar50,keepglobal_specific_htab)" identifier (argument_list "((char *)pbVar50,keepglobal_specific_htab)" ( (cast_expression "(char *)pbVar50" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , identifier )))) , (binary_expression "bVar21 == 0" identifier == number_literal)) )))) )) )))) )) || (parenthesized_expression "((localize_hidden != 0 &&\n                   ((((pbVar62 = paVar37->the_bfd, pbVar62 != (bfd *)0x0 &&\n                      (pbVar62->xvec->flavour == bfd_target_elf_flavour)) &&\n                     ((pbVar62->tdata).aout_data != (aout_data_struct *)0x0)) &&\n                    ((*(byte *)((int)&paVar37[1].flags + 1) & 3) - 1 < 2)))))" ( (parenthesized_expression "(localize_hidden != 0 &&\n                   ((((pbVar62 = paVar37->the_bfd, pbVar62 != (bfd *)0x0 &&\n                      (pbVar62->xvec->flavour == bfd_target_elf_flavour)) &&\n                     ((pbVar62->tdata).aout_data != (aout_data_struct *)0x0)) &&\n                    ((*(byte *)((int)&paVar37[1].flags + 1) & 3) - 1 < 2))))" ( (binary_expression "localize_hidden != 0 &&\n                   ((((pbVar62 = paVar37->the_bfd, pbVar62 != (bfd *)0x0 &&\n                      (pbVar62->xvec->flavour == bfd_target_elf_flavour)) &&\n                     ((pbVar62->tdata).aout_data != (aout_data_struct *)0x0)) &&\n                    ((*(byte *)((int)&paVar37[1].flags + 1) & 3) - 1 < 2)))" (binary_expression "localize_hidden != 0" identifier != number_literal) && (parenthesized_expression "((((pbVar62 = paVar37->the_bfd, pbVar62 != (bfd *)0x0 &&\n                      (pbVar62->xvec->flavour == bfd_target_elf_flavour)) &&\n                     ((pbVar62->tdata).aout_data != (aout_data_struct *)0x0)) &&\n                    ((*(byte *)((int)&paVar37[1].flags + 1) & 3) - 1 < 2)))" ( (parenthesized_expression "(((pbVar62 = paVar37->the_bfd, pbVar62 != (bfd *)0x0 &&\n                      (pbVar62->xvec->flavour == bfd_target_elf_flavour)) &&\n                     ((pbVar62->tdata).aout_data != (aout_data_struct *)0x0)) &&\n                    ((*(byte *)((int)&paVar37[1].flags + 1) & 3) - 1 < 2))" ( (binary_expression "((pbVar62 = paVar37->the_bfd, pbVar62 != (bfd *)0x0 &&\n                      (pbVar62->xvec->flavour == bfd_target_elf_flavour)) &&\n                     ((pbVar62->tdata).aout_data != (aout_data_struct *)0x0)) &&\n                    ((*(byte *)((int)&paVar37[1].flags + 1) & 3) - 1 < 2)" (parenthesized_expression "((pbVar62 = paVar37->the_bfd, pbVar62 != (bfd *)0x0 &&\n                      (pbVar62->xvec->flavour == bfd_target_elf_flavour)) &&\n                     ((pbVar62->tdata).aout_data != (aout_data_struct *)0x0))" ( (binary_expression "(pbVar62 = paVar37->the_bfd, pbVar62 != (bfd *)0x0 &&\n                      (pbVar62->xvec->flavour == bfd_target_elf_flavour)) &&\n                     ((pbVar62->tdata).aout_data != (aout_data_struct *)0x0)" (parenthesized_expression "(pbVar62 = paVar37->the_bfd, pbVar62 != (bfd *)0x0 &&\n                      (pbVar62->xvec->flavour == bfd_target_elf_flavour))" ( (comma_expression "pbVar62 = paVar37->the_bfd, pbVar62 != (bfd *)0x0 &&\n                      (pbVar62->xvec->flavour == bfd_target_elf_flavour)" (assignment_expression "pbVar62 = paVar37->the_bfd" identifier = (field_expression "paVar37->the_bfd" identifier -> field_identifier)) , (binary_expression "pbVar62 != (bfd *)0x0 &&\n                      (pbVar62->xvec->flavour == bfd_target_elf_flavour)" (binary_expression "pbVar62 != (bfd *)0x0" identifier != (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) && (parenthesized_expression "(pbVar62->xvec->flavour == bfd_target_elf_flavour)" ( (binary_expression "pbVar62->xvec->flavour == bfd_target_elf_flavour" (field_expression "pbVar62->xvec->flavour" (field_expression "pbVar62->xvec" identifier -> field_identifier) -> field_identifier) == identifier) )))) )) && (parenthesized_expression "((pbVar62->tdata).aout_data != (aout_data_struct *)0x0)" ( (binary_expression "(pbVar62->tdata).aout_data != (aout_data_struct *)0x0" (field_expression "(pbVar62->tdata).aout_data" (parenthesized_expression "(pbVar62->tdata)" ( (field_expression "pbVar62->tdata" identifier -> field_identifier) )) . field_identifier) != (cast_expression "(aout_data_struct *)0x0" ( (type_descriptor "aout_data_struct *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) && (parenthesized_expression "((*(byte *)((int)&paVar37[1].flags + 1) & 3) - 1 < 2)" ( (binary_expression "(*(byte *)((int)&paVar37[1].flags + 1) & 3) - 1 < 2" (binary_expression "(*(byte *)((int)&paVar37[1].flags + 1) & 3) - 1" (parenthesized_expression "(*(byte *)((int)&paVar37[1].flags + 1) & 3)" ( (binary_expression "*(byte *)((int)&paVar37[1].flags + 1) & 3" (pointer_expression "*(byte *)((int)&paVar37[1].flags + 1)" * (cast_expression "(byte *)((int)&paVar37[1].flags + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&paVar37[1].flags + 1)" ( (binary_expression "(int)&paVar37[1].flags + 1" (cast_expression "(int)&paVar37[1].flags" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&paVar37[1].flags" & (field_expression "paVar37[1].flags" (subscript_expression "paVar37[1]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) & number_literal) )) - number_literal) < number_literal) ))) )) ))) )) ))) )) ))) )) (compound_statement "{\n                paVar37->flags = paVar37->flags & 0xffffff7d | 1;\n              }" { (expression_statement "paVar37->flags = paVar37->flags & 0xffffff7d | 1;" (assignment_expression "paVar37->flags = paVar37->flags & 0xffffff7d | 1" (field_expression "paVar37->flags" identifier -> field_identifier) = (binary_expression "paVar37->flags & 0xffffff7d | 1" (binary_expression "paVar37->flags & 0xffffff7d" (field_expression "paVar37->flags" identifier -> field_identifier) & number_literal) | number_literal)) ;) })) (if_statement "if (((uVar47 & 1) != 0) &&\n                 (bVar21 = is_specified_symbol((char *)pbVar50,globalize_specific_htab), bVar21 != 0\n                 )) {\n                paVar37->flags = paVar37->flags & 0xfffffffe | 2;\n              }" if (parenthesized_expression "(((uVar47 & 1) != 0) &&\n                 (bVar21 = is_specified_symbol((char *)pbVar50,globalize_specific_htab), bVar21 != 0\n                 ))" ( (binary_expression "((uVar47 & 1) != 0) &&\n                 (bVar21 = is_specified_symbol((char *)pbVar50,globalize_specific_htab), bVar21 != 0\n                 )" (parenthesized_expression "((uVar47 & 1) != 0)" ( (binary_expression "(uVar47 & 1) != 0" (parenthesized_expression "(uVar47 & 1)" ( (binary_expression "uVar47 & 1" identifier & number_literal) )) != number_literal) )) && (parenthesized_expression "(bVar21 = is_specified_symbol((char *)pbVar50,globalize_specific_htab), bVar21 != 0\n                 )" ( (comma_expression "bVar21 = is_specified_symbol((char *)pbVar50,globalize_specific_htab), bVar21 != 0" (assignment_expression "bVar21 = is_specified_symbol((char *)pbVar50,globalize_specific_htab)" identifier = (call_expression "is_specified_symbol((char *)pbVar50,globalize_specific_htab)" identifier (argument_list "((char *)pbVar50,globalize_specific_htab)" ( (cast_expression "(char *)pbVar50" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , identifier )))) , (binary_expression "bVar21 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n                paVar37->flags = paVar37->flags & 0xfffffffe | 2;\n              }" { (expression_statement "paVar37->flags = paVar37->flags & 0xfffffffe | 2;" (assignment_expression "paVar37->flags = paVar37->flags & 0xfffffffe | 2" (field_expression "paVar37->flags" identifier -> field_identifier) = (binary_expression "paVar37->flags & 0xfffffffe | 2" (binary_expression "paVar37->flags & 0xfffffffe" (field_expression "paVar37->flags" identifier -> field_identifier) & number_literal) | number_literal)) ;) })) })) (expression_statement "ppaVar31[local_70] = paVar37;" (assignment_expression "ppaVar31[local_70] = paVar37" (subscript_expression "ppaVar31[local_70]" identifier [ identifier ]) = identifier) ;) (expression_statement "local_70 = local_70 + 1;" (assignment_expression "local_70 = local_70 + 1" identifier = (binary_expression "local_70 + 1" identifier + number_literal)) ;) })) }))) (expression_statement "local_68 = local_68 + 1;" (assignment_expression "local_68 = local_68 + 1" identifier = (binary_expression "local_68 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(ppaVar1 != local_68)" ( (binary_expression "ppaVar1 != local_68" identifier != identifier) )) ;) })) (expression_statement "local_5c = (bfd *)add_sym_list;" (assignment_expression "local_5c = (bfd *)add_sym_list" identifier = (cast_expression "(bfd *)add_sym_list" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if ((add_sym_list != (addsym_node *)0x0) && (0 < add_symbols)) {\n      iVar18 = 0;\n      do {\n        pcVar24 = (char *)local_5c->lru_next;\n        if (pcVar24 == (char *)0x0) {\n          paVar37 = create_new_symbol((addsym_node *)local_5c,obfd);\n          ppaVar31[local_70] = paVar37;\n          local_70 = local_70 + 1;\n        }\n        else if (*pcVar24 != '\0') {\n          pcVar23 = (char *)dcgettext(0,"\'before=%s\' not found",5,local_70);\n                    /* WARNING: Subroutine does not return */\n          fatal(pcVar23,pcVar24);\n        }\n        iVar18 = iVar18 + 1;\n        local_5c = (bfd *)local_5c->filename;\n      } while (iVar18 < add_symbols);\n    }" if (parenthesized_expression "((add_sym_list != (addsym_node *)0x0) && (0 < add_symbols))" ( (binary_expression "(add_sym_list != (addsym_node *)0x0) && (0 < add_symbols)" (parenthesized_expression "(add_sym_list != (addsym_node *)0x0)" ( (binary_expression "add_sym_list != (addsym_node *)0x0" identifier != (cast_expression "(addsym_node *)0x0" ( (type_descriptor "addsym_node *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(0 < add_symbols)" ( (binary_expression "0 < add_symbols" number_literal < identifier) ))) )) (compound_statement "{\n      iVar18 = 0;\n      do {\n        pcVar24 = (char *)local_5c->lru_next;\n        if (pcVar24 == (char *)0x0) {\n          paVar37 = create_new_symbol((addsym_node *)local_5c,obfd);\n          ppaVar31[local_70] = paVar37;\n          local_70 = local_70 + 1;\n        }\n        else if (*pcVar24 != '\0') {\n          pcVar23 = (char *)dcgettext(0,"\'before=%s\' not found",5,local_70);\n                    /* WARNING: Subroutine does not return */\n          fatal(pcVar23,pcVar24);\n        }\n        iVar18 = iVar18 + 1;\n        local_5c = (bfd *)local_5c->filename;\n      } while (iVar18 < add_symbols);\n    }" { (expression_statement "iVar18 = 0;" (assignment_expression "iVar18 = 0" identifier = number_literal) ;) (do_statement "do {\n        pcVar24 = (char *)local_5c->lru_next;\n        if (pcVar24 == (char *)0x0) {\n          paVar37 = create_new_symbol((addsym_node *)local_5c,obfd);\n          ppaVar31[local_70] = paVar37;\n          local_70 = local_70 + 1;\n        }\n        else if (*pcVar24 != '\0') {\n          pcVar23 = (char *)dcgettext(0,"\'before=%s\' not found",5,local_70);\n                    /* WARNING: Subroutine does not return */\n          fatal(pcVar23,pcVar24);\n        }\n        iVar18 = iVar18 + 1;\n        local_5c = (bfd *)local_5c->filename;\n      } while (iVar18 < add_symbols);" do (compound_statement "{\n        pcVar24 = (char *)local_5c->lru_next;\n        if (pcVar24 == (char *)0x0) {\n          paVar37 = create_new_symbol((addsym_node *)local_5c,obfd);\n          ppaVar31[local_70] = paVar37;\n          local_70 = local_70 + 1;\n        }\n        else if (*pcVar24 != '\0') {\n          pcVar23 = (char *)dcgettext(0,"\'before=%s\' not found",5,local_70);\n                    /* WARNING: Subroutine does not return */\n          fatal(pcVar23,pcVar24);\n        }\n        iVar18 = iVar18 + 1;\n        local_5c = (bfd *)local_5c->filename;\n      }" { (expression_statement "pcVar24 = (char *)local_5c->lru_next;" (assignment_expression "pcVar24 = (char *)local_5c->lru_next" identifier = (cast_expression "(char *)local_5c->lru_next" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "local_5c->lru_next" identifier -> field_identifier))) ;) (if_statement "if (pcVar24 == (char *)0x0) {\n          paVar37 = create_new_symbol((addsym_node *)local_5c,obfd);\n          ppaVar31[local_70] = paVar37;\n          local_70 = local_70 + 1;\n        }\n        else if (*pcVar24 != '\0') {\n          pcVar23 = (char *)dcgettext(0,"\'before=%s\' not found",5,local_70);\n                    /* WARNING: Subroutine does not return */\n          fatal(pcVar23,pcVar24);\n        }" if (parenthesized_expression "(pcVar24 == (char *)0x0)" ( (binary_expression "pcVar24 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          paVar37 = create_new_symbol((addsym_node *)local_5c,obfd);\n          ppaVar31[local_70] = paVar37;\n          local_70 = local_70 + 1;\n        }" { (expression_statement "paVar37 = create_new_symbol((addsym_node *)local_5c,obfd);" (assignment_expression "paVar37 = create_new_symbol((addsym_node *)local_5c,obfd)" identifier = (call_expression "create_new_symbol((addsym_node *)local_5c,obfd)" identifier (argument_list "((addsym_node *)local_5c,obfd)" ( (cast_expression "(addsym_node *)local_5c" ( (type_descriptor "addsym_node *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier )))) ;) (expression_statement "ppaVar31[local_70] = paVar37;" (assignment_expression "ppaVar31[local_70] = paVar37" (subscript_expression "ppaVar31[local_70]" identifier [ identifier ]) = identifier) ;) (expression_statement "local_70 = local_70 + 1;" (assignment_expression "local_70 = local_70 + 1" identifier = (binary_expression "local_70 + 1" identifier + number_literal)) ;) }) (else_clause "else if (*pcVar24 != '\0') {\n          pcVar23 = (char *)dcgettext(0,"\'before=%s\' not found",5,local_70);\n                    /* WARNING: Subroutine does not return */\n          fatal(pcVar23,pcVar24);\n        }" else (if_statement "if (*pcVar24 != '\0') {\n          pcVar23 = (char *)dcgettext(0,"\'before=%s\' not found",5,local_70);\n                    /* WARNING: Subroutine does not return */\n          fatal(pcVar23,pcVar24);\n        }" if (parenthesized_expression "(*pcVar24 != '\0')" ( (binary_expression "*pcVar24 != '\0'" (pointer_expression "*pcVar24" * identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          pcVar23 = (char *)dcgettext(0,"\'before=%s\' not found",5,local_70);\n                    /* WARNING: Subroutine does not return */\n          fatal(pcVar23,pcVar24);\n        }" { (expression_statement "pcVar23 = (char *)dcgettext(0,"\'before=%s\' not found",5,local_70);" (assignment_expression "pcVar23 = (char *)dcgettext(0,"\'before=%s\' not found",5,local_70)" identifier = (cast_expression "(char *)dcgettext(0,"\'before=%s\' not found",5,local_70)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"\'before=%s\' not found",5,local_70)" identifier (argument_list "(0,"\'before=%s\' not found",5,local_70)" ( number_literal , (string_literal ""\'before=%s\' not found"" " escape_sequence string_content escape_sequence string_content ") , number_literal , identifier ))))) ;) comment (expression_statement "fatal(pcVar23,pcVar24);" (call_expression "fatal(pcVar23,pcVar24)" identifier (argument_list "(pcVar23,pcVar24)" ( identifier , identifier ))) ;) })))) (expression_statement "iVar18 = iVar18 + 1;" (assignment_expression "iVar18 = iVar18 + 1" identifier = (binary_expression "iVar18 + 1" identifier + number_literal)) ;) (expression_statement "local_5c = (bfd *)local_5c->filename;" (assignment_expression "local_5c = (bfd *)local_5c->filename" identifier = (cast_expression "(bfd *)local_5c->filename" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_5c->filename" identifier -> field_identifier))) ;) }) while (parenthesized_expression "(iVar18 < add_symbols)" ( (binary_expression "iVar18 < add_symbols" identifier < identifier) )) ;) })) (expression_statement "ppaVar31[local_70] = (asymbol *)0x0;" (assignment_expression "ppaVar31[local_70] = (asymbol *)0x0" (subscript_expression "ppaVar31[local_70]" identifier [ identifier ]) = (cast_expression "(asymbol *)0x0" ( (type_descriptor "asymbol *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if ((convert_debugging != 0) && (local_94 != (bfd *)0x0)) {\n      bVar11 = obfd->xvec->flavour;\n      if ((bVar11 != bfd_target_coff_flavour) && (bVar11 != bfd_target_elf_flavour)) {\n        pcVar24 = obfd->xvec->name;\n        pcVar23 = (char *)dcgettext(0,"don\'t know how to write debugging information for %s",5);\n        bfd_nonfatal_message((char *)0x0,obfd,(asection *)0x0,pcVar23,pcVar24);\n        status = 1;\n        return 0;\n      }\n      bVar21 = write_stabs_in_sections_debugging_info\n                         (obfd,local_94,&syms,(bfd_size_type *)file_alignment,&strings,\n                          (bfd_size_type *)&contents);\n      if (bVar21 == 0) {\n        status = 1;\n        return 0;\n      }\n      iVar18 = bfd_make_section_with_flags(obfd,".stab",0x2108);\n      iVar22 = bfd_make_section_with_flags(obfd,".stabstr",0x2108);\n      if ((((iVar18 == 0) || (iVar22 == 0)) ||\n          (iVar39 = bfd_set_section_size(obfd,iVar18,file_alignment._0_4_,iVar22), iVar39 == 0)) ||\n         (iVar39 = bfd_set_section_size(obfd,iVar22,contents,iVar39), iVar39 == 0)) {\n        pcVar24 = "can\'t create debugging section";\nLAB_00019fcf:\n        pcVar24 = (char *)dcgettext(0,pcVar24,5,iVar18);\n        bfd_nonfatal_message((char *)0x0,obfd,(asection *)0x0,pcVar24);\n        status = 1;\n        return 0;\n      }\n      *(undefined4 *)(iVar18 + 0x40) = 2;\n      *(undefined4 *)(iVar22 + 0x40) = 0;\n      iVar18 = bfd_set_section_contents(obfd,iVar18,syms,0,0,file_alignment._0_4_,iVar39,iVar39);\n      if ((iVar18 == 0) ||\n         (iVar18 = bfd_set_section_contents\n                             (obfd,iVar22,strings,0,0,contents,extraout_ECX,extraout_ECX),\n         iVar18 == 0)) {\n        pcVar24 = "can\'t set debugging section contents";\n        iVar18 = iVar22;\n        goto LAB_00019fcf;\n      }\n    }" if (parenthesized_expression "((convert_debugging != 0) && (local_94 != (bfd *)0x0))" ( (binary_expression "(convert_debugging != 0) && (local_94 != (bfd *)0x0)" (parenthesized_expression "(convert_debugging != 0)" ( (binary_expression "convert_debugging != 0" identifier != number_literal) )) && (parenthesized_expression "(local_94 != (bfd *)0x0)" ( (binary_expression "local_94 != (bfd *)0x0" identifier != (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n      bVar11 = obfd->xvec->flavour;\n      if ((bVar11 != bfd_target_coff_flavour) && (bVar11 != bfd_target_elf_flavour)) {\n        pcVar24 = obfd->xvec->name;\n        pcVar23 = (char *)dcgettext(0,"don\'t know how to write debugging information for %s",5);\n        bfd_nonfatal_message((char *)0x0,obfd,(asection *)0x0,pcVar23,pcVar24);\n        status = 1;\n        return 0;\n      }\n      bVar21 = write_stabs_in_sections_debugging_info\n                         (obfd,local_94,&syms,(bfd_size_type *)file_alignment,&strings,\n                          (bfd_size_type *)&contents);\n      if (bVar21 == 0) {\n        status = 1;\n        return 0;\n      }\n      iVar18 = bfd_make_section_with_flags(obfd,".stab",0x2108);\n      iVar22 = bfd_make_section_with_flags(obfd,".stabstr",0x2108);\n      if ((((iVar18 == 0) || (iVar22 == 0)) ||\n          (iVar39 = bfd_set_section_size(obfd,iVar18,file_alignment._0_4_,iVar22), iVar39 == 0)) ||\n         (iVar39 = bfd_set_section_size(obfd,iVar22,contents,iVar39), iVar39 == 0)) {\n        pcVar24 = "can\'t create debugging section";\nLAB_00019fcf:\n        pcVar24 = (char *)dcgettext(0,pcVar24,5,iVar18);\n        bfd_nonfatal_message((char *)0x0,obfd,(asection *)0x0,pcVar24);\n        status = 1;\n        return 0;\n      }\n      *(undefined4 *)(iVar18 + 0x40) = 2;\n      *(undefined4 *)(iVar22 + 0x40) = 0;\n      iVar18 = bfd_set_section_contents(obfd,iVar18,syms,0,0,file_alignment._0_4_,iVar39,iVar39);\n      if ((iVar18 == 0) ||\n         (iVar18 = bfd_set_section_contents\n                             (obfd,iVar22,strings,0,0,contents,extraout_ECX,extraout_ECX),\n         iVar18 == 0)) {\n        pcVar24 = "can\'t set debugging section contents";\n        iVar18 = iVar22;\n        goto LAB_00019fcf;\n      }\n    }" { (expression_statement "bVar11 = obfd->xvec->flavour;" (assignment_expression "bVar11 = obfd->xvec->flavour" identifier = (field_expression "obfd->xvec->flavour" (field_expression "obfd->xvec" identifier -> field_identifier) -> field_identifier)) ;) (if_statement "if ((bVar11 != bfd_target_coff_flavour) && (bVar11 != bfd_target_elf_flavour)) {\n        pcVar24 = obfd->xvec->name;\n        pcVar23 = (char *)dcgettext(0,"don\'t know how to write debugging information for %s",5);\n        bfd_nonfatal_message((char *)0x0,obfd,(asection *)0x0,pcVar23,pcVar24);\n        status = 1;\n        return 0;\n      }" if (parenthesized_expression "((bVar11 != bfd_target_coff_flavour) && (bVar11 != bfd_target_elf_flavour))" ( (binary_expression "(bVar11 != bfd_target_coff_flavour) && (bVar11 != bfd_target_elf_flavour)" (parenthesized_expression "(bVar11 != bfd_target_coff_flavour)" ( (binary_expression "bVar11 != bfd_target_coff_flavour" identifier != identifier) )) && (parenthesized_expression "(bVar11 != bfd_target_elf_flavour)" ( (binary_expression "bVar11 != bfd_target_elf_flavour" identifier != identifier) ))) )) (compound_statement "{\n        pcVar24 = obfd->xvec->name;\n        pcVar23 = (char *)dcgettext(0,"don\'t know how to write debugging information for %s",5);\n        bfd_nonfatal_message((char *)0x0,obfd,(asection *)0x0,pcVar23,pcVar24);\n        status = 1;\n        return 0;\n      }" { (expression_statement "pcVar24 = obfd->xvec->name;" (assignment_expression "pcVar24 = obfd->xvec->name" identifier = (field_expression "obfd->xvec->name" (field_expression "obfd->xvec" identifier -> field_identifier) -> field_identifier)) ;) (expression_statement "pcVar23 = (char *)dcgettext(0,"don\'t know how to write debugging information for %s",5);" (assignment_expression "pcVar23 = (char *)dcgettext(0,"don\'t know how to write debugging information for %s",5)" identifier = (cast_expression "(char *)dcgettext(0,"don\'t know how to write debugging information for %s",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"don\'t know how to write debugging information for %s",5)" identifier (argument_list "(0,"don\'t know how to write debugging information for %s",5)" ( number_literal , (string_literal ""don\'t know how to write debugging information for %s"" " string_content escape_sequence string_content ") , number_literal ))))) ;) (expression_statement "bfd_nonfatal_message((char *)0x0,obfd,(asection *)0x0,pcVar23,pcVar24);" (call_expression "bfd_nonfatal_message((char *)0x0,obfd,(asection *)0x0,pcVar23,pcVar24)" identifier (argument_list "((char *)0x0,obfd,(asection *)0x0,pcVar23,pcVar24)" ( (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) , identifier , (cast_expression "(asection *)0x0" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , identifier , identifier ))) ;) (expression_statement "status = 1;" (assignment_expression "status = 1" identifier = number_literal) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "bVar21 = write_stabs_in_sections_debugging_info\n                         (obfd,local_94,&syms,(bfd_size_type *)file_alignment,&strings,\n                          (bfd_size_type *)&contents);" (assignment_expression "bVar21 = write_stabs_in_sections_debugging_info\n                         (obfd,local_94,&syms,(bfd_size_type *)file_alignment,&strings,\n                          (bfd_size_type *)&contents)" identifier = (call_expression "write_stabs_in_sections_debugging_info\n                         (obfd,local_94,&syms,(bfd_size_type *)file_alignment,&strings,\n                          (bfd_size_type *)&contents)" identifier (argument_list "(obfd,local_94,&syms,(bfd_size_type *)file_alignment,&strings,\n                          (bfd_size_type *)&contents)" ( identifier , identifier , (pointer_expression "&syms" & identifier) , (cast_expression "(bfd_size_type *)file_alignment" ( (type_descriptor "bfd_size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (pointer_expression "&strings" & identifier) , (cast_expression "(bfd_size_type *)&contents" ( (type_descriptor "bfd_size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&contents" & identifier)) )))) ;) (if_statement "if (bVar21 == 0) {\n        status = 1;\n        return 0;\n      }" if (parenthesized_expression "(bVar21 == 0)" ( (binary_expression "bVar21 == 0" identifier == number_literal) )) (compound_statement "{\n        status = 1;\n        return 0;\n      }" { (expression_statement "status = 1;" (assignment_expression "status = 1" identifier = number_literal) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "iVar18 = bfd_make_section_with_flags(obfd,".stab",0x2108);" (assignment_expression "iVar18 = bfd_make_section_with_flags(obfd,".stab",0x2108)" identifier = (call_expression "bfd_make_section_with_flags(obfd,".stab",0x2108)" identifier (argument_list "(obfd,".stab",0x2108)" ( identifier , (string_literal "".stab"" " string_content ") , number_literal )))) ;) (expression_statement "iVar22 = bfd_make_section_with_flags(obfd,".stabstr",0x2108);" (assignment_expression "iVar22 = bfd_make_section_with_flags(obfd,".stabstr",0x2108)" identifier = (call_expression "bfd_make_section_with_flags(obfd,".stabstr",0x2108)" identifier (argument_list "(obfd,".stabstr",0x2108)" ( identifier , (string_literal "".stabstr"" " string_content ") , number_literal )))) ;) (if_statement "if ((((iVar18 == 0) || (iVar22 == 0)) ||\n          (iVar39 = bfd_set_section_size(obfd,iVar18,file_alignment._0_4_,iVar22), iVar39 == 0)) ||\n         (iVar39 = bfd_set_section_size(obfd,iVar22,contents,iVar39), iVar39 == 0)) {\n        pcVar24 = "can\'t create debugging section";\nLAB_00019fcf:\n        pcVar24 = (char *)dcgettext(0,pcVar24,5,iVar18);\n        bfd_nonfatal_message((char *)0x0,obfd,(asection *)0x0,pcVar24);\n        status = 1;\n        return 0;\n      }" if (parenthesized_expression "((((iVar18 == 0) || (iVar22 == 0)) ||\n          (iVar39 = bfd_set_section_size(obfd,iVar18,file_alignment._0_4_,iVar22), iVar39 == 0)) ||\n         (iVar39 = bfd_set_section_size(obfd,iVar22,contents,iVar39), iVar39 == 0))" ( (binary_expression "(((iVar18 == 0) || (iVar22 == 0)) ||\n          (iVar39 = bfd_set_section_size(obfd,iVar18,file_alignment._0_4_,iVar22), iVar39 == 0)) ||\n         (iVar39 = bfd_set_section_size(obfd,iVar22,contents,iVar39), iVar39 == 0)" (parenthesized_expression "(((iVar18 == 0) || (iVar22 == 0)) ||\n          (iVar39 = bfd_set_section_size(obfd,iVar18,file_alignment._0_4_,iVar22), iVar39 == 0))" ( (binary_expression "((iVar18 == 0) || (iVar22 == 0)) ||\n          (iVar39 = bfd_set_section_size(obfd,iVar18,file_alignment._0_4_,iVar22), iVar39 == 0)" (parenthesized_expression "((iVar18 == 0) || (iVar22 == 0))" ( (binary_expression "(iVar18 == 0) || (iVar22 == 0)" (parenthesized_expression "(iVar18 == 0)" ( (binary_expression "iVar18 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar22 == 0)" ( (binary_expression "iVar22 == 0" identifier == number_literal) ))) )) || (parenthesized_expression "(iVar39 = bfd_set_section_size(obfd,iVar18,file_alignment._0_4_,iVar22), iVar39 == 0)" ( (comma_expression "iVar39 = bfd_set_section_size(obfd,iVar18,file_alignment._0_4_,iVar22), iVar39 == 0" (assignment_expression "iVar39 = bfd_set_section_size(obfd,iVar18,file_alignment._0_4_,iVar22)" identifier = (call_expression "bfd_set_section_size(obfd,iVar18,file_alignment._0_4_,iVar22)" identifier (argument_list "(obfd,iVar18,file_alignment._0_4_,iVar22)" ( identifier , identifier , (field_expression "file_alignment._0_4_" identifier . field_identifier) , identifier )))) , (binary_expression "iVar39 == 0" identifier == number_literal)) ))) )) || (parenthesized_expression "(iVar39 = bfd_set_section_size(obfd,iVar22,contents,iVar39), iVar39 == 0)" ( (comma_expression "iVar39 = bfd_set_section_size(obfd,iVar22,contents,iVar39), iVar39 == 0" (assignment_expression "iVar39 = bfd_set_section_size(obfd,iVar22,contents,iVar39)" identifier = (call_expression "bfd_set_section_size(obfd,iVar22,contents,iVar39)" identifier (argument_list "(obfd,iVar22,contents,iVar39)" ( identifier , identifier , identifier , identifier )))) , (binary_expression "iVar39 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n        pcVar24 = "can\'t create debugging section";\nLAB_00019fcf:\n        pcVar24 = (char *)dcgettext(0,pcVar24,5,iVar18);\n        bfd_nonfatal_message((char *)0x0,obfd,(asection *)0x0,pcVar24);\n        status = 1;\n        return 0;\n      }" { (expression_statement "pcVar24 = "can\'t create debugging section";" (assignment_expression "pcVar24 = "can\'t create debugging section"" identifier = (string_literal ""can\'t create debugging section"" " string_content escape_sequence string_content ")) ;) (labeled_statement "LAB_00019fcf:\n        pcVar24 = (char *)dcgettext(0,pcVar24,5,iVar18);" statement_identifier : (expression_statement "pcVar24 = (char *)dcgettext(0,pcVar24,5,iVar18);" (assignment_expression "pcVar24 = (char *)dcgettext(0,pcVar24,5,iVar18)" identifier = (cast_expression "(char *)dcgettext(0,pcVar24,5,iVar18)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar24,5,iVar18)" identifier (argument_list "(0,pcVar24,5,iVar18)" ( number_literal , identifier , number_literal , identifier ))))) ;)) (expression_statement "bfd_nonfatal_message((char *)0x0,obfd,(asection *)0x0,pcVar24);" (call_expression "bfd_nonfatal_message((char *)0x0,obfd,(asection *)0x0,pcVar24)" identifier (argument_list "((char *)0x0,obfd,(asection *)0x0,pcVar24)" ( (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) , identifier , (cast_expression "(asection *)0x0" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , identifier ))) ;) (expression_statement "status = 1;" (assignment_expression "status = 1" identifier = number_literal) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "*(undefined4 *)(iVar18 + 0x40) = 2;" (assignment_expression "*(undefined4 *)(iVar18 + 0x40) = 2" (pointer_expression "*(undefined4 *)(iVar18 + 0x40)" * (cast_expression "(undefined4 *)(iVar18 + 0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + 0x40)" ( (binary_expression "iVar18 + 0x40" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(iVar22 + 0x40) = 0;" (assignment_expression "*(undefined4 *)(iVar22 + 0x40) = 0" (pointer_expression "*(undefined4 *)(iVar22 + 0x40)" * (cast_expression "(undefined4 *)(iVar22 + 0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + 0x40)" ( (binary_expression "iVar22 + 0x40" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar18 = bfd_set_section_contents(obfd,iVar18,syms,0,0,file_alignment._0_4_,iVar39,iVar39);" (assignment_expression "iVar18 = bfd_set_section_contents(obfd,iVar18,syms,0,0,file_alignment._0_4_,iVar39,iVar39)" identifier = (call_expression "bfd_set_section_contents(obfd,iVar18,syms,0,0,file_alignment._0_4_,iVar39,iVar39)" identifier (argument_list "(obfd,iVar18,syms,0,0,file_alignment._0_4_,iVar39,iVar39)" ( identifier , identifier , identifier , number_literal , number_literal , (field_expression "file_alignment._0_4_" identifier . field_identifier) , identifier , identifier )))) ;) (if_statement "if ((iVar18 == 0) ||\n         (iVar18 = bfd_set_section_contents\n                             (obfd,iVar22,strings,0,0,contents,extraout_ECX,extraout_ECX),\n         iVar18 == 0)) {\n        pcVar24 = "can\'t set debugging section contents";\n        iVar18 = iVar22;\n        goto LAB_00019fcf;\n      }" if (parenthesized_expression "((iVar18 == 0) ||\n         (iVar18 = bfd_set_section_contents\n                             (obfd,iVar22,strings,0,0,contents,extraout_ECX,extraout_ECX),\n         iVar18 == 0))" ( (binary_expression "(iVar18 == 0) ||\n         (iVar18 = bfd_set_section_contents\n                             (obfd,iVar22,strings,0,0,contents,extraout_ECX,extraout_ECX),\n         iVar18 == 0)" (parenthesized_expression "(iVar18 == 0)" ( (binary_expression "iVar18 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar18 = bfd_set_section_contents\n                             (obfd,iVar22,strings,0,0,contents,extraout_ECX,extraout_ECX),\n         iVar18 == 0)" ( (comma_expression "iVar18 = bfd_set_section_contents\n                             (obfd,iVar22,strings,0,0,contents,extraout_ECX,extraout_ECX),\n         iVar18 == 0" (assignment_expression "iVar18 = bfd_set_section_contents\n                             (obfd,iVar22,strings,0,0,contents,extraout_ECX,extraout_ECX)" identifier = (call_expression "bfd_set_section_contents\n                             (obfd,iVar22,strings,0,0,contents,extraout_ECX,extraout_ECX)" identifier (argument_list "(obfd,iVar22,strings,0,0,contents,extraout_ECX,extraout_ECX)" ( identifier , identifier , identifier , number_literal , number_literal , identifier , identifier , identifier )))) , (binary_expression "iVar18 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n        pcVar24 = "can\'t set debugging section contents";\n        iVar18 = iVar22;\n        goto LAB_00019fcf;\n      }" { (expression_statement "pcVar24 = "can\'t set debugging section contents";" (assignment_expression "pcVar24 = "can\'t set debugging section contents"" identifier = (string_literal ""can\'t set debugging section contents"" " string_content escape_sequence string_content ")) ;) (expression_statement "iVar18 = iVar22;" (assignment_expression "iVar18 = iVar22" identifier = identifier) ;) (goto_statement "goto LAB_00019fcf;" goto statement_identifier ;) })) })) }) (else_clause "else {\n    if (localize_hidden != 0 || discard_locals != LOCALS_UNDEF) goto LAB_00019037;\n    iVar18 = htab_elements(strip_specific_htab);\n    if (((iVar18 != 0) || (iVar18 = htab_elements(keep_specific_htab), iVar18 != 0)) ||\n       ((iVar18 = htab_elements(localize_specific_htab), iVar18 != 0 ||\n        (((((iVar18 = htab_elements(globalize_specific_htab), iVar18 != 0 ||\n            (iVar18 = htab_elements(keepglobal_specific_htab), iVar18 != 0)) ||\n           (iVar18 = htab_elements(weaken_specific_htab), iVar18 != 0)) ||\n          ((iVar18 = htab_elements(redefine_specific_htab), prefix_symbols_string != (char *)0x0 ||\n           (section_rename_list != (section_rename *)0x0)))) ||\n         (((((((sections_removed != 0 || sections_copied != 0) || convert_debugging != 0) ||\n             change_leading_char != 0) || remove_leading_char != 0) || weaken != 0) ||\n          add_symbols != 0) || iVar18 != 0)))))) goto LAB_00019032;\n  }" else (compound_statement "{\n    if (localize_hidden != 0 || discard_locals != LOCALS_UNDEF) goto LAB_00019037;\n    iVar18 = htab_elements(strip_specific_htab);\n    if (((iVar18 != 0) || (iVar18 = htab_elements(keep_specific_htab), iVar18 != 0)) ||\n       ((iVar18 = htab_elements(localize_specific_htab), iVar18 != 0 ||\n        (((((iVar18 = htab_elements(globalize_specific_htab), iVar18 != 0 ||\n            (iVar18 = htab_elements(keepglobal_specific_htab), iVar18 != 0)) ||\n           (iVar18 = htab_elements(weaken_specific_htab), iVar18 != 0)) ||\n          ((iVar18 = htab_elements(redefine_specific_htab), prefix_symbols_string != (char *)0x0 ||\n           (section_rename_list != (section_rename *)0x0)))) ||\n         (((((((sections_removed != 0 || sections_copied != 0) || convert_debugging != 0) ||\n             change_leading_char != 0) || remove_leading_char != 0) || weaken != 0) ||\n          add_symbols != 0) || iVar18 != 0)))))) goto LAB_00019032;\n  }" { (if_statement "if (localize_hidden != 0 || discard_locals != LOCALS_UNDEF) goto LAB_00019037;" if (parenthesized_expression "(localize_hidden != 0 || discard_locals != LOCALS_UNDEF)" ( (binary_expression "localize_hidden != 0 || discard_locals != LOCALS_UNDEF" (binary_expression "localize_hidden != 0" identifier != number_literal) || (binary_expression "discard_locals != LOCALS_UNDEF" identifier != identifier)) )) (goto_statement "goto LAB_00019037;" goto statement_identifier ;)) (expression_statement "iVar18 = htab_elements(strip_specific_htab);" (assignment_expression "iVar18 = htab_elements(strip_specific_htab)" identifier = (call_expression "htab_elements(strip_specific_htab)" identifier (argument_list "(strip_specific_htab)" ( identifier )))) ;) (if_statement "if (((iVar18 != 0) || (iVar18 = htab_elements(keep_specific_htab), iVar18 != 0)) ||\n       ((iVar18 = htab_elements(localize_specific_htab), iVar18 != 0 ||\n        (((((iVar18 = htab_elements(globalize_specific_htab), iVar18 != 0 ||\n            (iVar18 = htab_elements(keepglobal_specific_htab), iVar18 != 0)) ||\n           (iVar18 = htab_elements(weaken_specific_htab), iVar18 != 0)) ||\n          ((iVar18 = htab_elements(redefine_specific_htab), prefix_symbols_string != (char *)0x0 ||\n           (section_rename_list != (section_rename *)0x0)))) ||\n         (((((((sections_removed != 0 || sections_copied != 0) || convert_debugging != 0) ||\n             change_leading_char != 0) || remove_leading_char != 0) || weaken != 0) ||\n          add_symbols != 0) || iVar18 != 0)))))) goto LAB_00019032;" if (parenthesized_expression "(((iVar18 != 0) || (iVar18 = htab_elements(keep_specific_htab), iVar18 != 0)) ||\n       ((iVar18 = htab_elements(localize_specific_htab), iVar18 != 0 ||\n        (((((iVar18 = htab_elements(globalize_specific_htab), iVar18 != 0 ||\n            (iVar18 = htab_elements(keepglobal_specific_htab), iVar18 != 0)) ||\n           (iVar18 = htab_elements(weaken_specific_htab), iVar18 != 0)) ||\n          ((iVar18 = htab_elements(redefine_specific_htab), prefix_symbols_string != (char *)0x0 ||\n           (section_rename_list != (section_rename *)0x0)))) ||\n         (((((((sections_removed != 0 || sections_copied != 0) || convert_debugging != 0) ||\n             change_leading_char != 0) || remove_leading_char != 0) || weaken != 0) ||\n          add_symbols != 0) || iVar18 != 0))))))" ( (binary_expression "((iVar18 != 0) || (iVar18 = htab_elements(keep_specific_htab), iVar18 != 0)) ||\n       ((iVar18 = htab_elements(localize_specific_htab), iVar18 != 0 ||\n        (((((iVar18 = htab_elements(globalize_specific_htab), iVar18 != 0 ||\n            (iVar18 = htab_elements(keepglobal_specific_htab), iVar18 != 0)) ||\n           (iVar18 = htab_elements(weaken_specific_htab), iVar18 != 0)) ||\n          ((iVar18 = htab_elements(redefine_specific_htab), prefix_symbols_string != (char *)0x0 ||\n           (section_rename_list != (section_rename *)0x0)))) ||\n         (((((((sections_removed != 0 || sections_copied != 0) || convert_debugging != 0) ||\n             change_leading_char != 0) || remove_leading_char != 0) || weaken != 0) ||\n          add_symbols != 0) || iVar18 != 0)))))" (parenthesized_expression "((iVar18 != 0) || (iVar18 = htab_elements(keep_specific_htab), iVar18 != 0))" ( (binary_expression "(iVar18 != 0) || (iVar18 = htab_elements(keep_specific_htab), iVar18 != 0)" (parenthesized_expression "(iVar18 != 0)" ( (binary_expression "iVar18 != 0" identifier != number_literal) )) || (parenthesized_expression "(iVar18 = htab_elements(keep_specific_htab), iVar18 != 0)" ( (comma_expression "iVar18 = htab_elements(keep_specific_htab), iVar18 != 0" (assignment_expression "iVar18 = htab_elements(keep_specific_htab)" identifier = (call_expression "htab_elements(keep_specific_htab)" identifier (argument_list "(keep_specific_htab)" ( identifier )))) , (binary_expression "iVar18 != 0" identifier != number_literal)) ))) )) || (parenthesized_expression "((iVar18 = htab_elements(localize_specific_htab), iVar18 != 0 ||\n        (((((iVar18 = htab_elements(globalize_specific_htab), iVar18 != 0 ||\n            (iVar18 = htab_elements(keepglobal_specific_htab), iVar18 != 0)) ||\n           (iVar18 = htab_elements(weaken_specific_htab), iVar18 != 0)) ||\n          ((iVar18 = htab_elements(redefine_specific_htab), prefix_symbols_string != (char *)0x0 ||\n           (section_rename_list != (section_rename *)0x0)))) ||\n         (((((((sections_removed != 0 || sections_copied != 0) || convert_debugging != 0) ||\n             change_leading_char != 0) || remove_leading_char != 0) || weaken != 0) ||\n          add_symbols != 0) || iVar18 != 0)))))" ( (parenthesized_expression "(iVar18 = htab_elements(localize_specific_htab), iVar18 != 0 ||\n        (((((iVar18 = htab_elements(globalize_specific_htab), iVar18 != 0 ||\n            (iVar18 = htab_elements(keepglobal_specific_htab), iVar18 != 0)) ||\n           (iVar18 = htab_elements(weaken_specific_htab), iVar18 != 0)) ||\n          ((iVar18 = htab_elements(redefine_specific_htab), prefix_symbols_string != (char *)0x0 ||\n           (section_rename_list != (section_rename *)0x0)))) ||\n         (((((((sections_removed != 0 || sections_copied != 0) || convert_debugging != 0) ||\n             change_leading_char != 0) || remove_leading_char != 0) || weaken != 0) ||\n          add_symbols != 0) || iVar18 != 0))))" ( (comma_expression "iVar18 = htab_elements(localize_specific_htab), iVar18 != 0 ||\n        (((((iVar18 = htab_elements(globalize_specific_htab), iVar18 != 0 ||\n            (iVar18 = htab_elements(keepglobal_specific_htab), iVar18 != 0)) ||\n           (iVar18 = htab_elements(weaken_specific_htab), iVar18 != 0)) ||\n          ((iVar18 = htab_elements(redefine_specific_htab), prefix_symbols_string != (char *)0x0 ||\n           (section_rename_list != (section_rename *)0x0)))) ||\n         (((((((sections_removed != 0 || sections_copied != 0) || convert_debugging != 0) ||\n             change_leading_char != 0) || remove_leading_char != 0) || weaken != 0) ||\n          add_symbols != 0) || iVar18 != 0)))" (assignment_expression "iVar18 = htab_elements(localize_specific_htab)" identifier = (call_expression "htab_elements(localize_specific_htab)" identifier (argument_list "(localize_specific_htab)" ( identifier )))) , (binary_expression "iVar18 != 0 ||\n        (((((iVar18 = htab_elements(globalize_specific_htab), iVar18 != 0 ||\n            (iVar18 = htab_elements(keepglobal_specific_htab), iVar18 != 0)) ||\n           (iVar18 = htab_elements(weaken_specific_htab), iVar18 != 0)) ||\n          ((iVar18 = htab_elements(redefine_specific_htab), prefix_symbols_string != (char *)0x0 ||\n           (section_rename_list != (section_rename *)0x0)))) ||\n         (((((((sections_removed != 0 || sections_copied != 0) || convert_debugging != 0) ||\n             change_leading_char != 0) || remove_leading_char != 0) || weaken != 0) ||\n          add_symbols != 0) || iVar18 != 0)))" (binary_expression "iVar18 != 0" identifier != number_literal) || (parenthesized_expression "(((((iVar18 = htab_elements(globalize_specific_htab), iVar18 != 0 ||\n            (iVar18 = htab_elements(keepglobal_specific_htab), iVar18 != 0)) ||\n           (iVar18 = htab_elements(weaken_specific_htab), iVar18 != 0)) ||\n          ((iVar18 = htab_elements(redefine_specific_htab), prefix_symbols_string != (char *)0x0 ||\n           (section_rename_list != (section_rename *)0x0)))) ||\n         (((((((sections_removed != 0 || sections_copied != 0) || convert_debugging != 0) ||\n             change_leading_char != 0) || remove_leading_char != 0) || weaken != 0) ||\n          add_symbols != 0) || iVar18 != 0)))" ( (parenthesized_expression "((((iVar18 = htab_elements(globalize_specific_htab), iVar18 != 0 ||\n            (iVar18 = htab_elements(keepglobal_specific_htab), iVar18 != 0)) ||\n           (iVar18 = htab_elements(weaken_specific_htab), iVar18 != 0)) ||\n          ((iVar18 = htab_elements(redefine_specific_htab), prefix_symbols_string != (char *)0x0 ||\n           (section_rename_list != (section_rename *)0x0)))) ||\n         (((((((sections_removed != 0 || sections_copied != 0) || convert_debugging != 0) ||\n             change_leading_char != 0) || remove_leading_char != 0) || weaken != 0) ||\n          add_symbols != 0) || iVar18 != 0))" ( (binary_expression "(((iVar18 = htab_elements(globalize_specific_htab), iVar18 != 0 ||\n            (iVar18 = htab_elements(keepglobal_specific_htab), iVar18 != 0)) ||\n           (iVar18 = htab_elements(weaken_specific_htab), iVar18 != 0)) ||\n          ((iVar18 = htab_elements(redefine_specific_htab), prefix_symbols_string != (char *)0x0 ||\n           (section_rename_list != (section_rename *)0x0)))) ||\n         (((((((sections_removed != 0 || sections_copied != 0) || convert_debugging != 0) ||\n             change_leading_char != 0) || remove_leading_char != 0) || weaken != 0) ||\n          add_symbols != 0) || iVar18 != 0)" (parenthesized_expression "(((iVar18 = htab_elements(globalize_specific_htab), iVar18 != 0 ||\n            (iVar18 = htab_elements(keepglobal_specific_htab), iVar18 != 0)) ||\n           (iVar18 = htab_elements(weaken_specific_htab), iVar18 != 0)) ||\n          ((iVar18 = htab_elements(redefine_specific_htab), prefix_symbols_string != (char *)0x0 ||\n           (section_rename_list != (section_rename *)0x0))))" ( (binary_expression "((iVar18 = htab_elements(globalize_specific_htab), iVar18 != 0 ||\n            (iVar18 = htab_elements(keepglobal_specific_htab), iVar18 != 0)) ||\n           (iVar18 = htab_elements(weaken_specific_htab), iVar18 != 0)) ||\n          ((iVar18 = htab_elements(redefine_specific_htab), prefix_symbols_string != (char *)0x0 ||\n           (section_rename_list != (section_rename *)0x0)))" (parenthesized_expression "((iVar18 = htab_elements(globalize_specific_htab), iVar18 != 0 ||\n            (iVar18 = htab_elements(keepglobal_specific_htab), iVar18 != 0)) ||\n           (iVar18 = htab_elements(weaken_specific_htab), iVar18 != 0))" ( (binary_expression "(iVar18 = htab_elements(globalize_specific_htab), iVar18 != 0 ||\n            (iVar18 = htab_elements(keepglobal_specific_htab), iVar18 != 0)) ||\n           (iVar18 = htab_elements(weaken_specific_htab), iVar18 != 0)" (parenthesized_expression "(iVar18 = htab_elements(globalize_specific_htab), iVar18 != 0 ||\n            (iVar18 = htab_elements(keepglobal_specific_htab), iVar18 != 0))" ( (comma_expression "iVar18 = htab_elements(globalize_specific_htab), iVar18 != 0 ||\n            (iVar18 = htab_elements(keepglobal_specific_htab), iVar18 != 0)" (assignment_expression "iVar18 = htab_elements(globalize_specific_htab)" identifier = (call_expression "htab_elements(globalize_specific_htab)" identifier (argument_list "(globalize_specific_htab)" ( identifier )))) , (binary_expression "iVar18 != 0 ||\n            (iVar18 = htab_elements(keepglobal_specific_htab), iVar18 != 0)" (binary_expression "iVar18 != 0" identifier != number_literal) || (parenthesized_expression "(iVar18 = htab_elements(keepglobal_specific_htab), iVar18 != 0)" ( (comma_expression "iVar18 = htab_elements(keepglobal_specific_htab), iVar18 != 0" (assignment_expression "iVar18 = htab_elements(keepglobal_specific_htab)" identifier = (call_expression "htab_elements(keepglobal_specific_htab)" identifier (argument_list "(keepglobal_specific_htab)" ( identifier )))) , (binary_expression "iVar18 != 0" identifier != number_literal)) )))) )) || (parenthesized_expression "(iVar18 = htab_elements(weaken_specific_htab), iVar18 != 0)" ( (comma_expression "iVar18 = htab_elements(weaken_specific_htab), iVar18 != 0" (assignment_expression "iVar18 = htab_elements(weaken_specific_htab)" identifier = (call_expression "htab_elements(weaken_specific_htab)" identifier (argument_list "(weaken_specific_htab)" ( identifier )))) , (binary_expression "iVar18 != 0" identifier != number_literal)) ))) )) || (parenthesized_expression "((iVar18 = htab_elements(redefine_specific_htab), prefix_symbols_string != (char *)0x0 ||\n           (section_rename_list != (section_rename *)0x0)))" ( (parenthesized_expression "(iVar18 = htab_elements(redefine_specific_htab), prefix_symbols_string != (char *)0x0 ||\n           (section_rename_list != (section_rename *)0x0))" ( (comma_expression "iVar18 = htab_elements(redefine_specific_htab), prefix_symbols_string != (char *)0x0 ||\n           (section_rename_list != (section_rename *)0x0)" (assignment_expression "iVar18 = htab_elements(redefine_specific_htab)" identifier = (call_expression "htab_elements(redefine_specific_htab)" identifier (argument_list "(redefine_specific_htab)" ( identifier )))) , (binary_expression "prefix_symbols_string != (char *)0x0 ||\n           (section_rename_list != (section_rename *)0x0)" (binary_expression "prefix_symbols_string != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) || (parenthesized_expression "(section_rename_list != (section_rename *)0x0)" ( (binary_expression "section_rename_list != (section_rename *)0x0" identifier != (cast_expression "(section_rename *)0x0" ( (type_descriptor "section_rename *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )))) )) ))) )) || (parenthesized_expression "(((((((sections_removed != 0 || sections_copied != 0) || convert_debugging != 0) ||\n             change_leading_char != 0) || remove_leading_char != 0) || weaken != 0) ||\n          add_symbols != 0) || iVar18 != 0)" ( (binary_expression "((((((sections_removed != 0 || sections_copied != 0) || convert_debugging != 0) ||\n             change_leading_char != 0) || remove_leading_char != 0) || weaken != 0) ||\n          add_symbols != 0) || iVar18 != 0" (parenthesized_expression "((((((sections_removed != 0 || sections_copied != 0) || convert_debugging != 0) ||\n             change_leading_char != 0) || remove_leading_char != 0) || weaken != 0) ||\n          add_symbols != 0)" ( (binary_expression "(((((sections_removed != 0 || sections_copied != 0) || convert_debugging != 0) ||\n             change_leading_char != 0) || remove_leading_char != 0) || weaken != 0) ||\n          add_symbols != 0" (parenthesized_expression "(((((sections_removed != 0 || sections_copied != 0) || convert_debugging != 0) ||\n             change_leading_char != 0) || remove_leading_char != 0) || weaken != 0)" ( (binary_expression "((((sections_removed != 0 || sections_copied != 0) || convert_debugging != 0) ||\n             change_leading_char != 0) || remove_leading_char != 0) || weaken != 0" (parenthesized_expression "((((sections_removed != 0 || sections_copied != 0) || convert_debugging != 0) ||\n             change_leading_char != 0) || remove_leading_char != 0)" ( (binary_expression "(((sections_removed != 0 || sections_copied != 0) || convert_debugging != 0) ||\n             change_leading_char != 0) || remove_leading_char != 0" (parenthesized_expression "(((sections_removed != 0 || sections_copied != 0) || convert_debugging != 0) ||\n             change_leading_char != 0)" ( (binary_expression "((sections_removed != 0 || sections_copied != 0) || convert_debugging != 0) ||\n             change_leading_char != 0" (parenthesized_expression "((sections_removed != 0 || sections_copied != 0) || convert_debugging != 0)" ( (binary_expression "(sections_removed != 0 || sections_copied != 0) || convert_debugging != 0" (parenthesized_expression "(sections_removed != 0 || sections_copied != 0)" ( (binary_expression "sections_removed != 0 || sections_copied != 0" (binary_expression "sections_removed != 0" identifier != number_literal) || (binary_expression "sections_copied != 0" identifier != number_literal)) )) || (binary_expression "convert_debugging != 0" identifier != number_literal)) )) || (binary_expression "change_leading_char != 0" identifier != number_literal)) )) || (binary_expression "remove_leading_char != 0" identifier != number_literal)) )) || (binary_expression "weaken != 0" identifier != number_literal)) )) || (binary_expression "add_symbols != 0" identifier != number_literal)) )) || (binary_expression "iVar18 != 0" identifier != number_literal)) ))) )) )))) )) ))) )) (goto_statement "goto LAB_00019032;" goto statement_identifier ;)) }))) (expression_statement "bfd_set_symtab(obfd,osympp,local_70);" (call_expression "bfd_set_symtab(obfd,osympp,local_70)" identifier (argument_list "(obfd,osympp,local_70)" ( identifier , identifier , identifier ))) ;) (expression_statement "bfd_map_over_sections(ibfd,copy_relocations_in_section,obfd);" (call_expression "bfd_map_over_sections(ibfd,copy_relocations_in_section,obfd)" identifier (argument_list "(ibfd,copy_relocations_in_section,obfd)" ( identifier , identifier , identifier ))) ;) (expression_statement "bfd_map_over_sections(ibfd,copy_section,obfd);" (call_expression "bfd_map_over_sections(ibfd,copy_section,obfd)" identifier (argument_list "(ibfd,copy_section,obfd)" ( identifier , identifier , identifier ))) ;) (expression_statement "pbVar62 = ibfd;" (assignment_expression "pbVar62 = ibfd" identifier = identifier) ;) (for_statement "for (psVar6 = add_sections; psVar14 = update_sections, psVar6 != (section_add *)0x0;\n      psVar6 = psVar6->next) {\n    iVar18 = bfd_set_section_contents(obfd,psVar6->section,psVar6->contents,0,0,psVar6->size);\n    if (iVar18 == 0) {\n      pbVar62 = (bfd *)psVar6->section;\n      local_50 = 0;\n      goto LAB_00019763;\n    }\n    pbVar62 = obfd;\n  }" for ( (assignment_expression "psVar6 = add_sections" identifier = identifier) ; (comma_expression "psVar14 = update_sections, psVar6 != (section_add *)0x0" (assignment_expression "psVar14 = update_sections" identifier = identifier) , (binary_expression "psVar6 != (section_add *)0x0" identifier != (cast_expression "(section_add *)0x0" ( (type_descriptor "section_add *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ; (assignment_expression "psVar6 = psVar6->next" identifier = (field_expression "psVar6->next" identifier -> field_identifier)) ) (compound_statement "{\n    iVar18 = bfd_set_section_contents(obfd,psVar6->section,psVar6->contents,0,0,psVar6->size);\n    if (iVar18 == 0) {\n      pbVar62 = (bfd *)psVar6->section;\n      local_50 = 0;\n      goto LAB_00019763;\n    }\n    pbVar62 = obfd;\n  }" { (expression_statement "iVar18 = bfd_set_section_contents(obfd,psVar6->section,psVar6->contents,0,0,psVar6->size);" (assignment_expression "iVar18 = bfd_set_section_contents(obfd,psVar6->section,psVar6->contents,0,0,psVar6->size)" identifier = (call_expression "bfd_set_section_contents(obfd,psVar6->section,psVar6->contents,0,0,psVar6->size)" identifier (argument_list "(obfd,psVar6->section,psVar6->contents,0,0,psVar6->size)" ( identifier , (field_expression "psVar6->section" identifier -> field_identifier) , (field_expression "psVar6->contents" identifier -> field_identifier) , number_literal , number_literal , (field_expression "psVar6->size" identifier -> field_identifier) )))) ;) (if_statement "if (iVar18 == 0) {\n      pbVar62 = (bfd *)psVar6->section;\n      local_50 = 0;\n      goto LAB_00019763;\n    }" if (parenthesized_expression "(iVar18 == 0)" ( (binary_expression "iVar18 == 0" identifier == number_literal) )) (compound_statement "{\n      pbVar62 = (bfd *)psVar6->section;\n      local_50 = 0;\n      goto LAB_00019763;\n    }" { (expression_statement "pbVar62 = (bfd *)psVar6->section;" (assignment_expression "pbVar62 = (bfd *)psVar6->section" identifier = (cast_expression "(bfd *)psVar6->section" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "psVar6->section" identifier -> field_identifier))) ;) (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_00019763;" goto statement_identifier ;) })) (expression_statement "pbVar62 = obfd;" (assignment_expression "pbVar62 = obfd" identifier = identifier) ;) })) (for_statement "for (; psVar14 != (section_add *)0x0; psVar14 = psVar14->next) {\n    pbVar62 = (bfd *)psVar14->section->output_section;\n    local_50 = bfd_set_section_contents(obfd,pbVar62,psVar14->contents,0,0,psVar14->size);\n    if (local_50 == 0) {\nLAB_00019763:\n      bfd_nonfatal_message((char *)0x0,obfd,(asection *)pbVar62,(char *)0x0);\n      return local_50;\n    }\n  }" for ( ; (binary_expression "psVar14 != (section_add *)0x0" identifier != (cast_expression "(section_add *)0x0" ( (type_descriptor "section_add *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "psVar14 = psVar14->next" identifier = (field_expression "psVar14->next" identifier -> field_identifier)) ) (compound_statement "{\n    pbVar62 = (bfd *)psVar14->section->output_section;\n    local_50 = bfd_set_section_contents(obfd,pbVar62,psVar14->contents,0,0,psVar14->size);\n    if (local_50 == 0) {\nLAB_00019763:\n      bfd_nonfatal_message((char *)0x0,obfd,(asection *)pbVar62,(char *)0x0);\n      return local_50;\n    }\n  }" { (expression_statement "pbVar62 = (bfd *)psVar14->section->output_section;" (assignment_expression "pbVar62 = (bfd *)psVar14->section->output_section" identifier = (cast_expression "(bfd *)psVar14->section->output_section" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "psVar14->section->output_section" (field_expression "psVar14->section" identifier -> field_identifier) -> field_identifier))) ;) (expression_statement "local_50 = bfd_set_section_contents(obfd,pbVar62,psVar14->contents,0,0,psVar14->size);" (assignment_expression "local_50 = bfd_set_section_contents(obfd,pbVar62,psVar14->contents,0,0,psVar14->size)" identifier = (call_expression "bfd_set_section_contents(obfd,pbVar62,psVar14->contents,0,0,psVar14->size)" identifier (argument_list "(obfd,pbVar62,psVar14->contents,0,0,psVar14->size)" ( identifier , identifier , (field_expression "psVar14->contents" identifier -> field_identifier) , number_literal , number_literal , (field_expression "psVar14->size" identifier -> field_identifier) )))) ;) (if_statement "if (local_50 == 0) {\nLAB_00019763:\n      bfd_nonfatal_message((char *)0x0,obfd,(asection *)pbVar62,(char *)0x0);\n      return local_50;\n    }" if (parenthesized_expression "(local_50 == 0)" ( (binary_expression "local_50 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00019763:\n      bfd_nonfatal_message((char *)0x0,obfd,(asection *)pbVar62,(char *)0x0);\n      return local_50;\n    }" { (labeled_statement "LAB_00019763:\n      bfd_nonfatal_message((char *)0x0,obfd,(asection *)pbVar62,(char *)0x0);" statement_identifier : (expression_statement "bfd_nonfatal_message((char *)0x0,obfd,(asection *)pbVar62,(char *)0x0);" (call_expression "bfd_nonfatal_message((char *)0x0,obfd,(asection *)pbVar62,(char *)0x0)" identifier (argument_list "((char *)0x0,obfd,(asection *)pbVar62,(char *)0x0)" ( (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) , identifier , (cast_expression "(asection *)pbVar62" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ))) ;)) (return_statement "return local_50;" return identifier ;) })) })) (expression_statement "pbVar69 = (bfd *)0x0;" (assignment_expression "pbVar69 = (bfd *)0x0" identifier = (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (merge_notes != 0) {\n    pbVar69 = (bfd *)bfd_get_section_by_name(obfd,".gnu.build.attributes");\n    if (((pbVar69 == (bfd *)0x0) || (merge_notes == 0)) ||\n       ((obfd->xvec->flavour != bfd_target_elf_flavour ||\n        (bVar21 = is_merged_note_section(pbVar69,(asection *)&pbVar69->archive_next,sec_1_00),\n        bVar21 == 0)))) {\n      if (is_strip == 0) {\n        pcVar24 = (char *)dcgettext(0,"could not find any mergeable note sections",5,0);\n        bfd_nonfatal_message((char *)0x0,obfd,(asection *)pbVar69,pcVar24);\n      }\n    }\n    else {\n      iVar18 = bfd_set_section_contents(obfd,pbVar69,merged_notes,0,0,merged_size,bVar21,bVar21);\n      if (iVar18 == 0) {\n        pcVar24 = (char *)dcgettext(0,"error: failed to copy merged notes into output",5,0);\n        goto LAB_0001a2cd;\n      }\n    }\n    free(merged_notes);\n    merged_notes = (bfd_byte *)0x0;\n    merge_notes = 0;\n    pbVar62 = obfd;\n  }" if (parenthesized_expression "(merge_notes != 0)" ( (binary_expression "merge_notes != 0" identifier != number_literal) )) (compound_statement "{\n    pbVar69 = (bfd *)bfd_get_section_by_name(obfd,".gnu.build.attributes");\n    if (((pbVar69 == (bfd *)0x0) || (merge_notes == 0)) ||\n       ((obfd->xvec->flavour != bfd_target_elf_flavour ||\n        (bVar21 = is_merged_note_section(pbVar69,(asection *)&pbVar69->archive_next,sec_1_00),\n        bVar21 == 0)))) {\n      if (is_strip == 0) {\n        pcVar24 = (char *)dcgettext(0,"could not find any mergeable note sections",5,0);\n        bfd_nonfatal_message((char *)0x0,obfd,(asection *)pbVar69,pcVar24);\n      }\n    }\n    else {\n      iVar18 = bfd_set_section_contents(obfd,pbVar69,merged_notes,0,0,merged_size,bVar21,bVar21);\n      if (iVar18 == 0) {\n        pcVar24 = (char *)dcgettext(0,"error: failed to copy merged notes into output",5,0);\n        goto LAB_0001a2cd;\n      }\n    }\n    free(merged_notes);\n    merged_notes = (bfd_byte *)0x0;\n    merge_notes = 0;\n    pbVar62 = obfd;\n  }" { (expression_statement "pbVar69 = (bfd *)bfd_get_section_by_name(obfd,".gnu.build.attributes");" (assignment_expression "pbVar69 = (bfd *)bfd_get_section_by_name(obfd,".gnu.build.attributes")" identifier = (cast_expression "(bfd *)bfd_get_section_by_name(obfd,".gnu.build.attributes")" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "bfd_get_section_by_name(obfd,".gnu.build.attributes")" identifier (argument_list "(obfd,".gnu.build.attributes")" ( identifier , (string_literal "".gnu.build.attributes"" " string_content ") ))))) ;) (if_statement "if (((pbVar69 == (bfd *)0x0) || (merge_notes == 0)) ||\n       ((obfd->xvec->flavour != bfd_target_elf_flavour ||\n        (bVar21 = is_merged_note_section(pbVar69,(asection *)&pbVar69->archive_next,sec_1_00),\n        bVar21 == 0)))) {\n      if (is_strip == 0) {\n        pcVar24 = (char *)dcgettext(0,"could not find any mergeable note sections",5,0);\n        bfd_nonfatal_message((char *)0x0,obfd,(asection *)pbVar69,pcVar24);\n      }\n    }\n    else {\n      iVar18 = bfd_set_section_contents(obfd,pbVar69,merged_notes,0,0,merged_size,bVar21,bVar21);\n      if (iVar18 == 0) {\n        pcVar24 = (char *)dcgettext(0,"error: failed to copy merged notes into output",5,0);\n        goto LAB_0001a2cd;\n      }\n    }" if (parenthesized_expression "(((pbVar69 == (bfd *)0x0) || (merge_notes == 0)) ||\n       ((obfd->xvec->flavour != bfd_target_elf_flavour ||\n        (bVar21 = is_merged_note_section(pbVar69,(asection *)&pbVar69->archive_next,sec_1_00),\n        bVar21 == 0))))" ( (binary_expression "((pbVar69 == (bfd *)0x0) || (merge_notes == 0)) ||\n       ((obfd->xvec->flavour != bfd_target_elf_flavour ||\n        (bVar21 = is_merged_note_section(pbVar69,(asection *)&pbVar69->archive_next,sec_1_00),\n        bVar21 == 0)))" (parenthesized_expression "((pbVar69 == (bfd *)0x0) || (merge_notes == 0))" ( (binary_expression "(pbVar69 == (bfd *)0x0) || (merge_notes == 0)" (parenthesized_expression "(pbVar69 == (bfd *)0x0)" ( (binary_expression "pbVar69 == (bfd *)0x0" identifier == (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(merge_notes == 0)" ( (binary_expression "merge_notes == 0" identifier == number_literal) ))) )) || (parenthesized_expression "((obfd->xvec->flavour != bfd_target_elf_flavour ||\n        (bVar21 = is_merged_note_section(pbVar69,(asection *)&pbVar69->archive_next,sec_1_00),\n        bVar21 == 0)))" ( (parenthesized_expression "(obfd->xvec->flavour != bfd_target_elf_flavour ||\n        (bVar21 = is_merged_note_section(pbVar69,(asection *)&pbVar69->archive_next,sec_1_00),\n        bVar21 == 0))" ( (binary_expression "obfd->xvec->flavour != bfd_target_elf_flavour ||\n        (bVar21 = is_merged_note_section(pbVar69,(asection *)&pbVar69->archive_next,sec_1_00),\n        bVar21 == 0)" (binary_expression "obfd->xvec->flavour != bfd_target_elf_flavour" (field_expression "obfd->xvec->flavour" (field_expression "obfd->xvec" identifier -> field_identifier) -> field_identifier) != identifier) || (parenthesized_expression "(bVar21 = is_merged_note_section(pbVar69,(asection *)&pbVar69->archive_next,sec_1_00),\n        bVar21 == 0)" ( (comma_expression "bVar21 = is_merged_note_section(pbVar69,(asection *)&pbVar69->archive_next,sec_1_00),\n        bVar21 == 0" (assignment_expression "bVar21 = is_merged_note_section(pbVar69,(asection *)&pbVar69->archive_next,sec_1_00)" identifier = (call_expression "is_merged_note_section(pbVar69,(asection *)&pbVar69->archive_next,sec_1_00)" identifier (argument_list "(pbVar69,(asection *)&pbVar69->archive_next,sec_1_00)" ( identifier , (cast_expression "(asection *)&pbVar69->archive_next" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pbVar69->archive_next" & (field_expression "pbVar69->archive_next" identifier -> field_identifier))) , identifier )))) , (binary_expression "bVar21 == 0" identifier == number_literal)) ))) )) ))) )) (compound_statement "{\n      if (is_strip == 0) {\n        pcVar24 = (char *)dcgettext(0,"could not find any mergeable note sections",5,0);\n        bfd_nonfatal_message((char *)0x0,obfd,(asection *)pbVar69,pcVar24);\n      }\n    }" { (if_statement "if (is_strip == 0) {\n        pcVar24 = (char *)dcgettext(0,"could not find any mergeable note sections",5,0);\n        bfd_nonfatal_message((char *)0x0,obfd,(asection *)pbVar69,pcVar24);\n      }" if (parenthesized_expression "(is_strip == 0)" ( (binary_expression "is_strip == 0" identifier == number_literal) )) (compound_statement "{\n        pcVar24 = (char *)dcgettext(0,"could not find any mergeable note sections",5,0);\n        bfd_nonfatal_message((char *)0x0,obfd,(asection *)pbVar69,pcVar24);\n      }" { (expression_statement "pcVar24 = (char *)dcgettext(0,"could not find any mergeable note sections",5,0);" (assignment_expression "pcVar24 = (char *)dcgettext(0,"could not find any mergeable note sections",5,0)" identifier = (cast_expression "(char *)dcgettext(0,"could not find any mergeable note sections",5,0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"could not find any mergeable note sections",5,0)" identifier (argument_list "(0,"could not find any mergeable note sections",5,0)" ( number_literal , (string_literal ""could not find any mergeable note sections"" " string_content ") , number_literal , number_literal ))))) ;) (expression_statement "bfd_nonfatal_message((char *)0x0,obfd,(asection *)pbVar69,pcVar24);" (call_expression "bfd_nonfatal_message((char *)0x0,obfd,(asection *)pbVar69,pcVar24)" identifier (argument_list "((char *)0x0,obfd,(asection *)pbVar69,pcVar24)" ( (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) , identifier , (cast_expression "(asection *)pbVar69" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;) })) }) (else_clause "else {\n      iVar18 = bfd_set_section_contents(obfd,pbVar69,merged_notes,0,0,merged_size,bVar21,bVar21);\n      if (iVar18 == 0) {\n        pcVar24 = (char *)dcgettext(0,"error: failed to copy merged notes into output",5,0);\n        goto LAB_0001a2cd;\n      }\n    }" else (compound_statement "{\n      iVar18 = bfd_set_section_contents(obfd,pbVar69,merged_notes,0,0,merged_size,bVar21,bVar21);\n      if (iVar18 == 0) {\n        pcVar24 = (char *)dcgettext(0,"error: failed to copy merged notes into output",5,0);\n        goto LAB_0001a2cd;\n      }\n    }" { (expression_statement "iVar18 = bfd_set_section_contents(obfd,pbVar69,merged_notes,0,0,merged_size,bVar21,bVar21);" (assignment_expression "iVar18 = bfd_set_section_contents(obfd,pbVar69,merged_notes,0,0,merged_size,bVar21,bVar21)" identifier = (call_expression "bfd_set_section_contents(obfd,pbVar69,merged_notes,0,0,merged_size,bVar21,bVar21)" identifier (argument_list "(obfd,pbVar69,merged_notes,0,0,merged_size,bVar21,bVar21)" ( identifier , identifier , identifier , number_literal , number_literal , identifier , identifier , identifier )))) ;) (if_statement "if (iVar18 == 0) {\n        pcVar24 = (char *)dcgettext(0,"error: failed to copy merged notes into output",5,0);\n        goto LAB_0001a2cd;\n      }" if (parenthesized_expression "(iVar18 == 0)" ( (binary_expression "iVar18 == 0" identifier == number_literal) )) (compound_statement "{\n        pcVar24 = (char *)dcgettext(0,"error: failed to copy merged notes into output",5,0);\n        goto LAB_0001a2cd;\n      }" { (expression_statement "pcVar24 = (char *)dcgettext(0,"error: failed to copy merged notes into output",5,0);" (assignment_expression "pcVar24 = (char *)dcgettext(0,"error: failed to copy merged notes into output",5,0)" identifier = (cast_expression "(char *)dcgettext(0,"error: failed to copy merged notes into output",5,0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"error: failed to copy merged notes into output",5,0)" identifier (argument_list "(0,"error: failed to copy merged notes into output",5,0)" ( number_literal , (string_literal ""error: failed to copy merged notes into output"" " string_content ") , number_literal , number_literal ))))) ;) (goto_statement "goto LAB_0001a2cd;" goto statement_identifier ;) })) }))) (expression_statement "free(merged_notes);" (call_expression "free(merged_notes)" identifier (argument_list "(merged_notes)" ( identifier ))) ;) (expression_statement "merged_notes = (bfd_byte *)0x0;" (assignment_expression "merged_notes = (bfd_byte *)0x0" identifier = (cast_expression "(bfd_byte *)0x0" ( (type_descriptor "bfd_byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "merge_notes = 0;" (assignment_expression "merge_notes = 0" identifier = number_literal) ;) (expression_statement "pbVar62 = obfd;" (assignment_expression "pbVar62 = obfd" identifier = identifier) ;) })) (if_statement "if ((gnu_debuglink_filename != (char *)0x0) &&\n     (iVar18 = bfd_fill_in_gnu_debuglink_section(obfd,local_98,gnu_debuglink_filename),\n     pcVar24 = gnu_debuglink_filename, iVar18 == 0)) {\n    pcVar23 = (char *)dcgettext(0,"cannot fill debug link section `%s\'",5,0);\n    bfd_nonfatal_message((char *)0x0,obfd,(asection *)0x0,pcVar23,pcVar24);\n    return 0;\n  }" if (parenthesized_expression "((gnu_debuglink_filename != (char *)0x0) &&\n     (iVar18 = bfd_fill_in_gnu_debuglink_section(obfd,local_98,gnu_debuglink_filename),\n     pcVar24 = gnu_debuglink_filename, iVar18 == 0))" ( (binary_expression "(gnu_debuglink_filename != (char *)0x0) &&\n     (iVar18 = bfd_fill_in_gnu_debuglink_section(obfd,local_98,gnu_debuglink_filename),\n     pcVar24 = gnu_debuglink_filename, iVar18 == 0)" (parenthesized_expression "(gnu_debuglink_filename != (char *)0x0)" ( (binary_expression "gnu_debuglink_filename != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(iVar18 = bfd_fill_in_gnu_debuglink_section(obfd,local_98,gnu_debuglink_filename),\n     pcVar24 = gnu_debuglink_filename, iVar18 == 0)" ( (comma_expression "iVar18 = bfd_fill_in_gnu_debuglink_section(obfd,local_98,gnu_debuglink_filename),\n     pcVar24 = gnu_debuglink_filename, iVar18 == 0" (assignment_expression "iVar18 = bfd_fill_in_gnu_debuglink_section(obfd,local_98,gnu_debuglink_filename)" identifier = (call_expression "bfd_fill_in_gnu_debuglink_section(obfd,local_98,gnu_debuglink_filename)" identifier (argument_list "(obfd,local_98,gnu_debuglink_filename)" ( identifier , identifier , identifier )))) , (comma_expression "pcVar24 = gnu_debuglink_filename, iVar18 == 0" (assignment_expression "pcVar24 = gnu_debuglink_filename" identifier = identifier) , (binary_expression "iVar18 == 0" identifier == number_literal))) ))) )) (compound_statement "{\n    pcVar23 = (char *)dcgettext(0,"cannot fill debug link section `%s\'",5,0);\n    bfd_nonfatal_message((char *)0x0,obfd,(asection *)0x0,pcVar23,pcVar24);\n    return 0;\n  }" { (expression_statement "pcVar23 = (char *)dcgettext(0,"cannot fill debug link section `%s\'",5,0);" (assignment_expression "pcVar23 = (char *)dcgettext(0,"cannot fill debug link section `%s\'",5,0)" identifier = (cast_expression "(char *)dcgettext(0,"cannot fill debug link section `%s\'",5,0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"cannot fill debug link section `%s\'",5,0)" identifier (argument_list "(0,"cannot fill debug link section `%s\'",5,0)" ( number_literal , (string_literal ""cannot fill debug link section `%s\'"" " string_content escape_sequence ") , number_literal , number_literal ))))) ;) (expression_statement "bfd_nonfatal_message((char *)0x0,obfd,(asection *)0x0,pcVar23,pcVar24);" (call_expression "bfd_nonfatal_message((char *)0x0,obfd,(asection *)0x0,pcVar23,pcVar24)" identifier (argument_list "((char *)0x0,obfd,(asection *)0x0,pcVar23,pcVar24)" ( (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) , identifier , (cast_expression "(asection *)0x0" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , identifier , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (if_statement "if (gap_fill_set != 0 || pad_to_set != 0) {\n    pbVar69 = (bfd *)0x2000;\n    if (local_8c < (bfd *)0x2001) {\n      pbVar69 = local_8c;\n    }\n    puVar38 = (undefined4 *)xmalloc(pbVar69);\n    pcVar24 = (char *)((uint)gap_fill * 0x1010101);\n    if (pbVar69 < (bfd *)0x4) {\n      if ((pbVar69 != (bfd *)0x0) && (*(char *)puVar38 = (char)pcVar24, ((uint)pbVar69 & 2) != 0)) {\n        *(short *)((int)puVar38 + -2 + (int)pbVar69) = (short)pcVar24;\n      }\n    }\n    else {\n      *puVar38 = pcVar24;\n      *(char **)((int)(puVar38 + -1) + (int)pbVar69) = pcVar24;\n      pbVar62 = (bfd *)((uint)(puVar38 + 1) & 0xfffffffc);\n      for (uVar58 = (uint)(((int)puVar38 - (int)((uint)(puVar38 + 1) & 0xfffffffc)) + (int)pbVar69)\n                    >> 2; uVar58 != 0; uVar58 = uVar58 - 1) {\n        pbVar62->filename = pcVar24;\n        pbVar62 = (bfd *)((int)pbVar62 + (uint)bVar66 * -8 + 4);\n      }\n    }\n    pbVar42 = (bfd *)obfd->section_count;\n    if (pbVar42 != (bfd *)0x0) {\n      pbVar62 = (bfd *)0x0;\n      do {\n        pbVar69 = *(bfd **)((int)local_90 + (int)pbVar62 * 4);\n        if (pbVar69 != (bfd *)0x0) {\n          iVar18 = local_84[(int)pbVar62];\n          local_58 = 0;\n          local_5c = (bfd *)(*(int *)(iVar18 + 0x24) - (int)pbVar69);\n          while( true ) {\n            pbVar55 = (bfd *)0x2000;\n            if (pbVar69 < (bfd *)0x2001) {\n              pbVar55 = pbVar69;\n            }\n            iVar18 = bfd_set_section_contents(obfd,iVar18,puVar38,local_5c,local_58,pbVar55);\n            if (iVar18 == 0) {\n              pbVar62 = (bfd *)local_84[(int)pbVar62];\n              local_50 = 0;\n              goto LAB_00019763;\n            }\n            bVar64 = CARRY4((uint)local_5c,(uint)pbVar55);\n            local_5c = (bfd *)((int)&pbVar55->filename + (int)local_5c);\n            local_58 = local_58 + (uint)bVar64;\n            pbVar69 = (bfd *)((int)pbVar69 - (int)pbVar55);\n            if (pbVar69 == (bfd *)0x0) break;\n            iVar18 = local_84[(int)pbVar62];\n          }\n        }\n        pbVar62 = (bfd *)((int)&pbVar62->filename + 1);\n      } while (pbVar42 != pbVar62);\n    }\n  }" if (parenthesized_expression "(gap_fill_set != 0 || pad_to_set != 0)" ( (binary_expression "gap_fill_set != 0 || pad_to_set != 0" (binary_expression "gap_fill_set != 0" identifier != number_literal) || (binary_expression "pad_to_set != 0" identifier != number_literal)) )) (compound_statement "{\n    pbVar69 = (bfd *)0x2000;\n    if (local_8c < (bfd *)0x2001) {\n      pbVar69 = local_8c;\n    }\n    puVar38 = (undefined4 *)xmalloc(pbVar69);\n    pcVar24 = (char *)((uint)gap_fill * 0x1010101);\n    if (pbVar69 < (bfd *)0x4) {\n      if ((pbVar69 != (bfd *)0x0) && (*(char *)puVar38 = (char)pcVar24, ((uint)pbVar69 & 2) != 0)) {\n        *(short *)((int)puVar38 + -2 + (int)pbVar69) = (short)pcVar24;\n      }\n    }\n    else {\n      *puVar38 = pcVar24;\n      *(char **)((int)(puVar38 + -1) + (int)pbVar69) = pcVar24;\n      pbVar62 = (bfd *)((uint)(puVar38 + 1) & 0xfffffffc);\n      for (uVar58 = (uint)(((int)puVar38 - (int)((uint)(puVar38 + 1) & 0xfffffffc)) + (int)pbVar69)\n                    >> 2; uVar58 != 0; uVar58 = uVar58 - 1) {\n        pbVar62->filename = pcVar24;\n        pbVar62 = (bfd *)((int)pbVar62 + (uint)bVar66 * -8 + 4);\n      }\n    }\n    pbVar42 = (bfd *)obfd->section_count;\n    if (pbVar42 != (bfd *)0x0) {\n      pbVar62 = (bfd *)0x0;\n      do {\n        pbVar69 = *(bfd **)((int)local_90 + (int)pbVar62 * 4);\n        if (pbVar69 != (bfd *)0x0) {\n          iVar18 = local_84[(int)pbVar62];\n          local_58 = 0;\n          local_5c = (bfd *)(*(int *)(iVar18 + 0x24) - (int)pbVar69);\n          while( true ) {\n            pbVar55 = (bfd *)0x2000;\n            if (pbVar69 < (bfd *)0x2001) {\n              pbVar55 = pbVar69;\n            }\n            iVar18 = bfd_set_section_contents(obfd,iVar18,puVar38,local_5c,local_58,pbVar55);\n            if (iVar18 == 0) {\n              pbVar62 = (bfd *)local_84[(int)pbVar62];\n              local_50 = 0;\n              goto LAB_00019763;\n            }\n            bVar64 = CARRY4((uint)local_5c,(uint)pbVar55);\n            local_5c = (bfd *)((int)&pbVar55->filename + (int)local_5c);\n            local_58 = local_58 + (uint)bVar64;\n            pbVar69 = (bfd *)((int)pbVar69 - (int)pbVar55);\n            if (pbVar69 == (bfd *)0x0) break;\n            iVar18 = local_84[(int)pbVar62];\n          }\n        }\n        pbVar62 = (bfd *)((int)&pbVar62->filename + 1);\n      } while (pbVar42 != pbVar62);\n    }\n  }" { (expression_statement "pbVar69 = (bfd *)0x2000;" (assignment_expression "pbVar69 = (bfd *)0x2000" identifier = (cast_expression "(bfd *)0x2000" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (local_8c < (bfd *)0x2001) {\n      pbVar69 = local_8c;\n    }" if (parenthesized_expression "(local_8c < (bfd *)0x2001)" ( (binary_expression "local_8c < (bfd *)0x2001" identifier < (cast_expression "(bfd *)0x2001" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pbVar69 = local_8c;\n    }" { (expression_statement "pbVar69 = local_8c;" (assignment_expression "pbVar69 = local_8c" identifier = identifier) ;) })) (expression_statement "puVar38 = (undefined4 *)xmalloc(pbVar69);" (assignment_expression "puVar38 = (undefined4 *)xmalloc(pbVar69)" identifier = (cast_expression "(undefined4 *)xmalloc(pbVar69)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(pbVar69)" identifier (argument_list "(pbVar69)" ( identifier ))))) ;) (expression_statement "pcVar24 = (char *)((uint)gap_fill * 0x1010101);" (assignment_expression "pcVar24 = (char *)((uint)gap_fill * 0x1010101)" identifier = (cast_expression "(char *)((uint)gap_fill * 0x1010101)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)gap_fill * 0x1010101)" ( (binary_expression "(uint)gap_fill * 0x1010101" (cast_expression "(uint)gap_fill" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal) )))) ;) (if_statement "if (pbVar69 < (bfd *)0x4) {\n      if ((pbVar69 != (bfd *)0x0) && (*(char *)puVar38 = (char)pcVar24, ((uint)pbVar69 & 2) != 0)) {\n        *(short *)((int)puVar38 + -2 + (int)pbVar69) = (short)pcVar24;\n      }\n    }\n    else {\n      *puVar38 = pcVar24;\n      *(char **)((int)(puVar38 + -1) + (int)pbVar69) = pcVar24;\n      pbVar62 = (bfd *)((uint)(puVar38 + 1) & 0xfffffffc);\n      for (uVar58 = (uint)(((int)puVar38 - (int)((uint)(puVar38 + 1) & 0xfffffffc)) + (int)pbVar69)\n                    >> 2; uVar58 != 0; uVar58 = uVar58 - 1) {\n        pbVar62->filename = pcVar24;\n        pbVar62 = (bfd *)((int)pbVar62 + (uint)bVar66 * -8 + 4);\n      }\n    }" if (parenthesized_expression "(pbVar69 < (bfd *)0x4)" ( (binary_expression "pbVar69 < (bfd *)0x4" identifier < (cast_expression "(bfd *)0x4" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      if ((pbVar69 != (bfd *)0x0) && (*(char *)puVar38 = (char)pcVar24, ((uint)pbVar69 & 2) != 0)) {\n        *(short *)((int)puVar38 + -2 + (int)pbVar69) = (short)pcVar24;\n      }\n    }" { (if_statement "if ((pbVar69 != (bfd *)0x0) && (*(char *)puVar38 = (char)pcVar24, ((uint)pbVar69 & 2) != 0)) {\n        *(short *)((int)puVar38 + -2 + (int)pbVar69) = (short)pcVar24;\n      }" if (parenthesized_expression "((pbVar69 != (bfd *)0x0) && (*(char *)puVar38 = (char)pcVar24, ((uint)pbVar69 & 2) != 0))" ( (binary_expression "(pbVar69 != (bfd *)0x0) && (*(char *)puVar38 = (char)pcVar24, ((uint)pbVar69 & 2) != 0)" (parenthesized_expression "(pbVar69 != (bfd *)0x0)" ( (binary_expression "pbVar69 != (bfd *)0x0" identifier != (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(*(char *)puVar38 = (char)pcVar24, ((uint)pbVar69 & 2) != 0)" ( (comma_expression "*(char *)puVar38 = (char)pcVar24, ((uint)pbVar69 & 2) != 0" (assignment_expression "*(char *)puVar38 = (char)pcVar24" (pointer_expression "*(char *)puVar38" * (cast_expression "(char *)puVar38" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = (cast_expression "(char)pcVar24" ( (type_descriptor "char" primitive_type) ) identifier)) , (binary_expression "((uint)pbVar69 & 2) != 0" (parenthesized_expression "((uint)pbVar69 & 2)" ( (binary_expression "(uint)pbVar69 & 2" (cast_expression "(uint)pbVar69" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) != number_literal)) ))) )) (compound_statement "{\n        *(short *)((int)puVar38 + -2 + (int)pbVar69) = (short)pcVar24;\n      }" { (expression_statement "*(short *)((int)puVar38 + -2 + (int)pbVar69) = (short)pcVar24;" (assignment_expression "*(short *)((int)puVar38 + -2 + (int)pbVar69) = (short)pcVar24" (pointer_expression "*(short *)((int)puVar38 + -2 + (int)pbVar69)" * (cast_expression "(short *)((int)puVar38 + -2 + (int)pbVar69)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar38 + -2 + (int)pbVar69)" ( (binary_expression "(int)puVar38 + -2 + (int)pbVar69" (binary_expression "(int)puVar38 + -2" (cast_expression "(int)puVar38" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) + (cast_expression "(int)pbVar69" ( (type_descriptor "int" primitive_type) ) identifier)) )))) = (cast_expression "(short)pcVar24" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier)) ;) })) }) (else_clause "else {\n      *puVar38 = pcVar24;\n      *(char **)((int)(puVar38 + -1) + (int)pbVar69) = pcVar24;\n      pbVar62 = (bfd *)((uint)(puVar38 + 1) & 0xfffffffc);\n      for (uVar58 = (uint)(((int)puVar38 - (int)((uint)(puVar38 + 1) & 0xfffffffc)) + (int)pbVar69)\n                    >> 2; uVar58 != 0; uVar58 = uVar58 - 1) {\n        pbVar62->filename = pcVar24;\n        pbVar62 = (bfd *)((int)pbVar62 + (uint)bVar66 * -8 + 4);\n      }\n    }" else (compound_statement "{\n      *puVar38 = pcVar24;\n      *(char **)((int)(puVar38 + -1) + (int)pbVar69) = pcVar24;\n      pbVar62 = (bfd *)((uint)(puVar38 + 1) & 0xfffffffc);\n      for (uVar58 = (uint)(((int)puVar38 - (int)((uint)(puVar38 + 1) & 0xfffffffc)) + (int)pbVar69)\n                    >> 2; uVar58 != 0; uVar58 = uVar58 - 1) {\n        pbVar62->filename = pcVar24;\n        pbVar62 = (bfd *)((int)pbVar62 + (uint)bVar66 * -8 + 4);\n      }\n    }" { (expression_statement "*puVar38 = pcVar24;" (assignment_expression "*puVar38 = pcVar24" (pointer_expression "*puVar38" * identifier) = identifier) ;) (expression_statement "*(char **)((int)(puVar38 + -1) + (int)pbVar69) = pcVar24;" (assignment_expression "*(char **)((int)(puVar38 + -1) + (int)pbVar69) = pcVar24" (pointer_expression "*(char **)((int)(puVar38 + -1) + (int)pbVar69)" * (cast_expression "(char **)((int)(puVar38 + -1) + (int)pbVar69)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)(puVar38 + -1) + (int)pbVar69)" ( (binary_expression "(int)(puVar38 + -1) + (int)pbVar69" (cast_expression "(int)(puVar38 + -1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(puVar38 + -1)" ( (binary_expression "puVar38 + -1" identifier + number_literal) ))) + (cast_expression "(int)pbVar69" ( (type_descriptor "int" primitive_type) ) identifier)) )))) = identifier) ;) (expression_statement "pbVar62 = (bfd *)((uint)(puVar38 + 1) & 0xfffffffc);" (assignment_expression "pbVar62 = (bfd *)((uint)(puVar38 + 1) & 0xfffffffc)" identifier = (cast_expression "(bfd *)((uint)(puVar38 + 1) & 0xfffffffc)" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)(puVar38 + 1) & 0xfffffffc)" ( (binary_expression "(uint)(puVar38 + 1) & 0xfffffffc" (call_expression "(uint)(puVar38 + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar38 + 1)" ( (binary_expression "puVar38 + 1" identifier + number_literal) ))) & number_literal) )))) ;) (for_statement "for (uVar58 = (uint)(((int)puVar38 - (int)((uint)(puVar38 + 1) & 0xfffffffc)) + (int)pbVar69)\n                    >> 2; uVar58 != 0; uVar58 = uVar58 - 1) {\n        pbVar62->filename = pcVar24;\n        pbVar62 = (bfd *)((int)pbVar62 + (uint)bVar66 * -8 + 4);\n      }" for ( (assignment_expression "uVar58 = (uint)(((int)puVar38 - (int)((uint)(puVar38 + 1) & 0xfffffffc)) + (int)pbVar69)\n                    >> 2" identifier = (binary_expression "(uint)(((int)puVar38 - (int)((uint)(puVar38 + 1) & 0xfffffffc)) + (int)pbVar69)\n                    >> 2" (call_expression "(uint)(((int)puVar38 - (int)((uint)(puVar38 + 1) & 0xfffffffc)) + (int)pbVar69)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(((int)puVar38 - (int)((uint)(puVar38 + 1) & 0xfffffffc)) + (int)pbVar69)" ( (binary_expression "((int)puVar38 - (int)((uint)(puVar38 + 1) & 0xfffffffc)) + (int)pbVar69" (parenthesized_expression "((int)puVar38 - (int)((uint)(puVar38 + 1) & 0xfffffffc))" ( (binary_expression "(int)puVar38 - (int)((uint)(puVar38 + 1) & 0xfffffffc)" (cast_expression "(int)puVar38" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)((uint)(puVar38 + 1) & 0xfffffffc)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((uint)(puVar38 + 1) & 0xfffffffc)" ( (binary_expression "(uint)(puVar38 + 1) & 0xfffffffc" (call_expression "(uint)(puVar38 + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar38 + 1)" ( (binary_expression "puVar38 + 1" identifier + number_literal) ))) & number_literal) )))) )) + (cast_expression "(int)pbVar69" ( (type_descriptor "int" primitive_type) ) identifier)) ))) >> number_literal)) ; (binary_expression "uVar58 != 0" identifier != number_literal) ; (assignment_expression "uVar58 = uVar58 - 1" identifier = (binary_expression "uVar58 - 1" identifier - number_literal)) ) (compound_statement "{\n        pbVar62->filename = pcVar24;\n        pbVar62 = (bfd *)((int)pbVar62 + (uint)bVar66 * -8 + 4);\n      }" { (expression_statement "pbVar62->filename = pcVar24;" (assignment_expression "pbVar62->filename = pcVar24" (field_expression "pbVar62->filename" identifier -> field_identifier) = identifier) ;) (expression_statement "pbVar62 = (bfd *)((int)pbVar62 + (uint)bVar66 * -8 + 4);" (assignment_expression "pbVar62 = (bfd *)((int)pbVar62 + (uint)bVar66 * -8 + 4)" identifier = (cast_expression "(bfd *)((int)pbVar62 + (uint)bVar66 * -8 + 4)" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pbVar62 + (uint)bVar66 * -8 + 4)" ( (binary_expression "(int)pbVar62 + (uint)bVar66 * -8 + 4" (binary_expression "(int)pbVar62 + (uint)bVar66 * -8" (cast_expression "(int)pbVar62" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar66 * -8" (cast_expression "(uint)bVar66" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) })) }))) (expression_statement "pbVar42 = (bfd *)obfd->section_count;" (assignment_expression "pbVar42 = (bfd *)obfd->section_count" identifier = (cast_expression "(bfd *)obfd->section_count" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "obfd->section_count" identifier -> field_identifier))) ;) (if_statement "if (pbVar42 != (bfd *)0x0) {\n      pbVar62 = (bfd *)0x0;\n      do {\n        pbVar69 = *(bfd **)((int)local_90 + (int)pbVar62 * 4);\n        if (pbVar69 != (bfd *)0x0) {\n          iVar18 = local_84[(int)pbVar62];\n          local_58 = 0;\n          local_5c = (bfd *)(*(int *)(iVar18 + 0x24) - (int)pbVar69);\n          while( true ) {\n            pbVar55 = (bfd *)0x2000;\n            if (pbVar69 < (bfd *)0x2001) {\n              pbVar55 = pbVar69;\n            }\n            iVar18 = bfd_set_section_contents(obfd,iVar18,puVar38,local_5c,local_58,pbVar55);\n            if (iVar18 == 0) {\n              pbVar62 = (bfd *)local_84[(int)pbVar62];\n              local_50 = 0;\n              goto LAB_00019763;\n            }\n            bVar64 = CARRY4((uint)local_5c,(uint)pbVar55);\n            local_5c = (bfd *)((int)&pbVar55->filename + (int)local_5c);\n            local_58 = local_58 + (uint)bVar64;\n            pbVar69 = (bfd *)((int)pbVar69 - (int)pbVar55);\n            if (pbVar69 == (bfd *)0x0) break;\n            iVar18 = local_84[(int)pbVar62];\n          }\n        }\n        pbVar62 = (bfd *)((int)&pbVar62->filename + 1);\n      } while (pbVar42 != pbVar62);\n    }" if (parenthesized_expression "(pbVar42 != (bfd *)0x0)" ( (binary_expression "pbVar42 != (bfd *)0x0" identifier != (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pbVar62 = (bfd *)0x0;\n      do {\n        pbVar69 = *(bfd **)((int)local_90 + (int)pbVar62 * 4);\n        if (pbVar69 != (bfd *)0x0) {\n          iVar18 = local_84[(int)pbVar62];\n          local_58 = 0;\n          local_5c = (bfd *)(*(int *)(iVar18 + 0x24) - (int)pbVar69);\n          while( true ) {\n            pbVar55 = (bfd *)0x2000;\n            if (pbVar69 < (bfd *)0x2001) {\n              pbVar55 = pbVar69;\n            }\n            iVar18 = bfd_set_section_contents(obfd,iVar18,puVar38,local_5c,local_58,pbVar55);\n            if (iVar18 == 0) {\n              pbVar62 = (bfd *)local_84[(int)pbVar62];\n              local_50 = 0;\n              goto LAB_00019763;\n            }\n            bVar64 = CARRY4((uint)local_5c,(uint)pbVar55);\n            local_5c = (bfd *)((int)&pbVar55->filename + (int)local_5c);\n            local_58 = local_58 + (uint)bVar64;\n            pbVar69 = (bfd *)((int)pbVar69 - (int)pbVar55);\n            if (pbVar69 == (bfd *)0x0) break;\n            iVar18 = local_84[(int)pbVar62];\n          }\n        }\n        pbVar62 = (bfd *)((int)&pbVar62->filename + 1);\n      } while (pbVar42 != pbVar62);\n    }" { (expression_statement "pbVar62 = (bfd *)0x0;" (assignment_expression "pbVar62 = (bfd *)0x0" identifier = (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n        pbVar69 = *(bfd **)((int)local_90 + (int)pbVar62 * 4);\n        if (pbVar69 != (bfd *)0x0) {\n          iVar18 = local_84[(int)pbVar62];\n          local_58 = 0;\n          local_5c = (bfd *)(*(int *)(iVar18 + 0x24) - (int)pbVar69);\n          while( true ) {\n            pbVar55 = (bfd *)0x2000;\n            if (pbVar69 < (bfd *)0x2001) {\n              pbVar55 = pbVar69;\n            }\n            iVar18 = bfd_set_section_contents(obfd,iVar18,puVar38,local_5c,local_58,pbVar55);\n            if (iVar18 == 0) {\n              pbVar62 = (bfd *)local_84[(int)pbVar62];\n              local_50 = 0;\n              goto LAB_00019763;\n            }\n            bVar64 = CARRY4((uint)local_5c,(uint)pbVar55);\n            local_5c = (bfd *)((int)&pbVar55->filename + (int)local_5c);\n            local_58 = local_58 + (uint)bVar64;\n            pbVar69 = (bfd *)((int)pbVar69 - (int)pbVar55);\n            if (pbVar69 == (bfd *)0x0) break;\n            iVar18 = local_84[(int)pbVar62];\n          }\n        }\n        pbVar62 = (bfd *)((int)&pbVar62->filename + 1);\n      } while (pbVar42 != pbVar62);" do (compound_statement "{\n        pbVar69 = *(bfd **)((int)local_90 + (int)pbVar62 * 4);\n        if (pbVar69 != (bfd *)0x0) {\n          iVar18 = local_84[(int)pbVar62];\n          local_58 = 0;\n          local_5c = (bfd *)(*(int *)(iVar18 + 0x24) - (int)pbVar69);\n          while( true ) {\n            pbVar55 = (bfd *)0x2000;\n            if (pbVar69 < (bfd *)0x2001) {\n              pbVar55 = pbVar69;\n            }\n            iVar18 = bfd_set_section_contents(obfd,iVar18,puVar38,local_5c,local_58,pbVar55);\n            if (iVar18 == 0) {\n              pbVar62 = (bfd *)local_84[(int)pbVar62];\n              local_50 = 0;\n              goto LAB_00019763;\n            }\n            bVar64 = CARRY4((uint)local_5c,(uint)pbVar55);\n            local_5c = (bfd *)((int)&pbVar55->filename + (int)local_5c);\n            local_58 = local_58 + (uint)bVar64;\n            pbVar69 = (bfd *)((int)pbVar69 - (int)pbVar55);\n            if (pbVar69 == (bfd *)0x0) break;\n            iVar18 = local_84[(int)pbVar62];\n          }\n        }\n        pbVar62 = (bfd *)((int)&pbVar62->filename + 1);\n      }" { (expression_statement "pbVar69 = *(bfd **)((int)local_90 + (int)pbVar62 * 4);" (assignment_expression "pbVar69 = *(bfd **)((int)local_90 + (int)pbVar62 * 4)" identifier = (pointer_expression "*(bfd **)((int)local_90 + (int)pbVar62 * 4)" * (cast_expression "(bfd **)((int)local_90 + (int)pbVar62 * 4)" ( (type_descriptor "bfd **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)local_90 + (int)pbVar62 * 4)" ( (binary_expression "(int)local_90 + (int)pbVar62 * 4" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(int)pbVar62 * 4" (cast_expression "(int)pbVar62" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ))))) ;) (if_statement "if (pbVar69 != (bfd *)0x0) {\n          iVar18 = local_84[(int)pbVar62];\n          local_58 = 0;\n          local_5c = (bfd *)(*(int *)(iVar18 + 0x24) - (int)pbVar69);\n          while( true ) {\n            pbVar55 = (bfd *)0x2000;\n            if (pbVar69 < (bfd *)0x2001) {\n              pbVar55 = pbVar69;\n            }\n            iVar18 = bfd_set_section_contents(obfd,iVar18,puVar38,local_5c,local_58,pbVar55);\n            if (iVar18 == 0) {\n              pbVar62 = (bfd *)local_84[(int)pbVar62];\n              local_50 = 0;\n              goto LAB_00019763;\n            }\n            bVar64 = CARRY4((uint)local_5c,(uint)pbVar55);\n            local_5c = (bfd *)((int)&pbVar55->filename + (int)local_5c);\n            local_58 = local_58 + (uint)bVar64;\n            pbVar69 = (bfd *)((int)pbVar69 - (int)pbVar55);\n            if (pbVar69 == (bfd *)0x0) break;\n            iVar18 = local_84[(int)pbVar62];\n          }\n        }" if (parenthesized_expression "(pbVar69 != (bfd *)0x0)" ( (binary_expression "pbVar69 != (bfd *)0x0" identifier != (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          iVar18 = local_84[(int)pbVar62];\n          local_58 = 0;\n          local_5c = (bfd *)(*(int *)(iVar18 + 0x24) - (int)pbVar69);\n          while( true ) {\n            pbVar55 = (bfd *)0x2000;\n            if (pbVar69 < (bfd *)0x2001) {\n              pbVar55 = pbVar69;\n            }\n            iVar18 = bfd_set_section_contents(obfd,iVar18,puVar38,local_5c,local_58,pbVar55);\n            if (iVar18 == 0) {\n              pbVar62 = (bfd *)local_84[(int)pbVar62];\n              local_50 = 0;\n              goto LAB_00019763;\n            }\n            bVar64 = CARRY4((uint)local_5c,(uint)pbVar55);\n            local_5c = (bfd *)((int)&pbVar55->filename + (int)local_5c);\n            local_58 = local_58 + (uint)bVar64;\n            pbVar69 = (bfd *)((int)pbVar69 - (int)pbVar55);\n            if (pbVar69 == (bfd *)0x0) break;\n            iVar18 = local_84[(int)pbVar62];\n          }\n        }" { (expression_statement "iVar18 = local_84[(int)pbVar62];" (assignment_expression "iVar18 = local_84[(int)pbVar62]" identifier = (subscript_expression "local_84[(int)pbVar62]" identifier [ (cast_expression "(int)pbVar62" ( (type_descriptor "int" primitive_type) ) identifier) ])) ;) (expression_statement "local_58 = 0;" (assignment_expression "local_58 = 0" identifier = number_literal) ;) (expression_statement "local_5c = (bfd *)(*(int *)(iVar18 + 0x24) - (int)pbVar69);" (assignment_expression "local_5c = (bfd *)(*(int *)(iVar18 + 0x24) - (int)pbVar69)" identifier = (cast_expression "(bfd *)(*(int *)(iVar18 + 0x24) - (int)pbVar69)" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar18 + 0x24) - (int)pbVar69)" ( (binary_expression "*(int *)(iVar18 + 0x24) - (int)pbVar69" (pointer_expression "*(int *)(iVar18 + 0x24)" * (cast_expression "(int *)(iVar18 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + 0x24)" ( (binary_expression "iVar18 + 0x24" identifier + number_literal) )))) - (cast_expression "(int)pbVar69" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (while_statement "while( true ) {\n            pbVar55 = (bfd *)0x2000;\n            if (pbVar69 < (bfd *)0x2001) {\n              pbVar55 = pbVar69;\n            }\n            iVar18 = bfd_set_section_contents(obfd,iVar18,puVar38,local_5c,local_58,pbVar55);\n            if (iVar18 == 0) {\n              pbVar62 = (bfd *)local_84[(int)pbVar62];\n              local_50 = 0;\n              goto LAB_00019763;\n            }\n            bVar64 = CARRY4((uint)local_5c,(uint)pbVar55);\n            local_5c = (bfd *)((int)&pbVar55->filename + (int)local_5c);\n            local_58 = local_58 + (uint)bVar64;\n            pbVar69 = (bfd *)((int)pbVar69 - (int)pbVar55);\n            if (pbVar69 == (bfd *)0x0) break;\n            iVar18 = local_84[(int)pbVar62];\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            pbVar55 = (bfd *)0x2000;\n            if (pbVar69 < (bfd *)0x2001) {\n              pbVar55 = pbVar69;\n            }\n            iVar18 = bfd_set_section_contents(obfd,iVar18,puVar38,local_5c,local_58,pbVar55);\n            if (iVar18 == 0) {\n              pbVar62 = (bfd *)local_84[(int)pbVar62];\n              local_50 = 0;\n              goto LAB_00019763;\n            }\n            bVar64 = CARRY4((uint)local_5c,(uint)pbVar55);\n            local_5c = (bfd *)((int)&pbVar55->filename + (int)local_5c);\n            local_58 = local_58 + (uint)bVar64;\n            pbVar69 = (bfd *)((int)pbVar69 - (int)pbVar55);\n            if (pbVar69 == (bfd *)0x0) break;\n            iVar18 = local_84[(int)pbVar62];\n          }" { (expression_statement "pbVar55 = (bfd *)0x2000;" (assignment_expression "pbVar55 = (bfd *)0x2000" identifier = (cast_expression "(bfd *)0x2000" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (pbVar69 < (bfd *)0x2001) {\n              pbVar55 = pbVar69;\n            }" if (parenthesized_expression "(pbVar69 < (bfd *)0x2001)" ( (binary_expression "pbVar69 < (bfd *)0x2001" identifier < (cast_expression "(bfd *)0x2001" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              pbVar55 = pbVar69;\n            }" { (expression_statement "pbVar55 = pbVar69;" (assignment_expression "pbVar55 = pbVar69" identifier = identifier) ;) })) (expression_statement "iVar18 = bfd_set_section_contents(obfd,iVar18,puVar38,local_5c,local_58,pbVar55);" (assignment_expression "iVar18 = bfd_set_section_contents(obfd,iVar18,puVar38,local_5c,local_58,pbVar55)" identifier = (call_expression "bfd_set_section_contents(obfd,iVar18,puVar38,local_5c,local_58,pbVar55)" identifier (argument_list "(obfd,iVar18,puVar38,local_5c,local_58,pbVar55)" ( identifier , identifier , identifier , identifier , identifier , identifier )))) ;) (if_statement "if (iVar18 == 0) {\n              pbVar62 = (bfd *)local_84[(int)pbVar62];\n              local_50 = 0;\n              goto LAB_00019763;\n            }" if (parenthesized_expression "(iVar18 == 0)" ( (binary_expression "iVar18 == 0" identifier == number_literal) )) (compound_statement "{\n              pbVar62 = (bfd *)local_84[(int)pbVar62];\n              local_50 = 0;\n              goto LAB_00019763;\n            }" { (expression_statement "pbVar62 = (bfd *)local_84[(int)pbVar62];" (assignment_expression "pbVar62 = (bfd *)local_84[(int)pbVar62]" identifier = (cast_expression "(bfd *)local_84[(int)pbVar62]" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_84[(int)pbVar62]" identifier [ (cast_expression "(int)pbVar62" ( (type_descriptor "int" primitive_type) ) identifier) ]))) ;) (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_00019763;" goto statement_identifier ;) })) (expression_statement "bVar64 = CARRY4((uint)local_5c,(uint)pbVar55);" (assignment_expression "bVar64 = CARRY4((uint)local_5c,(uint)pbVar55)" identifier = (call_expression "CARRY4((uint)local_5c,(uint)pbVar55)" identifier (argument_list "((uint)local_5c,(uint)pbVar55)" ( (cast_expression "(uint)local_5c" ( (type_descriptor "uint" type_identifier) ) identifier) , (cast_expression "(uint)pbVar55" ( (type_descriptor "uint" type_identifier) ) identifier) )))) ;) (expression_statement "local_5c = (bfd *)((int)&pbVar55->filename + (int)local_5c);" (assignment_expression "local_5c = (bfd *)((int)&pbVar55->filename + (int)local_5c)" identifier = (cast_expression "(bfd *)((int)&pbVar55->filename + (int)local_5c)" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pbVar55->filename + (int)local_5c)" ( (binary_expression "(int)&pbVar55->filename + (int)local_5c" (cast_expression "(int)&pbVar55->filename" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pbVar55->filename" & (field_expression "pbVar55->filename" identifier -> field_identifier))) + (cast_expression "(int)local_5c" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "local_58 = local_58 + (uint)bVar64;" (assignment_expression "local_58 = local_58 + (uint)bVar64" identifier = (binary_expression "local_58 + (uint)bVar64" identifier + (cast_expression "(uint)bVar64" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "pbVar69 = (bfd *)((int)pbVar69 - (int)pbVar55);" (assignment_expression "pbVar69 = (bfd *)((int)pbVar69 - (int)pbVar55)" identifier = (cast_expression "(bfd *)((int)pbVar69 - (int)pbVar55)" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pbVar69 - (int)pbVar55)" ( (binary_expression "(int)pbVar69 - (int)pbVar55" (cast_expression "(int)pbVar69" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar55" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (if_statement "if (pbVar69 == (bfd *)0x0) break;" if (parenthesized_expression "(pbVar69 == (bfd *)0x0)" ( (binary_expression "pbVar69 == (bfd *)0x0" identifier == (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "iVar18 = local_84[(int)pbVar62];" (assignment_expression "iVar18 = local_84[(int)pbVar62]" identifier = (subscript_expression "local_84[(int)pbVar62]" identifier [ (cast_expression "(int)pbVar62" ( (type_descriptor "int" primitive_type) ) identifier) ])) ;) })) })) (expression_statement "pbVar62 = (bfd *)((int)&pbVar62->filename + 1);" (assignment_expression "pbVar62 = (bfd *)((int)&pbVar62->filename + 1)" identifier = (cast_expression "(bfd *)((int)&pbVar62->filename + 1)" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pbVar62->filename + 1)" ( (binary_expression "(int)&pbVar62->filename + 1" (cast_expression "(int)&pbVar62->filename" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pbVar62->filename" & (field_expression "pbVar62->filename" identifier -> field_identifier))) + number_literal) )))) ;) }) while (parenthesized_expression "(pbVar42 != pbVar62)" ( (binary_expression "pbVar42 != pbVar62" identifier != identifier) )) ;) })) })) (expression_statement "bVar21 = (*obfd->xvec->_bfd_copy_private_bfd_data)(ibfd,obfd);" (assignment_expression "bVar21 = (*obfd->xvec->_bfd_copy_private_bfd_data)(ibfd,obfd)" identifier = (call_expression "(*obfd->xvec->_bfd_copy_private_bfd_data)(ibfd,obfd)" (parenthesized_expression "(*obfd->xvec->_bfd_copy_private_bfd_data)" ( (pointer_expression "*obfd->xvec->_bfd_copy_private_bfd_data" * (field_expression "obfd->xvec->_bfd_copy_private_bfd_data" (field_expression "obfd->xvec" identifier -> field_identifier) -> field_identifier)) )) (argument_list "(ibfd,obfd)" ( identifier , identifier )))) ;) (if_statement "if (bVar21 != 0) {\n    if ((use_alt_mach_code != 0) &&\n       (iVar18 = bfd_alt_mach_code(obfd,use_alt_mach_code,pbVar69,pbVar69),\n       uVar20 = use_alt_mach_code, iVar18 == 0)) {\n      pcVar24 = (char *)dcgettext(0,"this target does not support %lu alternative machine codes",5,\n                                  pbVar62);\n      non_fatal(pcVar24,uVar20);\n      if (obfd->xvec->flavour != bfd_target_elf_flavour) {\n        pcVar24 = (char *)dcgettext(0,"ignoring the alternative value",5,extraout_ECX_00);\n        non_fatal(pcVar24);\n        return 1;\n      }\n      pcVar24 = (char *)dcgettext(0,"treating that number as an absolute e_machine value instead",5,\n                                  uVar20);\n      non_fatal(pcVar24);\n      *(short *)((int)&((obfd->tdata).coff_obj_data)->local_n_btshft + 2) = (short)use_alt_mach_code\n      ;\n    }\n    return 1;\n  }" if (parenthesized_expression "(bVar21 != 0)" ( (binary_expression "bVar21 != 0" identifier != number_literal) )) (compound_statement "{\n    if ((use_alt_mach_code != 0) &&\n       (iVar18 = bfd_alt_mach_code(obfd,use_alt_mach_code,pbVar69,pbVar69),\n       uVar20 = use_alt_mach_code, iVar18 == 0)) {\n      pcVar24 = (char *)dcgettext(0,"this target does not support %lu alternative machine codes",5,\n                                  pbVar62);\n      non_fatal(pcVar24,uVar20);\n      if (obfd->xvec->flavour != bfd_target_elf_flavour) {\n        pcVar24 = (char *)dcgettext(0,"ignoring the alternative value",5,extraout_ECX_00);\n        non_fatal(pcVar24);\n        return 1;\n      }\n      pcVar24 = (char *)dcgettext(0,"treating that number as an absolute e_machine value instead",5,\n                                  uVar20);\n      non_fatal(pcVar24);\n      *(short *)((int)&((obfd->tdata).coff_obj_data)->local_n_btshft + 2) = (short)use_alt_mach_code\n      ;\n    }\n    return 1;\n  }" { (if_statement "if ((use_alt_mach_code != 0) &&\n       (iVar18 = bfd_alt_mach_code(obfd,use_alt_mach_code,pbVar69,pbVar69),\n       uVar20 = use_alt_mach_code, iVar18 == 0)) {\n      pcVar24 = (char *)dcgettext(0,"this target does not support %lu alternative machine codes",5,\n                                  pbVar62);\n      non_fatal(pcVar24,uVar20);\n      if (obfd->xvec->flavour != bfd_target_elf_flavour) {\n        pcVar24 = (char *)dcgettext(0,"ignoring the alternative value",5,extraout_ECX_00);\n        non_fatal(pcVar24);\n        return 1;\n      }\n      pcVar24 = (char *)dcgettext(0,"treating that number as an absolute e_machine value instead",5,\n                                  uVar20);\n      non_fatal(pcVar24);\n      *(short *)((int)&((obfd->tdata).coff_obj_data)->local_n_btshft + 2) = (short)use_alt_mach_code\n      ;\n    }" if (parenthesized_expression "((use_alt_mach_code != 0) &&\n       (iVar18 = bfd_alt_mach_code(obfd,use_alt_mach_code,pbVar69,pbVar69),\n       uVar20 = use_alt_mach_code, iVar18 == 0))" ( (binary_expression "(use_alt_mach_code != 0) &&\n       (iVar18 = bfd_alt_mach_code(obfd,use_alt_mach_code,pbVar69,pbVar69),\n       uVar20 = use_alt_mach_code, iVar18 == 0)" (parenthesized_expression "(use_alt_mach_code != 0)" ( (binary_expression "use_alt_mach_code != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar18 = bfd_alt_mach_code(obfd,use_alt_mach_code,pbVar69,pbVar69),\n       uVar20 = use_alt_mach_code, iVar18 == 0)" ( (comma_expression "iVar18 = bfd_alt_mach_code(obfd,use_alt_mach_code,pbVar69,pbVar69),\n       uVar20 = use_alt_mach_code, iVar18 == 0" (assignment_expression "iVar18 = bfd_alt_mach_code(obfd,use_alt_mach_code,pbVar69,pbVar69)" identifier = (call_expression "bfd_alt_mach_code(obfd,use_alt_mach_code,pbVar69,pbVar69)" identifier (argument_list "(obfd,use_alt_mach_code,pbVar69,pbVar69)" ( identifier , identifier , identifier , identifier )))) , (comma_expression "uVar20 = use_alt_mach_code, iVar18 == 0" (assignment_expression "uVar20 = use_alt_mach_code" identifier = identifier) , (binary_expression "iVar18 == 0" identifier == number_literal))) ))) )) (compound_statement "{\n      pcVar24 = (char *)dcgettext(0,"this target does not support %lu alternative machine codes",5,\n                                  pbVar62);\n      non_fatal(pcVar24,uVar20);\n      if (obfd->xvec->flavour != bfd_target_elf_flavour) {\n        pcVar24 = (char *)dcgettext(0,"ignoring the alternative value",5,extraout_ECX_00);\n        non_fatal(pcVar24);\n        return 1;\n      }\n      pcVar24 = (char *)dcgettext(0,"treating that number as an absolute e_machine value instead",5,\n                                  uVar20);\n      non_fatal(pcVar24);\n      *(short *)((int)&((obfd->tdata).coff_obj_data)->local_n_btshft + 2) = (short)use_alt_mach_code\n      ;\n    }" { (expression_statement "pcVar24 = (char *)dcgettext(0,"this target does not support %lu alternative machine codes",5,\n                                  pbVar62);" (assignment_expression "pcVar24 = (char *)dcgettext(0,"this target does not support %lu alternative machine codes",5,\n                                  pbVar62)" identifier = (cast_expression "(char *)dcgettext(0,"this target does not support %lu alternative machine codes",5,\n                                  pbVar62)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"this target does not support %lu alternative machine codes",5,\n                                  pbVar62)" identifier (argument_list "(0,"this target does not support %lu alternative machine codes",5,\n                                  pbVar62)" ( number_literal , (string_literal ""this target does not support %lu alternative machine codes"" " string_content ") , number_literal , identifier ))))) ;) (expression_statement "non_fatal(pcVar24,uVar20);" (call_expression "non_fatal(pcVar24,uVar20)" identifier (argument_list "(pcVar24,uVar20)" ( identifier , identifier ))) ;) (if_statement "if (obfd->xvec->flavour != bfd_target_elf_flavour) {\n        pcVar24 = (char *)dcgettext(0,"ignoring the alternative value",5,extraout_ECX_00);\n        non_fatal(pcVar24);\n        return 1;\n      }" if (parenthesized_expression "(obfd->xvec->flavour != bfd_target_elf_flavour)" ( (binary_expression "obfd->xvec->flavour != bfd_target_elf_flavour" (field_expression "obfd->xvec->flavour" (field_expression "obfd->xvec" identifier -> field_identifier) -> field_identifier) != identifier) )) (compound_statement "{\n        pcVar24 = (char *)dcgettext(0,"ignoring the alternative value",5,extraout_ECX_00);\n        non_fatal(pcVar24);\n        return 1;\n      }" { (expression_statement "pcVar24 = (char *)dcgettext(0,"ignoring the alternative value",5,extraout_ECX_00);" (assignment_expression "pcVar24 = (char *)dcgettext(0,"ignoring the alternative value",5,extraout_ECX_00)" identifier = (cast_expression "(char *)dcgettext(0,"ignoring the alternative value",5,extraout_ECX_00)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"ignoring the alternative value",5,extraout_ECX_00)" identifier (argument_list "(0,"ignoring the alternative value",5,extraout_ECX_00)" ( number_literal , (string_literal ""ignoring the alternative value"" " string_content ") , number_literal , identifier ))))) ;) (expression_statement "non_fatal(pcVar24);" (call_expression "non_fatal(pcVar24)" identifier (argument_list "(pcVar24)" ( identifier ))) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "pcVar24 = (char *)dcgettext(0,"treating that number as an absolute e_machine value instead",5,\n                                  uVar20);" (assignment_expression "pcVar24 = (char *)dcgettext(0,"treating that number as an absolute e_machine value instead",5,\n                                  uVar20)" identifier = (cast_expression "(char *)dcgettext(0,"treating that number as an absolute e_machine value instead",5,\n                                  uVar20)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"treating that number as an absolute e_machine value instead",5,\n                                  uVar20)" identifier (argument_list "(0,"treating that number as an absolute e_machine value instead",5,\n                                  uVar20)" ( number_literal , (string_literal ""treating that number as an absolute e_machine value instead"" " string_content ") , number_literal , identifier ))))) ;) (expression_statement "non_fatal(pcVar24);" (call_expression "non_fatal(pcVar24)" identifier (argument_list "(pcVar24)" ( identifier ))) ;) (expression_statement "*(short *)((int)&((obfd->tdata).coff_obj_data)->local_n_btshft + 2) = (short)use_alt_mach_code\n      ;" (assignment_expression "*(short *)((int)&((obfd->tdata).coff_obj_data)->local_n_btshft + 2) = (short)use_alt_mach_code" (pointer_expression "*(short *)((int)&((obfd->tdata).coff_obj_data)->local_n_btshft + 2)" * (cast_expression "(short *)((int)&((obfd->tdata).coff_obj_data)->local_n_btshft + 2)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&((obfd->tdata).coff_obj_data)->local_n_btshft + 2)" ( (binary_expression "(int)&((obfd->tdata).coff_obj_data)->local_n_btshft + 2" (cast_expression "(int)&((obfd->tdata).coff_obj_data)->local_n_btshft" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&((obfd->tdata).coff_obj_data)->local_n_btshft" & (field_expression "((obfd->tdata).coff_obj_data)->local_n_btshft" (parenthesized_expression "((obfd->tdata).coff_obj_data)" ( (field_expression "(obfd->tdata).coff_obj_data" (parenthesized_expression "(obfd->tdata)" ( (field_expression "obfd->tdata" identifier -> field_identifier) )) . field_identifier) )) -> field_identifier))) + number_literal) )))) = (cast_expression "(short)use_alt_mach_code" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier)) ;) })) (return_statement "return 1;" return number_literal ;) })) (expression_statement "pcVar24 = (char *)dcgettext(0,"error copying private BFD data",5,pbVar62);" (assignment_expression "pcVar24 = (char *)dcgettext(0,"error copying private BFD data",5,pbVar62)" identifier = (cast_expression "(char *)dcgettext(0,"error copying private BFD data",5,pbVar62)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"error copying private BFD data",5,pbVar62)" identifier (argument_list "(0,"error copying private BFD data",5,pbVar62)" ( number_literal , (string_literal ""error copying private BFD data"" " string_content ") , number_literal , identifier ))))) ;) (expression_statement "pbVar69 = (bfd *)0x0;" (assignment_expression "pbVar69 = (bfd *)0x0" identifier = (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_0001a2cd:\n  bfd_nonfatal_message((char *)0x0,obfd,(asection *)pbVar69,pcVar24);" statement_identifier : (expression_statement "bfd_nonfatal_message((char *)0x0,obfd,(asection *)pbVar69,pcVar24);" (call_expression "bfd_nonfatal_message((char *)0x0,obfd,(asection *)pbVar69,pcVar24)" identifier (argument_list "((char *)0x0,obfd,(asection *)pbVar69,pcVar24)" ( (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) , identifier , (cast_expression "(asection *)pbVar69" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;)) (return_statement "return 0;" return number_literal ;) })))
(translation_unit "int __regparm3 FUN_000185f0(size_t *param_1,size_t *param_2,int param_3)\n\n{\n  void *__dest;\n  int *piVar1;\n  size_t sVar2;\n  int *piVar3;\n  undefined *puVar4;\n  size_t sVar5;\n  size_t *psVar6;\n  size_t *psVar7;\n  char cVar8;\n  int iVar9;\n  undefined4 uVar10;\n  undefined4 uVar11;\n  int iVar12;\n  FILE *__s;\n  undefined4 uVar13;\n  undefined4 uVar14;\n  int *piVar15;\n  undefined *puVar16;\n  size_t sVar17;\n  size_t sVar18;\n  int *piVar19;\n  size_t *psVar20;\n  int iVar21;\n  char *pcVar22;\n  size_t sVar23;\n  void *pvVar24;\n  size_t *psVar25;\n  undefined4 extraout_ECX;\n  uint uVar26;\n  undefined4 extraout_ECX_00;\n  undefined4 extraout_ECX_01;\n  uint uVar27;\n  undefined4 extraout_ECX_02;\n  undefined4 extraout_ECX_03;\n  uint uVar28;\n  undefined1 *puVar29;\n  void *pvVar30;\n  size_t __n;\n  undefined4 extraout_EDX;\n  int *piVar31;\n  byte *pbVar32;\n  undefined4 *puVar33;\n  size_t *psVar34;\n  uint uVar35;\n  byte *pbVar36;\n  undefined4 *puVar37;\n  size_t *psVar38;\n  uint uVar39;\n  bool bVar40;\n  bool bVar41;\n  byte bVar42;\n  undefined8 uVar43;\n  void *pvVar44;\n  size_t *psVar45;\n  size_t *psVar46;\n  size_t local_98;\n  size_t local_94;\n  void *local_90;\n  size_t local_8c;\n  int *local_84;\n  size_t *local_80;\n  size_t *local_7c;\n  uint local_74;\n  int local_70;\n  uint local_6c;\n  int *local_68;\n  size_t *local_64;\n  size_t *local_60;\n  int *local_5c;\n  int local_58;\n  int local_50;\n  undefined4 local_4c;\n  undefined4 local_48;\n  undefined4 local_44 [5];\n  int *local_30;\n  undefined4 local_2c;\n  undefined4 uStack_14;\n  \n  bVar42 = 0;\n  uStack_14 = 0x185fd;\n  if ((*(int *)(param_1[1] + 8) != *(int *)(param_2[1] + 8) && *(int *)(param_1[1] + 8) != 2) &&\n     (*(int *)(param_2[1] + 8) != 2)) {\n    uVar10 = dcgettext(0,"Unable to change endianness of input file(s)",5);\n    FUN_0002b6d0(uVar10);\n    return 0;\n  }\n  iVar9 = bfd_set_format(param_2,(byte)param_1[10] & 7);\n  if (iVar9 == 0) {\n    FUN_0002c160(0,param_2,0,0);\n    return 0;\n  }\n  if (param_1[0x18] == 0) {\n    uVar10 = FUN_0002c060(param_1);\n    pcVar22 = "error: the input file \'%s\' has no sections";\n    goto LAB_00018bc8;\n  }\n  if (((undefined4 *)param_1[1])[1] != 5) {\n    if ((DAT_0003fb24 != 1) && ((DAT_0003fb24 & 1) != 0)) {\n      uVar10 = FUN_0002c060(param_1);\n      pcVar22 = "--compress-debug-sections=[zlib|zlib-gnu|zlib-gabi] is unsupported on `%s\'";\nLAB_00018bc8:\n      uVar11 = dcgettext(0,pcVar22,5);\n      FUN_0002b6d0(uVar11,uVar10);\n      return 0;\n    }\n    if (DAT_0003fb20 != 0) {\n      uVar10 = FUN_0002c060(param_1);\n      pcVar22 = "--elf-stt-common=[yes|no] is unsupported on `%s\'";\n      goto LAB_00018bc8;\n    }\n  }\n  if (DAT_0003fb90 != 0) {\n    uVar10 = *(undefined4 *)param_1[1];\n    uVar11 = *(undefined4 *)param_2[1];\n    sVar17 = *param_2;\n    uVar13 = FUN_0002c060(param_1);\n    pcVar22 = (char *)dcgettext(0,"copy from `%s\' [%s] to `%s\' [%s]\n",5);\n    printf(pcVar22,uVar13,uVar10,sVar17,uVar11);\n  }\n  iVar9 = 0;\n  if (DAT_0003facc == 0) {\n    sVar17 = DAT_0003fb5c;\n    if (DAT_0003fb60 == 0) {\n      sVar17 = param_1[0x1c];\n    }\n    iVar9 = sVar17 + DAT_0003fb64;\n  }\n  if ((param_2[10] & 7) != 3) {\n    uVar35 = ~DAT_0003fb3c & *(uint *)(param_2[1] + 0x10) &\n             (param_1[10] >> 5 & 0xfffff | DAT_0003fb40);\n    if (DAT_0003fb78 == 7) {\n      uVar35 = uVar35 & 0xfffffffe;\n    }\n    iVar9 = bfd_set_start_address(param_2,iVar9);\n    if ((iVar9 == 0) || (iVar9 = bfd_set_file_flags(param_2,uVar35), iVar9 == 0)) goto LAB_00018840;\n  }\n  uVar10 = bfd_get_arch(param_1);\n  uVar11 = bfd_get_mach(param_1);\n  if (param_3 != 0) {\n    iVar9 = bfd_get_arch_info(param_1);\n    if ((iVar9 == 0) || (iVar9 = bfd_get_arch_info(param_1), *(int *)(iVar9 + 0xc) == 0)) {\n      uVar10 = *(undefined4 *)(param_3 + 0xc);\n      uVar11 = *(undefined4 *)(param_3 + 0x10);\n    }\n    else {\n      uVar13 = FUN_0002c060(param_1);\n      uVar14 = dcgettext(0,"Input file `%s\' ignores binary architecture parameter.",5);\n      FUN_0002b6d0(uVar14,uVar13);\n    }\n  }\n  iVar9 = (**(code **)(param_2[1] + 0x154))(param_2,uVar10,uVar11);\n  if (iVar9 == 0) {\n    if ((*(byte *)((int)param_1 + 0x2b) & 4) != 0) {\nLAB_000187e7:\n      iVar9 = bfd_get_arch(param_1);\n      if (iVar9 == 0) {\n        uVar10 = FUN_0002c060(param_1);\n        pcVar22 = "Unable to recognise the format of the input file `%s\'";\n      }\n      else {\n        uVar10 = bfd_get_mach(param_1);\n        uVar11 = bfd_get_arch(param_1);\n        uVar10 = bfd_printable_arch_mach(uVar11,uVar10);\n        pcVar22 = "Output file cannot represent architecture `%s\'";\n      }\n      uVar11 = dcgettext(0,pcVar22,5);\n      FUN_0002b6d0(uVar11,uVar10);\n      return 0;\n    }\n    iVar9 = bfd_get_arch(param_1);\n    iVar12 = bfd_get_arch(param_2);\n    if (iVar9 != iVar12) goto LAB_000187e7;\n  }\n  iVar9 = bfd_set_format(param_2,(byte)param_1[10] & 7);\n  if (iVar9 == 0) {\nLAB_00018840:\n    FUN_0002c160(0,param_1,0,0);\n    return 0;\n  }\n  uVar35 = ((undefined4 *)param_2[1])[1];\n  bVar40 = uVar35 < 2;\n  bVar41 = uVar35 == 2;\n  if (bVar41) {\n    iVar9 = 4;\n    pbVar32 = *(byte **)param_2[1];\n    pbVar36 = &DAT_0002e16a;\n    do {\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar40 = *pbVar32 < *pbVar36;\n      bVar41 = *pbVar32 == *pbVar36;\n      pbVar32 = pbVar32 + (uint)bVar42 * -2 + 1;\n      pbVar36 = pbVar36 + (uint)bVar42 * -2 + 1;\n    } while (bVar41);\n    if ((!bVar40 && !bVar41) == bVar40) {\n      sVar17 = param_2[0x27];\n      uVar35 = ((undefined4 *)param_1[1])[1];\n      bVar40 = uVar35 < 2;\n      bVar41 = uVar35 == 2;\n      if (bVar41) {\n        iVar9 = 4;\n        pbVar32 = *(byte **)param_1[1];\n        pbVar36 = &DAT_0002e16a;\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar40 = *pbVar32 < *pbVar36;\n          bVar41 = *pbVar32 == *pbVar36;\n          pbVar32 = pbVar32 + (uint)bVar42 * -2 + 1;\n          pbVar36 = pbVar36 + (uint)bVar42 * -2 + 1;\n        } while (bVar41);\n        if ((!bVar40 && !bVar41) == bVar40) {\n          puVar33 = (undefined4 *)(param_1[0x27] + 0x78);\n          puVar37 = (undefined4 *)(sVar17 + 0x78);\n          for (iVar9 = 0x38; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar37 = *puVar33;\n            puVar33 = puVar33 + (uint)bVar42 * -2 + 1;\n            puVar37 = puVar37 + (uint)bVar42 * -2 + 1;\n          }\n        }\n      }\n      uVar35 = DAT_0003f298;\n      if (DAT_0003f298 == 0xffffffff) {\n        DAT_0003f298 = 0x200;\n        uVar35 = 0x200;\n      }\n      else {\n        *(uint *)(sVar17 + 0x9c) = DAT_0003f298;\n      }\n      if (DAT_0003f294 != -1) {\n        *(int *)(sVar17 + 0xcc) = DAT_0003f294;\n      }\n      if (DAT_0003f290 != -1) {\n        *(int *)(sVar17 + 0xcc) = DAT_0003f290;\n      }\n      if (DAT_0003f28c != -1) {\n        *(int *)(sVar17 + 0x94) = DAT_0003f28c;\n      }\n      uVar26 = DAT_0003f288;\n      if (DAT_0003f288 == 0xffffffff) {\n        DAT_0003f288 = 0x1000;\n        uVar26 = 0x1000;\n      }\n      else {\n        *(uint *)(sVar17 + 0x98) = DAT_0003f288;\n      }\n      if (DAT_0003f284 != -1) {\n        *(int *)(sVar17 + 0xc4) = DAT_0003f284;\n      }\n      if (DAT_0003f280 != -1) {\n        *(int *)(sVar17 + 0xc4) = DAT_0003f280;\n      }\n      if (DAT_0003f27c != -1) {\n        *(short *)(sVar17 + 0xbc) = DAT_0003f27c;\n      }\n      if (DAT_0003f27a != -1) {\n        *(short *)(sVar17 + 0xa8) = DAT_0003f27a;\n      }\n      if (DAT_0003f278 != -1) {\n        *(short *)(sVar17 + 0xaa) = DAT_0003f278;\n      }\n      if (uVar26 < uVar35) {\n        sprintf((char *)local_44,"%08lx",uVar35);\n        sprintf((char *)&local_30,"%08lx",DAT_0003f288);\n        uVar10 = dcgettext(0,"warning: file alignment (0x%s) > section alignment (0x%s)",5);\n        FUN_0002b6d0(uVar10,local_44,&local_30);\n      }\n    }\n  }\n  piVar15 = DAT_0003fb9c;\n  if (DAT_0003fb9c != (int *)0x0) {\n    free(DAT_0003fb9c);\n  }\n  if (piVar15 != DAT_0003fb98) {\n    free(DAT_0003fb98);\n  }\n  DAT_0003fb9c = (int *)0x0;\n  DAT_0003fb98 = (int *)0x0;\n  iVar9 = (**(code **)(param_1[1] + 0x104))(param_1);\n  if (iVar9 < 0) goto LAB_00018840;\n  DAT_0003fb98 = (int *)xmalloc(iVar9);\n  DAT_0003fb9c = DAT_0003fb98;\n  local_70 = (**(code **)(param_1[1] + 0x108))(param_1,DAT_0003fb98);\n  if (local_70 < 0) goto LAB_00018840;\n  if (local_70 == 0) {\n    free(DAT_0003fb9c);\n    DAT_0003fb9c = (int *)0x0;\n    DAT_0003fb98 = (int *)0x0;\n  }\n  bfd_map_over_sections(param_1,FUN_000179b0,param_2);\n  puVar33 = DAT_0003fb38;\n  if ((DAT_0003facc == 0) &&\n     (iVar9 = (**(code **)(param_2[1] + 0xbc))(param_1,param_2), puVar33 = DAT_0003fb38, iVar9 == 0)\n     ) {\n    DAT_0003fb88 = 1;\n    uVar10 = dcgettext(0,"error in private header data",5);\n    FUN_0002c160(0,param_1,0,uVar10);\n    puVar33 = DAT_0003fb38;\n  }\n  for (; puVar37 = DAT_0003fb34, puVar33 != (undefined4 *)0x0; puVar33 = (undefined4 *)*puVar33) {\n    uVar35 = 0x128;\n    iVar9 = FUN_00016910();\n    if (iVar9 != 0) {\n      uVar35 = *(uint *)(iVar9 + 0x18) | 0x100;\n    }\n    iVar9 = bfd_get_section_by_name(param_2,puVar33[1]);\n    if (iVar9 != 0) {\n      uVar10 = puVar33[1];\n      pcVar22 = "can\'t add section \'%s\'";\nLAB_00019719:\n      uVar11 = dcgettext(0,pcVar22,5);\n      FUN_0002c160(0,param_2,0,uVar11,uVar10);\n      return 0;\n    }\n    iVar9 = bfd_make_section_with_flags(param_2,puVar33[1],uVar35 | 0x100000);\n    puVar33[5] = iVar9;\n    if (iVar9 == 0) {\n      uVar10 = puVar33[1];\n      pcVar22 = "can\'t create section `%s\'";\n      goto LAB_00019719;\n    }\n    iVar9 = bfd_set_section_size(param_2,iVar9,puVar33[3]);\n    if (iVar9 == 0) {\n      psVar38 = (size_t *)puVar33[5];\n      local_50 = 0;\n      goto LAB_00019763;\n    }\n    iVar9 = FUN_00016910();\n    if (iVar9 != 0) {\n      uVar10 = *(undefined4 *)(iVar9 + 0x10);\n      iVar9 = puVar33[5];\n      *(byte *)(iVar9 + 0x18) = *(byte *)(iVar9 + 0x18) | 1;\n      *(undefined4 *)(iVar9 + 0x20) = uVar10;\n      *(undefined4 *)(iVar9 + 0x1c) = uVar10;\n    }\n    iVar9 = FUN_00016910();\n    if (iVar9 != 0) {\n      *(undefined4 *)(puVar33[5] + 0x20) = *(undefined4 *)(iVar9 + 0x14);\n    }\n  }\n  for (; puVar37 != (undefined4 *)0x0; puVar37 = (undefined4 *)*puVar37) {\n    iVar9 = bfd_get_section_by_name(param_1,puVar37[1]);\n    puVar37[5] = iVar9;\n    if (iVar9 == 0) {\n      uVar10 = puVar37[1];\n      pcVar22 = "error: %s not found, can\'t be updated";\n      goto LAB_00018bc8;\n    }\n    psVar38 = *(size_t **)(iVar9 + 0x3c);\n    local_50 = bfd_set_section_size(param_2,psVar38,puVar37[3]);\n    if (local_50 == 0) goto LAB_00019763;\n  }\n  if ((((DAT_0003fb84 != 0) &&\n       (sVar17 = bfd_get_section_by_name(param_1,".gnu.build.attributes"), sVar17 != 0)) &&\n      (DAT_0003fb84 != 0)) &&\n     ((*(int *)(param_1[1] + 4) == 5 && (iVar9 = FUN_00017590(), iVar9 != 0)))) {\n    uVar35 = *(uint *)(sVar17 + 0x24);\n    if (uVar35 == 0) {\n      uVar10 = dcgettext(0,"warning: note section is empty",5,0);\n      FUN_0002c160(0,param_1,sVar17,uVar10);\n      DAT_0003fb84 = 0;\n    }\n    else {\n      iVar9 = bfd_get_full_section_contents(param_1,sVar17,&DAT_0003fb80,uVar35);\n      psVar38 = DAT_0003fb80;\n      if (iVar9 == 0) {\n        uVar10 = dcgettext(0,"warning: could not load note section",5,0);\n        FUN_0002c160(0,param_1,sVar17,uVar10);\n        free(DAT_0003fb80);\n        DAT_0003fb80 = (size_t *)0x0;\n        DAT_0003fb84 = 0;\n      }\n      else {\n        iVar9 = bfd_get_reloc_upper_bound(param_1,sVar17,sVar17,sVar17);\n        psVar20 = param_1;\n        sVar18 = sVar17;\n        if (0 < iVar9) {\n          psVar20 = (size_t *)xmalloc(iVar9);\n          sVar18 = bfd_canonicalize_reloc(param_1,sVar17,psVar20,DAT_0003fb9c);\n          free(psVar20);\n          if (sVar18 == 0) goto LAB_0001a478;\n          local_60 = (size_t *)0x0;\n          goto LAB_0001a75c;\n        }\nLAB_0001a478:\n        pvVar44 = (void *)0x24;\n        psVar46 = psVar20;\n        local_60 = (size_t *)xcalloc(uVar35 / 0xc,0x24,psVar20,psVar20);\n        local_90 = (void *)0x0;\n        local_98 = 0;\n        local_8c = 0;\n        local_94 = 0;\n        local_6c = 0;\n        local_84 = (int *)0x0;\n        local_80 = (size_t *)0x0;\n        psVar25 = psVar38;\n        psVar34 = psVar38;\n        local_74 = uVar35;\n        local_64 = local_60;\n        while (0xb < local_74) {\n          iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25);\n          uVar26 = iVar9 + 3U & 0xfffffffc;\n          *local_64 = uVar26;\n          iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25 + 1);\n          uVar39 = iVar9 + 3U & 0xfffffffc;\n          sVar18 = param_1[1];\n          local_64[1] = uVar39;\n          sVar23 = (**(code **)(sVar18 + 0x28))(psVar25 + 2);\n          local_64[2] = sVar23;\n          if (1 < sVar23 - 0x100) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: wrong note type",5,\n                              extraout_ECX_01);\n            goto LAB_0001a72d;\n          }\n          iVar9 = uVar26 + uVar39;\n          if (local_74 < iVar9 + 0xcU) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: note too big",5,psVar25);\n            goto LAB_0001a72d;\n          }\n          if (uVar26 < 2) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name too small",5,iVar9);\n            goto LAB_0001a72d;\n          }\n          local_64[3] = (size_t)(psVar25 + 3);\n          sVar2 = (int)psVar25 + uVar26 + 0xc;\n          local_64[4] = sVar2;\n          psVar34 = (size_t *)(-0xc - iVar9);\n          local_74 = local_74 + (int)psVar34;\n          cVar8 = (char)psVar25[3];\n          if (cVar8 == '$') {\n            if ((*(char *)((int)psVar25 + 0xd) == '\x01') && (*(char *)((int)psVar25 + 0xe) == '1'))\n            {\n              local_80 = (size_t *)((int)local_80 + 1);\n            }\n          }\n          else if ((((4 < uVar26) && (cVar8 == 'G')) && (*(char *)((int)psVar25 + 0xd) == 'A')) &&\n                  ((*(char *)((int)psVar25 + 0xe) == '$' &&\n                   (*(char *)((int)psVar25 + 0xf) == '\x01')))) {\n            cVar8 = (char)psVar25[4];\n            if (cVar8 == '2') {\n              local_84 = (int *)((int)local_84 + 1);\n            }\n            else {\n              if (cVar8 != '3') {\n                iVar9 = dcgettext(0,"corrupt GNU build attribute note: unsupported version",5,cVar8)\n                ;\n                goto LAB_0001a72d;\n              }\n              local_6c = local_6c + 1;\n            }\n          }\n          if (uVar39 == 4) {\n            sVar18 = (**(code **)(param_1[1] + 0x28))(sVar2);\n            pvVar24 = (void *)0xffffffff;\n          }\n          else if (uVar39 < 5) {\n            if (uVar39 != 0) {\nLAB_0001a7ea:\n              iVar9 = dcgettext(0,"corrupt GNU build attribute note: bad description size",5,cVar8);\n              goto LAB_0001a72d;\n            }\n            pvVar24 = (void *)0x0;\n            sVar18 = 0;\n          }\n          else {\n            psVar34 = param_1;\n            if (uVar39 == 8) {\n              sVar18 = param_1[1];\n              if ((*(int *)(sVar18 + 4) == 5) && (*(char *)(param_1[0x27] + 4) == '\x02')) {\n                sVar18 = (**(code **)(sVar18 + 0x1c))(sVar2);\n                pvVar24 = (void *)0xffffffff;\n              }\n              else {\n                sVar18 = (**(code **)(sVar18 + 0x28))(sVar2);\n                pvVar24 = (void *)(**(code **)(param_1[1] + 0x28))(sVar2 + 4);\n              }\n            }\n            else {\n              if (uVar39 != 0x10) goto LAB_0001a7ea;\n              sVar18 = (**(code **)(param_1[1] + 0x1c))(sVar2);\n              pvVar24 = (void *)(**(code **)(param_1[1] + 0x1c))(sVar2 + 8);\n            }\n          }\n          if (sVar23 == 0x100) {\n            if (sVar18 == 0) {\n              sVar18 = local_8c;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = local_90;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_90 = pvVar24;\n            local_8c = sVar18;\n          }\n          else {\n            if (sVar18 == 0) {\n              sVar18 = local_94;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = (void *)local_98;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_98 = (size_t)pvVar24;\n            local_94 = sVar18;\n          }\n          if (*(char *)((local_64[3] - 1) + *local_64) != '\0') {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name not NUL terminated",5,\n                              *local_64);\n            goto LAB_0001a72d;\n          }\n          local_64 = local_64 + 9;\n          psVar25 = (size_t *)(iVar9 + 0xcU + (int)psVar25);\n        }\n        if (local_74 == 0) {\n          uVar26 = (uint)local_84 | local_6c;\n          if (local_80 == (size_t *)0x0 && uVar26 == 0) {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: no known versions detected",5,uVar26\n                             );\n            goto LAB_0001a72d;\n          }\n          if (((local_80 != (size_t *)0x0) && (uVar26 != 0)) ||\n             ((local_84 != (int *)0x0 && (local_6c != 0)))) {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: multiple different versions",5,\n                              sVar18);\n            goto LAB_0001a72d;\n          }\n          if ((local_80 == (size_t *)0x1 || local_84 == (int *)0x1) || (local_6c == 1))\n          goto LAB_0001a75c;\n          uVar26 = -(uint)(local_80 == (size_t *)0x0) & 2;\n          iVar9 = uVar26 + 1;\n          if (*(char *)(local_60[3] + iVar9) != '\x01') {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: first note not version note",5,\n                              psVar34);\n            goto LAB_0001a72d;\n          }\n          bVar40 = false;\n          iVar12 = uVar26 + 2;\n          psVar25 = local_60;\nLAB_0001a954:\n          psVar34 = psVar25;\n          psVar25 = psVar34 + 9;\n          if (psVar25 < local_64) {\n            if (psVar34[0xb] == 0x100) {\n              pvVar24 = (void *)psVar34[0xc];\n              local_7c = (size_t *)0x0;\n              psVar45 = psVar25;\n              do {\n                do {\n                  psVar6 = psVar45;\n                  psVar45 = psVar6 + -9;\n                  if (psVar45 < local_60) goto LAB_0001a954;\n                  pvVar30 = (void *)psVar6[-6];\n                  psVar7 = local_7c;\n                } while ((((local_7c == (size_t *)0x0) && (psVar6[-8] != 0)) &&\n                         (psVar7 = psVar45, psVar6[-7] == 0x101)) ||\n                        ((local_7c = psVar7,\n                         *(char *)((int)pvVar24 + iVar9) != *(char *)((int)pvVar30 + iVar9) ||\n                         (psVar6[-7] != 0x100))));\n                if (*(char *)((int)pvVar30 + iVar9) != '\x04') {\n                  psVar45 = (size_t *)*psVar45;\n                  if ((((psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)) &&\n                      ((uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0))))\n                     && ((0xfffffff0 < uVar26 || (psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0))))) {\n                    psVar34[0xb] = 0;\n                    if (uVar26 < uVar39) {\n                      psVar6[-2] = uVar39;\n                    }\n                    bVar40 = true;\n                    if (local_6c != 0) {\n                      psVar6[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0)) {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    psVar34[0x11] = 1;\n                    psVar34[0xb] = 0x101;\n                    psVar6[-1] = 1;\n                    psVar6[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }\n                uVar26 = 0;\n                for (iVar21 = 0; (int)*psVar25 - iVar12 != iVar21; iVar21 = iVar21 + 1) {\n                  uVar26 = uVar26 | (uint)*(byte *)((int)pvVar24 + iVar21 + iVar12) <<\n                                    ((char)iVar21 * '\b' & 0x1fU);\n                }\n                sVar18 = *psVar45;\n                local_5c = (int *)0x0;\n                for (uVar39 = 0; sVar18 - iVar12 != uVar39; uVar39 = uVar39 + 1) {\n                  local_5c = (int *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39] <<\n                                    ((char)uVar39 * '\b' & 0x1fU));\n                }\n                uVar28 = 0;\n                uVar26 = (int)local_5c + uVar26;\n                for (uVar27 = uVar26; uVar27 != 0; uVar27 = uVar27 >> 8) {\n                  uVar28 = uVar28 + 1;\n                }\n              } while (uVar39 <= uVar28);\n              puVar29 = (undefined1 *)((int)pvVar30 + iVar12);\n              while (puVar29 < (undefined1 *)((int)pvVar30 + sVar18)) {\n                *puVar29 = (char)uVar26;\n                if (uVar26 == 0) break;\n                uVar26 = uVar26 >> 8;\n                puVar29 = puVar29 + 1;\n              }\n              psVar34[0xb] = 0;\n              bVar40 = true;\n            }\n            goto LAB_0001a954;\n          }\n          if (!bVar40) goto LAB_0001a75c;\n          pvVar24 = (void *)xmalloc(uVar35,pvVar44,psVar20,psVar46);\n          sVar18 = 0;\n          pvVar44 = pvVar24;\n          local_80 = psVar38;\n          for (psVar20 = local_60; psVar20 < local_64; psVar20 = psVar20 + 9) {\n            sVar23 = *psVar20;\n            __n = psVar20[1] + sVar23 + 0xc;\n            sVar2 = psVar20[2];\n            pvVar30 = pvVar44;\n            if (sVar2 != 0) {\n              if (psVar20[8] == 0) {\n                memcpy(pvVar44,local_80,__n);\n                pvVar30 = (void *)((int)pvVar44 + __n);\n              }\n              else {\n                sVar5 = psVar20[6];\n                __dest = (void *)((int)pvVar44 + 0xc);\n                pvVar30 = (void *)((int)__dest + sVar23);\n                if ((sVar5 == local_74) && (psVar20[7] == sVar18)) {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar5,sVar5);\n                  (**(code **)(param_1[1] + 0x30))(0,(int)pvVar44 + 4);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                }\n                else {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar18,sVar18);\n                  cVar8 = '\b';\n                  if (*(int *)(param_1[1] + 4) == 5) {\n                    cVar8 = (*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b';\n                  }\n                  (**(code **)(param_1[1] + 0x30))(cVar8,(int)pvVar44 + 4,sVar23,sVar23);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                  sVar18 = param_1[1];\n                  psVar25 = param_1;\n                  if ((*(int *)(sVar18 + 4) == 5) &&\n                     (psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02')) {\n                    (**(code **)(sVar18 + 0x24))(sVar5,0,pvVar30,psVar25);\n                    (**(code **)(param_1[1] + 0x24))(psVar20[7],0,(void *)((int)pvVar30 + 8));\n                    pvVar30 = (void *)((int)pvVar30 + 0x10);\n                  }\n                  else {\n                    (**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25);\n                    (**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4);\n                    pvVar30 = (void *)((int)pvVar30 + 8);\n                  }\n                }\n              }\n              local_74 = psVar20[6];\n              sVar18 = psVar20[7];\n            }\n            local_80 = (size_t *)((int)local_80 + __n);\n            pvVar44 = pvVar30;\n          }\n          sVar18 = (int)pvVar44 - (int)pvVar24;\n          memcpy(psVar38,pvVar24,sVar18);\n          free(pvVar24);\n          free(local_60);\n          DAT_0003fb7c = sVar18;\n          if (uVar35 != sVar18) {\n            uVar10 = extraout_ECX_02;\n            if ((*(int *)(sVar17 + 0x3c) != 0) &&\n               (iVar9 = bfd_set_section_size(param_2,*(int *)(sVar17 + 0x3c),sVar18,extraout_EDX),\n               uVar10 = extraout_ECX_03, iVar9 != 0)) goto LAB_00018aad;\n            uVar10 = dcgettext(0,"warning: failed to set merged notes size",5,uVar10);\n            FUN_0002c160(0,param_2,sVar17,uVar10);\n          }\n        }\n        else {\n          iVar9 = dcgettext(0,"corrupt GNU build attribute notes: excess data at end",5,local_64);\nLAB_0001a72d:\n          if (iVar9 != 0) {\n            bfd_set_error(0x11);\n            FUN_0002c160(0,param_1,sVar17,iVar9);\n            DAT_0003fb88 = 1;\n          }\nLAB_0001a75c:\n          free(local_60);\n        }\n        free(DAT_0003fb80);\n        DAT_0003fb80 = (size_t *)0x0;\n        DAT_0003fb84 = 0;\n        DAT_0003fb7c = 0;\n      }\n    }\n  }\nLAB_00018aad:\n  local_98 = DAT_0003fb2c;\n  for (puVar33 = DAT_0003fb30; DAT_0003fb2c = local_98, puVar33 != (undefined4 *)0x0;\n      puVar33 = (undefined4 *)*puVar33) {\n    iVar9 = bfd_get_section_by_name(param_1,puVar33[1]);\n    if (iVar9 == 0) {\n      uVar10 = puVar33[1];\n      uVar11 = dcgettext(0,"can\'t dump section \'%s\' - it does not exist",5);\n      FUN_0002c160(0,param_1,0,uVar11,uVar10);\n    }\n    else {\n      if ((*(byte *)(iVar9 + 0x15) & 1) == 0) {\n        pcVar22 = "can\'t dump section - it has no contents";\n      }\n      else {\n        sVar17 = *(size_t *)(iVar9 + 0x24);\n        if (sVar17 != 0) {\n          __s = fopen64((char *)puVar33[2],"w");\n          if (__s == (FILE *)0x0) {\n            uVar10 = dcgettext(0,"could not open section dump file",5);\n            FUN_0002c160(puVar33[2],0,0,uVar10);\n          }\n          else {\n            iVar12 = bfd_malloc_and_get_section(param_1,iVar9,&local_30);\n            if (iVar12 == 0) {\n              uVar10 = dcgettext(0,"could not retrieve section contents",5);\n              FUN_0002c160(0,param_1,iVar9,uVar10);\n            }\n            else {\n              sVar18 = fwrite(local_30,1,sVar17,__s);\n              if (sVar17 != sVar18) {\n                piVar15 = __errno_location();\n                pcVar22 = strerror(*piVar15);\n                uVar10 = puVar33[2];\n                uVar11 = dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                FUN_0002b6d0(uVar11,uVar10,pcVar22);\n                free(local_30);\n                return 0;\n              }\n            }\n            fclose(__s);\n            free(local_30);\n          }\n          goto LAB_00018b49;\n        }\n        pcVar22 = "can\'t dump section - it is empty";\n      }\n      uVar10 = dcgettext(0,pcVar22,5);\n      FUN_0002c160(0,param_1,iVar9,uVar10);\n    }\nLAB_00018b49:\n    local_98 = DAT_0003fb2c;\n  }\n  if (local_98 != 0) {\n    iVar9 = bfd_get_section_by_name(param_2,".gnu_debuglink");\n    if (iVar9 == 0) {\n      local_98 = bfd_create_gnu_debuglink_section(param_2,DAT_0003fb2c);\n      iVar9 = DAT_0003fb2c;\n      if (local_98 == 0) {\n        uVar10 = dcgettext(0,"cannot create debug link section `%s\'",5,param_2);\n        FUN_0002c160(0,param_2,0,uVar10,iVar9);\n        return 0;\n      }\n      if (*(int *)(param_2[1] + 4) == 2) {\n        sVar17 = param_2[0x18];\n        sVar18 = 0;\n        if (sVar17 == 0) {\nLAB_0001a360:\n          uVar26 = 0x1000;\n        }\n        else {\n          do {\n            sVar23 = sVar18;\n            if (((*(uint *)(sVar17 + 0x1c) != 0) && (sVar23 = sVar17, sVar18 != 0)) &&\n               (sVar23 = sVar18, *(uint *)(sVar18 + 0x1c) < *(uint *)(sVar17 + 0x1c))) {\n              sVar23 = sVar17;\n            }\n            sVar17 = *(size_t *)(sVar17 + 0xc);\n            sVar18 = sVar23;\n          } while (sVar17 != 0);\n          if (sVar23 == 0) goto LAB_0001a360;\n          uVar35 = *(int *)(sVar23 + 0x24) + *(int *)(sVar23 + 0x1c);\n          uVar26 = 0xffffffff;\n          if (uVar35 < 0xfffff001) {\n            uVar26 = uVar35 + 0xfff & 0xfffff000;\n          }\n        }\n        *(uint *)(local_98 + 0x20) = uVar26;\n        *(uint *)(local_98 + 0x1c) = uVar26;\n        *(byte *)(local_98 + 0x18) = *(byte *)(local_98 + 0x18) | 1;\n      }\n    }\n    else {\n      sVar17 = *param_2;\n      uVar10 = dcgettext(0,"%s: debuglink section already exists",5);\n      FUN_0002b6d0(uVar10,sVar17);\n      DAT_0003fb2c = 0;\n      local_98 = 0;\n    }\n  }\n  sVar17 = param_2[0x1a];\n  local_8c = sVar17;\n  if (sVar17 == 0) {\nLAB_00018ff7:\n    local_90 = (void *)0x0;\n    local_84 = (int *)0x0;\n    sVar18 = local_8c;\n  }\n  else {\n    if (DAT_0003fb54 == 0 && DAT_0003fb4c == 0) {\n      local_8c = 0;\n      goto LAB_00018ff7;\n    }\n    sVar23 = sVar17 * 4;\n    local_84 = (int *)xmalloc(sVar23);\n    local_30 = local_84;\n    bfd_map_over_sections(param_2,FUN_00016710,&local_30);\n    qsort(local_84,sVar17,4,FUN_00016730);\n    local_90 = (void *)xmalloc(sVar23);\n    memset(local_90,0,sVar23);\n    if ((DAT_0003fb54 == 0) || (sVar17 == 1)) {\n      local_8c = 0;\n    }\n    else {\n      iVar9 = 0;\n      local_8c = 0;\n      piVar15 = local_84;\n      do {\n        iVar12 = *piVar15;\n        iVar9 = iVar9 + 1;\n        sVar18 = local_8c;\n        if ((*(uint *)(iVar12 + 0x14) & 0x102) == 0x102) {\n          uVar35 = *(int *)(iVar12 + 0x20) + *(int *)(iVar12 + 0x24);\n          if (uVar35 < *(uint *)(piVar15[1] + 0x20)) {\n            sVar18 = *(uint *)(piVar15[1] + 0x20) - uVar35;\n            uVar43 = bfd_set_section_size(param_2,iVar12,*(int *)(iVar12 + 0x24) + sVar18);\n            if ((int)uVar43 == 0) {\n              uVar10 = dcgettext(0,"Can\'t fill gap after section",5,\n                                 (int)((ulonglong)uVar43 >> 0x20));\n              FUN_0002c160(0,param_2,*piVar15,uVar10);\n              DAT_0003fb88 = 1;\n              break;\n            }\n            *(size_t *)((int)local_90 + iVar9 * 4 + -4) = sVar18;\n            if (sVar18 <= local_8c) {\n              sVar18 = local_8c;\n            }\n          }\n        }\n        local_8c = sVar18;\n        piVar15 = piVar15 + 1;\n      } while (sVar17 - 1 != iVar9);\n    }\n    sVar18 = local_8c;\n    if (DAT_0003fb4c != 0) {\n      iVar9 = local_84[sVar17 - 1];\n      uVar35 = *(int *)(iVar9 + 0x24) + *(int *)(iVar9 + 0x20);\n      if (uVar35 < DAT_0003fb48) {\n        iVar9 = bfd_set_section_size(param_2,iVar9,DAT_0003fb48 - *(int *)(iVar9 + 0x20));\n        if (iVar9 == 0) {\n          uVar10 = dcgettext(0,"can\'t add padding",5,uVar35);\n          FUN_0002c160(0,param_2,local_84[sVar17 - 1],uVar10);\n          DAT_0003fb88 = 1;\n        }\n        else {\n          sVar18 = DAT_0003fb48 - uVar35;\n          *(size_t *)((int)local_90 + (sVar23 - 4)) = sVar18;\n          if (sVar18 <= local_8c) {\n            sVar18 = local_8c;\n          }\n        }\n      }\n    }\n  }\n  local_8c = sVar18;\n  local_94 = 0;\n  if (DAT_0003fb28 != 0) {\n    local_94 = FUN_0001c0f0(param_1,DAT_0003fb9c,local_70,0);\n  }\n  if (DAT_0003fb78 - 2U < 6) {\nLAB_00019032:\n    if (DAT_0003fb78 != 7) {\nLAB_00019037:\n      bfd_set_error(0);\n      bfd_map_over_sections(param_1,FUN_00018470,DAT_0003fb9c);\n      iVar9 = bfd_get_error();\n      if (iVar9 != 0) {\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n    }\n    piVar15 = (int *)xmalloc((DAT_0003fae4 + local_70) * 4 + 4);\n    local_68 = DAT_0003fb9c;\n    uVar35 = param_1[10];\n    DAT_0003fb98 = piVar15;\n    if (local_70 != 0) {\n      piVar1 = DAT_0003fb9c + local_70;\n      local_70 = 0;\n      puVar16 = PTR__bfd_std_section_0003efc8 + 0xa8;\n      do {\n        iVar9 = DAT_0003fae4;\n        piVar3 = (int *)*local_68;\n        uVar26 = piVar3[3];\n        piVar19 = (int *)piVar3[1];\n        puVar4 = (undefined *)piVar3[4];\n        if (((DAT_0003fae8 != (int *)0x0) && (0 < DAT_0003fae4)) &&\n           (pcVar22 = (char *)DAT_0003fae8[5], pcVar22 != (char *)0x0)) {\n          local_5c = (int *)0x0;\n          piVar31 = DAT_0003fae8;\n          while (iVar12 = strcmp(pcVar22,(char *)piVar19), iVar12 != 0) {\n            local_5c = (int *)((int)local_5c + 1);\n            piVar31 = (int *)*piVar31;\n            if ((local_5c == (int *)iVar9) || (pcVar22 = (char *)piVar31[5], pcVar22 == (char *)0x0)\n               ) goto LAB_00019180;\n          }\n          free(pcVar22);\n          piVar31[5] = (int)"";\n          piVar31 = piVar15 + local_70;\n          local_70 = local_70 + 1;\n          iVar9 = FUN_000177e0();\n          *piVar31 = iVar9;\n        }\nLAB_00019180:\n        iVar9 = htab_elements(DAT_0003faf0);\n        piVar31 = piVar19;\n        if ((iVar9 != 0) || (DAT_0003fba0 != (undefined4 *)0x0)) {\n          local_2c = 0;\n          local_30 = piVar19;\n          iVar9 = htab_find(DAT_0003faf0,&local_30);\n          if (((iVar9 == 0) || (piVar31 = *(int **)(iVar9 + 4), piVar19 == piVar31)) &&\n             (puVar33 = DAT_0003fba0, (uVar26 & 0x100) != 0)) {\n            for (; piVar31 = piVar19, puVar33 != (undefined4 *)0x0;\n                puVar33 = (undefined4 *)puVar33[3]) {\n              iVar9 = strcmp((char *)*puVar33,(char *)piVar19);\n              if (iVar9 == 0) {\n                piVar31 = (int *)puVar33[1];\n                break;\n              }\n            }\n          }\n          piVar3[1] = (int)piVar31;\n        }\n        pcVar22 = DAT_0003fad8;\n        if ((char)*piVar31 == *(char *)(param_1[1] + 0x18)) {\n          if (DAT_0003fb1c == 0) {\n            if ((DAT_0003fb18 == 0) ||\n               ((((uVar26 & 0x82) == 0 && (puVar4 != puVar16)) &&\n                ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)))) goto LAB_00019203;\nLAB_0001943c:\n            piVar31 = (int *)((int)piVar31 + 1);\n            piVar3[1] = (int)piVar31;\n            goto LAB_00019203;\n          }\n          if (*(char *)(param_2[1] + 0x18) == '\0') goto LAB_0001943c;\n          if (DAT_0003fad8 != (char *)0x0) {\n            piVar31 = (int *)((int)piVar31 + 1);\n            piVar3[1] = (int)piVar31;\n            goto LAB_0001945b;\n          }\n          *(char *)piVar31 = *(char *)(param_2[1] + 0x18);\n          piVar3[1] = (int)piVar31;\n        }\n        else {\n          if (((DAT_0003fb1c == 0) || (*(char *)(param_2[1] + 0x18) == '\0')) ||\n             (*(char *)(param_1[1] + 0x18) != '\0')) {\nLAB_00019203:\n            if (pcVar22 == (char *)0x0) goto LAB_0001926f;\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = piVar19;\n          }\n          else {\nLAB_0001945b:\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = (int *)((int)piVar19 + 1);\n            *(char *)piVar19 = *(char *)(param_2[1] + 0x18);\n          }\n          pcVar22 = DAT_0003fad8;\n          if (DAT_0003fad8 != (char *)0x0) {\n            strcpy((char *)local_5c,DAT_0003fad8);\n            sVar17 = strlen(pcVar22);\n            local_5c = (int *)((int)local_5c + sVar17);\n          }\n          strcpy((char *)local_5c,(char *)piVar31);\n          piVar3[1] = (int)piVar19;\n          piVar31 = piVar19;\n        }\nLAB_0001926f:\n        if (DAT_0003fb78 == 7) goto LAB_000192f8;\n        if ((uVar26 & 0x20) == 0) {\n          if (((uVar26 & 0x100) == 0) ||\n             ((*(byte *)(**(int **)(piVar3[4] + 0x9c) + 0xc) & 0x20) == 0)) {\n            if ((((uVar35 >> 5 & 0x42) == 0) &&\n                (((uVar26 & 0x82) != 0 || ((*(byte *)(piVar3[4] + 0x15) & 0x10) != 0)))) ||\n               (iVar9 = bfd_decode_symclass(piVar3), iVar9 == 0x49)) {\nLAB_00019528:\n              iVar9 = FUN_00017880();\n              if (iVar9 == 0) goto LAB_000192e0;\n            }\n            else if ((((uVar26 & 0x82) == 0) && (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8)) &&\n                    ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)) {\n              if ((uVar26 & 4) == 0) {\n                if (((*(int *)(param_1[1] + 4) != 2) ||\n                    (iVar9 = *(int *)(piVar3[4] + 0x8c), iVar9 == 0)) ||\n                   (*(int *)(iVar9 + 0x24) == 0)) {\n                  if ((DAT_0003fb78 == 3) || (DAT_0003fb74 == 2)) goto LAB_000192f8;\n                  if (DAT_0003fb74 == 1) {\n                    iVar9 = bfd_is_local_label(param_1,piVar3,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }\n                goto LAB_00019528;\n              }\n              iVar9 = DAT_0003fb28;\n              if (1 < DAT_0003fb78 - 2U) {\njoined_r0x0001a13f:\n                if (iVar9 == 0) goto LAB_00019528;\n              }\n            }\n            else if (DAT_0003fb78 != 3) goto LAB_00019528;\n          }\n          else {\n            iVar9 = FUN_00017880();\n            if (iVar9 != 0) {\n              uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",\n                                 5,iVar9);\n              FUN_0002b6d0(uVar10,piVar31);\n              DAT_0003fb88 = 1;\n            }\nLAB_000192e0:\n            iVar9 = FUN_00017880();\n            if (iVar9 == 0) goto LAB_0001931c;\n          }\nLAB_000192f8:\n          if (((DAT_0003fadc != 0) && ((uVar26 & 0x4000) != 0)) ||\n             (iVar9 = FUN_00017880(), iVar9 != 0)) goto LAB_0001931c;\n        }\n        else {\n          iVar9 = FUN_00017880();\n          if (iVar9 != 0) {\n            uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",5)\n            ;\n            FUN_0002b6d0(uVar10,piVar31);\n            DAT_0003fb88 = 1;\n          }\nLAB_0001931c:\n          iVar9 = FUN_000178f0();\n          if (iVar9 == 0) {\n            if (((uVar26 & 2) != 0) && ((DAT_0003fae0 != 0 || (iVar9 = FUN_00017880(), iVar9 != 0)))\n               ) {\n              piVar3[3] = piVar3[3] & 0xfffffffdU | 0x80;\n            }\n            if (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8) {\n              if (((uVar26 & 0x82) != 0) &&\n                 (((iVar9 = FUN_00017880(), iVar9 != 0 ||\n                   ((iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0)))) ||\n                  ((DAT_0003fb10 != 0 &&\n                   ((((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)\n                    ))))))) {\n                piVar3[3] = piVar3[3] & 0xffffff7dU | 1;\n              }\n              if (((uVar26 & 1) != 0) && (iVar9 = FUN_00017880(), iVar9 != 0)) {\n                piVar3[3] = piVar3[3] & 0xfffffffeU | 2;\n              }\n            }\n            piVar15[local_70] = (int)piVar3;\n            local_70 = local_70 + 1;\n          }\n        }\n        local_68 = local_68 + 1;\n      } while (piVar1 != local_68);\n    }\n    local_5c = DAT_0003fae8;\n    if ((DAT_0003fae8 != (int *)0x0) && (0 < DAT_0003fae4)) {\n      iVar9 = 0;\n      do {\n        pcVar22 = (char *)local_5c[5];\n        if (pcVar22 == (char *)0x0) {\n          iVar12 = FUN_000177e0();\n          piVar15[local_70] = iVar12;\n          local_70 = local_70 + 1;\n        }\n        else if (*pcVar22 != '\0') {\n          uVar10 = dcgettext(0,"\'before=%s\' not found",5,local_70);\n                    \n          FUN_0002b6a0(uVar10,pcVar22);\n        }\n        iVar9 = iVar9 + 1;\n        local_5c = (int *)*local_5c;\n      } while (iVar9 < DAT_0003fae4);\n    }\n    piVar15[local_70] = 0;\n    if ((DAT_0003fb28 != 0) && (local_94 != 0)) {\n      iVar9 = ((undefined4 *)param_2[1])[1];\n      if ((iVar9 != 2) && (iVar9 != 5)) {\n        uVar10 = *(undefined4 *)param_2[1];\n        uVar11 = dcgettext(0,"don\'t know how to write debugging information for %s",5);\n        FUN_0002c160(0,param_2,0,uVar11,uVar10);\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n      iVar9 = FUN_0002b050(param_2,local_94,&local_4c,local_44,&local_48,&local_30);\n      if (iVar9 == 0) {\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n      iVar9 = bfd_make_section_with_flags(param_2,".stab",0x2108);\n      iVar12 = bfd_make_section_with_flags(param_2,".stabstr",0x2108);\n      if ((((iVar9 == 0) || (iVar12 == 0)) ||\n          (iVar21 = bfd_set_section_size(param_2,iVar9,local_44[0],iVar12), iVar21 == 0)) ||\n         (iVar21 = bfd_set_section_size(param_2,iVar12,local_30,iVar21), iVar21 == 0)) {\n        pcVar22 = "can\'t create debugging section";\nLAB_00019fcf:\n        uVar10 = dcgettext(0,pcVar22,5,iVar9);\n        FUN_0002c160(0,param_2,0,uVar10);\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n      *(undefined4 *)(iVar9 + 0x40) = 2;\n      *(undefined4 *)(iVar12 + 0x40) = 0;\n      iVar9 = bfd_set_section_contents(param_2,iVar9,local_4c,0,0,local_44[0],iVar21,iVar21);\n      if ((iVar9 == 0) ||\n         (iVar9 = bfd_set_section_contents\n                            (param_2,iVar12,local_48,0,0,local_30,extraout_ECX,extraout_ECX),\n         iVar9 == 0)) {\n        pcVar22 = "can\'t set debugging section contents";\n        iVar9 = iVar12;\n        goto LAB_00019fcf;\n      }\n    }\n  }\n  else {\n    if (DAT_0003fb10 != 0 || DAT_0003fb74 != 0) goto LAB_00019037;\n    iVar9 = htab_elements(DAT_0003fb0c);\n    if (((iVar9 != 0) || (iVar9 = htab_elements(DAT_0003fb04), iVar9 != 0)) ||\n       ((iVar9 = htab_elements(DAT_0003fb00), iVar9 != 0 ||\n        (((((iVar9 = htab_elements(DAT_0003fafc), iVar9 != 0 ||\n            (iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0)) ||\n           (iVar9 = htab_elements(DAT_0003faf4), iVar9 != 0)) ||\n          ((iVar9 = htab_elements(DAT_0003faf0), DAT_0003fad8 != (char *)0x0 ||\n           (DAT_0003fba0 != (undefined4 *)0x0)))) ||\n         (((((((DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0) || DAT_0003fb1c != 0)\n            || DAT_0003fb18 != 0) || DAT_0003fae0 != 0) || DAT_0003fae4 != 0) || iVar9 != 0))))))\n    goto LAB_00019032;\n  }\n  bfd_set_symtab(param_2,DAT_0003fb98,local_70);\n  bfd_map_over_sections(param_1,FUN_000181d0,param_2);\n  bfd_map_over_sections(param_1,FUN_00017e40,param_2);\n  psVar38 = param_1;\n  for (puVar33 = DAT_0003fb38; puVar37 = DAT_0003fb34, puVar33 != (undefined4 *)0x0;\n      puVar33 = (undefined4 *)*puVar33) {\n    iVar9 = bfd_set_section_contents(param_2,puVar33[5],puVar33[4],0,0,puVar33[3]);\n    if (iVar9 == 0) {\n      psVar38 = (size_t *)puVar33[5];\n      local_50 = 0;\n      goto LAB_00019763;\n    }\n    psVar38 = param_2;\n  }\n  for (; puVar37 != (undefined4 *)0x0; puVar37 = (undefined4 *)*puVar37) {\n    psVar38 = *(size_t **)(puVar37[5] + 0x3c);\n    local_50 = bfd_set_section_contents(param_2,psVar38,puVar37[4],0,0,puVar37[3]);\n    if (local_50 == 0) {\nLAB_00019763:\n      FUN_0002c160(0,param_2,psVar38,0);\n      return local_50;\n    }\n  }\n  uVar35 = 0;\n  if (DAT_0003fb84 != 0) {\n    uVar35 = bfd_get_section_by_name(param_2,".gnu.build.attributes");\n    if (((uVar35 == 0) || (DAT_0003fb84 == 0)) ||\n       ((*(int *)(param_2[1] + 4) != 5 || (iVar9 = FUN_00017590(), iVar9 == 0)))) {\n      if (DAT_0003fba4 == 0) {\n        uVar10 = dcgettext(0,"could not find any mergeable note sections",5,0);\n        FUN_0002c160(0,param_2,uVar35,uVar10);\n      }\n    }\n    else {\n      iVar9 = bfd_set_section_contents(param_2,uVar35,DAT_0003fb80,0,0,DAT_0003fb7c,iVar9,iVar9);\n      if (iVar9 == 0) {\n        uVar10 = dcgettext(0,"error: failed to copy merged notes into output",5,0);\n        goto LAB_0001a2cd;\n      }\n    }\n    free(DAT_0003fb80);\n    DAT_0003fb80 = (size_t *)0x0;\n    DAT_0003fb84 = 0;\n    psVar38 = param_2;\n  }\n  if ((DAT_0003fb2c != 0) &&\n     (iVar12 = bfd_fill_in_gnu_debuglink_section(param_2,local_98,DAT_0003fb2c),\n     iVar9 = DAT_0003fb2c, iVar12 == 0)) {\n    uVar10 = dcgettext(0,"cannot fill debug link section `%s\'",5,0);\n    FUN_0002c160(0,param_2,0,uVar10,iVar9);\n    return 0;\n  }\n  if (DAT_0003fb54 != 0 || DAT_0003fb4c != 0) {\n    uVar35 = 0x2000;\n    if (local_8c < 0x2001) {\n      uVar35 = local_8c;\n    }\n    psVar20 = (size_t *)xmalloc(uVar35);\n    sVar17 = (uint)DAT_0003fb50 * 0x1010101;\n    if (uVar35 < 4) {\n      if ((uVar35 != 0) && (*(char *)psVar20 = (char)sVar17, (uVar35 & 2) != 0)) {\n        *(short *)((int)psVar20 + (uVar35 - 2)) = (short)sVar17;\n      }\n    }\n    else {\n      *psVar20 = sVar17;\n      *(size_t *)((int)(psVar20 + -1) + uVar35) = sVar17;\n      psVar38 = (size_t *)((uint)(psVar20 + 1) & 0xfffffffc);\n      for (uVar26 = (int)psVar20 + (uVar35 - (int)((uint)(psVar20 + 1) & 0xfffffffc)) >> 2;\n          uVar26 != 0; uVar26 = uVar26 - 1) {\n        *psVar38 = sVar17;\n        psVar38 = psVar38 + (uint)bVar42 * -2 + 1;\n      }\n    }\n    psVar25 = (size_t *)param_2[0x1a];\n    if (psVar25 != (size_t *)0x0) {\n      psVar38 = (size_t *)0x0;\n      do {\n        uVar35 = *(uint *)((int)local_90 + (int)psVar38 * 4);\n        if (uVar35 != 0) {\n          iVar9 = local_84[(int)psVar38];\n          local_58 = 0;\n          local_5c = (int *)(*(int *)(iVar9 + 0x24) - uVar35);\n          while( true ) {\n            uVar26 = 0x2000;\n            if (uVar35 < 0x2001) {\n              uVar26 = uVar35;\n            }\n            iVar9 = bfd_set_section_contents(param_2,iVar9,psVar20,local_5c,local_58,uVar26);\n            if (iVar9 == 0) {\n              psVar38 = (size_t *)local_84[(int)psVar38];\n              local_50 = 0;\n              goto LAB_00019763;\n            }\n            bVar40 = CARRY4((uint)local_5c,uVar26);\n            local_5c = (int *)((int)local_5c + uVar26);\n            local_58 = local_58 + (uint)bVar40;\n            uVar35 = uVar35 - uVar26;\n            if (uVar35 == 0) break;\n            iVar9 = local_84[(int)psVar38];\n          }\n        }\n        psVar38 = (size_t *)((int)psVar38 + 1);\n      } while (psVar25 != psVar38);\n    }\n  }\n  iVar9 = (**(code **)(param_2[1] + 0xa8))(param_1,param_2);\n  if (iVar9 != 0) {\n    if ((DAT_0003fb44 != 0) &&\n       (iVar12 = bfd_alt_mach_code(param_2,DAT_0003fb44,uVar35,uVar35), iVar9 = DAT_0003fb44,\n       iVar12 == 0)) {\n      uVar10 = dcgettext(0,"this target does not support %lu alternative machine codes",5,psVar38);\n      FUN_0002b6d0(uVar10,iVar9);\n      if (*(int *)(param_2[1] + 4) != 5) {\n        uVar10 = dcgettext(0,"ignoring the alternative value",5,extraout_ECX_00);\n        FUN_0002b6d0(uVar10);\n        return 1;\n      }\n      uVar10 = dcgettext(0,"treating that number as an absolute e_machine value instead",5,iVar9);\n      FUN_0002b6d0(uVar10);\n      *(short *)(param_2[0x27] + 0x26) = (short)DAT_0003fb44;\n    }\n    return 1;\n  }\n  uVar10 = dcgettext(0,"error copying private BFD data",5,psVar38);\n  uVar35 = 0;\nLAB_0001a2cd:\n  FUN_0002c160(0,param_2,uVar35,uVar10);\n  return 0;\n}\n\n" (function_definition "int __regparm3 FUN_000185f0(size_t *param_1,size_t *param_2,int param_3)\n\n{\n  void *__dest;\n  int *piVar1;\n  size_t sVar2;\n  int *piVar3;\n  undefined *puVar4;\n  size_t sVar5;\n  size_t *psVar6;\n  size_t *psVar7;\n  char cVar8;\n  int iVar9;\n  undefined4 uVar10;\n  undefined4 uVar11;\n  int iVar12;\n  FILE *__s;\n  undefined4 uVar13;\n  undefined4 uVar14;\n  int *piVar15;\n  undefined *puVar16;\n  size_t sVar17;\n  size_t sVar18;\n  int *piVar19;\n  size_t *psVar20;\n  int iVar21;\n  char *pcVar22;\n  size_t sVar23;\n  void *pvVar24;\n  size_t *psVar25;\n  undefined4 extraout_ECX;\n  uint uVar26;\n  undefined4 extraout_ECX_00;\n  undefined4 extraout_ECX_01;\n  uint uVar27;\n  undefined4 extraout_ECX_02;\n  undefined4 extraout_ECX_03;\n  uint uVar28;\n  undefined1 *puVar29;\n  void *pvVar30;\n  size_t __n;\n  undefined4 extraout_EDX;\n  int *piVar31;\n  byte *pbVar32;\n  undefined4 *puVar33;\n  size_t *psVar34;\n  uint uVar35;\n  byte *pbVar36;\n  undefined4 *puVar37;\n  size_t *psVar38;\n  uint uVar39;\n  bool bVar40;\n  bool bVar41;\n  byte bVar42;\n  undefined8 uVar43;\n  void *pvVar44;\n  size_t *psVar45;\n  size_t *psVar46;\n  size_t local_98;\n  size_t local_94;\n  void *local_90;\n  size_t local_8c;\n  int *local_84;\n  size_t *local_80;\n  size_t *local_7c;\n  uint local_74;\n  int local_70;\n  uint local_6c;\n  int *local_68;\n  size_t *local_64;\n  size_t *local_60;\n  int *local_5c;\n  int local_58;\n  int local_50;\n  undefined4 local_4c;\n  undefined4 local_48;\n  undefined4 local_44 [5];\n  int *local_30;\n  undefined4 local_2c;\n  undefined4 uStack_14;\n  \n  bVar42 = 0;\n  uStack_14 = 0x185fd;\n  if ((*(int *)(param_1[1] + 8) != *(int *)(param_2[1] + 8) && *(int *)(param_1[1] + 8) != 2) &&\n     (*(int *)(param_2[1] + 8) != 2)) {\n    uVar10 = dcgettext(0,"Unable to change endianness of input file(s)",5);\n    FUN_0002b6d0(uVar10);\n    return 0;\n  }\n  iVar9 = bfd_set_format(param_2,(byte)param_1[10] & 7);\n  if (iVar9 == 0) {\n    FUN_0002c160(0,param_2,0,0);\n    return 0;\n  }\n  if (param_1[0x18] == 0) {\n    uVar10 = FUN_0002c060(param_1);\n    pcVar22 = "error: the input file \'%s\' has no sections";\n    goto LAB_00018bc8;\n  }\n  if (((undefined4 *)param_1[1])[1] != 5) {\n    if ((DAT_0003fb24 != 1) && ((DAT_0003fb24 & 1) != 0)) {\n      uVar10 = FUN_0002c060(param_1);\n      pcVar22 = "--compress-debug-sections=[zlib|zlib-gnu|zlib-gabi] is unsupported on `%s\'";\nLAB_00018bc8:\n      uVar11 = dcgettext(0,pcVar22,5);\n      FUN_0002b6d0(uVar11,uVar10);\n      return 0;\n    }\n    if (DAT_0003fb20 != 0) {\n      uVar10 = FUN_0002c060(param_1);\n      pcVar22 = "--elf-stt-common=[yes|no] is unsupported on `%s\'";\n      goto LAB_00018bc8;\n    }\n  }\n  if (DAT_0003fb90 != 0) {\n    uVar10 = *(undefined4 *)param_1[1];\n    uVar11 = *(undefined4 *)param_2[1];\n    sVar17 = *param_2;\n    uVar13 = FUN_0002c060(param_1);\n    pcVar22 = (char *)dcgettext(0,"copy from `%s\' [%s] to `%s\' [%s]\n",5);\n    printf(pcVar22,uVar13,uVar10,sVar17,uVar11);\n  }\n  iVar9 = 0;\n  if (DAT_0003facc == 0) {\n    sVar17 = DAT_0003fb5c;\n    if (DAT_0003fb60 == 0) {\n      sVar17 = param_1[0x1c];\n    }\n    iVar9 = sVar17 + DAT_0003fb64;\n  }\n  if ((param_2[10] & 7) != 3) {\n    uVar35 = ~DAT_0003fb3c & *(uint *)(param_2[1] + 0x10) &\n             (param_1[10] >> 5 & 0xfffff | DAT_0003fb40);\n    if (DAT_0003fb78 == 7) {\n      uVar35 = uVar35 & 0xfffffffe;\n    }\n    iVar9 = bfd_set_start_address(param_2,iVar9);\n    if ((iVar9 == 0) || (iVar9 = bfd_set_file_flags(param_2,uVar35), iVar9 == 0)) goto LAB_00018840;\n  }\n  uVar10 = bfd_get_arch(param_1);\n  uVar11 = bfd_get_mach(param_1);\n  if (param_3 != 0) {\n    iVar9 = bfd_get_arch_info(param_1);\n    if ((iVar9 == 0) || (iVar9 = bfd_get_arch_info(param_1), *(int *)(iVar9 + 0xc) == 0)) {\n      uVar10 = *(undefined4 *)(param_3 + 0xc);\n      uVar11 = *(undefined4 *)(param_3 + 0x10);\n    }\n    else {\n      uVar13 = FUN_0002c060(param_1);\n      uVar14 = dcgettext(0,"Input file `%s\' ignores binary architecture parameter.",5);\n      FUN_0002b6d0(uVar14,uVar13);\n    }\n  }\n  iVar9 = (**(code **)(param_2[1] + 0x154))(param_2,uVar10,uVar11);\n  if (iVar9 == 0) {\n    if ((*(byte *)((int)param_1 + 0x2b) & 4) != 0) {\nLAB_000187e7:\n      iVar9 = bfd_get_arch(param_1);\n      if (iVar9 == 0) {\n        uVar10 = FUN_0002c060(param_1);\n        pcVar22 = "Unable to recognise the format of the input file `%s\'";\n      }\n      else {\n        uVar10 = bfd_get_mach(param_1);\n        uVar11 = bfd_get_arch(param_1);\n        uVar10 = bfd_printable_arch_mach(uVar11,uVar10);\n        pcVar22 = "Output file cannot represent architecture `%s\'";\n      }\n      uVar11 = dcgettext(0,pcVar22,5);\n      FUN_0002b6d0(uVar11,uVar10);\n      return 0;\n    }\n    iVar9 = bfd_get_arch(param_1);\n    iVar12 = bfd_get_arch(param_2);\n    if (iVar9 != iVar12) goto LAB_000187e7;\n  }\n  iVar9 = bfd_set_format(param_2,(byte)param_1[10] & 7);\n  if (iVar9 == 0) {\nLAB_00018840:\n    FUN_0002c160(0,param_1,0,0);\n    return 0;\n  }\n  uVar35 = ((undefined4 *)param_2[1])[1];\n  bVar40 = uVar35 < 2;\n  bVar41 = uVar35 == 2;\n  if (bVar41) {\n    iVar9 = 4;\n    pbVar32 = *(byte **)param_2[1];\n    pbVar36 = &DAT_0002e16a;\n    do {\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar40 = *pbVar32 < *pbVar36;\n      bVar41 = *pbVar32 == *pbVar36;\n      pbVar32 = pbVar32 + (uint)bVar42 * -2 + 1;\n      pbVar36 = pbVar36 + (uint)bVar42 * -2 + 1;\n    } while (bVar41);\n    if ((!bVar40 && !bVar41) == bVar40) {\n      sVar17 = param_2[0x27];\n      uVar35 = ((undefined4 *)param_1[1])[1];\n      bVar40 = uVar35 < 2;\n      bVar41 = uVar35 == 2;\n      if (bVar41) {\n        iVar9 = 4;\n        pbVar32 = *(byte **)param_1[1];\n        pbVar36 = &DAT_0002e16a;\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar40 = *pbVar32 < *pbVar36;\n          bVar41 = *pbVar32 == *pbVar36;\n          pbVar32 = pbVar32 + (uint)bVar42 * -2 + 1;\n          pbVar36 = pbVar36 + (uint)bVar42 * -2 + 1;\n        } while (bVar41);\n        if ((!bVar40 && !bVar41) == bVar40) {\n          puVar33 = (undefined4 *)(param_1[0x27] + 0x78);\n          puVar37 = (undefined4 *)(sVar17 + 0x78);\n          for (iVar9 = 0x38; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar37 = *puVar33;\n            puVar33 = puVar33 + (uint)bVar42 * -2 + 1;\n            puVar37 = puVar37 + (uint)bVar42 * -2 + 1;\n          }\n        }\n      }\n      uVar35 = DAT_0003f298;\n      if (DAT_0003f298 == 0xffffffff) {\n        DAT_0003f298 = 0x200;\n        uVar35 = 0x200;\n      }\n      else {\n        *(uint *)(sVar17 + 0x9c) = DAT_0003f298;\n      }\n      if (DAT_0003f294 != -1) {\n        *(int *)(sVar17 + 0xcc) = DAT_0003f294;\n      }\n      if (DAT_0003f290 != -1) {\n        *(int *)(sVar17 + 0xcc) = DAT_0003f290;\n      }\n      if (DAT_0003f28c != -1) {\n        *(int *)(sVar17 + 0x94) = DAT_0003f28c;\n      }\n      uVar26 = DAT_0003f288;\n      if (DAT_0003f288 == 0xffffffff) {\n        DAT_0003f288 = 0x1000;\n        uVar26 = 0x1000;\n      }\n      else {\n        *(uint *)(sVar17 + 0x98) = DAT_0003f288;\n      }\n      if (DAT_0003f284 != -1) {\n        *(int *)(sVar17 + 0xc4) = DAT_0003f284;\n      }\n      if (DAT_0003f280 != -1) {\n        *(int *)(sVar17 + 0xc4) = DAT_0003f280;\n      }\n      if (DAT_0003f27c != -1) {\n        *(short *)(sVar17 + 0xbc) = DAT_0003f27c;\n      }\n      if (DAT_0003f27a != -1) {\n        *(short *)(sVar17 + 0xa8) = DAT_0003f27a;\n      }\n      if (DAT_0003f278 != -1) {\n        *(short *)(sVar17 + 0xaa) = DAT_0003f278;\n      }\n      if (uVar26 < uVar35) {\n        sprintf((char *)local_44,"%08lx",uVar35);\n        sprintf((char *)&local_30,"%08lx",DAT_0003f288);\n        uVar10 = dcgettext(0,"warning: file alignment (0x%s) > section alignment (0x%s)",5);\n        FUN_0002b6d0(uVar10,local_44,&local_30);\n      }\n    }\n  }\n  piVar15 = DAT_0003fb9c;\n  if (DAT_0003fb9c != (int *)0x0) {\n    free(DAT_0003fb9c);\n  }\n  if (piVar15 != DAT_0003fb98) {\n    free(DAT_0003fb98);\n  }\n  DAT_0003fb9c = (int *)0x0;\n  DAT_0003fb98 = (int *)0x0;\n  iVar9 = (**(code **)(param_1[1] + 0x104))(param_1);\n  if (iVar9 < 0) goto LAB_00018840;\n  DAT_0003fb98 = (int *)xmalloc(iVar9);\n  DAT_0003fb9c = DAT_0003fb98;\n  local_70 = (**(code **)(param_1[1] + 0x108))(param_1,DAT_0003fb98);\n  if (local_70 < 0) goto LAB_00018840;\n  if (local_70 == 0) {\n    free(DAT_0003fb9c);\n    DAT_0003fb9c = (int *)0x0;\n    DAT_0003fb98 = (int *)0x0;\n  }\n  bfd_map_over_sections(param_1,FUN_000179b0,param_2);\n  puVar33 = DAT_0003fb38;\n  if ((DAT_0003facc == 0) &&\n     (iVar9 = (**(code **)(param_2[1] + 0xbc))(param_1,param_2), puVar33 = DAT_0003fb38, iVar9 == 0)\n     ) {\n    DAT_0003fb88 = 1;\n    uVar10 = dcgettext(0,"error in private header data",5);\n    FUN_0002c160(0,param_1,0,uVar10);\n    puVar33 = DAT_0003fb38;\n  }\n  for (; puVar37 = DAT_0003fb34, puVar33 != (undefined4 *)0x0; puVar33 = (undefined4 *)*puVar33) {\n    uVar35 = 0x128;\n    iVar9 = FUN_00016910();\n    if (iVar9 != 0) {\n      uVar35 = *(uint *)(iVar9 + 0x18) | 0x100;\n    }\n    iVar9 = bfd_get_section_by_name(param_2,puVar33[1]);\n    if (iVar9 != 0) {\n      uVar10 = puVar33[1];\n      pcVar22 = "can\'t add section \'%s\'";\nLAB_00019719:\n      uVar11 = dcgettext(0,pcVar22,5);\n      FUN_0002c160(0,param_2,0,uVar11,uVar10);\n      return 0;\n    }\n    iVar9 = bfd_make_section_with_flags(param_2,puVar33[1],uVar35 | 0x100000);\n    puVar33[5] = iVar9;\n    if (iVar9 == 0) {\n      uVar10 = puVar33[1];\n      pcVar22 = "can\'t create section `%s\'";\n      goto LAB_00019719;\n    }\n    iVar9 = bfd_set_section_size(param_2,iVar9,puVar33[3]);\n    if (iVar9 == 0) {\n      psVar38 = (size_t *)puVar33[5];\n      local_50 = 0;\n      goto LAB_00019763;\n    }\n    iVar9 = FUN_00016910();\n    if (iVar9 != 0) {\n      uVar10 = *(undefined4 *)(iVar9 + 0x10);\n      iVar9 = puVar33[5];\n      *(byte *)(iVar9 + 0x18) = *(byte *)(iVar9 + 0x18) | 1;\n      *(undefined4 *)(iVar9 + 0x20) = uVar10;\n      *(undefined4 *)(iVar9 + 0x1c) = uVar10;\n    }\n    iVar9 = FUN_00016910();\n    if (iVar9 != 0) {\n      *(undefined4 *)(puVar33[5] + 0x20) = *(undefined4 *)(iVar9 + 0x14);\n    }\n  }\n  for (; puVar37 != (undefined4 *)0x0; puVar37 = (undefined4 *)*puVar37) {\n    iVar9 = bfd_get_section_by_name(param_1,puVar37[1]);\n    puVar37[5] = iVar9;\n    if (iVar9 == 0) {\n      uVar10 = puVar37[1];\n      pcVar22 = "error: %s not found, can\'t be updated";\n      goto LAB_00018bc8;\n    }\n    psVar38 = *(size_t **)(iVar9 + 0x3c);\n    local_50 = bfd_set_section_size(param_2,psVar38,puVar37[3]);\n    if (local_50 == 0) goto LAB_00019763;\n  }\n  if ((((DAT_0003fb84 != 0) &&\n       (sVar17 = bfd_get_section_by_name(param_1,".gnu.build.attributes"), sVar17 != 0)) &&\n      (DAT_0003fb84 != 0)) &&\n     ((*(int *)(param_1[1] + 4) == 5 && (iVar9 = FUN_00017590(), iVar9 != 0)))) {\n    uVar35 = *(uint *)(sVar17 + 0x24);\n    if (uVar35 == 0) {\n      uVar10 = dcgettext(0,"warning: note section is empty",5,0);\n      FUN_0002c160(0,param_1,sVar17,uVar10);\n      DAT_0003fb84 = 0;\n    }\n    else {\n      iVar9 = bfd_get_full_section_contents(param_1,sVar17,&DAT_0003fb80,uVar35);\n      psVar38 = DAT_0003fb80;\n      if (iVar9 == 0) {\n        uVar10 = dcgettext(0,"warning: could not load note section",5,0);\n        FUN_0002c160(0,param_1,sVar17,uVar10);\n        free(DAT_0003fb80);\n        DAT_0003fb80 = (size_t *)0x0;\n        DAT_0003fb84 = 0;\n      }\n      else {\n        iVar9 = bfd_get_reloc_upper_bound(param_1,sVar17,sVar17,sVar17);\n        psVar20 = param_1;\n        sVar18 = sVar17;\n        if (0 < iVar9) {\n          psVar20 = (size_t *)xmalloc(iVar9);\n          sVar18 = bfd_canonicalize_reloc(param_1,sVar17,psVar20,DAT_0003fb9c);\n          free(psVar20);\n          if (sVar18 == 0) goto LAB_0001a478;\n          local_60 = (size_t *)0x0;\n          goto LAB_0001a75c;\n        }\nLAB_0001a478:\n        pvVar44 = (void *)0x24;\n        psVar46 = psVar20;\n        local_60 = (size_t *)xcalloc(uVar35 / 0xc,0x24,psVar20,psVar20);\n        local_90 = (void *)0x0;\n        local_98 = 0;\n        local_8c = 0;\n        local_94 = 0;\n        local_6c = 0;\n        local_84 = (int *)0x0;\n        local_80 = (size_t *)0x0;\n        psVar25 = psVar38;\n        psVar34 = psVar38;\n        local_74 = uVar35;\n        local_64 = local_60;\n        while (0xb < local_74) {\n          iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25);\n          uVar26 = iVar9 + 3U & 0xfffffffc;\n          *local_64 = uVar26;\n          iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25 + 1);\n          uVar39 = iVar9 + 3U & 0xfffffffc;\n          sVar18 = param_1[1];\n          local_64[1] = uVar39;\n          sVar23 = (**(code **)(sVar18 + 0x28))(psVar25 + 2);\n          local_64[2] = sVar23;\n          if (1 < sVar23 - 0x100) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: wrong note type",5,\n                              extraout_ECX_01);\n            goto LAB_0001a72d;\n          }\n          iVar9 = uVar26 + uVar39;\n          if (local_74 < iVar9 + 0xcU) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: note too big",5,psVar25);\n            goto LAB_0001a72d;\n          }\n          if (uVar26 < 2) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name too small",5,iVar9);\n            goto LAB_0001a72d;\n          }\n          local_64[3] = (size_t)(psVar25 + 3);\n          sVar2 = (int)psVar25 + uVar26 + 0xc;\n          local_64[4] = sVar2;\n          psVar34 = (size_t *)(-0xc - iVar9);\n          local_74 = local_74 + (int)psVar34;\n          cVar8 = (char)psVar25[3];\n          if (cVar8 == '$') {\n            if ((*(char *)((int)psVar25 + 0xd) == '\x01') && (*(char *)((int)psVar25 + 0xe) == '1'))\n            {\n              local_80 = (size_t *)((int)local_80 + 1);\n            }\n          }\n          else if ((((4 < uVar26) && (cVar8 == 'G')) && (*(char *)((int)psVar25 + 0xd) == 'A')) &&\n                  ((*(char *)((int)psVar25 + 0xe) == '$' &&\n                   (*(char *)((int)psVar25 + 0xf) == '\x01')))) {\n            cVar8 = (char)psVar25[4];\n            if (cVar8 == '2') {\n              local_84 = (int *)((int)local_84 + 1);\n            }\n            else {\n              if (cVar8 != '3') {\n                iVar9 = dcgettext(0,"corrupt GNU build attribute note: unsupported version",5,cVar8)\n                ;\n                goto LAB_0001a72d;\n              }\n              local_6c = local_6c + 1;\n            }\n          }\n          if (uVar39 == 4) {\n            sVar18 = (**(code **)(param_1[1] + 0x28))(sVar2);\n            pvVar24 = (void *)0xffffffff;\n          }\n          else if (uVar39 < 5) {\n            if (uVar39 != 0) {\nLAB_0001a7ea:\n              iVar9 = dcgettext(0,"corrupt GNU build attribute note: bad description size",5,cVar8);\n              goto LAB_0001a72d;\n            }\n            pvVar24 = (void *)0x0;\n            sVar18 = 0;\n          }\n          else {\n            psVar34 = param_1;\n            if (uVar39 == 8) {\n              sVar18 = param_1[1];\n              if ((*(int *)(sVar18 + 4) == 5) && (*(char *)(param_1[0x27] + 4) == '\x02')) {\n                sVar18 = (**(code **)(sVar18 + 0x1c))(sVar2);\n                pvVar24 = (void *)0xffffffff;\n              }\n              else {\n                sVar18 = (**(code **)(sVar18 + 0x28))(sVar2);\n                pvVar24 = (void *)(**(code **)(param_1[1] + 0x28))(sVar2 + 4);\n              }\n            }\n            else {\n              if (uVar39 != 0x10) goto LAB_0001a7ea;\n              sVar18 = (**(code **)(param_1[1] + 0x1c))(sVar2);\n              pvVar24 = (void *)(**(code **)(param_1[1] + 0x1c))(sVar2 + 8);\n            }\n          }\n          if (sVar23 == 0x100) {\n            if (sVar18 == 0) {\n              sVar18 = local_8c;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = local_90;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_90 = pvVar24;\n            local_8c = sVar18;\n          }\n          else {\n            if (sVar18 == 0) {\n              sVar18 = local_94;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = (void *)local_98;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_98 = (size_t)pvVar24;\n            local_94 = sVar18;\n          }\n          if (*(char *)((local_64[3] - 1) + *local_64) != '\0') {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name not NUL terminated",5,\n                              *local_64);\n            goto LAB_0001a72d;\n          }\n          local_64 = local_64 + 9;\n          psVar25 = (size_t *)(iVar9 + 0xcU + (int)psVar25);\n        }\n        if (local_74 == 0) {\n          uVar26 = (uint)local_84 | local_6c;\n          if (local_80 == (size_t *)0x0 && uVar26 == 0) {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: no known versions detected",5,uVar26\n                             );\n            goto LAB_0001a72d;\n          }\n          if (((local_80 != (size_t *)0x0) && (uVar26 != 0)) ||\n             ((local_84 != (int *)0x0 && (local_6c != 0)))) {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: multiple different versions",5,\n                              sVar18);\n            goto LAB_0001a72d;\n          }\n          if ((local_80 == (size_t *)0x1 || local_84 == (int *)0x1) || (local_6c == 1))\n          goto LAB_0001a75c;\n          uVar26 = -(uint)(local_80 == (size_t *)0x0) & 2;\n          iVar9 = uVar26 + 1;\n          if (*(char *)(local_60[3] + iVar9) != '\x01') {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: first note not version note",5,\n                              psVar34);\n            goto LAB_0001a72d;\n          }\n          bVar40 = false;\n          iVar12 = uVar26 + 2;\n          psVar25 = local_60;\nLAB_0001a954:\n          psVar34 = psVar25;\n          psVar25 = psVar34 + 9;\n          if (psVar25 < local_64) {\n            if (psVar34[0xb] == 0x100) {\n              pvVar24 = (void *)psVar34[0xc];\n              local_7c = (size_t *)0x0;\n              psVar45 = psVar25;\n              do {\n                do {\n                  psVar6 = psVar45;\n                  psVar45 = psVar6 + -9;\n                  if (psVar45 < local_60) goto LAB_0001a954;\n                  pvVar30 = (void *)psVar6[-6];\n                  psVar7 = local_7c;\n                } while ((((local_7c == (size_t *)0x0) && (psVar6[-8] != 0)) &&\n                         (psVar7 = psVar45, psVar6[-7] == 0x101)) ||\n                        ((local_7c = psVar7,\n                         *(char *)((int)pvVar24 + iVar9) != *(char *)((int)pvVar30 + iVar9) ||\n                         (psVar6[-7] != 0x100))));\n                if (*(char *)((int)pvVar30 + iVar9) != '\x04') {\n                  psVar45 = (size_t *)*psVar45;\n                  if ((((psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)) &&\n                      ((uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0))))\n                     && ((0xfffffff0 < uVar26 || (psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0))))) {\n                    psVar34[0xb] = 0;\n                    if (uVar26 < uVar39) {\n                      psVar6[-2] = uVar39;\n                    }\n                    bVar40 = true;\n                    if (local_6c != 0) {\n                      psVar6[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0)) {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    psVar34[0x11] = 1;\n                    psVar34[0xb] = 0x101;\n                    psVar6[-1] = 1;\n                    psVar6[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }\n                uVar26 = 0;\n                for (iVar21 = 0; (int)*psVar25 - iVar12 != iVar21; iVar21 = iVar21 + 1) {\n                  uVar26 = uVar26 | (uint)*(byte *)((int)pvVar24 + iVar21 + iVar12) <<\n                                    ((char)iVar21 * '\b' & 0x1fU);\n                }\n                sVar18 = *psVar45;\n                local_5c = (int *)0x0;\n                for (uVar39 = 0; sVar18 - iVar12 != uVar39; uVar39 = uVar39 + 1) {\n                  local_5c = (int *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39] <<\n                                    ((char)uVar39 * '\b' & 0x1fU));\n                }\n                uVar28 = 0;\n                uVar26 = (int)local_5c + uVar26;\n                for (uVar27 = uVar26; uVar27 != 0; uVar27 = uVar27 >> 8) {\n                  uVar28 = uVar28 + 1;\n                }\n              } while (uVar39 <= uVar28);\n              puVar29 = (undefined1 *)((int)pvVar30 + iVar12);\n              while (puVar29 < (undefined1 *)((int)pvVar30 + sVar18)) {\n                *puVar29 = (char)uVar26;\n                if (uVar26 == 0) break;\n                uVar26 = uVar26 >> 8;\n                puVar29 = puVar29 + 1;\n              }\n              psVar34[0xb] = 0;\n              bVar40 = true;\n            }\n            goto LAB_0001a954;\n          }\n          if (!bVar40) goto LAB_0001a75c;\n          pvVar24 = (void *)xmalloc(uVar35,pvVar44,psVar20,psVar46);\n          sVar18 = 0;\n          pvVar44 = pvVar24;\n          local_80 = psVar38;\n          for (psVar20 = local_60; psVar20 < local_64; psVar20 = psVar20 + 9) {\n            sVar23 = *psVar20;\n            __n = psVar20[1] + sVar23 + 0xc;\n            sVar2 = psVar20[2];\n            pvVar30 = pvVar44;\n            if (sVar2 != 0) {\n              if (psVar20[8] == 0) {\n                memcpy(pvVar44,local_80,__n);\n                pvVar30 = (void *)((int)pvVar44 + __n);\n              }\n              else {\n                sVar5 = psVar20[6];\n                __dest = (void *)((int)pvVar44 + 0xc);\n                pvVar30 = (void *)((int)__dest + sVar23);\n                if ((sVar5 == local_74) && (psVar20[7] == sVar18)) {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar5,sVar5);\n                  (**(code **)(param_1[1] + 0x30))(0,(int)pvVar44 + 4);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                }\n                else {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar18,sVar18);\n                  cVar8 = '\b';\n                  if (*(int *)(param_1[1] + 4) == 5) {\n                    cVar8 = (*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b';\n                  }\n                  (**(code **)(param_1[1] + 0x30))(cVar8,(int)pvVar44 + 4,sVar23,sVar23);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                  sVar18 = param_1[1];\n                  psVar25 = param_1;\n                  if ((*(int *)(sVar18 + 4) == 5) &&\n                     (psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02')) {\n                    (**(code **)(sVar18 + 0x24))(sVar5,0,pvVar30,psVar25);\n                    (**(code **)(param_1[1] + 0x24))(psVar20[7],0,(void *)((int)pvVar30 + 8));\n                    pvVar30 = (void *)((int)pvVar30 + 0x10);\n                  }\n                  else {\n                    (**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25);\n                    (**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4);\n                    pvVar30 = (void *)((int)pvVar30 + 8);\n                  }\n                }\n              }\n              local_74 = psVar20[6];\n              sVar18 = psVar20[7];\n            }\n            local_80 = (size_t *)((int)local_80 + __n);\n            pvVar44 = pvVar30;\n          }\n          sVar18 = (int)pvVar44 - (int)pvVar24;\n          memcpy(psVar38,pvVar24,sVar18);\n          free(pvVar24);\n          free(local_60);\n          DAT_0003fb7c = sVar18;\n          if (uVar35 != sVar18) {\n            uVar10 = extraout_ECX_02;\n            if ((*(int *)(sVar17 + 0x3c) != 0) &&\n               (iVar9 = bfd_set_section_size(param_2,*(int *)(sVar17 + 0x3c),sVar18,extraout_EDX),\n               uVar10 = extraout_ECX_03, iVar9 != 0)) goto LAB_00018aad;\n            uVar10 = dcgettext(0,"warning: failed to set merged notes size",5,uVar10);\n            FUN_0002c160(0,param_2,sVar17,uVar10);\n          }\n        }\n        else {\n          iVar9 = dcgettext(0,"corrupt GNU build attribute notes: excess data at end",5,local_64);\nLAB_0001a72d:\n          if (iVar9 != 0) {\n            bfd_set_error(0x11);\n            FUN_0002c160(0,param_1,sVar17,iVar9);\n            DAT_0003fb88 = 1;\n          }\nLAB_0001a75c:\n          free(local_60);\n        }\n        free(DAT_0003fb80);\n        DAT_0003fb80 = (size_t *)0x0;\n        DAT_0003fb84 = 0;\n        DAT_0003fb7c = 0;\n      }\n    }\n  }\nLAB_00018aad:\n  local_98 = DAT_0003fb2c;\n  for (puVar33 = DAT_0003fb30; DAT_0003fb2c = local_98, puVar33 != (undefined4 *)0x0;\n      puVar33 = (undefined4 *)*puVar33) {\n    iVar9 = bfd_get_section_by_name(param_1,puVar33[1]);\n    if (iVar9 == 0) {\n      uVar10 = puVar33[1];\n      uVar11 = dcgettext(0,"can\'t dump section \'%s\' - it does not exist",5);\n      FUN_0002c160(0,param_1,0,uVar11,uVar10);\n    }\n    else {\n      if ((*(byte *)(iVar9 + 0x15) & 1) == 0) {\n        pcVar22 = "can\'t dump section - it has no contents";\n      }\n      else {\n        sVar17 = *(size_t *)(iVar9 + 0x24);\n        if (sVar17 != 0) {\n          __s = fopen64((char *)puVar33[2],"w");\n          if (__s == (FILE *)0x0) {\n            uVar10 = dcgettext(0,"could not open section dump file",5);\n            FUN_0002c160(puVar33[2],0,0,uVar10);\n          }\n          else {\n            iVar12 = bfd_malloc_and_get_section(param_1,iVar9,&local_30);\n            if (iVar12 == 0) {\n              uVar10 = dcgettext(0,"could not retrieve section contents",5);\n              FUN_0002c160(0,param_1,iVar9,uVar10);\n            }\n            else {\n              sVar18 = fwrite(local_30,1,sVar17,__s);\n              if (sVar17 != sVar18) {\n                piVar15 = __errno_location();\n                pcVar22 = strerror(*piVar15);\n                uVar10 = puVar33[2];\n                uVar11 = dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                FUN_0002b6d0(uVar11,uVar10,pcVar22);\n                free(local_30);\n                return 0;\n              }\n            }\n            fclose(__s);\n            free(local_30);\n          }\n          goto LAB_00018b49;\n        }\n        pcVar22 = "can\'t dump section - it is empty";\n      }\n      uVar10 = dcgettext(0,pcVar22,5);\n      FUN_0002c160(0,param_1,iVar9,uVar10);\n    }\nLAB_00018b49:\n    local_98 = DAT_0003fb2c;\n  }\n  if (local_98 != 0) {\n    iVar9 = bfd_get_section_by_name(param_2,".gnu_debuglink");\n    if (iVar9 == 0) {\n      local_98 = bfd_create_gnu_debuglink_section(param_2,DAT_0003fb2c);\n      iVar9 = DAT_0003fb2c;\n      if (local_98 == 0) {\n        uVar10 = dcgettext(0,"cannot create debug link section `%s\'",5,param_2);\n        FUN_0002c160(0,param_2,0,uVar10,iVar9);\n        return 0;\n      }\n      if (*(int *)(param_2[1] + 4) == 2) {\n        sVar17 = param_2[0x18];\n        sVar18 = 0;\n        if (sVar17 == 0) {\nLAB_0001a360:\n          uVar26 = 0x1000;\n        }\n        else {\n          do {\n            sVar23 = sVar18;\n            if (((*(uint *)(sVar17 + 0x1c) != 0) && (sVar23 = sVar17, sVar18 != 0)) &&\n               (sVar23 = sVar18, *(uint *)(sVar18 + 0x1c) < *(uint *)(sVar17 + 0x1c))) {\n              sVar23 = sVar17;\n            }\n            sVar17 = *(size_t *)(sVar17 + 0xc);\n            sVar18 = sVar23;\n          } while (sVar17 != 0);\n          if (sVar23 == 0) goto LAB_0001a360;\n          uVar35 = *(int *)(sVar23 + 0x24) + *(int *)(sVar23 + 0x1c);\n          uVar26 = 0xffffffff;\n          if (uVar35 < 0xfffff001) {\n            uVar26 = uVar35 + 0xfff & 0xfffff000;\n          }\n        }\n        *(uint *)(local_98 + 0x20) = uVar26;\n        *(uint *)(local_98 + 0x1c) = uVar26;\n        *(byte *)(local_98 + 0x18) = *(byte *)(local_98 + 0x18) | 1;\n      }\n    }\n    else {\n      sVar17 = *param_2;\n      uVar10 = dcgettext(0,"%s: debuglink section already exists",5);\n      FUN_0002b6d0(uVar10,sVar17);\n      DAT_0003fb2c = 0;\n      local_98 = 0;\n    }\n  }\n  sVar17 = param_2[0x1a];\n  local_8c = sVar17;\n  if (sVar17 == 0) {\nLAB_00018ff7:\n    local_90 = (void *)0x0;\n    local_84 = (int *)0x0;\n    sVar18 = local_8c;\n  }\n  else {\n    if (DAT_0003fb54 == 0 && DAT_0003fb4c == 0) {\n      local_8c = 0;\n      goto LAB_00018ff7;\n    }\n    sVar23 = sVar17 * 4;\n    local_84 = (int *)xmalloc(sVar23);\n    local_30 = local_84;\n    bfd_map_over_sections(param_2,FUN_00016710,&local_30);\n    qsort(local_84,sVar17,4,FUN_00016730);\n    local_90 = (void *)xmalloc(sVar23);\n    memset(local_90,0,sVar23);\n    if ((DAT_0003fb54 == 0) || (sVar17 == 1)) {\n      local_8c = 0;\n    }\n    else {\n      iVar9 = 0;\n      local_8c = 0;\n      piVar15 = local_84;\n      do {\n        iVar12 = *piVar15;\n        iVar9 = iVar9 + 1;\n        sVar18 = local_8c;\n        if ((*(uint *)(iVar12 + 0x14) & 0x102) == 0x102) {\n          uVar35 = *(int *)(iVar12 + 0x20) + *(int *)(iVar12 + 0x24);\n          if (uVar35 < *(uint *)(piVar15[1] + 0x20)) {\n            sVar18 = *(uint *)(piVar15[1] + 0x20) - uVar35;\n            uVar43 = bfd_set_section_size(param_2,iVar12,*(int *)(iVar12 + 0x24) + sVar18);\n            if ((int)uVar43 == 0) {\n              uVar10 = dcgettext(0,"Can\'t fill gap after section",5,\n                                 (int)((ulonglong)uVar43 >> 0x20));\n              FUN_0002c160(0,param_2,*piVar15,uVar10);\n              DAT_0003fb88 = 1;\n              break;\n            }\n            *(size_t *)((int)local_90 + iVar9 * 4 + -4) = sVar18;\n            if (sVar18 <= local_8c) {\n              sVar18 = local_8c;\n            }\n          }\n        }\n        local_8c = sVar18;\n        piVar15 = piVar15 + 1;\n      } while (sVar17 - 1 != iVar9);\n    }\n    sVar18 = local_8c;\n    if (DAT_0003fb4c != 0) {\n      iVar9 = local_84[sVar17 - 1];\n      uVar35 = *(int *)(iVar9 + 0x24) + *(int *)(iVar9 + 0x20);\n      if (uVar35 < DAT_0003fb48) {\n        iVar9 = bfd_set_section_size(param_2,iVar9,DAT_0003fb48 - *(int *)(iVar9 + 0x20));\n        if (iVar9 == 0) {\n          uVar10 = dcgettext(0,"can\'t add padding",5,uVar35);\n          FUN_0002c160(0,param_2,local_84[sVar17 - 1],uVar10);\n          DAT_0003fb88 = 1;\n        }\n        else {\n          sVar18 = DAT_0003fb48 - uVar35;\n          *(size_t *)((int)local_90 + (sVar23 - 4)) = sVar18;\n          if (sVar18 <= local_8c) {\n            sVar18 = local_8c;\n          }\n        }\n      }\n    }\n  }\n  local_8c = sVar18;\n  local_94 = 0;\n  if (DAT_0003fb28 != 0) {\n    local_94 = FUN_0001c0f0(param_1,DAT_0003fb9c,local_70,0);\n  }\n  if (DAT_0003fb78 - 2U < 6) {\nLAB_00019032:\n    if (DAT_0003fb78 != 7) {\nLAB_00019037:\n      bfd_set_error(0);\n      bfd_map_over_sections(param_1,FUN_00018470,DAT_0003fb9c);\n      iVar9 = bfd_get_error();\n      if (iVar9 != 0) {\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n    }\n    piVar15 = (int *)xmalloc((DAT_0003fae4 + local_70) * 4 + 4);\n    local_68 = DAT_0003fb9c;\n    uVar35 = param_1[10];\n    DAT_0003fb98 = piVar15;\n    if (local_70 != 0) {\n      piVar1 = DAT_0003fb9c + local_70;\n      local_70 = 0;\n      puVar16 = PTR__bfd_std_section_0003efc8 + 0xa8;\n      do {\n        iVar9 = DAT_0003fae4;\n        piVar3 = (int *)*local_68;\n        uVar26 = piVar3[3];\n        piVar19 = (int *)piVar3[1];\n        puVar4 = (undefined *)piVar3[4];\n        if (((DAT_0003fae8 != (int *)0x0) && (0 < DAT_0003fae4)) &&\n           (pcVar22 = (char *)DAT_0003fae8[5], pcVar22 != (char *)0x0)) {\n          local_5c = (int *)0x0;\n          piVar31 = DAT_0003fae8;\n          while (iVar12 = strcmp(pcVar22,(char *)piVar19), iVar12 != 0) {\n            local_5c = (int *)((int)local_5c + 1);\n            piVar31 = (int *)*piVar31;\n            if ((local_5c == (int *)iVar9) || (pcVar22 = (char *)piVar31[5], pcVar22 == (char *)0x0)\n               ) goto LAB_00019180;\n          }\n          free(pcVar22);\n          piVar31[5] = (int)"";\n          piVar31 = piVar15 + local_70;\n          local_70 = local_70 + 1;\n          iVar9 = FUN_000177e0();\n          *piVar31 = iVar9;\n        }\nLAB_00019180:\n        iVar9 = htab_elements(DAT_0003faf0);\n        piVar31 = piVar19;\n        if ((iVar9 != 0) || (DAT_0003fba0 != (undefined4 *)0x0)) {\n          local_2c = 0;\n          local_30 = piVar19;\n          iVar9 = htab_find(DAT_0003faf0,&local_30);\n          if (((iVar9 == 0) || (piVar31 = *(int **)(iVar9 + 4), piVar19 == piVar31)) &&\n             (puVar33 = DAT_0003fba0, (uVar26 & 0x100) != 0)) {\n            for (; piVar31 = piVar19, puVar33 != (undefined4 *)0x0;\n                puVar33 = (undefined4 *)puVar33[3]) {\n              iVar9 = strcmp((char *)*puVar33,(char *)piVar19);\n              if (iVar9 == 0) {\n                piVar31 = (int *)puVar33[1];\n                break;\n              }\n            }\n          }\n          piVar3[1] = (int)piVar31;\n        }\n        pcVar22 = DAT_0003fad8;\n        if ((char)*piVar31 == *(char *)(param_1[1] + 0x18)) {\n          if (DAT_0003fb1c == 0) {\n            if ((DAT_0003fb18 == 0) ||\n               ((((uVar26 & 0x82) == 0 && (puVar4 != puVar16)) &&\n                ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)))) goto LAB_00019203;\nLAB_0001943c:\n            piVar31 = (int *)((int)piVar31 + 1);\n            piVar3[1] = (int)piVar31;\n            goto LAB_00019203;\n          }\n          if (*(char *)(param_2[1] + 0x18) == '\0') goto LAB_0001943c;\n          if (DAT_0003fad8 != (char *)0x0) {\n            piVar31 = (int *)((int)piVar31 + 1);\n            piVar3[1] = (int)piVar31;\n            goto LAB_0001945b;\n          }\n          *(char *)piVar31 = *(char *)(param_2[1] + 0x18);\n          piVar3[1] = (int)piVar31;\n        }\n        else {\n          if (((DAT_0003fb1c == 0) || (*(char *)(param_2[1] + 0x18) == '\0')) ||\n             (*(char *)(param_1[1] + 0x18) != '\0')) {\nLAB_00019203:\n            if (pcVar22 == (char *)0x0) goto LAB_0001926f;\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = piVar19;\n          }\n          else {\nLAB_0001945b:\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = (int *)((int)piVar19 + 1);\n            *(char *)piVar19 = *(char *)(param_2[1] + 0x18);\n          }\n          pcVar22 = DAT_0003fad8;\n          if (DAT_0003fad8 != (char *)0x0) {\n            strcpy((char *)local_5c,DAT_0003fad8);\n            sVar17 = strlen(pcVar22);\n            local_5c = (int *)((int)local_5c + sVar17);\n          }\n          strcpy((char *)local_5c,(char *)piVar31);\n          piVar3[1] = (int)piVar19;\n          piVar31 = piVar19;\n        }\nLAB_0001926f:\n        if (DAT_0003fb78 == 7) goto LAB_000192f8;\n        if ((uVar26 & 0x20) == 0) {\n          if (((uVar26 & 0x100) == 0) ||\n             ((*(byte *)(**(int **)(piVar3[4] + 0x9c) + 0xc) & 0x20) == 0)) {\n            if ((((uVar35 >> 5 & 0x42) == 0) &&\n                (((uVar26 & 0x82) != 0 || ((*(byte *)(piVar3[4] + 0x15) & 0x10) != 0)))) ||\n               (iVar9 = bfd_decode_symclass(piVar3), iVar9 == 0x49)) {\nLAB_00019528:\n              iVar9 = FUN_00017880();\n              if (iVar9 == 0) goto LAB_000192e0;\n            }\n            else if ((((uVar26 & 0x82) == 0) && (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8)) &&\n                    ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)) {\n              if ((uVar26 & 4) == 0) {\n                if (((*(int *)(param_1[1] + 4) != 2) ||\n                    (iVar9 = *(int *)(piVar3[4] + 0x8c), iVar9 == 0)) ||\n                   (*(int *)(iVar9 + 0x24) == 0)) {\n                  if ((DAT_0003fb78 == 3) || (DAT_0003fb74 == 2)) goto LAB_000192f8;\n                  if (DAT_0003fb74 == 1) {\n                    iVar9 = bfd_is_local_label(param_1,piVar3,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }\n                goto LAB_00019528;\n              }\n              iVar9 = DAT_0003fb28;\n              if (1 < DAT_0003fb78 - 2U) {\njoined_r0x0001a13f:\n                if (iVar9 == 0) goto LAB_00019528;\n              }\n            }\n            else if (DAT_0003fb78 != 3) goto LAB_00019528;\n          }\n          else {\n            iVar9 = FUN_00017880();\n            if (iVar9 != 0) {\n              uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",\n                                 5,iVar9);\n              FUN_0002b6d0(uVar10,piVar31);\n              DAT_0003fb88 = 1;\n            }\nLAB_000192e0:\n            iVar9 = FUN_00017880();\n            if (iVar9 == 0) goto LAB_0001931c;\n          }\nLAB_000192f8:\n          if (((DAT_0003fadc != 0) && ((uVar26 & 0x4000) != 0)) ||\n             (iVar9 = FUN_00017880(), iVar9 != 0)) goto LAB_0001931c;\n        }\n        else {\n          iVar9 = FUN_00017880();\n          if (iVar9 != 0) {\n            uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",5)\n            ;\n            FUN_0002b6d0(uVar10,piVar31);\n            DAT_0003fb88 = 1;\n          }\nLAB_0001931c:\n          iVar9 = FUN_000178f0();\n          if (iVar9 == 0) {\n            if (((uVar26 & 2) != 0) && ((DAT_0003fae0 != 0 || (iVar9 = FUN_00017880(), iVar9 != 0)))\n               ) {\n              piVar3[3] = piVar3[3] & 0xfffffffdU | 0x80;\n            }\n            if (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8) {\n              if (((uVar26 & 0x82) != 0) &&\n                 (((iVar9 = FUN_00017880(), iVar9 != 0 ||\n                   ((iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0)))) ||\n                  ((DAT_0003fb10 != 0 &&\n                   ((((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)\n                    ))))))) {\n                piVar3[3] = piVar3[3] & 0xffffff7dU | 1;\n              }\n              if (((uVar26 & 1) != 0) && (iVar9 = FUN_00017880(), iVar9 != 0)) {\n                piVar3[3] = piVar3[3] & 0xfffffffeU | 2;\n              }\n            }\n            piVar15[local_70] = (int)piVar3;\n            local_70 = local_70 + 1;\n          }\n        }\n        local_68 = local_68 + 1;\n      } while (piVar1 != local_68);\n    }\n    local_5c = DAT_0003fae8;\n    if ((DAT_0003fae8 != (int *)0x0) && (0 < DAT_0003fae4)) {\n      iVar9 = 0;\n      do {\n        pcVar22 = (char *)local_5c[5];\n        if (pcVar22 == (char *)0x0) {\n          iVar12 = FUN_000177e0();\n          piVar15[local_70] = iVar12;\n          local_70 = local_70 + 1;\n        }\n        else if (*pcVar22 != '\0') {\n          uVar10 = dcgettext(0,"\'before=%s\' not found",5,local_70);\n                    \n          FUN_0002b6a0(uVar10,pcVar22);\n        }\n        iVar9 = iVar9 + 1;\n        local_5c = (int *)*local_5c;\n      } while (iVar9 < DAT_0003fae4);\n    }\n    piVar15[local_70] = 0;\n    if ((DAT_0003fb28 != 0) && (local_94 != 0)) {\n      iVar9 = ((undefined4 *)param_2[1])[1];\n      if ((iVar9 != 2) && (iVar9 != 5)) {\n        uVar10 = *(undefined4 *)param_2[1];\n        uVar11 = dcgettext(0,"don\'t know how to write debugging information for %s",5);\n        FUN_0002c160(0,param_2,0,uVar11,uVar10);\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n      iVar9 = FUN_0002b050(param_2,local_94,&local_4c,local_44,&local_48,&local_30);\n      if (iVar9 == 0) {\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n      iVar9 = bfd_make_section_with_flags(param_2,".stab",0x2108);\n      iVar12 = bfd_make_section_with_flags(param_2,".stabstr",0x2108);\n      if ((((iVar9 == 0) || (iVar12 == 0)) ||\n          (iVar21 = bfd_set_section_size(param_2,iVar9,local_44[0],iVar12), iVar21 == 0)) ||\n         (iVar21 = bfd_set_section_size(param_2,iVar12,local_30,iVar21), iVar21 == 0)) {\n        pcVar22 = "can\'t create debugging section";\nLAB_00019fcf:\n        uVar10 = dcgettext(0,pcVar22,5,iVar9);\n        FUN_0002c160(0,param_2,0,uVar10);\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n      *(undefined4 *)(iVar9 + 0x40) = 2;\n      *(undefined4 *)(iVar12 + 0x40) = 0;\n      iVar9 = bfd_set_section_contents(param_2,iVar9,local_4c,0,0,local_44[0],iVar21,iVar21);\n      if ((iVar9 == 0) ||\n         (iVar9 = bfd_set_section_contents\n                            (param_2,iVar12,local_48,0,0,local_30,extraout_ECX,extraout_ECX),\n         iVar9 == 0)) {\n        pcVar22 = "can\'t set debugging section contents";\n        iVar9 = iVar12;\n        goto LAB_00019fcf;\n      }\n    }\n  }\n  else {\n    if (DAT_0003fb10 != 0 || DAT_0003fb74 != 0) goto LAB_00019037;\n    iVar9 = htab_elements(DAT_0003fb0c);\n    if (((iVar9 != 0) || (iVar9 = htab_elements(DAT_0003fb04), iVar9 != 0)) ||\n       ((iVar9 = htab_elements(DAT_0003fb00), iVar9 != 0 ||\n        (((((iVar9 = htab_elements(DAT_0003fafc), iVar9 != 0 ||\n            (iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0)) ||\n           (iVar9 = htab_elements(DAT_0003faf4), iVar9 != 0)) ||\n          ((iVar9 = htab_elements(DAT_0003faf0), DAT_0003fad8 != (char *)0x0 ||\n           (DAT_0003fba0 != (undefined4 *)0x0)))) ||\n         (((((((DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0) || DAT_0003fb1c != 0)\n            || DAT_0003fb18 != 0) || DAT_0003fae0 != 0) || DAT_0003fae4 != 0) || iVar9 != 0))))))\n    goto LAB_00019032;\n  }\n  bfd_set_symtab(param_2,DAT_0003fb98,local_70);\n  bfd_map_over_sections(param_1,FUN_000181d0,param_2);\n  bfd_map_over_sections(param_1,FUN_00017e40,param_2);\n  psVar38 = param_1;\n  for (puVar33 = DAT_0003fb38; puVar37 = DAT_0003fb34, puVar33 != (undefined4 *)0x0;\n      puVar33 = (undefined4 *)*puVar33) {\n    iVar9 = bfd_set_section_contents(param_2,puVar33[5],puVar33[4],0,0,puVar33[3]);\n    if (iVar9 == 0) {\n      psVar38 = (size_t *)puVar33[5];\n      local_50 = 0;\n      goto LAB_00019763;\n    }\n    psVar38 = param_2;\n  }\n  for (; puVar37 != (undefined4 *)0x0; puVar37 = (undefined4 *)*puVar37) {\n    psVar38 = *(size_t **)(puVar37[5] + 0x3c);\n    local_50 = bfd_set_section_contents(param_2,psVar38,puVar37[4],0,0,puVar37[3]);\n    if (local_50 == 0) {\nLAB_00019763:\n      FUN_0002c160(0,param_2,psVar38,0);\n      return local_50;\n    }\n  }\n  uVar35 = 0;\n  if (DAT_0003fb84 != 0) {\n    uVar35 = bfd_get_section_by_name(param_2,".gnu.build.attributes");\n    if (((uVar35 == 0) || (DAT_0003fb84 == 0)) ||\n       ((*(int *)(param_2[1] + 4) != 5 || (iVar9 = FUN_00017590(), iVar9 == 0)))) {\n      if (DAT_0003fba4 == 0) {\n        uVar10 = dcgettext(0,"could not find any mergeable note sections",5,0);\n        FUN_0002c160(0,param_2,uVar35,uVar10);\n      }\n    }\n    else {\n      iVar9 = bfd_set_section_contents(param_2,uVar35,DAT_0003fb80,0,0,DAT_0003fb7c,iVar9,iVar9);\n      if (iVar9 == 0) {\n        uVar10 = dcgettext(0,"error: failed to copy merged notes into output",5,0);\n        goto LAB_0001a2cd;\n      }\n    }\n    free(DAT_0003fb80);\n    DAT_0003fb80 = (size_t *)0x0;\n    DAT_0003fb84 = 0;\n    psVar38 = param_2;\n  }\n  if ((DAT_0003fb2c != 0) &&\n     (iVar12 = bfd_fill_in_gnu_debuglink_section(param_2,local_98,DAT_0003fb2c),\n     iVar9 = DAT_0003fb2c, iVar12 == 0)) {\n    uVar10 = dcgettext(0,"cannot fill debug link section `%s\'",5,0);\n    FUN_0002c160(0,param_2,0,uVar10,iVar9);\n    return 0;\n  }\n  if (DAT_0003fb54 != 0 || DAT_0003fb4c != 0) {\n    uVar35 = 0x2000;\n    if (local_8c < 0x2001) {\n      uVar35 = local_8c;\n    }\n    psVar20 = (size_t *)xmalloc(uVar35);\n    sVar17 = (uint)DAT_0003fb50 * 0x1010101;\n    if (uVar35 < 4) {\n      if ((uVar35 != 0) && (*(char *)psVar20 = (char)sVar17, (uVar35 & 2) != 0)) {\n        *(short *)((int)psVar20 + (uVar35 - 2)) = (short)sVar17;\n      }\n    }\n    else {\n      *psVar20 = sVar17;\n      *(size_t *)((int)(psVar20 + -1) + uVar35) = sVar17;\n      psVar38 = (size_t *)((uint)(psVar20 + 1) & 0xfffffffc);\n      for (uVar26 = (int)psVar20 + (uVar35 - (int)((uint)(psVar20 + 1) & 0xfffffffc)) >> 2;\n          uVar26 != 0; uVar26 = uVar26 - 1) {\n        *psVar38 = sVar17;\n        psVar38 = psVar38 + (uint)bVar42 * -2 + 1;\n      }\n    }\n    psVar25 = (size_t *)param_2[0x1a];\n    if (psVar25 != (size_t *)0x0) {\n      psVar38 = (size_t *)0x0;\n      do {\n        uVar35 = *(uint *)((int)local_90 + (int)psVar38 * 4);\n        if (uVar35 != 0) {\n          iVar9 = local_84[(int)psVar38];\n          local_58 = 0;\n          local_5c = (int *)(*(int *)(iVar9 + 0x24) - uVar35);\n          while( true ) {\n            uVar26 = 0x2000;\n            if (uVar35 < 0x2001) {\n              uVar26 = uVar35;\n            }\n            iVar9 = bfd_set_section_contents(param_2,iVar9,psVar20,local_5c,local_58,uVar26);\n            if (iVar9 == 0) {\n              psVar38 = (size_t *)local_84[(int)psVar38];\n              local_50 = 0;\n              goto LAB_00019763;\n            }\n            bVar40 = CARRY4((uint)local_5c,uVar26);\n            local_5c = (int *)((int)local_5c + uVar26);\n            local_58 = local_58 + (uint)bVar40;\n            uVar35 = uVar35 - uVar26;\n            if (uVar35 == 0) break;\n            iVar9 = local_84[(int)psVar38];\n          }\n        }\n        psVar38 = (size_t *)((int)psVar38 + 1);\n      } while (psVar25 != psVar38);\n    }\n  }\n  iVar9 = (**(code **)(param_2[1] + 0xa8))(param_1,param_2);\n  if (iVar9 != 0) {\n    if ((DAT_0003fb44 != 0) &&\n       (iVar12 = bfd_alt_mach_code(param_2,DAT_0003fb44,uVar35,uVar35), iVar9 = DAT_0003fb44,\n       iVar12 == 0)) {\n      uVar10 = dcgettext(0,"this target does not support %lu alternative machine codes",5,psVar38);\n      FUN_0002b6d0(uVar10,iVar9);\n      if (*(int *)(param_2[1] + 4) != 5) {\n        uVar10 = dcgettext(0,"ignoring the alternative value",5,extraout_ECX_00);\n        FUN_0002b6d0(uVar10);\n        return 1;\n      }\n      uVar10 = dcgettext(0,"treating that number as an absolute e_machine value instead",5,iVar9);\n      FUN_0002b6d0(uVar10);\n      *(short *)(param_2[0x27] + 0x26) = (short)DAT_0003fb44;\n    }\n    return 1;\n  }\n  uVar10 = dcgettext(0,"error copying private BFD data",5,psVar38);\n  uVar35 = 0;\nLAB_0001a2cd:\n  FUN_0002c160(0,param_2,uVar35,uVar10);\n  return 0;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_000185f0(size_t *param_1,size_t *param_2,int param_3)" identifier (parameter_list "(size_t *param_1,size_t *param_2,int param_3)" ( (parameter_declaration "size_t *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "size_t *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "int param_3" primitive_type identifier) ))) (compound_statement "{\n  void *__dest;\n  int *piVar1;\n  size_t sVar2;\n  int *piVar3;\n  undefined *puVar4;\n  size_t sVar5;\n  size_t *psVar6;\n  size_t *psVar7;\n  char cVar8;\n  int iVar9;\n  undefined4 uVar10;\n  undefined4 uVar11;\n  int iVar12;\n  FILE *__s;\n  undefined4 uVar13;\n  undefined4 uVar14;\n  int *piVar15;\n  undefined *puVar16;\n  size_t sVar17;\n  size_t sVar18;\n  int *piVar19;\n  size_t *psVar20;\n  int iVar21;\n  char *pcVar22;\n  size_t sVar23;\n  void *pvVar24;\n  size_t *psVar25;\n  undefined4 extraout_ECX;\n  uint uVar26;\n  undefined4 extraout_ECX_00;\n  undefined4 extraout_ECX_01;\n  uint uVar27;\n  undefined4 extraout_ECX_02;\n  undefined4 extraout_ECX_03;\n  uint uVar28;\n  undefined1 *puVar29;\n  void *pvVar30;\n  size_t __n;\n  undefined4 extraout_EDX;\n  int *piVar31;\n  byte *pbVar32;\n  undefined4 *puVar33;\n  size_t *psVar34;\n  uint uVar35;\n  byte *pbVar36;\n  undefined4 *puVar37;\n  size_t *psVar38;\n  uint uVar39;\n  bool bVar40;\n  bool bVar41;\n  byte bVar42;\n  undefined8 uVar43;\n  void *pvVar44;\n  size_t *psVar45;\n  size_t *psVar46;\n  size_t local_98;\n  size_t local_94;\n  void *local_90;\n  size_t local_8c;\n  int *local_84;\n  size_t *local_80;\n  size_t *local_7c;\n  uint local_74;\n  int local_70;\n  uint local_6c;\n  int *local_68;\n  size_t *local_64;\n  size_t *local_60;\n  int *local_5c;\n  int local_58;\n  int local_50;\n  undefined4 local_4c;\n  undefined4 local_48;\n  undefined4 local_44 [5];\n  int *local_30;\n  undefined4 local_2c;\n  undefined4 uStack_14;\n  \n  bVar42 = 0;\n  uStack_14 = 0x185fd;\n  if ((*(int *)(param_1[1] + 8) != *(int *)(param_2[1] + 8) && *(int *)(param_1[1] + 8) != 2) &&\n     (*(int *)(param_2[1] + 8) != 2)) {\n    uVar10 = dcgettext(0,"Unable to change endianness of input file(s)",5);\n    FUN_0002b6d0(uVar10);\n    return 0;\n  }\n  iVar9 = bfd_set_format(param_2,(byte)param_1[10] & 7);\n  if (iVar9 == 0) {\n    FUN_0002c160(0,param_2,0,0);\n    return 0;\n  }\n  if (param_1[0x18] == 0) {\n    uVar10 = FUN_0002c060(param_1);\n    pcVar22 = "error: the input file \'%s\' has no sections";\n    goto LAB_00018bc8;\n  }\n  if (((undefined4 *)param_1[1])[1] != 5) {\n    if ((DAT_0003fb24 != 1) && ((DAT_0003fb24 & 1) != 0)) {\n      uVar10 = FUN_0002c060(param_1);\n      pcVar22 = "--compress-debug-sections=[zlib|zlib-gnu|zlib-gabi] is unsupported on `%s\'";\nLAB_00018bc8:\n      uVar11 = dcgettext(0,pcVar22,5);\n      FUN_0002b6d0(uVar11,uVar10);\n      return 0;\n    }\n    if (DAT_0003fb20 != 0) {\n      uVar10 = FUN_0002c060(param_1);\n      pcVar22 = "--elf-stt-common=[yes|no] is unsupported on `%s\'";\n      goto LAB_00018bc8;\n    }\n  }\n  if (DAT_0003fb90 != 0) {\n    uVar10 = *(undefined4 *)param_1[1];\n    uVar11 = *(undefined4 *)param_2[1];\n    sVar17 = *param_2;\n    uVar13 = FUN_0002c060(param_1);\n    pcVar22 = (char *)dcgettext(0,"copy from `%s\' [%s] to `%s\' [%s]\n",5);\n    printf(pcVar22,uVar13,uVar10,sVar17,uVar11);\n  }\n  iVar9 = 0;\n  if (DAT_0003facc == 0) {\n    sVar17 = DAT_0003fb5c;\n    if (DAT_0003fb60 == 0) {\n      sVar17 = param_1[0x1c];\n    }\n    iVar9 = sVar17 + DAT_0003fb64;\n  }\n  if ((param_2[10] & 7) != 3) {\n    uVar35 = ~DAT_0003fb3c & *(uint *)(param_2[1] + 0x10) &\n             (param_1[10] >> 5 & 0xfffff | DAT_0003fb40);\n    if (DAT_0003fb78 == 7) {\n      uVar35 = uVar35 & 0xfffffffe;\n    }\n    iVar9 = bfd_set_start_address(param_2,iVar9);\n    if ((iVar9 == 0) || (iVar9 = bfd_set_file_flags(param_2,uVar35), iVar9 == 0)) goto LAB_00018840;\n  }\n  uVar10 = bfd_get_arch(param_1);\n  uVar11 = bfd_get_mach(param_1);\n  if (param_3 != 0) {\n    iVar9 = bfd_get_arch_info(param_1);\n    if ((iVar9 == 0) || (iVar9 = bfd_get_arch_info(param_1), *(int *)(iVar9 + 0xc) == 0)) {\n      uVar10 = *(undefined4 *)(param_3 + 0xc);\n      uVar11 = *(undefined4 *)(param_3 + 0x10);\n    }\n    else {\n      uVar13 = FUN_0002c060(param_1);\n      uVar14 = dcgettext(0,"Input file `%s\' ignores binary architecture parameter.",5);\n      FUN_0002b6d0(uVar14,uVar13);\n    }\n  }\n  iVar9 = (**(code **)(param_2[1] + 0x154))(param_2,uVar10,uVar11);\n  if (iVar9 == 0) {\n    if ((*(byte *)((int)param_1 + 0x2b) & 4) != 0) {\nLAB_000187e7:\n      iVar9 = bfd_get_arch(param_1);\n      if (iVar9 == 0) {\n        uVar10 = FUN_0002c060(param_1);\n        pcVar22 = "Unable to recognise the format of the input file `%s\'";\n      }\n      else {\n        uVar10 = bfd_get_mach(param_1);\n        uVar11 = bfd_get_arch(param_1);\n        uVar10 = bfd_printable_arch_mach(uVar11,uVar10);\n        pcVar22 = "Output file cannot represent architecture `%s\'";\n      }\n      uVar11 = dcgettext(0,pcVar22,5);\n      FUN_0002b6d0(uVar11,uVar10);\n      return 0;\n    }\n    iVar9 = bfd_get_arch(param_1);\n    iVar12 = bfd_get_arch(param_2);\n    if (iVar9 != iVar12) goto LAB_000187e7;\n  }\n  iVar9 = bfd_set_format(param_2,(byte)param_1[10] & 7);\n  if (iVar9 == 0) {\nLAB_00018840:\n    FUN_0002c160(0,param_1,0,0);\n    return 0;\n  }\n  uVar35 = ((undefined4 *)param_2[1])[1];\n  bVar40 = uVar35 < 2;\n  bVar41 = uVar35 == 2;\n  if (bVar41) {\n    iVar9 = 4;\n    pbVar32 = *(byte **)param_2[1];\n    pbVar36 = &DAT_0002e16a;\n    do {\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar40 = *pbVar32 < *pbVar36;\n      bVar41 = *pbVar32 == *pbVar36;\n      pbVar32 = pbVar32 + (uint)bVar42 * -2 + 1;\n      pbVar36 = pbVar36 + (uint)bVar42 * -2 + 1;\n    } while (bVar41);\n    if ((!bVar40 && !bVar41) == bVar40) {\n      sVar17 = param_2[0x27];\n      uVar35 = ((undefined4 *)param_1[1])[1];\n      bVar40 = uVar35 < 2;\n      bVar41 = uVar35 == 2;\n      if (bVar41) {\n        iVar9 = 4;\n        pbVar32 = *(byte **)param_1[1];\n        pbVar36 = &DAT_0002e16a;\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar40 = *pbVar32 < *pbVar36;\n          bVar41 = *pbVar32 == *pbVar36;\n          pbVar32 = pbVar32 + (uint)bVar42 * -2 + 1;\n          pbVar36 = pbVar36 + (uint)bVar42 * -2 + 1;\n        } while (bVar41);\n        if ((!bVar40 && !bVar41) == bVar40) {\n          puVar33 = (undefined4 *)(param_1[0x27] + 0x78);\n          puVar37 = (undefined4 *)(sVar17 + 0x78);\n          for (iVar9 = 0x38; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar37 = *puVar33;\n            puVar33 = puVar33 + (uint)bVar42 * -2 + 1;\n            puVar37 = puVar37 + (uint)bVar42 * -2 + 1;\n          }\n        }\n      }\n      uVar35 = DAT_0003f298;\n      if (DAT_0003f298 == 0xffffffff) {\n        DAT_0003f298 = 0x200;\n        uVar35 = 0x200;\n      }\n      else {\n        *(uint *)(sVar17 + 0x9c) = DAT_0003f298;\n      }\n      if (DAT_0003f294 != -1) {\n        *(int *)(sVar17 + 0xcc) = DAT_0003f294;\n      }\n      if (DAT_0003f290 != -1) {\n        *(int *)(sVar17 + 0xcc) = DAT_0003f290;\n      }\n      if (DAT_0003f28c != -1) {\n        *(int *)(sVar17 + 0x94) = DAT_0003f28c;\n      }\n      uVar26 = DAT_0003f288;\n      if (DAT_0003f288 == 0xffffffff) {\n        DAT_0003f288 = 0x1000;\n        uVar26 = 0x1000;\n      }\n      else {\n        *(uint *)(sVar17 + 0x98) = DAT_0003f288;\n      }\n      if (DAT_0003f284 != -1) {\n        *(int *)(sVar17 + 0xc4) = DAT_0003f284;\n      }\n      if (DAT_0003f280 != -1) {\n        *(int *)(sVar17 + 0xc4) = DAT_0003f280;\n      }\n      if (DAT_0003f27c != -1) {\n        *(short *)(sVar17 + 0xbc) = DAT_0003f27c;\n      }\n      if (DAT_0003f27a != -1) {\n        *(short *)(sVar17 + 0xa8) = DAT_0003f27a;\n      }\n      if (DAT_0003f278 != -1) {\n        *(short *)(sVar17 + 0xaa) = DAT_0003f278;\n      }\n      if (uVar26 < uVar35) {\n        sprintf((char *)local_44,"%08lx",uVar35);\n        sprintf((char *)&local_30,"%08lx",DAT_0003f288);\n        uVar10 = dcgettext(0,"warning: file alignment (0x%s) > section alignment (0x%s)",5);\n        FUN_0002b6d0(uVar10,local_44,&local_30);\n      }\n    }\n  }\n  piVar15 = DAT_0003fb9c;\n  if (DAT_0003fb9c != (int *)0x0) {\n    free(DAT_0003fb9c);\n  }\n  if (piVar15 != DAT_0003fb98) {\n    free(DAT_0003fb98);\n  }\n  DAT_0003fb9c = (int *)0x0;\n  DAT_0003fb98 = (int *)0x0;\n  iVar9 = (**(code **)(param_1[1] + 0x104))(param_1);\n  if (iVar9 < 0) goto LAB_00018840;\n  DAT_0003fb98 = (int *)xmalloc(iVar9);\n  DAT_0003fb9c = DAT_0003fb98;\n  local_70 = (**(code **)(param_1[1] + 0x108))(param_1,DAT_0003fb98);\n  if (local_70 < 0) goto LAB_00018840;\n  if (local_70 == 0) {\n    free(DAT_0003fb9c);\n    DAT_0003fb9c = (int *)0x0;\n    DAT_0003fb98 = (int *)0x0;\n  }\n  bfd_map_over_sections(param_1,FUN_000179b0,param_2);\n  puVar33 = DAT_0003fb38;\n  if ((DAT_0003facc == 0) &&\n     (iVar9 = (**(code **)(param_2[1] + 0xbc))(param_1,param_2), puVar33 = DAT_0003fb38, iVar9 == 0)\n     ) {\n    DAT_0003fb88 = 1;\n    uVar10 = dcgettext(0,"error in private header data",5);\n    FUN_0002c160(0,param_1,0,uVar10);\n    puVar33 = DAT_0003fb38;\n  }\n  for (; puVar37 = DAT_0003fb34, puVar33 != (undefined4 *)0x0; puVar33 = (undefined4 *)*puVar33) {\n    uVar35 = 0x128;\n    iVar9 = FUN_00016910();\n    if (iVar9 != 0) {\n      uVar35 = *(uint *)(iVar9 + 0x18) | 0x100;\n    }\n    iVar9 = bfd_get_section_by_name(param_2,puVar33[1]);\n    if (iVar9 != 0) {\n      uVar10 = puVar33[1];\n      pcVar22 = "can\'t add section \'%s\'";\nLAB_00019719:\n      uVar11 = dcgettext(0,pcVar22,5);\n      FUN_0002c160(0,param_2,0,uVar11,uVar10);\n      return 0;\n    }\n    iVar9 = bfd_make_section_with_flags(param_2,puVar33[1],uVar35 | 0x100000);\n    puVar33[5] = iVar9;\n    if (iVar9 == 0) {\n      uVar10 = puVar33[1];\n      pcVar22 = "can\'t create section `%s\'";\n      goto LAB_00019719;\n    }\n    iVar9 = bfd_set_section_size(param_2,iVar9,puVar33[3]);\n    if (iVar9 == 0) {\n      psVar38 = (size_t *)puVar33[5];\n      local_50 = 0;\n      goto LAB_00019763;\n    }\n    iVar9 = FUN_00016910();\n    if (iVar9 != 0) {\n      uVar10 = *(undefined4 *)(iVar9 + 0x10);\n      iVar9 = puVar33[5];\n      *(byte *)(iVar9 + 0x18) = *(byte *)(iVar9 + 0x18) | 1;\n      *(undefined4 *)(iVar9 + 0x20) = uVar10;\n      *(undefined4 *)(iVar9 + 0x1c) = uVar10;\n    }\n    iVar9 = FUN_00016910();\n    if (iVar9 != 0) {\n      *(undefined4 *)(puVar33[5] + 0x20) = *(undefined4 *)(iVar9 + 0x14);\n    }\n  }\n  for (; puVar37 != (undefined4 *)0x0; puVar37 = (undefined4 *)*puVar37) {\n    iVar9 = bfd_get_section_by_name(param_1,puVar37[1]);\n    puVar37[5] = iVar9;\n    if (iVar9 == 0) {\n      uVar10 = puVar37[1];\n      pcVar22 = "error: %s not found, can\'t be updated";\n      goto LAB_00018bc8;\n    }\n    psVar38 = *(size_t **)(iVar9 + 0x3c);\n    local_50 = bfd_set_section_size(param_2,psVar38,puVar37[3]);\n    if (local_50 == 0) goto LAB_00019763;\n  }\n  if ((((DAT_0003fb84 != 0) &&\n       (sVar17 = bfd_get_section_by_name(param_1,".gnu.build.attributes"), sVar17 != 0)) &&\n      (DAT_0003fb84 != 0)) &&\n     ((*(int *)(param_1[1] + 4) == 5 && (iVar9 = FUN_00017590(), iVar9 != 0)))) {\n    uVar35 = *(uint *)(sVar17 + 0x24);\n    if (uVar35 == 0) {\n      uVar10 = dcgettext(0,"warning: note section is empty",5,0);\n      FUN_0002c160(0,param_1,sVar17,uVar10);\n      DAT_0003fb84 = 0;\n    }\n    else {\n      iVar9 = bfd_get_full_section_contents(param_1,sVar17,&DAT_0003fb80,uVar35);\n      psVar38 = DAT_0003fb80;\n      if (iVar9 == 0) {\n        uVar10 = dcgettext(0,"warning: could not load note section",5,0);\n        FUN_0002c160(0,param_1,sVar17,uVar10);\n        free(DAT_0003fb80);\n        DAT_0003fb80 = (size_t *)0x0;\n        DAT_0003fb84 = 0;\n      }\n      else {\n        iVar9 = bfd_get_reloc_upper_bound(param_1,sVar17,sVar17,sVar17);\n        psVar20 = param_1;\n        sVar18 = sVar17;\n        if (0 < iVar9) {\n          psVar20 = (size_t *)xmalloc(iVar9);\n          sVar18 = bfd_canonicalize_reloc(param_1,sVar17,psVar20,DAT_0003fb9c);\n          free(psVar20);\n          if (sVar18 == 0) goto LAB_0001a478;\n          local_60 = (size_t *)0x0;\n          goto LAB_0001a75c;\n        }\nLAB_0001a478:\n        pvVar44 = (void *)0x24;\n        psVar46 = psVar20;\n        local_60 = (size_t *)xcalloc(uVar35 / 0xc,0x24,psVar20,psVar20);\n        local_90 = (void *)0x0;\n        local_98 = 0;\n        local_8c = 0;\n        local_94 = 0;\n        local_6c = 0;\n        local_84 = (int *)0x0;\n        local_80 = (size_t *)0x0;\n        psVar25 = psVar38;\n        psVar34 = psVar38;\n        local_74 = uVar35;\n        local_64 = local_60;\n        while (0xb < local_74) {\n          iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25);\n          uVar26 = iVar9 + 3U & 0xfffffffc;\n          *local_64 = uVar26;\n          iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25 + 1);\n          uVar39 = iVar9 + 3U & 0xfffffffc;\n          sVar18 = param_1[1];\n          local_64[1] = uVar39;\n          sVar23 = (**(code **)(sVar18 + 0x28))(psVar25 + 2);\n          local_64[2] = sVar23;\n          if (1 < sVar23 - 0x100) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: wrong note type",5,\n                              extraout_ECX_01);\n            goto LAB_0001a72d;\n          }\n          iVar9 = uVar26 + uVar39;\n          if (local_74 < iVar9 + 0xcU) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: note too big",5,psVar25);\n            goto LAB_0001a72d;\n          }\n          if (uVar26 < 2) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name too small",5,iVar9);\n            goto LAB_0001a72d;\n          }\n          local_64[3] = (size_t)(psVar25 + 3);\n          sVar2 = (int)psVar25 + uVar26 + 0xc;\n          local_64[4] = sVar2;\n          psVar34 = (size_t *)(-0xc - iVar9);\n          local_74 = local_74 + (int)psVar34;\n          cVar8 = (char)psVar25[3];\n          if (cVar8 == '$') {\n            if ((*(char *)((int)psVar25 + 0xd) == '\x01') && (*(char *)((int)psVar25 + 0xe) == '1'))\n            {\n              local_80 = (size_t *)((int)local_80 + 1);\n            }\n          }\n          else if ((((4 < uVar26) && (cVar8 == 'G')) && (*(char *)((int)psVar25 + 0xd) == 'A')) &&\n                  ((*(char *)((int)psVar25 + 0xe) == '$' &&\n                   (*(char *)((int)psVar25 + 0xf) == '\x01')))) {\n            cVar8 = (char)psVar25[4];\n            if (cVar8 == '2') {\n              local_84 = (int *)((int)local_84 + 1);\n            }\n            else {\n              if (cVar8 != '3') {\n                iVar9 = dcgettext(0,"corrupt GNU build attribute note: unsupported version",5,cVar8)\n                ;\n                goto LAB_0001a72d;\n              }\n              local_6c = local_6c + 1;\n            }\n          }\n          if (uVar39 == 4) {\n            sVar18 = (**(code **)(param_1[1] + 0x28))(sVar2);\n            pvVar24 = (void *)0xffffffff;\n          }\n          else if (uVar39 < 5) {\n            if (uVar39 != 0) {\nLAB_0001a7ea:\n              iVar9 = dcgettext(0,"corrupt GNU build attribute note: bad description size",5,cVar8);\n              goto LAB_0001a72d;\n            }\n            pvVar24 = (void *)0x0;\n            sVar18 = 0;\n          }\n          else {\n            psVar34 = param_1;\n            if (uVar39 == 8) {\n              sVar18 = param_1[1];\n              if ((*(int *)(sVar18 + 4) == 5) && (*(char *)(param_1[0x27] + 4) == '\x02')) {\n                sVar18 = (**(code **)(sVar18 + 0x1c))(sVar2);\n                pvVar24 = (void *)0xffffffff;\n              }\n              else {\n                sVar18 = (**(code **)(sVar18 + 0x28))(sVar2);\n                pvVar24 = (void *)(**(code **)(param_1[1] + 0x28))(sVar2 + 4);\n              }\n            }\n            else {\n              if (uVar39 != 0x10) goto LAB_0001a7ea;\n              sVar18 = (**(code **)(param_1[1] + 0x1c))(sVar2);\n              pvVar24 = (void *)(**(code **)(param_1[1] + 0x1c))(sVar2 + 8);\n            }\n          }\n          if (sVar23 == 0x100) {\n            if (sVar18 == 0) {\n              sVar18 = local_8c;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = local_90;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_90 = pvVar24;\n            local_8c = sVar18;\n          }\n          else {\n            if (sVar18 == 0) {\n              sVar18 = local_94;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = (void *)local_98;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_98 = (size_t)pvVar24;\n            local_94 = sVar18;\n          }\n          if (*(char *)((local_64[3] - 1) + *local_64) != '\0') {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name not NUL terminated",5,\n                              *local_64);\n            goto LAB_0001a72d;\n          }\n          local_64 = local_64 + 9;\n          psVar25 = (size_t *)(iVar9 + 0xcU + (int)psVar25);\n        }\n        if (local_74 == 0) {\n          uVar26 = (uint)local_84 | local_6c;\n          if (local_80 == (size_t *)0x0 && uVar26 == 0) {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: no known versions detected",5,uVar26\n                             );\n            goto LAB_0001a72d;\n          }\n          if (((local_80 != (size_t *)0x0) && (uVar26 != 0)) ||\n             ((local_84 != (int *)0x0 && (local_6c != 0)))) {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: multiple different versions",5,\n                              sVar18);\n            goto LAB_0001a72d;\n          }\n          if ((local_80 == (size_t *)0x1 || local_84 == (int *)0x1) || (local_6c == 1))\n          goto LAB_0001a75c;\n          uVar26 = -(uint)(local_80 == (size_t *)0x0) & 2;\n          iVar9 = uVar26 + 1;\n          if (*(char *)(local_60[3] + iVar9) != '\x01') {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: first note not version note",5,\n                              psVar34);\n            goto LAB_0001a72d;\n          }\n          bVar40 = false;\n          iVar12 = uVar26 + 2;\n          psVar25 = local_60;\nLAB_0001a954:\n          psVar34 = psVar25;\n          psVar25 = psVar34 + 9;\n          if (psVar25 < local_64) {\n            if (psVar34[0xb] == 0x100) {\n              pvVar24 = (void *)psVar34[0xc];\n              local_7c = (size_t *)0x0;\n              psVar45 = psVar25;\n              do {\n                do {\n                  psVar6 = psVar45;\n                  psVar45 = psVar6 + -9;\n                  if (psVar45 < local_60) goto LAB_0001a954;\n                  pvVar30 = (void *)psVar6[-6];\n                  psVar7 = local_7c;\n                } while ((((local_7c == (size_t *)0x0) && (psVar6[-8] != 0)) &&\n                         (psVar7 = psVar45, psVar6[-7] == 0x101)) ||\n                        ((local_7c = psVar7,\n                         *(char *)((int)pvVar24 + iVar9) != *(char *)((int)pvVar30 + iVar9) ||\n                         (psVar6[-7] != 0x100))));\n                if (*(char *)((int)pvVar30 + iVar9) != '\x04') {\n                  psVar45 = (size_t *)*psVar45;\n                  if ((((psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)) &&\n                      ((uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0))))\n                     && ((0xfffffff0 < uVar26 || (psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0))))) {\n                    psVar34[0xb] = 0;\n                    if (uVar26 < uVar39) {\n                      psVar6[-2] = uVar39;\n                    }\n                    bVar40 = true;\n                    if (local_6c != 0) {\n                      psVar6[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0)) {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    psVar34[0x11] = 1;\n                    psVar34[0xb] = 0x101;\n                    psVar6[-1] = 1;\n                    psVar6[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }\n                uVar26 = 0;\n                for (iVar21 = 0; (int)*psVar25 - iVar12 != iVar21; iVar21 = iVar21 + 1) {\n                  uVar26 = uVar26 | (uint)*(byte *)((int)pvVar24 + iVar21 + iVar12) <<\n                                    ((char)iVar21 * '\b' & 0x1fU);\n                }\n                sVar18 = *psVar45;\n                local_5c = (int *)0x0;\n                for (uVar39 = 0; sVar18 - iVar12 != uVar39; uVar39 = uVar39 + 1) {\n                  local_5c = (int *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39] <<\n                                    ((char)uVar39 * '\b' & 0x1fU));\n                }\n                uVar28 = 0;\n                uVar26 = (int)local_5c + uVar26;\n                for (uVar27 = uVar26; uVar27 != 0; uVar27 = uVar27 >> 8) {\n                  uVar28 = uVar28 + 1;\n                }\n              } while (uVar39 <= uVar28);\n              puVar29 = (undefined1 *)((int)pvVar30 + iVar12);\n              while (puVar29 < (undefined1 *)((int)pvVar30 + sVar18)) {\n                *puVar29 = (char)uVar26;\n                if (uVar26 == 0) break;\n                uVar26 = uVar26 >> 8;\n                puVar29 = puVar29 + 1;\n              }\n              psVar34[0xb] = 0;\n              bVar40 = true;\n            }\n            goto LAB_0001a954;\n          }\n          if (!bVar40) goto LAB_0001a75c;\n          pvVar24 = (void *)xmalloc(uVar35,pvVar44,psVar20,psVar46);\n          sVar18 = 0;\n          pvVar44 = pvVar24;\n          local_80 = psVar38;\n          for (psVar20 = local_60; psVar20 < local_64; psVar20 = psVar20 + 9) {\n            sVar23 = *psVar20;\n            __n = psVar20[1] + sVar23 + 0xc;\n            sVar2 = psVar20[2];\n            pvVar30 = pvVar44;\n            if (sVar2 != 0) {\n              if (psVar20[8] == 0) {\n                memcpy(pvVar44,local_80,__n);\n                pvVar30 = (void *)((int)pvVar44 + __n);\n              }\n              else {\n                sVar5 = psVar20[6];\n                __dest = (void *)((int)pvVar44 + 0xc);\n                pvVar30 = (void *)((int)__dest + sVar23);\n                if ((sVar5 == local_74) && (psVar20[7] == sVar18)) {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar5,sVar5);\n                  (**(code **)(param_1[1] + 0x30))(0,(int)pvVar44 + 4);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                }\n                else {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar18,sVar18);\n                  cVar8 = '\b';\n                  if (*(int *)(param_1[1] + 4) == 5) {\n                    cVar8 = (*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b';\n                  }\n                  (**(code **)(param_1[1] + 0x30))(cVar8,(int)pvVar44 + 4,sVar23,sVar23);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                  sVar18 = param_1[1];\n                  psVar25 = param_1;\n                  if ((*(int *)(sVar18 + 4) == 5) &&\n                     (psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02')) {\n                    (**(code **)(sVar18 + 0x24))(sVar5,0,pvVar30,psVar25);\n                    (**(code **)(param_1[1] + 0x24))(psVar20[7],0,(void *)((int)pvVar30 + 8));\n                    pvVar30 = (void *)((int)pvVar30 + 0x10);\n                  }\n                  else {\n                    (**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25);\n                    (**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4);\n                    pvVar30 = (void *)((int)pvVar30 + 8);\n                  }\n                }\n              }\n              local_74 = psVar20[6];\n              sVar18 = psVar20[7];\n            }\n            local_80 = (size_t *)((int)local_80 + __n);\n            pvVar44 = pvVar30;\n          }\n          sVar18 = (int)pvVar44 - (int)pvVar24;\n          memcpy(psVar38,pvVar24,sVar18);\n          free(pvVar24);\n          free(local_60);\n          DAT_0003fb7c = sVar18;\n          if (uVar35 != sVar18) {\n            uVar10 = extraout_ECX_02;\n            if ((*(int *)(sVar17 + 0x3c) != 0) &&\n               (iVar9 = bfd_set_section_size(param_2,*(int *)(sVar17 + 0x3c),sVar18,extraout_EDX),\n               uVar10 = extraout_ECX_03, iVar9 != 0)) goto LAB_00018aad;\n            uVar10 = dcgettext(0,"warning: failed to set merged notes size",5,uVar10);\n            FUN_0002c160(0,param_2,sVar17,uVar10);\n          }\n        }\n        else {\n          iVar9 = dcgettext(0,"corrupt GNU build attribute notes: excess data at end",5,local_64);\nLAB_0001a72d:\n          if (iVar9 != 0) {\n            bfd_set_error(0x11);\n            FUN_0002c160(0,param_1,sVar17,iVar9);\n            DAT_0003fb88 = 1;\n          }\nLAB_0001a75c:\n          free(local_60);\n        }\n        free(DAT_0003fb80);\n        DAT_0003fb80 = (size_t *)0x0;\n        DAT_0003fb84 = 0;\n        DAT_0003fb7c = 0;\n      }\n    }\n  }\nLAB_00018aad:\n  local_98 = DAT_0003fb2c;\n  for (puVar33 = DAT_0003fb30; DAT_0003fb2c = local_98, puVar33 != (undefined4 *)0x0;\n      puVar33 = (undefined4 *)*puVar33) {\n    iVar9 = bfd_get_section_by_name(param_1,puVar33[1]);\n    if (iVar9 == 0) {\n      uVar10 = puVar33[1];\n      uVar11 = dcgettext(0,"can\'t dump section \'%s\' - it does not exist",5);\n      FUN_0002c160(0,param_1,0,uVar11,uVar10);\n    }\n    else {\n      if ((*(byte *)(iVar9 + 0x15) & 1) == 0) {\n        pcVar22 = "can\'t dump section - it has no contents";\n      }\n      else {\n        sVar17 = *(size_t *)(iVar9 + 0x24);\n        if (sVar17 != 0) {\n          __s = fopen64((char *)puVar33[2],"w");\n          if (__s == (FILE *)0x0) {\n            uVar10 = dcgettext(0,"could not open section dump file",5);\n            FUN_0002c160(puVar33[2],0,0,uVar10);\n          }\n          else {\n            iVar12 = bfd_malloc_and_get_section(param_1,iVar9,&local_30);\n            if (iVar12 == 0) {\n              uVar10 = dcgettext(0,"could not retrieve section contents",5);\n              FUN_0002c160(0,param_1,iVar9,uVar10);\n            }\n            else {\n              sVar18 = fwrite(local_30,1,sVar17,__s);\n              if (sVar17 != sVar18) {\n                piVar15 = __errno_location();\n                pcVar22 = strerror(*piVar15);\n                uVar10 = puVar33[2];\n                uVar11 = dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                FUN_0002b6d0(uVar11,uVar10,pcVar22);\n                free(local_30);\n                return 0;\n              }\n            }\n            fclose(__s);\n            free(local_30);\n          }\n          goto LAB_00018b49;\n        }\n        pcVar22 = "can\'t dump section - it is empty";\n      }\n      uVar10 = dcgettext(0,pcVar22,5);\n      FUN_0002c160(0,param_1,iVar9,uVar10);\n    }\nLAB_00018b49:\n    local_98 = DAT_0003fb2c;\n  }\n  if (local_98 != 0) {\n    iVar9 = bfd_get_section_by_name(param_2,".gnu_debuglink");\n    if (iVar9 == 0) {\n      local_98 = bfd_create_gnu_debuglink_section(param_2,DAT_0003fb2c);\n      iVar9 = DAT_0003fb2c;\n      if (local_98 == 0) {\n        uVar10 = dcgettext(0,"cannot create debug link section `%s\'",5,param_2);\n        FUN_0002c160(0,param_2,0,uVar10,iVar9);\n        return 0;\n      }\n      if (*(int *)(param_2[1] + 4) == 2) {\n        sVar17 = param_2[0x18];\n        sVar18 = 0;\n        if (sVar17 == 0) {\nLAB_0001a360:\n          uVar26 = 0x1000;\n        }\n        else {\n          do {\n            sVar23 = sVar18;\n            if (((*(uint *)(sVar17 + 0x1c) != 0) && (sVar23 = sVar17, sVar18 != 0)) &&\n               (sVar23 = sVar18, *(uint *)(sVar18 + 0x1c) < *(uint *)(sVar17 + 0x1c))) {\n              sVar23 = sVar17;\n            }\n            sVar17 = *(size_t *)(sVar17 + 0xc);\n            sVar18 = sVar23;\n          } while (sVar17 != 0);\n          if (sVar23 == 0) goto LAB_0001a360;\n          uVar35 = *(int *)(sVar23 + 0x24) + *(int *)(sVar23 + 0x1c);\n          uVar26 = 0xffffffff;\n          if (uVar35 < 0xfffff001) {\n            uVar26 = uVar35 + 0xfff & 0xfffff000;\n          }\n        }\n        *(uint *)(local_98 + 0x20) = uVar26;\n        *(uint *)(local_98 + 0x1c) = uVar26;\n        *(byte *)(local_98 + 0x18) = *(byte *)(local_98 + 0x18) | 1;\n      }\n    }\n    else {\n      sVar17 = *param_2;\n      uVar10 = dcgettext(0,"%s: debuglink section already exists",5);\n      FUN_0002b6d0(uVar10,sVar17);\n      DAT_0003fb2c = 0;\n      local_98 = 0;\n    }\n  }\n  sVar17 = param_2[0x1a];\n  local_8c = sVar17;\n  if (sVar17 == 0) {\nLAB_00018ff7:\n    local_90 = (void *)0x0;\n    local_84 = (int *)0x0;\n    sVar18 = local_8c;\n  }\n  else {\n    if (DAT_0003fb54 == 0 && DAT_0003fb4c == 0) {\n      local_8c = 0;\n      goto LAB_00018ff7;\n    }\n    sVar23 = sVar17 * 4;\n    local_84 = (int *)xmalloc(sVar23);\n    local_30 = local_84;\n    bfd_map_over_sections(param_2,FUN_00016710,&local_30);\n    qsort(local_84,sVar17,4,FUN_00016730);\n    local_90 = (void *)xmalloc(sVar23);\n    memset(local_90,0,sVar23);\n    if ((DAT_0003fb54 == 0) || (sVar17 == 1)) {\n      local_8c = 0;\n    }\n    else {\n      iVar9 = 0;\n      local_8c = 0;\n      piVar15 = local_84;\n      do {\n        iVar12 = *piVar15;\n        iVar9 = iVar9 + 1;\n        sVar18 = local_8c;\n        if ((*(uint *)(iVar12 + 0x14) & 0x102) == 0x102) {\n          uVar35 = *(int *)(iVar12 + 0x20) + *(int *)(iVar12 + 0x24);\n          if (uVar35 < *(uint *)(piVar15[1] + 0x20)) {\n            sVar18 = *(uint *)(piVar15[1] + 0x20) - uVar35;\n            uVar43 = bfd_set_section_size(param_2,iVar12,*(int *)(iVar12 + 0x24) + sVar18);\n            if ((int)uVar43 == 0) {\n              uVar10 = dcgettext(0,"Can\'t fill gap after section",5,\n                                 (int)((ulonglong)uVar43 >> 0x20));\n              FUN_0002c160(0,param_2,*piVar15,uVar10);\n              DAT_0003fb88 = 1;\n              break;\n            }\n            *(size_t *)((int)local_90 + iVar9 * 4 + -4) = sVar18;\n            if (sVar18 <= local_8c) {\n              sVar18 = local_8c;\n            }\n          }\n        }\n        local_8c = sVar18;\n        piVar15 = piVar15 + 1;\n      } while (sVar17 - 1 != iVar9);\n    }\n    sVar18 = local_8c;\n    if (DAT_0003fb4c != 0) {\n      iVar9 = local_84[sVar17 - 1];\n      uVar35 = *(int *)(iVar9 + 0x24) + *(int *)(iVar9 + 0x20);\n      if (uVar35 < DAT_0003fb48) {\n        iVar9 = bfd_set_section_size(param_2,iVar9,DAT_0003fb48 - *(int *)(iVar9 + 0x20));\n        if (iVar9 == 0) {\n          uVar10 = dcgettext(0,"can\'t add padding",5,uVar35);\n          FUN_0002c160(0,param_2,local_84[sVar17 - 1],uVar10);\n          DAT_0003fb88 = 1;\n        }\n        else {\n          sVar18 = DAT_0003fb48 - uVar35;\n          *(size_t *)((int)local_90 + (sVar23 - 4)) = sVar18;\n          if (sVar18 <= local_8c) {\n            sVar18 = local_8c;\n          }\n        }\n      }\n    }\n  }\n  local_8c = sVar18;\n  local_94 = 0;\n  if (DAT_0003fb28 != 0) {\n    local_94 = FUN_0001c0f0(param_1,DAT_0003fb9c,local_70,0);\n  }\n  if (DAT_0003fb78 - 2U < 6) {\nLAB_00019032:\n    if (DAT_0003fb78 != 7) {\nLAB_00019037:\n      bfd_set_error(0);\n      bfd_map_over_sections(param_1,FUN_00018470,DAT_0003fb9c);\n      iVar9 = bfd_get_error();\n      if (iVar9 != 0) {\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n    }\n    piVar15 = (int *)xmalloc((DAT_0003fae4 + local_70) * 4 + 4);\n    local_68 = DAT_0003fb9c;\n    uVar35 = param_1[10];\n    DAT_0003fb98 = piVar15;\n    if (local_70 != 0) {\n      piVar1 = DAT_0003fb9c + local_70;\n      local_70 = 0;\n      puVar16 = PTR__bfd_std_section_0003efc8 + 0xa8;\n      do {\n        iVar9 = DAT_0003fae4;\n        piVar3 = (int *)*local_68;\n        uVar26 = piVar3[3];\n        piVar19 = (int *)piVar3[1];\n        puVar4 = (undefined *)piVar3[4];\n        if (((DAT_0003fae8 != (int *)0x0) && (0 < DAT_0003fae4)) &&\n           (pcVar22 = (char *)DAT_0003fae8[5], pcVar22 != (char *)0x0)) {\n          local_5c = (int *)0x0;\n          piVar31 = DAT_0003fae8;\n          while (iVar12 = strcmp(pcVar22,(char *)piVar19), iVar12 != 0) {\n            local_5c = (int *)((int)local_5c + 1);\n            piVar31 = (int *)*piVar31;\n            if ((local_5c == (int *)iVar9) || (pcVar22 = (char *)piVar31[5], pcVar22 == (char *)0x0)\n               ) goto LAB_00019180;\n          }\n          free(pcVar22);\n          piVar31[5] = (int)"";\n          piVar31 = piVar15 + local_70;\n          local_70 = local_70 + 1;\n          iVar9 = FUN_000177e0();\n          *piVar31 = iVar9;\n        }\nLAB_00019180:\n        iVar9 = htab_elements(DAT_0003faf0);\n        piVar31 = piVar19;\n        if ((iVar9 != 0) || (DAT_0003fba0 != (undefined4 *)0x0)) {\n          local_2c = 0;\n          local_30 = piVar19;\n          iVar9 = htab_find(DAT_0003faf0,&local_30);\n          if (((iVar9 == 0) || (piVar31 = *(int **)(iVar9 + 4), piVar19 == piVar31)) &&\n             (puVar33 = DAT_0003fba0, (uVar26 & 0x100) != 0)) {\n            for (; piVar31 = piVar19, puVar33 != (undefined4 *)0x0;\n                puVar33 = (undefined4 *)puVar33[3]) {\n              iVar9 = strcmp((char *)*puVar33,(char *)piVar19);\n              if (iVar9 == 0) {\n                piVar31 = (int *)puVar33[1];\n                break;\n              }\n            }\n          }\n          piVar3[1] = (int)piVar31;\n        }\n        pcVar22 = DAT_0003fad8;\n        if ((char)*piVar31 == *(char *)(param_1[1] + 0x18)) {\n          if (DAT_0003fb1c == 0) {\n            if ((DAT_0003fb18 == 0) ||\n               ((((uVar26 & 0x82) == 0 && (puVar4 != puVar16)) &&\n                ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)))) goto LAB_00019203;\nLAB_0001943c:\n            piVar31 = (int *)((int)piVar31 + 1);\n            piVar3[1] = (int)piVar31;\n            goto LAB_00019203;\n          }\n          if (*(char *)(param_2[1] + 0x18) == '\0') goto LAB_0001943c;\n          if (DAT_0003fad8 != (char *)0x0) {\n            piVar31 = (int *)((int)piVar31 + 1);\n            piVar3[1] = (int)piVar31;\n            goto LAB_0001945b;\n          }\n          *(char *)piVar31 = *(char *)(param_2[1] + 0x18);\n          piVar3[1] = (int)piVar31;\n        }\n        else {\n          if (((DAT_0003fb1c == 0) || (*(char *)(param_2[1] + 0x18) == '\0')) ||\n             (*(char *)(param_1[1] + 0x18) != '\0')) {\nLAB_00019203:\n            if (pcVar22 == (char *)0x0) goto LAB_0001926f;\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = piVar19;\n          }\n          else {\nLAB_0001945b:\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = (int *)((int)piVar19 + 1);\n            *(char *)piVar19 = *(char *)(param_2[1] + 0x18);\n          }\n          pcVar22 = DAT_0003fad8;\n          if (DAT_0003fad8 != (char *)0x0) {\n            strcpy((char *)local_5c,DAT_0003fad8);\n            sVar17 = strlen(pcVar22);\n            local_5c = (int *)((int)local_5c + sVar17);\n          }\n          strcpy((char *)local_5c,(char *)piVar31);\n          piVar3[1] = (int)piVar19;\n          piVar31 = piVar19;\n        }\nLAB_0001926f:\n        if (DAT_0003fb78 == 7) goto LAB_000192f8;\n        if ((uVar26 & 0x20) == 0) {\n          if (((uVar26 & 0x100) == 0) ||\n             ((*(byte *)(**(int **)(piVar3[4] + 0x9c) + 0xc) & 0x20) == 0)) {\n            if ((((uVar35 >> 5 & 0x42) == 0) &&\n                (((uVar26 & 0x82) != 0 || ((*(byte *)(piVar3[4] + 0x15) & 0x10) != 0)))) ||\n               (iVar9 = bfd_decode_symclass(piVar3), iVar9 == 0x49)) {\nLAB_00019528:\n              iVar9 = FUN_00017880();\n              if (iVar9 == 0) goto LAB_000192e0;\n            }\n            else if ((((uVar26 & 0x82) == 0) && (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8)) &&\n                    ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)) {\n              if ((uVar26 & 4) == 0) {\n                if (((*(int *)(param_1[1] + 4) != 2) ||\n                    (iVar9 = *(int *)(piVar3[4] + 0x8c), iVar9 == 0)) ||\n                   (*(int *)(iVar9 + 0x24) == 0)) {\n                  if ((DAT_0003fb78 == 3) || (DAT_0003fb74 == 2)) goto LAB_000192f8;\n                  if (DAT_0003fb74 == 1) {\n                    iVar9 = bfd_is_local_label(param_1,piVar3,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }\n                goto LAB_00019528;\n              }\n              iVar9 = DAT_0003fb28;\n              if (1 < DAT_0003fb78 - 2U) {\njoined_r0x0001a13f:\n                if (iVar9 == 0) goto LAB_00019528;\n              }\n            }\n            else if (DAT_0003fb78 != 3) goto LAB_00019528;\n          }\n          else {\n            iVar9 = FUN_00017880();\n            if (iVar9 != 0) {\n              uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",\n                                 5,iVar9);\n              FUN_0002b6d0(uVar10,piVar31);\n              DAT_0003fb88 = 1;\n            }\nLAB_000192e0:\n            iVar9 = FUN_00017880();\n            if (iVar9 == 0) goto LAB_0001931c;\n          }\nLAB_000192f8:\n          if (((DAT_0003fadc != 0) && ((uVar26 & 0x4000) != 0)) ||\n             (iVar9 = FUN_00017880(), iVar9 != 0)) goto LAB_0001931c;\n        }\n        else {\n          iVar9 = FUN_00017880();\n          if (iVar9 != 0) {\n            uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",5)\n            ;\n            FUN_0002b6d0(uVar10,piVar31);\n            DAT_0003fb88 = 1;\n          }\nLAB_0001931c:\n          iVar9 = FUN_000178f0();\n          if (iVar9 == 0) {\n            if (((uVar26 & 2) != 0) && ((DAT_0003fae0 != 0 || (iVar9 = FUN_00017880(), iVar9 != 0)))\n               ) {\n              piVar3[3] = piVar3[3] & 0xfffffffdU | 0x80;\n            }\n            if (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8) {\n              if (((uVar26 & 0x82) != 0) &&\n                 (((iVar9 = FUN_00017880(), iVar9 != 0 ||\n                   ((iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0)))) ||\n                  ((DAT_0003fb10 != 0 &&\n                   ((((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)\n                    ))))))) {\n                piVar3[3] = piVar3[3] & 0xffffff7dU | 1;\n              }\n              if (((uVar26 & 1) != 0) && (iVar9 = FUN_00017880(), iVar9 != 0)) {\n                piVar3[3] = piVar3[3] & 0xfffffffeU | 2;\n              }\n            }\n            piVar15[local_70] = (int)piVar3;\n            local_70 = local_70 + 1;\n          }\n        }\n        local_68 = local_68 + 1;\n      } while (piVar1 != local_68);\n    }\n    local_5c = DAT_0003fae8;\n    if ((DAT_0003fae8 != (int *)0x0) && (0 < DAT_0003fae4)) {\n      iVar9 = 0;\n      do {\n        pcVar22 = (char *)local_5c[5];\n        if (pcVar22 == (char *)0x0) {\n          iVar12 = FUN_000177e0();\n          piVar15[local_70] = iVar12;\n          local_70 = local_70 + 1;\n        }\n        else if (*pcVar22 != '\0') {\n          uVar10 = dcgettext(0,"\'before=%s\' not found",5,local_70);\n                    \n          FUN_0002b6a0(uVar10,pcVar22);\n        }\n        iVar9 = iVar9 + 1;\n        local_5c = (int *)*local_5c;\n      } while (iVar9 < DAT_0003fae4);\n    }\n    piVar15[local_70] = 0;\n    if ((DAT_0003fb28 != 0) && (local_94 != 0)) {\n      iVar9 = ((undefined4 *)param_2[1])[1];\n      if ((iVar9 != 2) && (iVar9 != 5)) {\n        uVar10 = *(undefined4 *)param_2[1];\n        uVar11 = dcgettext(0,"don\'t know how to write debugging information for %s",5);\n        FUN_0002c160(0,param_2,0,uVar11,uVar10);\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n      iVar9 = FUN_0002b050(param_2,local_94,&local_4c,local_44,&local_48,&local_30);\n      if (iVar9 == 0) {\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n      iVar9 = bfd_make_section_with_flags(param_2,".stab",0x2108);\n      iVar12 = bfd_make_section_with_flags(param_2,".stabstr",0x2108);\n      if ((((iVar9 == 0) || (iVar12 == 0)) ||\n          (iVar21 = bfd_set_section_size(param_2,iVar9,local_44[0],iVar12), iVar21 == 0)) ||\n         (iVar21 = bfd_set_section_size(param_2,iVar12,local_30,iVar21), iVar21 == 0)) {\n        pcVar22 = "can\'t create debugging section";\nLAB_00019fcf:\n        uVar10 = dcgettext(0,pcVar22,5,iVar9);\n        FUN_0002c160(0,param_2,0,uVar10);\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n      *(undefined4 *)(iVar9 + 0x40) = 2;\n      *(undefined4 *)(iVar12 + 0x40) = 0;\n      iVar9 = bfd_set_section_contents(param_2,iVar9,local_4c,0,0,local_44[0],iVar21,iVar21);\n      if ((iVar9 == 0) ||\n         (iVar9 = bfd_set_section_contents\n                            (param_2,iVar12,local_48,0,0,local_30,extraout_ECX,extraout_ECX),\n         iVar9 == 0)) {\n        pcVar22 = "can\'t set debugging section contents";\n        iVar9 = iVar12;\n        goto LAB_00019fcf;\n      }\n    }\n  }\n  else {\n    if (DAT_0003fb10 != 0 || DAT_0003fb74 != 0) goto LAB_00019037;\n    iVar9 = htab_elements(DAT_0003fb0c);\n    if (((iVar9 != 0) || (iVar9 = htab_elements(DAT_0003fb04), iVar9 != 0)) ||\n       ((iVar9 = htab_elements(DAT_0003fb00), iVar9 != 0 ||\n        (((((iVar9 = htab_elements(DAT_0003fafc), iVar9 != 0 ||\n            (iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0)) ||\n           (iVar9 = htab_elements(DAT_0003faf4), iVar9 != 0)) ||\n          ((iVar9 = htab_elements(DAT_0003faf0), DAT_0003fad8 != (char *)0x0 ||\n           (DAT_0003fba0 != (undefined4 *)0x0)))) ||\n         (((((((DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0) || DAT_0003fb1c != 0)\n            || DAT_0003fb18 != 0) || DAT_0003fae0 != 0) || DAT_0003fae4 != 0) || iVar9 != 0))))))\n    goto LAB_00019032;\n  }\n  bfd_set_symtab(param_2,DAT_0003fb98,local_70);\n  bfd_map_over_sections(param_1,FUN_000181d0,param_2);\n  bfd_map_over_sections(param_1,FUN_00017e40,param_2);\n  psVar38 = param_1;\n  for (puVar33 = DAT_0003fb38; puVar37 = DAT_0003fb34, puVar33 != (undefined4 *)0x0;\n      puVar33 = (undefined4 *)*puVar33) {\n    iVar9 = bfd_set_section_contents(param_2,puVar33[5],puVar33[4],0,0,puVar33[3]);\n    if (iVar9 == 0) {\n      psVar38 = (size_t *)puVar33[5];\n      local_50 = 0;\n      goto LAB_00019763;\n    }\n    psVar38 = param_2;\n  }\n  for (; puVar37 != (undefined4 *)0x0; puVar37 = (undefined4 *)*puVar37) {\n    psVar38 = *(size_t **)(puVar37[5] + 0x3c);\n    local_50 = bfd_set_section_contents(param_2,psVar38,puVar37[4],0,0,puVar37[3]);\n    if (local_50 == 0) {\nLAB_00019763:\n      FUN_0002c160(0,param_2,psVar38,0);\n      return local_50;\n    }\n  }\n  uVar35 = 0;\n  if (DAT_0003fb84 != 0) {\n    uVar35 = bfd_get_section_by_name(param_2,".gnu.build.attributes");\n    if (((uVar35 == 0) || (DAT_0003fb84 == 0)) ||\n       ((*(int *)(param_2[1] + 4) != 5 || (iVar9 = FUN_00017590(), iVar9 == 0)))) {\n      if (DAT_0003fba4 == 0) {\n        uVar10 = dcgettext(0,"could not find any mergeable note sections",5,0);\n        FUN_0002c160(0,param_2,uVar35,uVar10);\n      }\n    }\n    else {\n      iVar9 = bfd_set_section_contents(param_2,uVar35,DAT_0003fb80,0,0,DAT_0003fb7c,iVar9,iVar9);\n      if (iVar9 == 0) {\n        uVar10 = dcgettext(0,"error: failed to copy merged notes into output",5,0);\n        goto LAB_0001a2cd;\n      }\n    }\n    free(DAT_0003fb80);\n    DAT_0003fb80 = (size_t *)0x0;\n    DAT_0003fb84 = 0;\n    psVar38 = param_2;\n  }\n  if ((DAT_0003fb2c != 0) &&\n     (iVar12 = bfd_fill_in_gnu_debuglink_section(param_2,local_98,DAT_0003fb2c),\n     iVar9 = DAT_0003fb2c, iVar12 == 0)) {\n    uVar10 = dcgettext(0,"cannot fill debug link section `%s\'",5,0);\n    FUN_0002c160(0,param_2,0,uVar10,iVar9);\n    return 0;\n  }\n  if (DAT_0003fb54 != 0 || DAT_0003fb4c != 0) {\n    uVar35 = 0x2000;\n    if (local_8c < 0x2001) {\n      uVar35 = local_8c;\n    }\n    psVar20 = (size_t *)xmalloc(uVar35);\n    sVar17 = (uint)DAT_0003fb50 * 0x1010101;\n    if (uVar35 < 4) {\n      if ((uVar35 != 0) && (*(char *)psVar20 = (char)sVar17, (uVar35 & 2) != 0)) {\n        *(short *)((int)psVar20 + (uVar35 - 2)) = (short)sVar17;\n      }\n    }\n    else {\n      *psVar20 = sVar17;\n      *(size_t *)((int)(psVar20 + -1) + uVar35) = sVar17;\n      psVar38 = (size_t *)((uint)(psVar20 + 1) & 0xfffffffc);\n      for (uVar26 = (int)psVar20 + (uVar35 - (int)((uint)(psVar20 + 1) & 0xfffffffc)) >> 2;\n          uVar26 != 0; uVar26 = uVar26 - 1) {\n        *psVar38 = sVar17;\n        psVar38 = psVar38 + (uint)bVar42 * -2 + 1;\n      }\n    }\n    psVar25 = (size_t *)param_2[0x1a];\n    if (psVar25 != (size_t *)0x0) {\n      psVar38 = (size_t *)0x0;\n      do {\n        uVar35 = *(uint *)((int)local_90 + (int)psVar38 * 4);\n        if (uVar35 != 0) {\n          iVar9 = local_84[(int)psVar38];\n          local_58 = 0;\n          local_5c = (int *)(*(int *)(iVar9 + 0x24) - uVar35);\n          while( true ) {\n            uVar26 = 0x2000;\n            if (uVar35 < 0x2001) {\n              uVar26 = uVar35;\n            }\n            iVar9 = bfd_set_section_contents(param_2,iVar9,psVar20,local_5c,local_58,uVar26);\n            if (iVar9 == 0) {\n              psVar38 = (size_t *)local_84[(int)psVar38];\n              local_50 = 0;\n              goto LAB_00019763;\n            }\n            bVar40 = CARRY4((uint)local_5c,uVar26);\n            local_5c = (int *)((int)local_5c + uVar26);\n            local_58 = local_58 + (uint)bVar40;\n            uVar35 = uVar35 - uVar26;\n            if (uVar35 == 0) break;\n            iVar9 = local_84[(int)psVar38];\n          }\n        }\n        psVar38 = (size_t *)((int)psVar38 + 1);\n      } while (psVar25 != psVar38);\n    }\n  }\n  iVar9 = (**(code **)(param_2[1] + 0xa8))(param_1,param_2);\n  if (iVar9 != 0) {\n    if ((DAT_0003fb44 != 0) &&\n       (iVar12 = bfd_alt_mach_code(param_2,DAT_0003fb44,uVar35,uVar35), iVar9 = DAT_0003fb44,\n       iVar12 == 0)) {\n      uVar10 = dcgettext(0,"this target does not support %lu alternative machine codes",5,psVar38);\n      FUN_0002b6d0(uVar10,iVar9);\n      if (*(int *)(param_2[1] + 4) != 5) {\n        uVar10 = dcgettext(0,"ignoring the alternative value",5,extraout_ECX_00);\n        FUN_0002b6d0(uVar10);\n        return 1;\n      }\n      uVar10 = dcgettext(0,"treating that number as an absolute e_machine value instead",5,iVar9);\n      FUN_0002b6d0(uVar10);\n      *(short *)(param_2[0x27] + 0x26) = (short)DAT_0003fb44;\n    }\n    return 1;\n  }\n  uVar10 = dcgettext(0,"error copying private BFD data",5,psVar38);\n  uVar35 = 0;\nLAB_0001a2cd:\n  FUN_0002c160(0,param_2,uVar35,uVar10);\n  return 0;\n}" { (declaration "void *__dest;" primitive_type (pointer_declarator "*__dest" * identifier) ;) (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "size_t sVar2;" primitive_type identifier ;) (declaration "int *piVar3;" primitive_type (pointer_declarator "*piVar3" * identifier) ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "size_t sVar5;" primitive_type identifier ;) (declaration "size_t *psVar6;" primitive_type (pointer_declarator "*psVar6" * identifier) ;) (declaration "size_t *psVar7;" primitive_type (pointer_declarator "*psVar7" * identifier) ;) (declaration "char cVar8;" primitive_type identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "undefined4 uVar10;" type_identifier identifier ;) (declaration "undefined4 uVar11;" type_identifier identifier ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "FILE *__s;" type_identifier (pointer_declarator "*__s" * identifier) ;) (declaration "undefined4 uVar13;" type_identifier identifier ;) (declaration "undefined4 uVar14;" type_identifier identifier ;) (declaration "int *piVar15;" primitive_type (pointer_declarator "*piVar15" * identifier) ;) (declaration "undefined *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "size_t sVar17;" primitive_type identifier ;) (declaration "size_t sVar18;" primitive_type identifier ;) (declaration "int *piVar19;" primitive_type (pointer_declarator "*piVar19" * identifier) ;) (declaration "size_t *psVar20;" primitive_type (pointer_declarator "*psVar20" * identifier) ;) (declaration "int iVar21;" primitive_type identifier ;) (declaration "char *pcVar22;" primitive_type (pointer_declarator "*pcVar22" * identifier) ;) (declaration "size_t sVar23;" primitive_type identifier ;) (declaration "void *pvVar24;" primitive_type (pointer_declarator "*pvVar24" * identifier) ;) (declaration "size_t *psVar25;" primitive_type (pointer_declarator "*psVar25" * identifier) ;) (declaration "undefined4 extraout_ECX;" type_identifier identifier ;) (declaration "uint uVar26;" type_identifier identifier ;) (declaration "undefined4 extraout_ECX_00;" type_identifier identifier ;) (declaration "undefined4 extraout_ECX_01;" type_identifier identifier ;) (declaration "uint uVar27;" type_identifier identifier ;) (declaration "undefined4 extraout_ECX_02;" type_identifier identifier ;) (declaration "undefined4 extraout_ECX_03;" type_identifier identifier ;) (declaration "uint uVar28;" type_identifier identifier ;) (declaration "undefined1 *puVar29;" type_identifier (pointer_declarator "*puVar29" * identifier) ;) (declaration "void *pvVar30;" primitive_type (pointer_declarator "*pvVar30" * identifier) ;) (declaration "size_t __n;" primitive_type identifier ;) (declaration "undefined4 extraout_EDX;" type_identifier identifier ;) (declaration "int *piVar31;" primitive_type (pointer_declarator "*piVar31" * identifier) ;) (declaration "byte *pbVar32;" type_identifier (pointer_declarator "*pbVar32" * identifier) ;) (declaration "undefined4 *puVar33;" type_identifier (pointer_declarator "*puVar33" * identifier) ;) (declaration "size_t *psVar34;" primitive_type (pointer_declarator "*psVar34" * identifier) ;) (declaration "uint uVar35;" type_identifier identifier ;) (declaration "byte *pbVar36;" type_identifier (pointer_declarator "*pbVar36" * identifier) ;) (declaration "undefined4 *puVar37;" type_identifier (pointer_declarator "*puVar37" * identifier) ;) (declaration "size_t *psVar38;" primitive_type (pointer_declarator "*psVar38" * identifier) ;) (declaration "uint uVar39;" type_identifier identifier ;) (declaration "bool bVar40;" primitive_type identifier ;) (declaration "bool bVar41;" primitive_type identifier ;) (declaration "byte bVar42;" type_identifier identifier ;) (declaration "undefined8 uVar43;" type_identifier identifier ;) (declaration "void *pvVar44;" primitive_type (pointer_declarator "*pvVar44" * identifier) ;) (declaration "size_t *psVar45;" primitive_type (pointer_declarator "*psVar45" * identifier) ;) (declaration "size_t *psVar46;" primitive_type (pointer_declarator "*psVar46" * identifier) ;) (declaration "size_t local_98;" primitive_type identifier ;) (declaration "size_t local_94;" primitive_type identifier ;) (declaration "void *local_90;" primitive_type (pointer_declarator "*local_90" * identifier) ;) (declaration "size_t local_8c;" primitive_type identifier ;) (declaration "int *local_84;" primitive_type (pointer_declarator "*local_84" * identifier) ;) (declaration "size_t *local_80;" primitive_type (pointer_declarator "*local_80" * identifier) ;) (declaration "size_t *local_7c;" primitive_type (pointer_declarator "*local_7c" * identifier) ;) (declaration "uint local_74;" type_identifier identifier ;) (declaration "int local_70;" primitive_type identifier ;) (declaration "uint local_6c;" type_identifier identifier ;) (declaration "int *local_68;" primitive_type (pointer_declarator "*local_68" * identifier) ;) (declaration "size_t *local_64;" primitive_type (pointer_declarator "*local_64" * identifier) ;) (declaration "size_t *local_60;" primitive_type (pointer_declarator "*local_60" * identifier) ;) (declaration "int *local_5c;" primitive_type (pointer_declarator "*local_5c" * identifier) ;) (declaration "int local_58;" primitive_type identifier ;) (declaration "int local_50;" primitive_type identifier ;) (declaration "undefined4 local_4c;" type_identifier identifier ;) (declaration "undefined4 local_48;" type_identifier identifier ;) (declaration "undefined4 local_44 [5];" type_identifier (array_declarator "local_44 [5]" identifier [ number_literal ]) ;) (declaration "int *local_30;" primitive_type (pointer_declarator "*local_30" * identifier) ;) (declaration "undefined4 local_2c;" type_identifier identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "bVar42 = 0;" (assignment_expression "bVar42 = 0" identifier = number_literal) ;) (expression_statement "uStack_14 = 0x185fd;" (assignment_expression "uStack_14 = 0x185fd" identifier = number_literal) ;) (if_statement "if ((*(int *)(param_1[1] + 8) != *(int *)(param_2[1] + 8) && *(int *)(param_1[1] + 8) != 2) &&\n     (*(int *)(param_2[1] + 8) != 2)) {\n    uVar10 = dcgettext(0,"Unable to change endianness of input file(s)",5);\n    FUN_0002b6d0(uVar10);\n    return 0;\n  }" if (parenthesized_expression "((*(int *)(param_1[1] + 8) != *(int *)(param_2[1] + 8) && *(int *)(param_1[1] + 8) != 2) &&\n     (*(int *)(param_2[1] + 8) != 2))" ( (binary_expression "(*(int *)(param_1[1] + 8) != *(int *)(param_2[1] + 8) && *(int *)(param_1[1] + 8) != 2) &&\n     (*(int *)(param_2[1] + 8) != 2)" (parenthesized_expression "(*(int *)(param_1[1] + 8) != *(int *)(param_2[1] + 8) && *(int *)(param_1[1] + 8) != 2)" ( (binary_expression "*(int *)(param_1[1] + 8) != *(int *)(param_2[1] + 8) && *(int *)(param_1[1] + 8) != 2" (binary_expression "*(int *)(param_1[1] + 8) != *(int *)(param_2[1] + 8)" (pointer_expression "*(int *)(param_1[1] + 8)" * (cast_expression "(int *)(param_1[1] + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[1] + 8)" ( (binary_expression "param_1[1] + 8" (subscript_expression "param_1[1]" identifier [ number_literal ]) + number_literal) )))) != (pointer_expression "*(int *)(param_2[1] + 8)" * (cast_expression "(int *)(param_2[1] + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2[1] + 8)" ( (binary_expression "param_2[1] + 8" (subscript_expression "param_2[1]" identifier [ number_literal ]) + number_literal) ))))) && (binary_expression "*(int *)(param_1[1] + 8) != 2" (pointer_expression "*(int *)(param_1[1] + 8)" * (cast_expression "(int *)(param_1[1] + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[1] + 8)" ( (binary_expression "param_1[1] + 8" (subscript_expression "param_1[1]" identifier [ number_literal ]) + number_literal) )))) != number_literal)) )) && (parenthesized_expression "(*(int *)(param_2[1] + 8) != 2)" ( (binary_expression "*(int *)(param_2[1] + 8) != 2" (pointer_expression "*(int *)(param_2[1] + 8)" * (cast_expression "(int *)(param_2[1] + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2[1] + 8)" ( (binary_expression "param_2[1] + 8" (subscript_expression "param_2[1]" identifier [ number_literal ]) + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n    uVar10 = dcgettext(0,"Unable to change endianness of input file(s)",5);\n    FUN_0002b6d0(uVar10);\n    return 0;\n  }" { (expression_statement "uVar10 = dcgettext(0,"Unable to change endianness of input file(s)",5);" (assignment_expression "uVar10 = dcgettext(0,"Unable to change endianness of input file(s)",5)" identifier = (call_expression "dcgettext(0,"Unable to change endianness of input file(s)",5)" identifier (argument_list "(0,"Unable to change endianness of input file(s)",5)" ( number_literal , (string_literal ""Unable to change endianness of input file(s)"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0002b6d0(uVar10);" (call_expression "FUN_0002b6d0(uVar10)" identifier (argument_list "(uVar10)" ( identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "iVar9 = bfd_set_format(param_2,(byte)param_1[10] & 7);" (assignment_expression "iVar9 = bfd_set_format(param_2,(byte)param_1[10] & 7)" identifier = (call_expression "bfd_set_format(param_2,(byte)param_1[10] & 7)" identifier (argument_list "(param_2,(byte)param_1[10] & 7)" ( identifier , (binary_expression "(byte)param_1[10] & 7" (cast_expression "(byte)param_1[10]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "param_1[10]" identifier [ number_literal ])) & number_literal) )))) ;) (if_statement "if (iVar9 == 0) {\n    FUN_0002c160(0,param_2,0,0);\n    return 0;\n  }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n    FUN_0002c160(0,param_2,0,0);\n    return 0;\n  }" { (expression_statement "FUN_0002c160(0,param_2,0,0);" (call_expression "FUN_0002c160(0,param_2,0,0)" identifier (argument_list "(0,param_2,0,0)" ( number_literal , identifier , number_literal , number_literal ))) ;) (return_statement "return 0;" return number_literal ;) })) (if_statement "if (param_1[0x18] == 0) {\n    uVar10 = FUN_0002c060(param_1);\n    pcVar22 = "error: the input file \'%s\' has no sections";\n    goto LAB_00018bc8;\n  }" if (parenthesized_expression "(param_1[0x18] == 0)" ( (binary_expression "param_1[0x18] == 0" (subscript_expression "param_1[0x18]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n    uVar10 = FUN_0002c060(param_1);\n    pcVar22 = "error: the input file \'%s\' has no sections";\n    goto LAB_00018bc8;\n  }" { (expression_statement "uVar10 = FUN_0002c060(param_1);" (assignment_expression "uVar10 = FUN_0002c060(param_1)" identifier = (call_expression "FUN_0002c060(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "pcVar22 = "error: the input file \'%s\' has no sections";" (assignment_expression "pcVar22 = "error: the input file \'%s\' has no sections"" identifier = (string_literal ""error: the input file \'%s\' has no sections"" " string_content escape_sequence string_content escape_sequence string_content ")) ;) (goto_statement "goto LAB_00018bc8;" goto statement_identifier ;) })) (if_statement "if (((undefined4 *)param_1[1])[1] != 5) {\n    if ((DAT_0003fb24 != 1) && ((DAT_0003fb24 & 1) != 0)) {\n      uVar10 = FUN_0002c060(param_1);\n      pcVar22 = "--compress-debug-sections=[zlib|zlib-gnu|zlib-gabi] is unsupported on `%s\'";\nLAB_00018bc8:\n      uVar11 = dcgettext(0,pcVar22,5);\n      FUN_0002b6d0(uVar11,uVar10);\n      return 0;\n    }\n    if (DAT_0003fb20 != 0) {\n      uVar10 = FUN_0002c060(param_1);\n      pcVar22 = "--elf-stt-common=[yes|no] is unsupported on `%s\'";\n      goto LAB_00018bc8;\n    }\n  }" if (parenthesized_expression "(((undefined4 *)param_1[1])[1] != 5)" ( (binary_expression "((undefined4 *)param_1[1])[1] != 5" (subscript_expression "((undefined4 *)param_1[1])[1]" (parenthesized_expression "((undefined4 *)param_1[1])" ( (cast_expression "(undefined4 *)param_1[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[1]" identifier [ number_literal ])) )) [ number_literal ]) != number_literal) )) (compound_statement "{\n    if ((DAT_0003fb24 != 1) && ((DAT_0003fb24 & 1) != 0)) {\n      uVar10 = FUN_0002c060(param_1);\n      pcVar22 = "--compress-debug-sections=[zlib|zlib-gnu|zlib-gabi] is unsupported on `%s\'";\nLAB_00018bc8:\n      uVar11 = dcgettext(0,pcVar22,5);\n      FUN_0002b6d0(uVar11,uVar10);\n      return 0;\n    }\n    if (DAT_0003fb20 != 0) {\n      uVar10 = FUN_0002c060(param_1);\n      pcVar22 = "--elf-stt-common=[yes|no] is unsupported on `%s\'";\n      goto LAB_00018bc8;\n    }\n  }" { (if_statement "if ((DAT_0003fb24 != 1) && ((DAT_0003fb24 & 1) != 0)) {\n      uVar10 = FUN_0002c060(param_1);\n      pcVar22 = "--compress-debug-sections=[zlib|zlib-gnu|zlib-gabi] is unsupported on `%s\'";\nLAB_00018bc8:\n      uVar11 = dcgettext(0,pcVar22,5);\n      FUN_0002b6d0(uVar11,uVar10);\n      return 0;\n    }" if (parenthesized_expression "((DAT_0003fb24 != 1) && ((DAT_0003fb24 & 1) != 0))" ( (binary_expression "(DAT_0003fb24 != 1) && ((DAT_0003fb24 & 1) != 0)" (parenthesized_expression "(DAT_0003fb24 != 1)" ( (binary_expression "DAT_0003fb24 != 1" identifier != number_literal) )) && (parenthesized_expression "((DAT_0003fb24 & 1) != 0)" ( (binary_expression "(DAT_0003fb24 & 1) != 0" (parenthesized_expression "(DAT_0003fb24 & 1)" ( (binary_expression "DAT_0003fb24 & 1" identifier & number_literal) )) != number_literal) ))) )) (compound_statement "{\n      uVar10 = FUN_0002c060(param_1);\n      pcVar22 = "--compress-debug-sections=[zlib|zlib-gnu|zlib-gabi] is unsupported on `%s\'";\nLAB_00018bc8:\n      uVar11 = dcgettext(0,pcVar22,5);\n      FUN_0002b6d0(uVar11,uVar10);\n      return 0;\n    }" { (expression_statement "uVar10 = FUN_0002c060(param_1);" (assignment_expression "uVar10 = FUN_0002c060(param_1)" identifier = (call_expression "FUN_0002c060(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "pcVar22 = "--compress-debug-sections=[zlib|zlib-gnu|zlib-gabi] is unsupported on `%s\'";" (assignment_expression "pcVar22 = "--compress-debug-sections=[zlib|zlib-gnu|zlib-gabi] is unsupported on `%s\'"" identifier = (string_literal ""--compress-debug-sections=[zlib|zlib-gnu|zlib-gabi] is unsupported on `%s\'"" " string_content escape_sequence ")) ;) (labeled_statement "LAB_00018bc8:\n      uVar11 = dcgettext(0,pcVar22,5);" statement_identifier : (expression_statement "uVar11 = dcgettext(0,pcVar22,5);" (assignment_expression "uVar11 = dcgettext(0,pcVar22,5)" identifier = (call_expression "dcgettext(0,pcVar22,5)" identifier (argument_list "(0,pcVar22,5)" ( number_literal , identifier , number_literal )))) ;)) (expression_statement "FUN_0002b6d0(uVar11,uVar10);" (call_expression "FUN_0002b6d0(uVar11,uVar10)" identifier (argument_list "(uVar11,uVar10)" ( identifier , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (if_statement "if (DAT_0003fb20 != 0) {\n      uVar10 = FUN_0002c060(param_1);\n      pcVar22 = "--elf-stt-common=[yes|no] is unsupported on `%s\'";\n      goto LAB_00018bc8;\n    }" if (parenthesized_expression "(DAT_0003fb20 != 0)" ( (binary_expression "DAT_0003fb20 != 0" identifier != number_literal) )) (compound_statement "{\n      uVar10 = FUN_0002c060(param_1);\n      pcVar22 = "--elf-stt-common=[yes|no] is unsupported on `%s\'";\n      goto LAB_00018bc8;\n    }" { (expression_statement "uVar10 = FUN_0002c060(param_1);" (assignment_expression "uVar10 = FUN_0002c060(param_1)" identifier = (call_expression "FUN_0002c060(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "pcVar22 = "--elf-stt-common=[yes|no] is unsupported on `%s\'";" (assignment_expression "pcVar22 = "--elf-stt-common=[yes|no] is unsupported on `%s\'"" identifier = (string_literal ""--elf-stt-common=[yes|no] is unsupported on `%s\'"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_00018bc8;" goto statement_identifier ;) })) })) (if_statement "if (DAT_0003fb90 != 0) {\n    uVar10 = *(undefined4 *)param_1[1];\n    uVar11 = *(undefined4 *)param_2[1];\n    sVar17 = *param_2;\n    uVar13 = FUN_0002c060(param_1);\n    pcVar22 = (char *)dcgettext(0,"copy from `%s\' [%s] to `%s\' [%s]\n",5);\n    printf(pcVar22,uVar13,uVar10,sVar17,uVar11);\n  }" if (parenthesized_expression "(DAT_0003fb90 != 0)" ( (binary_expression "DAT_0003fb90 != 0" identifier != number_literal) )) (compound_statement "{\n    uVar10 = *(undefined4 *)param_1[1];\n    uVar11 = *(undefined4 *)param_2[1];\n    sVar17 = *param_2;\n    uVar13 = FUN_0002c060(param_1);\n    pcVar22 = (char *)dcgettext(0,"copy from `%s\' [%s] to `%s\' [%s]\n",5);\n    printf(pcVar22,uVar13,uVar10,sVar17,uVar11);\n  }" { (expression_statement "uVar10 = *(undefined4 *)param_1[1];" (assignment_expression "uVar10 = *(undefined4 *)param_1[1]" identifier = (pointer_expression "*(undefined4 *)param_1[1]" * (cast_expression "(undefined4 *)param_1[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[1]" identifier [ number_literal ])))) ;) (expression_statement "uVar11 = *(undefined4 *)param_2[1];" (assignment_expression "uVar11 = *(undefined4 *)param_2[1]" identifier = (pointer_expression "*(undefined4 *)param_2[1]" * (cast_expression "(undefined4 *)param_2[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[1]" identifier [ number_literal ])))) ;) (expression_statement "sVar17 = *param_2;" (assignment_expression "sVar17 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "uVar13 = FUN_0002c060(param_1);" (assignment_expression "uVar13 = FUN_0002c060(param_1)" identifier = (call_expression "FUN_0002c060(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "pcVar22 = (char *)dcgettext(0,"copy from `%s\' [%s] to `%s\' [%s]\n",5);" (assignment_expression "pcVar22 = (char *)dcgettext(0,"copy from `%s\' [%s] to `%s\' [%s]\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"copy from `%s\' [%s] to `%s\' [%s]\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"copy from `%s\' [%s] to `%s\' [%s]\n",5)" identifier (argument_list "(0,"copy from `%s\' [%s] to `%s\' [%s]\n",5)" ( number_literal , (string_literal ""copy from `%s\' [%s] to `%s\' [%s]\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar22,uVar13,uVar10,sVar17,uVar11);" (call_expression "printf(pcVar22,uVar13,uVar10,sVar17,uVar11)" identifier (argument_list "(pcVar22,uVar13,uVar10,sVar17,uVar11)" ( identifier , identifier , identifier , identifier , identifier ))) ;) })) (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" identifier = number_literal) ;) (if_statement "if (DAT_0003facc == 0) {\n    sVar17 = DAT_0003fb5c;\n    if (DAT_0003fb60 == 0) {\n      sVar17 = param_1[0x1c];\n    }\n    iVar9 = sVar17 + DAT_0003fb64;\n  }" if (parenthesized_expression "(DAT_0003facc == 0)" ( (binary_expression "DAT_0003facc == 0" identifier == number_literal) )) (compound_statement "{\n    sVar17 = DAT_0003fb5c;\n    if (DAT_0003fb60 == 0) {\n      sVar17 = param_1[0x1c];\n    }\n    iVar9 = sVar17 + DAT_0003fb64;\n  }" { (expression_statement "sVar17 = DAT_0003fb5c;" (assignment_expression "sVar17 = DAT_0003fb5c" identifier = identifier) ;) (if_statement "if (DAT_0003fb60 == 0) {\n      sVar17 = param_1[0x1c];\n    }" if (parenthesized_expression "(DAT_0003fb60 == 0)" ( (binary_expression "DAT_0003fb60 == 0" identifier == number_literal) )) (compound_statement "{\n      sVar17 = param_1[0x1c];\n    }" { (expression_statement "sVar17 = param_1[0x1c];" (assignment_expression "sVar17 = param_1[0x1c]" identifier = (subscript_expression "param_1[0x1c]" identifier [ number_literal ])) ;) })) (expression_statement "iVar9 = sVar17 + DAT_0003fb64;" (assignment_expression "iVar9 = sVar17 + DAT_0003fb64" identifier = (binary_expression "sVar17 + DAT_0003fb64" identifier + identifier)) ;) })) (if_statement "if ((param_2[10] & 7) != 3) {\n    uVar35 = ~DAT_0003fb3c & *(uint *)(param_2[1] + 0x10) &\n             (param_1[10] >> 5 & 0xfffff | DAT_0003fb40);\n    if (DAT_0003fb78 == 7) {\n      uVar35 = uVar35 & 0xfffffffe;\n    }\n    iVar9 = bfd_set_start_address(param_2,iVar9);\n    if ((iVar9 == 0) || (iVar9 = bfd_set_file_flags(param_2,uVar35), iVar9 == 0)) goto LAB_00018840;\n  }" if (parenthesized_expression "((param_2[10] & 7) != 3)" ( (binary_expression "(param_2[10] & 7) != 3" (parenthesized_expression "(param_2[10] & 7)" ( (binary_expression "param_2[10] & 7" (subscript_expression "param_2[10]" identifier [ number_literal ]) & number_literal) )) != number_literal) )) (compound_statement "{\n    uVar35 = ~DAT_0003fb3c & *(uint *)(param_2[1] + 0x10) &\n             (param_1[10] >> 5 & 0xfffff | DAT_0003fb40);\n    if (DAT_0003fb78 == 7) {\n      uVar35 = uVar35 & 0xfffffffe;\n    }\n    iVar9 = bfd_set_start_address(param_2,iVar9);\n    if ((iVar9 == 0) || (iVar9 = bfd_set_file_flags(param_2,uVar35), iVar9 == 0)) goto LAB_00018840;\n  }" { (expression_statement "uVar35 = ~DAT_0003fb3c & *(uint *)(param_2[1] + 0x10) &\n             (param_1[10] >> 5 & 0xfffff | DAT_0003fb40);" (assignment_expression "uVar35 = ~DAT_0003fb3c & *(uint *)(param_2[1] + 0x10) &\n             (param_1[10] >> 5 & 0xfffff | DAT_0003fb40)" identifier = (binary_expression "~DAT_0003fb3c & *(uint *)(param_2[1] + 0x10) &\n             (param_1[10] >> 5 & 0xfffff | DAT_0003fb40)" (binary_expression "~DAT_0003fb3c & *(uint *)(param_2[1] + 0x10)" (unary_expression "~DAT_0003fb3c" ~ identifier) & (pointer_expression "*(uint *)(param_2[1] + 0x10)" * (cast_expression "(uint *)(param_2[1] + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2[1] + 0x10)" ( (binary_expression "param_2[1] + 0x10" (subscript_expression "param_2[1]" identifier [ number_literal ]) + number_literal) ))))) & (parenthesized_expression "(param_1[10] >> 5 & 0xfffff | DAT_0003fb40)" ( (binary_expression "param_1[10] >> 5 & 0xfffff | DAT_0003fb40" (binary_expression "param_1[10] >> 5 & 0xfffff" (binary_expression "param_1[10] >> 5" (subscript_expression "param_1[10]" identifier [ number_literal ]) >> number_literal) & number_literal) | identifier) )))) ;) (if_statement "if (DAT_0003fb78 == 7) {\n      uVar35 = uVar35 & 0xfffffffe;\n    }" if (parenthesized_expression "(DAT_0003fb78 == 7)" ( (binary_expression "DAT_0003fb78 == 7" identifier == number_literal) )) (compound_statement "{\n      uVar35 = uVar35 & 0xfffffffe;\n    }" { (expression_statement "uVar35 = uVar35 & 0xfffffffe;" (assignment_expression "uVar35 = uVar35 & 0xfffffffe" identifier = (binary_expression "uVar35 & 0xfffffffe" identifier & number_literal)) ;) })) (expression_statement "iVar9 = bfd_set_start_address(param_2,iVar9);" (assignment_expression "iVar9 = bfd_set_start_address(param_2,iVar9)" identifier = (call_expression "bfd_set_start_address(param_2,iVar9)" identifier (argument_list "(param_2,iVar9)" ( identifier , identifier )))) ;) (if_statement "if ((iVar9 == 0) || (iVar9 = bfd_set_file_flags(param_2,uVar35), iVar9 == 0)) goto LAB_00018840;" if (parenthesized_expression "((iVar9 == 0) || (iVar9 = bfd_set_file_flags(param_2,uVar35), iVar9 == 0))" ( (binary_expression "(iVar9 == 0) || (iVar9 = bfd_set_file_flags(param_2,uVar35), iVar9 == 0)" (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar9 = bfd_set_file_flags(param_2,uVar35), iVar9 == 0)" ( (comma_expression "iVar9 = bfd_set_file_flags(param_2,uVar35), iVar9 == 0" (assignment_expression "iVar9 = bfd_set_file_flags(param_2,uVar35)" identifier = (call_expression "bfd_set_file_flags(param_2,uVar35)" identifier (argument_list "(param_2,uVar35)" ( identifier , identifier )))) , (binary_expression "iVar9 == 0" identifier == number_literal)) ))) )) (goto_statement "goto LAB_00018840;" goto statement_identifier ;)) })) (expression_statement "uVar10 = bfd_get_arch(param_1);" (assignment_expression "uVar10 = bfd_get_arch(param_1)" identifier = (call_expression "bfd_get_arch(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "uVar11 = bfd_get_mach(param_1);" (assignment_expression "uVar11 = bfd_get_mach(param_1)" identifier = (call_expression "bfd_get_mach(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (if_statement "if (param_3 != 0) {\n    iVar9 = bfd_get_arch_info(param_1);\n    if ((iVar9 == 0) || (iVar9 = bfd_get_arch_info(param_1), *(int *)(iVar9 + 0xc) == 0)) {\n      uVar10 = *(undefined4 *)(param_3 + 0xc);\n      uVar11 = *(undefined4 *)(param_3 + 0x10);\n    }\n    else {\n      uVar13 = FUN_0002c060(param_1);\n      uVar14 = dcgettext(0,"Input file `%s\' ignores binary architecture parameter.",5);\n      FUN_0002b6d0(uVar14,uVar13);\n    }\n  }" if (parenthesized_expression "(param_3 != 0)" ( (binary_expression "param_3 != 0" identifier != number_literal) )) (compound_statement "{\n    iVar9 = bfd_get_arch_info(param_1);\n    if ((iVar9 == 0) || (iVar9 = bfd_get_arch_info(param_1), *(int *)(iVar9 + 0xc) == 0)) {\n      uVar10 = *(undefined4 *)(param_3 + 0xc);\n      uVar11 = *(undefined4 *)(param_3 + 0x10);\n    }\n    else {\n      uVar13 = FUN_0002c060(param_1);\n      uVar14 = dcgettext(0,"Input file `%s\' ignores binary architecture parameter.",5);\n      FUN_0002b6d0(uVar14,uVar13);\n    }\n  }" { (expression_statement "iVar9 = bfd_get_arch_info(param_1);" (assignment_expression "iVar9 = bfd_get_arch_info(param_1)" identifier = (call_expression "bfd_get_arch_info(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (if_statement "if ((iVar9 == 0) || (iVar9 = bfd_get_arch_info(param_1), *(int *)(iVar9 + 0xc) == 0)) {\n      uVar10 = *(undefined4 *)(param_3 + 0xc);\n      uVar11 = *(undefined4 *)(param_3 + 0x10);\n    }\n    else {\n      uVar13 = FUN_0002c060(param_1);\n      uVar14 = dcgettext(0,"Input file `%s\' ignores binary architecture parameter.",5);\n      FUN_0002b6d0(uVar14,uVar13);\n    }" if (parenthesized_expression "((iVar9 == 0) || (iVar9 = bfd_get_arch_info(param_1), *(int *)(iVar9 + 0xc) == 0))" ( (binary_expression "(iVar9 == 0) || (iVar9 = bfd_get_arch_info(param_1), *(int *)(iVar9 + 0xc) == 0)" (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar9 = bfd_get_arch_info(param_1), *(int *)(iVar9 + 0xc) == 0)" ( (comma_expression "iVar9 = bfd_get_arch_info(param_1), *(int *)(iVar9 + 0xc) == 0" (assignment_expression "iVar9 = bfd_get_arch_info(param_1)" identifier = (call_expression "bfd_get_arch_info(param_1)" identifier (argument_list "(param_1)" ( identifier )))) , (binary_expression "*(int *)(iVar9 + 0xc) == 0" (pointer_expression "*(int *)(iVar9 + 0xc)" * (cast_expression "(int *)(iVar9 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xc)" ( (binary_expression "iVar9 + 0xc" identifier + number_literal) )))) == number_literal)) ))) )) (compound_statement "{\n      uVar10 = *(undefined4 *)(param_3 + 0xc);\n      uVar11 = *(undefined4 *)(param_3 + 0x10);\n    }" { (expression_statement "uVar10 = *(undefined4 *)(param_3 + 0xc);" (assignment_expression "uVar10 = *(undefined4 *)(param_3 + 0xc)" identifier = (pointer_expression "*(undefined4 *)(param_3 + 0xc)" * (cast_expression "(undefined4 *)(param_3 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xc)" ( (binary_expression "param_3 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "uVar11 = *(undefined4 *)(param_3 + 0x10);" (assignment_expression "uVar11 = *(undefined4 *)(param_3 + 0x10)" identifier = (pointer_expression "*(undefined4 *)(param_3 + 0x10)" * (cast_expression "(undefined4 *)(param_3 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x10)" ( (binary_expression "param_3 + 0x10" identifier + number_literal) ))))) ;) }) (else_clause "else {\n      uVar13 = FUN_0002c060(param_1);\n      uVar14 = dcgettext(0,"Input file `%s\' ignores binary architecture parameter.",5);\n      FUN_0002b6d0(uVar14,uVar13);\n    }" else (compound_statement "{\n      uVar13 = FUN_0002c060(param_1);\n      uVar14 = dcgettext(0,"Input file `%s\' ignores binary architecture parameter.",5);\n      FUN_0002b6d0(uVar14,uVar13);\n    }" { (expression_statement "uVar13 = FUN_0002c060(param_1);" (assignment_expression "uVar13 = FUN_0002c060(param_1)" identifier = (call_expression "FUN_0002c060(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "uVar14 = dcgettext(0,"Input file `%s\' ignores binary architecture parameter.",5);" (assignment_expression "uVar14 = dcgettext(0,"Input file `%s\' ignores binary architecture parameter.",5)" identifier = (call_expression "dcgettext(0,"Input file `%s\' ignores binary architecture parameter.",5)" identifier (argument_list "(0,"Input file `%s\' ignores binary architecture parameter.",5)" ( number_literal , (string_literal ""Input file `%s\' ignores binary architecture parameter."" " string_content escape_sequence string_content ") , number_literal )))) ;) (expression_statement "FUN_0002b6d0(uVar14,uVar13);" (call_expression "FUN_0002b6d0(uVar14,uVar13)" identifier (argument_list "(uVar14,uVar13)" ( identifier , identifier ))) ;) }))) })) (expression_statement "iVar9 = (**(code **)(param_2[1] + 0x154))(param_2,uVar10,uVar11);" (assignment_expression "iVar9 = (**(code **)(param_2[1] + 0x154))(param_2,uVar10,uVar11)" identifier = (call_expression "(**(code **)(param_2[1] + 0x154))(param_2,uVar10,uVar11)" (parenthesized_expression "(**(code **)(param_2[1] + 0x154))" ( (pointer_expression "**(code **)(param_2[1] + 0x154)" * (pointer_expression "*(code **)(param_2[1] + 0x154)" * (cast_expression "(code **)(param_2[1] + 0x154)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2[1] + 0x154)" ( (binary_expression "param_2[1] + 0x154" (subscript_expression "param_2[1]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(param_2,uVar10,uVar11)" ( identifier , identifier , identifier )))) ;) (if_statement "if (iVar9 == 0) {\n    if ((*(byte *)((int)param_1 + 0x2b) & 4) != 0) {\nLAB_000187e7:\n      iVar9 = bfd_get_arch(param_1);\n      if (iVar9 == 0) {\n        uVar10 = FUN_0002c060(param_1);\n        pcVar22 = "Unable to recognise the format of the input file `%s\'";\n      }\n      else {\n        uVar10 = bfd_get_mach(param_1);\n        uVar11 = bfd_get_arch(param_1);\n        uVar10 = bfd_printable_arch_mach(uVar11,uVar10);\n        pcVar22 = "Output file cannot represent architecture `%s\'";\n      }\n      uVar11 = dcgettext(0,pcVar22,5);\n      FUN_0002b6d0(uVar11,uVar10);\n      return 0;\n    }\n    iVar9 = bfd_get_arch(param_1);\n    iVar12 = bfd_get_arch(param_2);\n    if (iVar9 != iVar12) goto LAB_000187e7;\n  }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n    if ((*(byte *)((int)param_1 + 0x2b) & 4) != 0) {\nLAB_000187e7:\n      iVar9 = bfd_get_arch(param_1);\n      if (iVar9 == 0) {\n        uVar10 = FUN_0002c060(param_1);\n        pcVar22 = "Unable to recognise the format of the input file `%s\'";\n      }\n      else {\n        uVar10 = bfd_get_mach(param_1);\n        uVar11 = bfd_get_arch(param_1);\n        uVar10 = bfd_printable_arch_mach(uVar11,uVar10);\n        pcVar22 = "Output file cannot represent architecture `%s\'";\n      }\n      uVar11 = dcgettext(0,pcVar22,5);\n      FUN_0002b6d0(uVar11,uVar10);\n      return 0;\n    }\n    iVar9 = bfd_get_arch(param_1);\n    iVar12 = bfd_get_arch(param_2);\n    if (iVar9 != iVar12) goto LAB_000187e7;\n  }" { (if_statement "if ((*(byte *)((int)param_1 + 0x2b) & 4) != 0) {\nLAB_000187e7:\n      iVar9 = bfd_get_arch(param_1);\n      if (iVar9 == 0) {\n        uVar10 = FUN_0002c060(param_1);\n        pcVar22 = "Unable to recognise the format of the input file `%s\'";\n      }\n      else {\n        uVar10 = bfd_get_mach(param_1);\n        uVar11 = bfd_get_arch(param_1);\n        uVar10 = bfd_printable_arch_mach(uVar11,uVar10);\n        pcVar22 = "Output file cannot represent architecture `%s\'";\n      }\n      uVar11 = dcgettext(0,pcVar22,5);\n      FUN_0002b6d0(uVar11,uVar10);\n      return 0;\n    }" if (parenthesized_expression "((*(byte *)((int)param_1 + 0x2b) & 4) != 0)" ( (binary_expression "(*(byte *)((int)param_1 + 0x2b) & 4) != 0" (parenthesized_expression "(*(byte *)((int)param_1 + 0x2b) & 4)" ( (binary_expression "*(byte *)((int)param_1 + 0x2b) & 4" (pointer_expression "*(byte *)((int)param_1 + 0x2b)" * (cast_expression "(byte *)((int)param_1 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x2b)" ( (binary_expression "(int)param_1 + 0x2b" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_000187e7:\n      iVar9 = bfd_get_arch(param_1);\n      if (iVar9 == 0) {\n        uVar10 = FUN_0002c060(param_1);\n        pcVar22 = "Unable to recognise the format of the input file `%s\'";\n      }\n      else {\n        uVar10 = bfd_get_mach(param_1);\n        uVar11 = bfd_get_arch(param_1);\n        uVar10 = bfd_printable_arch_mach(uVar11,uVar10);\n        pcVar22 = "Output file cannot represent architecture `%s\'";\n      }\n      uVar11 = dcgettext(0,pcVar22,5);\n      FUN_0002b6d0(uVar11,uVar10);\n      return 0;\n    }" { (labeled_statement "LAB_000187e7:\n      iVar9 = bfd_get_arch(param_1);" statement_identifier : (expression_statement "iVar9 = bfd_get_arch(param_1);" (assignment_expression "iVar9 = bfd_get_arch(param_1)" identifier = (call_expression "bfd_get_arch(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;)) (if_statement "if (iVar9 == 0) {\n        uVar10 = FUN_0002c060(param_1);\n        pcVar22 = "Unable to recognise the format of the input file `%s\'";\n      }\n      else {\n        uVar10 = bfd_get_mach(param_1);\n        uVar11 = bfd_get_arch(param_1);\n        uVar10 = bfd_printable_arch_mach(uVar11,uVar10);\n        pcVar22 = "Output file cannot represent architecture `%s\'";\n      }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar10 = FUN_0002c060(param_1);\n        pcVar22 = "Unable to recognise the format of the input file `%s\'";\n      }" { (expression_statement "uVar10 = FUN_0002c060(param_1);" (assignment_expression "uVar10 = FUN_0002c060(param_1)" identifier = (call_expression "FUN_0002c060(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "pcVar22 = "Unable to recognise the format of the input file `%s\'";" (assignment_expression "pcVar22 = "Unable to recognise the format of the input file `%s\'"" identifier = (string_literal ""Unable to recognise the format of the input file `%s\'"" " string_content escape_sequence ")) ;) }) (else_clause "else {\n        uVar10 = bfd_get_mach(param_1);\n        uVar11 = bfd_get_arch(param_1);\n        uVar10 = bfd_printable_arch_mach(uVar11,uVar10);\n        pcVar22 = "Output file cannot represent architecture `%s\'";\n      }" else (compound_statement "{\n        uVar10 = bfd_get_mach(param_1);\n        uVar11 = bfd_get_arch(param_1);\n        uVar10 = bfd_printable_arch_mach(uVar11,uVar10);\n        pcVar22 = "Output file cannot represent architecture `%s\'";\n      }" { (expression_statement "uVar10 = bfd_get_mach(param_1);" (assignment_expression "uVar10 = bfd_get_mach(param_1)" identifier = (call_expression "bfd_get_mach(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "uVar11 = bfd_get_arch(param_1);" (assignment_expression "uVar11 = bfd_get_arch(param_1)" identifier = (call_expression "bfd_get_arch(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "uVar10 = bfd_printable_arch_mach(uVar11,uVar10);" (assignment_expression "uVar10 = bfd_printable_arch_mach(uVar11,uVar10)" identifier = (call_expression "bfd_printable_arch_mach(uVar11,uVar10)" identifier (argument_list "(uVar11,uVar10)" ( identifier , identifier )))) ;) (expression_statement "pcVar22 = "Output file cannot represent architecture `%s\'";" (assignment_expression "pcVar22 = "Output file cannot represent architecture `%s\'"" identifier = (string_literal ""Output file cannot represent architecture `%s\'"" " string_content escape_sequence ")) ;) }))) (expression_statement "uVar11 = dcgettext(0,pcVar22,5);" (assignment_expression "uVar11 = dcgettext(0,pcVar22,5)" identifier = (call_expression "dcgettext(0,pcVar22,5)" identifier (argument_list "(0,pcVar22,5)" ( number_literal , identifier , number_literal )))) ;) (expression_statement "FUN_0002b6d0(uVar11,uVar10);" (call_expression "FUN_0002b6d0(uVar11,uVar10)" identifier (argument_list "(uVar11,uVar10)" ( identifier , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "iVar9 = bfd_get_arch(param_1);" (assignment_expression "iVar9 = bfd_get_arch(param_1)" identifier = (call_expression "bfd_get_arch(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "iVar12 = bfd_get_arch(param_2);" (assignment_expression "iVar12 = bfd_get_arch(param_2)" identifier = (call_expression "bfd_get_arch(param_2)" identifier (argument_list "(param_2)" ( identifier )))) ;) (if_statement "if (iVar9 != iVar12) goto LAB_000187e7;" if (parenthesized_expression "(iVar9 != iVar12)" ( (binary_expression "iVar9 != iVar12" identifier != identifier) )) (goto_statement "goto LAB_000187e7;" goto statement_identifier ;)) })) (expression_statement "iVar9 = bfd_set_format(param_2,(byte)param_1[10] & 7);" (assignment_expression "iVar9 = bfd_set_format(param_2,(byte)param_1[10] & 7)" identifier = (call_expression "bfd_set_format(param_2,(byte)param_1[10] & 7)" identifier (argument_list "(param_2,(byte)param_1[10] & 7)" ( identifier , (binary_expression "(byte)param_1[10] & 7" (cast_expression "(byte)param_1[10]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "param_1[10]" identifier [ number_literal ])) & number_literal) )))) ;) (if_statement "if (iVar9 == 0) {\nLAB_00018840:\n    FUN_0002c160(0,param_1,0,0);\n    return 0;\n  }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00018840:\n    FUN_0002c160(0,param_1,0,0);\n    return 0;\n  }" { (labeled_statement "LAB_00018840:\n    FUN_0002c160(0,param_1,0,0);" statement_identifier : (expression_statement "FUN_0002c160(0,param_1,0,0);" (call_expression "FUN_0002c160(0,param_1,0,0)" identifier (argument_list "(0,param_1,0,0)" ( number_literal , identifier , number_literal , number_literal ))) ;)) (return_statement "return 0;" return number_literal ;) })) (expression_statement "uVar35 = ((undefined4 *)param_2[1])[1];" (assignment_expression "uVar35 = ((undefined4 *)param_2[1])[1]" identifier = (subscript_expression "((undefined4 *)param_2[1])[1]" (parenthesized_expression "((undefined4 *)param_2[1])" ( (cast_expression "(undefined4 *)param_2[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[1]" identifier [ number_literal ])) )) [ number_literal ])) ;) (expression_statement "bVar40 = uVar35 < 2;" (assignment_expression "bVar40 = uVar35 < 2" identifier = (binary_expression "uVar35 < 2" identifier < number_literal)) ;) (expression_statement "bVar41 = uVar35 == 2;" (assignment_expression "bVar41 = uVar35 == 2" identifier = (binary_expression "uVar35 == 2" identifier == number_literal)) ;) (if_statement "if (bVar41) {\n    iVar9 = 4;\n    pbVar32 = *(byte **)param_2[1];\n    pbVar36 = &DAT_0002e16a;\n    do {\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar40 = *pbVar32 < *pbVar36;\n      bVar41 = *pbVar32 == *pbVar36;\n      pbVar32 = pbVar32 + (uint)bVar42 * -2 + 1;\n      pbVar36 = pbVar36 + (uint)bVar42 * -2 + 1;\n    } while (bVar41);\n    if ((!bVar40 && !bVar41) == bVar40) {\n      sVar17 = param_2[0x27];\n      uVar35 = ((undefined4 *)param_1[1])[1];\n      bVar40 = uVar35 < 2;\n      bVar41 = uVar35 == 2;\n      if (bVar41) {\n        iVar9 = 4;\n        pbVar32 = *(byte **)param_1[1];\n        pbVar36 = &DAT_0002e16a;\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar40 = *pbVar32 < *pbVar36;\n          bVar41 = *pbVar32 == *pbVar36;\n          pbVar32 = pbVar32 + (uint)bVar42 * -2 + 1;\n          pbVar36 = pbVar36 + (uint)bVar42 * -2 + 1;\n        } while (bVar41);\n        if ((!bVar40 && !bVar41) == bVar40) {\n          puVar33 = (undefined4 *)(param_1[0x27] + 0x78);\n          puVar37 = (undefined4 *)(sVar17 + 0x78);\n          for (iVar9 = 0x38; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar37 = *puVar33;\n            puVar33 = puVar33 + (uint)bVar42 * -2 + 1;\n            puVar37 = puVar37 + (uint)bVar42 * -2 + 1;\n          }\n        }\n      }\n      uVar35 = DAT_0003f298;\n      if (DAT_0003f298 == 0xffffffff) {\n        DAT_0003f298 = 0x200;\n        uVar35 = 0x200;\n      }\n      else {\n        *(uint *)(sVar17 + 0x9c) = DAT_0003f298;\n      }\n      if (DAT_0003f294 != -1) {\n        *(int *)(sVar17 + 0xcc) = DAT_0003f294;\n      }\n      if (DAT_0003f290 != -1) {\n        *(int *)(sVar17 + 0xcc) = DAT_0003f290;\n      }\n      if (DAT_0003f28c != -1) {\n        *(int *)(sVar17 + 0x94) = DAT_0003f28c;\n      }\n      uVar26 = DAT_0003f288;\n      if (DAT_0003f288 == 0xffffffff) {\n        DAT_0003f288 = 0x1000;\n        uVar26 = 0x1000;\n      }\n      else {\n        *(uint *)(sVar17 + 0x98) = DAT_0003f288;\n      }\n      if (DAT_0003f284 != -1) {\n        *(int *)(sVar17 + 0xc4) = DAT_0003f284;\n      }\n      if (DAT_0003f280 != -1) {\n        *(int *)(sVar17 + 0xc4) = DAT_0003f280;\n      }\n      if (DAT_0003f27c != -1) {\n        *(short *)(sVar17 + 0xbc) = DAT_0003f27c;\n      }\n      if (DAT_0003f27a != -1) {\n        *(short *)(sVar17 + 0xa8) = DAT_0003f27a;\n      }\n      if (DAT_0003f278 != -1) {\n        *(short *)(sVar17 + 0xaa) = DAT_0003f278;\n      }\n      if (uVar26 < uVar35) {\n        sprintf((char *)local_44,"%08lx",uVar35);\n        sprintf((char *)&local_30,"%08lx",DAT_0003f288);\n        uVar10 = dcgettext(0,"warning: file alignment (0x%s) > section alignment (0x%s)",5);\n        FUN_0002b6d0(uVar10,local_44,&local_30);\n      }\n    }\n  }" if (parenthesized_expression "(bVar41)" ( identifier )) (compound_statement "{\n    iVar9 = 4;\n    pbVar32 = *(byte **)param_2[1];\n    pbVar36 = &DAT_0002e16a;\n    do {\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar40 = *pbVar32 < *pbVar36;\n      bVar41 = *pbVar32 == *pbVar36;\n      pbVar32 = pbVar32 + (uint)bVar42 * -2 + 1;\n      pbVar36 = pbVar36 + (uint)bVar42 * -2 + 1;\n    } while (bVar41);\n    if ((!bVar40 && !bVar41) == bVar40) {\n      sVar17 = param_2[0x27];\n      uVar35 = ((undefined4 *)param_1[1])[1];\n      bVar40 = uVar35 < 2;\n      bVar41 = uVar35 == 2;\n      if (bVar41) {\n        iVar9 = 4;\n        pbVar32 = *(byte **)param_1[1];\n        pbVar36 = &DAT_0002e16a;\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar40 = *pbVar32 < *pbVar36;\n          bVar41 = *pbVar32 == *pbVar36;\n          pbVar32 = pbVar32 + (uint)bVar42 * -2 + 1;\n          pbVar36 = pbVar36 + (uint)bVar42 * -2 + 1;\n        } while (bVar41);\n        if ((!bVar40 && !bVar41) == bVar40) {\n          puVar33 = (undefined4 *)(param_1[0x27] + 0x78);\n          puVar37 = (undefined4 *)(sVar17 + 0x78);\n          for (iVar9 = 0x38; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar37 = *puVar33;\n            puVar33 = puVar33 + (uint)bVar42 * -2 + 1;\n            puVar37 = puVar37 + (uint)bVar42 * -2 + 1;\n          }\n        }\n      }\n      uVar35 = DAT_0003f298;\n      if (DAT_0003f298 == 0xffffffff) {\n        DAT_0003f298 = 0x200;\n        uVar35 = 0x200;\n      }\n      else {\n        *(uint *)(sVar17 + 0x9c) = DAT_0003f298;\n      }\n      if (DAT_0003f294 != -1) {\n        *(int *)(sVar17 + 0xcc) = DAT_0003f294;\n      }\n      if (DAT_0003f290 != -1) {\n        *(int *)(sVar17 + 0xcc) = DAT_0003f290;\n      }\n      if (DAT_0003f28c != -1) {\n        *(int *)(sVar17 + 0x94) = DAT_0003f28c;\n      }\n      uVar26 = DAT_0003f288;\n      if (DAT_0003f288 == 0xffffffff) {\n        DAT_0003f288 = 0x1000;\n        uVar26 = 0x1000;\n      }\n      else {\n        *(uint *)(sVar17 + 0x98) = DAT_0003f288;\n      }\n      if (DAT_0003f284 != -1) {\n        *(int *)(sVar17 + 0xc4) = DAT_0003f284;\n      }\n      if (DAT_0003f280 != -1) {\n        *(int *)(sVar17 + 0xc4) = DAT_0003f280;\n      }\n      if (DAT_0003f27c != -1) {\n        *(short *)(sVar17 + 0xbc) = DAT_0003f27c;\n      }\n      if (DAT_0003f27a != -1) {\n        *(short *)(sVar17 + 0xa8) = DAT_0003f27a;\n      }\n      if (DAT_0003f278 != -1) {\n        *(short *)(sVar17 + 0xaa) = DAT_0003f278;\n      }\n      if (uVar26 < uVar35) {\n        sprintf((char *)local_44,"%08lx",uVar35);\n        sprintf((char *)&local_30,"%08lx",DAT_0003f288);\n        uVar10 = dcgettext(0,"warning: file alignment (0x%s) > section alignment (0x%s)",5);\n        FUN_0002b6d0(uVar10,local_44,&local_30);\n      }\n    }\n  }" { (expression_statement "iVar9 = 4;" (assignment_expression "iVar9 = 4" identifier = number_literal) ;) (expression_statement "pbVar32 = *(byte **)param_2[1];" (assignment_expression "pbVar32 = *(byte **)param_2[1]" identifier = (pointer_expression "*(byte **)param_2[1]" * (cast_expression "(byte **)param_2[1]" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "param_2[1]" identifier [ number_literal ])))) ;) (expression_statement "pbVar36 = &DAT_0002e16a;" (assignment_expression "pbVar36 = &DAT_0002e16a" identifier = (pointer_expression "&DAT_0002e16a" & identifier)) ;) (do_statement "do {\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar40 = *pbVar32 < *pbVar36;\n      bVar41 = *pbVar32 == *pbVar36;\n      pbVar32 = pbVar32 + (uint)bVar42 * -2 + 1;\n      pbVar36 = pbVar36 + (uint)bVar42 * -2 + 1;\n    } while (bVar41);" do (compound_statement "{\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar40 = *pbVar32 < *pbVar36;\n      bVar41 = *pbVar32 == *pbVar36;\n      pbVar32 = pbVar32 + (uint)bVar42 * -2 + 1;\n      pbVar36 = pbVar36 + (uint)bVar42 * -2 + 1;\n    }" { (if_statement "if (iVar9 == 0) break;" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar9 = iVar9 + -1;" (assignment_expression "iVar9 = iVar9 + -1" identifier = (binary_expression "iVar9 + -1" identifier + number_literal)) ;) (expression_statement "bVar40 = *pbVar32 < *pbVar36;" (assignment_expression "bVar40 = *pbVar32 < *pbVar36" identifier = (binary_expression "*pbVar32 < *pbVar36" (pointer_expression "*pbVar32" * identifier) < (pointer_expression "*pbVar36" * identifier))) ;) (expression_statement "bVar41 = *pbVar32 == *pbVar36;" (assignment_expression "bVar41 = *pbVar32 == *pbVar36" identifier = (binary_expression "*pbVar32 == *pbVar36" (pointer_expression "*pbVar32" * identifier) == (pointer_expression "*pbVar36" * identifier))) ;) (expression_statement "pbVar32 = pbVar32 + (uint)bVar42 * -2 + 1;" (assignment_expression "pbVar32 = pbVar32 + (uint)bVar42 * -2 + 1" identifier = (binary_expression "pbVar32 + (uint)bVar42 * -2 + 1" (binary_expression "pbVar32 + (uint)bVar42 * -2" identifier + (binary_expression "(uint)bVar42 * -2" (cast_expression "(uint)bVar42" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar36 = pbVar36 + (uint)bVar42 * -2 + 1;" (assignment_expression "pbVar36 = pbVar36 + (uint)bVar42 * -2 + 1" identifier = (binary_expression "pbVar36 + (uint)bVar42 * -2 + 1" (binary_expression "pbVar36 + (uint)bVar42 * -2" identifier + (binary_expression "(uint)bVar42 * -2" (cast_expression "(uint)bVar42" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar41)" ( identifier )) ;) (if_statement "if ((!bVar40 && !bVar41) == bVar40) {\n      sVar17 = param_2[0x27];\n      uVar35 = ((undefined4 *)param_1[1])[1];\n      bVar40 = uVar35 < 2;\n      bVar41 = uVar35 == 2;\n      if (bVar41) {\n        iVar9 = 4;\n        pbVar32 = *(byte **)param_1[1];\n        pbVar36 = &DAT_0002e16a;\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar40 = *pbVar32 < *pbVar36;\n          bVar41 = *pbVar32 == *pbVar36;\n          pbVar32 = pbVar32 + (uint)bVar42 * -2 + 1;\n          pbVar36 = pbVar36 + (uint)bVar42 * -2 + 1;\n        } while (bVar41);\n        if ((!bVar40 && !bVar41) == bVar40) {\n          puVar33 = (undefined4 *)(param_1[0x27] + 0x78);\n          puVar37 = (undefined4 *)(sVar17 + 0x78);\n          for (iVar9 = 0x38; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar37 = *puVar33;\n            puVar33 = puVar33 + (uint)bVar42 * -2 + 1;\n            puVar37 = puVar37 + (uint)bVar42 * -2 + 1;\n          }\n        }\n      }\n      uVar35 = DAT_0003f298;\n      if (DAT_0003f298 == 0xffffffff) {\n        DAT_0003f298 = 0x200;\n        uVar35 = 0x200;\n      }\n      else {\n        *(uint *)(sVar17 + 0x9c) = DAT_0003f298;\n      }\n      if (DAT_0003f294 != -1) {\n        *(int *)(sVar17 + 0xcc) = DAT_0003f294;\n      }\n      if (DAT_0003f290 != -1) {\n        *(int *)(sVar17 + 0xcc) = DAT_0003f290;\n      }\n      if (DAT_0003f28c != -1) {\n        *(int *)(sVar17 + 0x94) = DAT_0003f28c;\n      }\n      uVar26 = DAT_0003f288;\n      if (DAT_0003f288 == 0xffffffff) {\n        DAT_0003f288 = 0x1000;\n        uVar26 = 0x1000;\n      }\n      else {\n        *(uint *)(sVar17 + 0x98) = DAT_0003f288;\n      }\n      if (DAT_0003f284 != -1) {\n        *(int *)(sVar17 + 0xc4) = DAT_0003f284;\n      }\n      if (DAT_0003f280 != -1) {\n        *(int *)(sVar17 + 0xc4) = DAT_0003f280;\n      }\n      if (DAT_0003f27c != -1) {\n        *(short *)(sVar17 + 0xbc) = DAT_0003f27c;\n      }\n      if (DAT_0003f27a != -1) {\n        *(short *)(sVar17 + 0xa8) = DAT_0003f27a;\n      }\n      if (DAT_0003f278 != -1) {\n        *(short *)(sVar17 + 0xaa) = DAT_0003f278;\n      }\n      if (uVar26 < uVar35) {\n        sprintf((char *)local_44,"%08lx",uVar35);\n        sprintf((char *)&local_30,"%08lx",DAT_0003f288);\n        uVar10 = dcgettext(0,"warning: file alignment (0x%s) > section alignment (0x%s)",5);\n        FUN_0002b6d0(uVar10,local_44,&local_30);\n      }\n    }" if (parenthesized_expression "((!bVar40 && !bVar41) == bVar40)" ( (binary_expression "(!bVar40 && !bVar41) == bVar40" (parenthesized_expression "(!bVar40 && !bVar41)" ( (binary_expression "!bVar40 && !bVar41" (unary_expression "!bVar40" ! identifier) && (unary_expression "!bVar41" ! identifier)) )) == identifier) )) (compound_statement "{\n      sVar17 = param_2[0x27];\n      uVar35 = ((undefined4 *)param_1[1])[1];\n      bVar40 = uVar35 < 2;\n      bVar41 = uVar35 == 2;\n      if (bVar41) {\n        iVar9 = 4;\n        pbVar32 = *(byte **)param_1[1];\n        pbVar36 = &DAT_0002e16a;\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar40 = *pbVar32 < *pbVar36;\n          bVar41 = *pbVar32 == *pbVar36;\n          pbVar32 = pbVar32 + (uint)bVar42 * -2 + 1;\n          pbVar36 = pbVar36 + (uint)bVar42 * -2 + 1;\n        } while (bVar41);\n        if ((!bVar40 && !bVar41) == bVar40) {\n          puVar33 = (undefined4 *)(param_1[0x27] + 0x78);\n          puVar37 = (undefined4 *)(sVar17 + 0x78);\n          for (iVar9 = 0x38; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar37 = *puVar33;\n            puVar33 = puVar33 + (uint)bVar42 * -2 + 1;\n            puVar37 = puVar37 + (uint)bVar42 * -2 + 1;\n          }\n        }\n      }\n      uVar35 = DAT_0003f298;\n      if (DAT_0003f298 == 0xffffffff) {\n        DAT_0003f298 = 0x200;\n        uVar35 = 0x200;\n      }\n      else {\n        *(uint *)(sVar17 + 0x9c) = DAT_0003f298;\n      }\n      if (DAT_0003f294 != -1) {\n        *(int *)(sVar17 + 0xcc) = DAT_0003f294;\n      }\n      if (DAT_0003f290 != -1) {\n        *(int *)(sVar17 + 0xcc) = DAT_0003f290;\n      }\n      if (DAT_0003f28c != -1) {\n        *(int *)(sVar17 + 0x94) = DAT_0003f28c;\n      }\n      uVar26 = DAT_0003f288;\n      if (DAT_0003f288 == 0xffffffff) {\n        DAT_0003f288 = 0x1000;\n        uVar26 = 0x1000;\n      }\n      else {\n        *(uint *)(sVar17 + 0x98) = DAT_0003f288;\n      }\n      if (DAT_0003f284 != -1) {\n        *(int *)(sVar17 + 0xc4) = DAT_0003f284;\n      }\n      if (DAT_0003f280 != -1) {\n        *(int *)(sVar17 + 0xc4) = DAT_0003f280;\n      }\n      if (DAT_0003f27c != -1) {\n        *(short *)(sVar17 + 0xbc) = DAT_0003f27c;\n      }\n      if (DAT_0003f27a != -1) {\n        *(short *)(sVar17 + 0xa8) = DAT_0003f27a;\n      }\n      if (DAT_0003f278 != -1) {\n        *(short *)(sVar17 + 0xaa) = DAT_0003f278;\n      }\n      if (uVar26 < uVar35) {\n        sprintf((char *)local_44,"%08lx",uVar35);\n        sprintf((char *)&local_30,"%08lx",DAT_0003f288);\n        uVar10 = dcgettext(0,"warning: file alignment (0x%s) > section alignment (0x%s)",5);\n        FUN_0002b6d0(uVar10,local_44,&local_30);\n      }\n    }" { (expression_statement "sVar17 = param_2[0x27];" (assignment_expression "sVar17 = param_2[0x27]" identifier = (subscript_expression "param_2[0x27]" identifier [ number_literal ])) ;) (expression_statement "uVar35 = ((undefined4 *)param_1[1])[1];" (assignment_expression "uVar35 = ((undefined4 *)param_1[1])[1]" identifier = (subscript_expression "((undefined4 *)param_1[1])[1]" (parenthesized_expression "((undefined4 *)param_1[1])" ( (cast_expression "(undefined4 *)param_1[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[1]" identifier [ number_literal ])) )) [ number_literal ])) ;) (expression_statement "bVar40 = uVar35 < 2;" (assignment_expression "bVar40 = uVar35 < 2" identifier = (binary_expression "uVar35 < 2" identifier < number_literal)) ;) (expression_statement "bVar41 = uVar35 == 2;" (assignment_expression "bVar41 = uVar35 == 2" identifier = (binary_expression "uVar35 == 2" identifier == number_literal)) ;) (if_statement "if (bVar41) {\n        iVar9 = 4;\n        pbVar32 = *(byte **)param_1[1];\n        pbVar36 = &DAT_0002e16a;\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar40 = *pbVar32 < *pbVar36;\n          bVar41 = *pbVar32 == *pbVar36;\n          pbVar32 = pbVar32 + (uint)bVar42 * -2 + 1;\n          pbVar36 = pbVar36 + (uint)bVar42 * -2 + 1;\n        } while (bVar41);\n        if ((!bVar40 && !bVar41) == bVar40) {\n          puVar33 = (undefined4 *)(param_1[0x27] + 0x78);\n          puVar37 = (undefined4 *)(sVar17 + 0x78);\n          for (iVar9 = 0x38; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar37 = *puVar33;\n            puVar33 = puVar33 + (uint)bVar42 * -2 + 1;\n            puVar37 = puVar37 + (uint)bVar42 * -2 + 1;\n          }\n        }\n      }" if (parenthesized_expression "(bVar41)" ( identifier )) (compound_statement "{\n        iVar9 = 4;\n        pbVar32 = *(byte **)param_1[1];\n        pbVar36 = &DAT_0002e16a;\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar40 = *pbVar32 < *pbVar36;\n          bVar41 = *pbVar32 == *pbVar36;\n          pbVar32 = pbVar32 + (uint)bVar42 * -2 + 1;\n          pbVar36 = pbVar36 + (uint)bVar42 * -2 + 1;\n        } while (bVar41);\n        if ((!bVar40 && !bVar41) == bVar40) {\n          puVar33 = (undefined4 *)(param_1[0x27] + 0x78);\n          puVar37 = (undefined4 *)(sVar17 + 0x78);\n          for (iVar9 = 0x38; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar37 = *puVar33;\n            puVar33 = puVar33 + (uint)bVar42 * -2 + 1;\n            puVar37 = puVar37 + (uint)bVar42 * -2 + 1;\n          }\n        }\n      }" { (expression_statement "iVar9 = 4;" (assignment_expression "iVar9 = 4" identifier = number_literal) ;) (expression_statement "pbVar32 = *(byte **)param_1[1];" (assignment_expression "pbVar32 = *(byte **)param_1[1]" identifier = (pointer_expression "*(byte **)param_1[1]" * (cast_expression "(byte **)param_1[1]" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "param_1[1]" identifier [ number_literal ])))) ;) (expression_statement "pbVar36 = &DAT_0002e16a;" (assignment_expression "pbVar36 = &DAT_0002e16a" identifier = (pointer_expression "&DAT_0002e16a" & identifier)) ;) (do_statement "do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar40 = *pbVar32 < *pbVar36;\n          bVar41 = *pbVar32 == *pbVar36;\n          pbVar32 = pbVar32 + (uint)bVar42 * -2 + 1;\n          pbVar36 = pbVar36 + (uint)bVar42 * -2 + 1;\n        } while (bVar41);" do (compound_statement "{\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar40 = *pbVar32 < *pbVar36;\n          bVar41 = *pbVar32 == *pbVar36;\n          pbVar32 = pbVar32 + (uint)bVar42 * -2 + 1;\n          pbVar36 = pbVar36 + (uint)bVar42 * -2 + 1;\n        }" { (if_statement "if (iVar9 == 0) break;" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar9 = iVar9 + -1;" (assignment_expression "iVar9 = iVar9 + -1" identifier = (binary_expression "iVar9 + -1" identifier + number_literal)) ;) (expression_statement "bVar40 = *pbVar32 < *pbVar36;" (assignment_expression "bVar40 = *pbVar32 < *pbVar36" identifier = (binary_expression "*pbVar32 < *pbVar36" (pointer_expression "*pbVar32" * identifier) < (pointer_expression "*pbVar36" * identifier))) ;) (expression_statement "bVar41 = *pbVar32 == *pbVar36;" (assignment_expression "bVar41 = *pbVar32 == *pbVar36" identifier = (binary_expression "*pbVar32 == *pbVar36" (pointer_expression "*pbVar32" * identifier) == (pointer_expression "*pbVar36" * identifier))) ;) (expression_statement "pbVar32 = pbVar32 + (uint)bVar42 * -2 + 1;" (assignment_expression "pbVar32 = pbVar32 + (uint)bVar42 * -2 + 1" identifier = (binary_expression "pbVar32 + (uint)bVar42 * -2 + 1" (binary_expression "pbVar32 + (uint)bVar42 * -2" identifier + (binary_expression "(uint)bVar42 * -2" (cast_expression "(uint)bVar42" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar36 = pbVar36 + (uint)bVar42 * -2 + 1;" (assignment_expression "pbVar36 = pbVar36 + (uint)bVar42 * -2 + 1" identifier = (binary_expression "pbVar36 + (uint)bVar42 * -2 + 1" (binary_expression "pbVar36 + (uint)bVar42 * -2" identifier + (binary_expression "(uint)bVar42 * -2" (cast_expression "(uint)bVar42" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar41)" ( identifier )) ;) (if_statement "if ((!bVar40 && !bVar41) == bVar40) {\n          puVar33 = (undefined4 *)(param_1[0x27] + 0x78);\n          puVar37 = (undefined4 *)(sVar17 + 0x78);\n          for (iVar9 = 0x38; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar37 = *puVar33;\n            puVar33 = puVar33 + (uint)bVar42 * -2 + 1;\n            puVar37 = puVar37 + (uint)bVar42 * -2 + 1;\n          }\n        }" if (parenthesized_expression "((!bVar40 && !bVar41) == bVar40)" ( (binary_expression "(!bVar40 && !bVar41) == bVar40" (parenthesized_expression "(!bVar40 && !bVar41)" ( (binary_expression "!bVar40 && !bVar41" (unary_expression "!bVar40" ! identifier) && (unary_expression "!bVar41" ! identifier)) )) == identifier) )) (compound_statement "{\n          puVar33 = (undefined4 *)(param_1[0x27] + 0x78);\n          puVar37 = (undefined4 *)(sVar17 + 0x78);\n          for (iVar9 = 0x38; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar37 = *puVar33;\n            puVar33 = puVar33 + (uint)bVar42 * -2 + 1;\n            puVar37 = puVar37 + (uint)bVar42 * -2 + 1;\n          }\n        }" { (expression_statement "puVar33 = (undefined4 *)(param_1[0x27] + 0x78);" (assignment_expression "puVar33 = (undefined4 *)(param_1[0x27] + 0x78)" identifier = (cast_expression "(undefined4 *)(param_1[0x27] + 0x78)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x27] + 0x78)" ( (binary_expression "param_1[0x27] + 0x78" (subscript_expression "param_1[0x27]" identifier [ number_literal ]) + number_literal) )))) ;) (expression_statement "puVar37 = (undefined4 *)(sVar17 + 0x78);" (assignment_expression "puVar37 = (undefined4 *)(sVar17 + 0x78)" identifier = (cast_expression "(undefined4 *)(sVar17 + 0x78)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar17 + 0x78)" ( (binary_expression "sVar17 + 0x78" identifier + number_literal) )))) ;) (for_statement "for (iVar9 = 0x38; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar37 = *puVar33;\n            puVar33 = puVar33 + (uint)bVar42 * -2 + 1;\n            puVar37 = puVar37 + (uint)bVar42 * -2 + 1;\n          }" for ( (assignment_expression "iVar9 = 0x38" identifier = number_literal) ; (binary_expression "iVar9 != 0" identifier != number_literal) ; (assignment_expression "iVar9 = iVar9 + -1" identifier = (binary_expression "iVar9 + -1" identifier + number_literal)) ) (compound_statement "{\n            *puVar37 = *puVar33;\n            puVar33 = puVar33 + (uint)bVar42 * -2 + 1;\n            puVar37 = puVar37 + (uint)bVar42 * -2 + 1;\n          }" { (expression_statement "*puVar37 = *puVar33;" (assignment_expression "*puVar37 = *puVar33" (pointer_expression "*puVar37" * identifier) = (pointer_expression "*puVar33" * identifier)) ;) (expression_statement "puVar33 = puVar33 + (uint)bVar42 * -2 + 1;" (assignment_expression "puVar33 = puVar33 + (uint)bVar42 * -2 + 1" identifier = (binary_expression "puVar33 + (uint)bVar42 * -2 + 1" (binary_expression "puVar33 + (uint)bVar42 * -2" identifier + (binary_expression "(uint)bVar42 * -2" (cast_expression "(uint)bVar42" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "puVar37 = puVar37 + (uint)bVar42 * -2 + 1;" (assignment_expression "puVar37 = puVar37 + (uint)bVar42 * -2 + 1" identifier = (binary_expression "puVar37 + (uint)bVar42 * -2 + 1" (binary_expression "puVar37 + (uint)bVar42 * -2" identifier + (binary_expression "(uint)bVar42 * -2" (cast_expression "(uint)bVar42" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) })) })) (expression_statement "uVar35 = DAT_0003f298;" (assignment_expression "uVar35 = DAT_0003f298" identifier = identifier) ;) (if_statement "if (DAT_0003f298 == 0xffffffff) {\n        DAT_0003f298 = 0x200;\n        uVar35 = 0x200;\n      }\n      else {\n        *(uint *)(sVar17 + 0x9c) = DAT_0003f298;\n      }" if (parenthesized_expression "(DAT_0003f298 == 0xffffffff)" ( (binary_expression "DAT_0003f298 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n        DAT_0003f298 = 0x200;\n        uVar35 = 0x200;\n      }" { (expression_statement "DAT_0003f298 = 0x200;" (assignment_expression "DAT_0003f298 = 0x200" identifier = number_literal) ;) (expression_statement "uVar35 = 0x200;" (assignment_expression "uVar35 = 0x200" identifier = number_literal) ;) }) (else_clause "else {\n        *(uint *)(sVar17 + 0x9c) = DAT_0003f298;\n      }" else (compound_statement "{\n        *(uint *)(sVar17 + 0x9c) = DAT_0003f298;\n      }" { (expression_statement "*(uint *)(sVar17 + 0x9c) = DAT_0003f298;" (assignment_expression "*(uint *)(sVar17 + 0x9c) = DAT_0003f298" (pointer_expression "*(uint *)(sVar17 + 0x9c)" * (cast_expression "(uint *)(sVar17 + 0x9c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar17 + 0x9c)" ( (binary_expression "sVar17 + 0x9c" identifier + number_literal) )))) = identifier) ;) }))) (if_statement "if (DAT_0003f294 != -1) {\n        *(int *)(sVar17 + 0xcc) = DAT_0003f294;\n      }" if (parenthesized_expression "(DAT_0003f294 != -1)" ( (binary_expression "DAT_0003f294 != -1" identifier != number_literal) )) (compound_statement "{\n        *(int *)(sVar17 + 0xcc) = DAT_0003f294;\n      }" { (expression_statement "*(int *)(sVar17 + 0xcc) = DAT_0003f294;" (assignment_expression "*(int *)(sVar17 + 0xcc) = DAT_0003f294" (pointer_expression "*(int *)(sVar17 + 0xcc)" * (cast_expression "(int *)(sVar17 + 0xcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar17 + 0xcc)" ( (binary_expression "sVar17 + 0xcc" identifier + number_literal) )))) = identifier) ;) })) (if_statement "if (DAT_0003f290 != -1) {\n        *(int *)(sVar17 + 0xcc) = DAT_0003f290;\n      }" if (parenthesized_expression "(DAT_0003f290 != -1)" ( (binary_expression "DAT_0003f290 != -1" identifier != number_literal) )) (compound_statement "{\n        *(int *)(sVar17 + 0xcc) = DAT_0003f290;\n      }" { (expression_statement "*(int *)(sVar17 + 0xcc) = DAT_0003f290;" (assignment_expression "*(int *)(sVar17 + 0xcc) = DAT_0003f290" (pointer_expression "*(int *)(sVar17 + 0xcc)" * (cast_expression "(int *)(sVar17 + 0xcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar17 + 0xcc)" ( (binary_expression "sVar17 + 0xcc" identifier + number_literal) )))) = identifier) ;) })) (if_statement "if (DAT_0003f28c != -1) {\n        *(int *)(sVar17 + 0x94) = DAT_0003f28c;\n      }" if (parenthesized_expression "(DAT_0003f28c != -1)" ( (binary_expression "DAT_0003f28c != -1" identifier != number_literal) )) (compound_statement "{\n        *(int *)(sVar17 + 0x94) = DAT_0003f28c;\n      }" { (expression_statement "*(int *)(sVar17 + 0x94) = DAT_0003f28c;" (assignment_expression "*(int *)(sVar17 + 0x94) = DAT_0003f28c" (pointer_expression "*(int *)(sVar17 + 0x94)" * (cast_expression "(int *)(sVar17 + 0x94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar17 + 0x94)" ( (binary_expression "sVar17 + 0x94" identifier + number_literal) )))) = identifier) ;) })) (expression_statement "uVar26 = DAT_0003f288;" (assignment_expression "uVar26 = DAT_0003f288" identifier = identifier) ;) (if_statement "if (DAT_0003f288 == 0xffffffff) {\n        DAT_0003f288 = 0x1000;\n        uVar26 = 0x1000;\n      }\n      else {\n        *(uint *)(sVar17 + 0x98) = DAT_0003f288;\n      }" if (parenthesized_expression "(DAT_0003f288 == 0xffffffff)" ( (binary_expression "DAT_0003f288 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n        DAT_0003f288 = 0x1000;\n        uVar26 = 0x1000;\n      }" { (expression_statement "DAT_0003f288 = 0x1000;" (assignment_expression "DAT_0003f288 = 0x1000" identifier = number_literal) ;) (expression_statement "uVar26 = 0x1000;" (assignment_expression "uVar26 = 0x1000" identifier = number_literal) ;) }) (else_clause "else {\n        *(uint *)(sVar17 + 0x98) = DAT_0003f288;\n      }" else (compound_statement "{\n        *(uint *)(sVar17 + 0x98) = DAT_0003f288;\n      }" { (expression_statement "*(uint *)(sVar17 + 0x98) = DAT_0003f288;" (assignment_expression "*(uint *)(sVar17 + 0x98) = DAT_0003f288" (pointer_expression "*(uint *)(sVar17 + 0x98)" * (cast_expression "(uint *)(sVar17 + 0x98)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar17 + 0x98)" ( (binary_expression "sVar17 + 0x98" identifier + number_literal) )))) = identifier) ;) }))) (if_statement "if (DAT_0003f284 != -1) {\n        *(int *)(sVar17 + 0xc4) = DAT_0003f284;\n      }" if (parenthesized_expression "(DAT_0003f284 != -1)" ( (binary_expression "DAT_0003f284 != -1" identifier != number_literal) )) (compound_statement "{\n        *(int *)(sVar17 + 0xc4) = DAT_0003f284;\n      }" { (expression_statement "*(int *)(sVar17 + 0xc4) = DAT_0003f284;" (assignment_expression "*(int *)(sVar17 + 0xc4) = DAT_0003f284" (pointer_expression "*(int *)(sVar17 + 0xc4)" * (cast_expression "(int *)(sVar17 + 0xc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar17 + 0xc4)" ( (binary_expression "sVar17 + 0xc4" identifier + number_literal) )))) = identifier) ;) })) (if_statement "if (DAT_0003f280 != -1) {\n        *(int *)(sVar17 + 0xc4) = DAT_0003f280;\n      }" if (parenthesized_expression "(DAT_0003f280 != -1)" ( (binary_expression "DAT_0003f280 != -1" identifier != number_literal) )) (compound_statement "{\n        *(int *)(sVar17 + 0xc4) = DAT_0003f280;\n      }" { (expression_statement "*(int *)(sVar17 + 0xc4) = DAT_0003f280;" (assignment_expression "*(int *)(sVar17 + 0xc4) = DAT_0003f280" (pointer_expression "*(int *)(sVar17 + 0xc4)" * (cast_expression "(int *)(sVar17 + 0xc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar17 + 0xc4)" ( (binary_expression "sVar17 + 0xc4" identifier + number_literal) )))) = identifier) ;) })) (if_statement "if (DAT_0003f27c != -1) {\n        *(short *)(sVar17 + 0xbc) = DAT_0003f27c;\n      }" if (parenthesized_expression "(DAT_0003f27c != -1)" ( (binary_expression "DAT_0003f27c != -1" identifier != number_literal) )) (compound_statement "{\n        *(short *)(sVar17 + 0xbc) = DAT_0003f27c;\n      }" { (expression_statement "*(short *)(sVar17 + 0xbc) = DAT_0003f27c;" (assignment_expression "*(short *)(sVar17 + 0xbc) = DAT_0003f27c" (pointer_expression "*(short *)(sVar17 + 0xbc)" * (cast_expression "(short *)(sVar17 + 0xbc)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar17 + 0xbc)" ( (binary_expression "sVar17 + 0xbc" identifier + number_literal) )))) = identifier) ;) })) (if_statement "if (DAT_0003f27a != -1) {\n        *(short *)(sVar17 + 0xa8) = DAT_0003f27a;\n      }" if (parenthesized_expression "(DAT_0003f27a != -1)" ( (binary_expression "DAT_0003f27a != -1" identifier != number_literal) )) (compound_statement "{\n        *(short *)(sVar17 + 0xa8) = DAT_0003f27a;\n      }" { (expression_statement "*(short *)(sVar17 + 0xa8) = DAT_0003f27a;" (assignment_expression "*(short *)(sVar17 + 0xa8) = DAT_0003f27a" (pointer_expression "*(short *)(sVar17 + 0xa8)" * (cast_expression "(short *)(sVar17 + 0xa8)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar17 + 0xa8)" ( (binary_expression "sVar17 + 0xa8" identifier + number_literal) )))) = identifier) ;) })) (if_statement "if (DAT_0003f278 != -1) {\n        *(short *)(sVar17 + 0xaa) = DAT_0003f278;\n      }" if (parenthesized_expression "(DAT_0003f278 != -1)" ( (binary_expression "DAT_0003f278 != -1" identifier != number_literal) )) (compound_statement "{\n        *(short *)(sVar17 + 0xaa) = DAT_0003f278;\n      }" { (expression_statement "*(short *)(sVar17 + 0xaa) = DAT_0003f278;" (assignment_expression "*(short *)(sVar17 + 0xaa) = DAT_0003f278" (pointer_expression "*(short *)(sVar17 + 0xaa)" * (cast_expression "(short *)(sVar17 + 0xaa)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar17 + 0xaa)" ( (binary_expression "sVar17 + 0xaa" identifier + number_literal) )))) = identifier) ;) })) (if_statement "if (uVar26 < uVar35) {\n        sprintf((char *)local_44,"%08lx",uVar35);\n        sprintf((char *)&local_30,"%08lx",DAT_0003f288);\n        uVar10 = dcgettext(0,"warning: file alignment (0x%s) > section alignment (0x%s)",5);\n        FUN_0002b6d0(uVar10,local_44,&local_30);\n      }" if (parenthesized_expression "(uVar26 < uVar35)" ( (binary_expression "uVar26 < uVar35" identifier < identifier) )) (compound_statement "{\n        sprintf((char *)local_44,"%08lx",uVar35);\n        sprintf((char *)&local_30,"%08lx",DAT_0003f288);\n        uVar10 = dcgettext(0,"warning: file alignment (0x%s) > section alignment (0x%s)",5);\n        FUN_0002b6d0(uVar10,local_44,&local_30);\n      }" { (expression_statement "sprintf((char *)local_44,"%08lx",uVar35);" (call_expression "sprintf((char *)local_44,"%08lx",uVar35)" identifier (argument_list "((char *)local_44,"%08lx",uVar35)" ( (cast_expression "(char *)local_44" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""%08lx"" " string_content ") , identifier ))) ;) (expression_statement "sprintf((char *)&local_30,"%08lx",DAT_0003f288);" (call_expression "sprintf((char *)&local_30,"%08lx",DAT_0003f288)" identifier (argument_list "((char *)&local_30,"%08lx",DAT_0003f288)" ( (cast_expression "(char *)&local_30" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_30" & identifier)) , (string_literal ""%08lx"" " string_content ") , identifier ))) ;) (expression_statement "uVar10 = dcgettext(0,"warning: file alignment (0x%s) > section alignment (0x%s)",5);" (assignment_expression "uVar10 = dcgettext(0,"warning: file alignment (0x%s) > section alignment (0x%s)",5)" identifier = (call_expression "dcgettext(0,"warning: file alignment (0x%s) > section alignment (0x%s)",5)" identifier (argument_list "(0,"warning: file alignment (0x%s) > section alignment (0x%s)",5)" ( number_literal , (string_literal ""warning: file alignment (0x%s) > section alignment (0x%s)"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0002b6d0(uVar10,local_44,&local_30);" (call_expression "FUN_0002b6d0(uVar10,local_44,&local_30)" identifier (argument_list "(uVar10,local_44,&local_30)" ( identifier , identifier , (pointer_expression "&local_30" & identifier) ))) ;) })) })) })) (expression_statement "piVar15 = DAT_0003fb9c;" (assignment_expression "piVar15 = DAT_0003fb9c" identifier = identifier) ;) (if_statement "if (DAT_0003fb9c != (int *)0x0) {\n    free(DAT_0003fb9c);\n  }" if (parenthesized_expression "(DAT_0003fb9c != (int *)0x0)" ( (binary_expression "DAT_0003fb9c != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    free(DAT_0003fb9c);\n  }" { (expression_statement "free(DAT_0003fb9c);" (call_expression "free(DAT_0003fb9c)" identifier (argument_list "(DAT_0003fb9c)" ( identifier ))) ;) })) (if_statement "if (piVar15 != DAT_0003fb98) {\n    free(DAT_0003fb98);\n  }" if (parenthesized_expression "(piVar15 != DAT_0003fb98)" ( (binary_expression "piVar15 != DAT_0003fb98" identifier != identifier) )) (compound_statement "{\n    free(DAT_0003fb98);\n  }" { (expression_statement "free(DAT_0003fb98);" (call_expression "free(DAT_0003fb98)" identifier (argument_list "(DAT_0003fb98)" ( identifier ))) ;) })) (expression_statement "DAT_0003fb9c = (int *)0x0;" (assignment_expression "DAT_0003fb9c = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "DAT_0003fb98 = (int *)0x0;" (assignment_expression "DAT_0003fb98 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar9 = (**(code **)(param_1[1] + 0x104))(param_1);" (assignment_expression "iVar9 = (**(code **)(param_1[1] + 0x104))(param_1)" identifier = (call_expression "(**(code **)(param_1[1] + 0x104))(param_1)" (parenthesized_expression "(**(code **)(param_1[1] + 0x104))" ( (pointer_expression "**(code **)(param_1[1] + 0x104)" * (pointer_expression "*(code **)(param_1[1] + 0x104)" * (cast_expression "(code **)(param_1[1] + 0x104)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1[1] + 0x104)" ( (binary_expression "param_1[1] + 0x104" (subscript_expression "param_1[1]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(param_1)" ( identifier )))) ;) (if_statement "if (iVar9 < 0) goto LAB_00018840;" if (parenthesized_expression "(iVar9 < 0)" ( (binary_expression "iVar9 < 0" identifier < number_literal) )) (goto_statement "goto LAB_00018840;" goto statement_identifier ;)) (expression_statement "DAT_0003fb98 = (int *)xmalloc(iVar9);" (assignment_expression "DAT_0003fb98 = (int *)xmalloc(iVar9)" identifier = (cast_expression "(int *)xmalloc(iVar9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(iVar9)" identifier (argument_list "(iVar9)" ( identifier ))))) ;) (expression_statement "DAT_0003fb9c = DAT_0003fb98;" (assignment_expression "DAT_0003fb9c = DAT_0003fb98" identifier = identifier) ;) (expression_statement "local_70 = (**(code **)(param_1[1] + 0x108))(param_1,DAT_0003fb98);" (assignment_expression "local_70 = (**(code **)(param_1[1] + 0x108))(param_1,DAT_0003fb98)" identifier = (call_expression "(**(code **)(param_1[1] + 0x108))(param_1,DAT_0003fb98)" (parenthesized_expression "(**(code **)(param_1[1] + 0x108))" ( (pointer_expression "**(code **)(param_1[1] + 0x108)" * (pointer_expression "*(code **)(param_1[1] + 0x108)" * (cast_expression "(code **)(param_1[1] + 0x108)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1[1] + 0x108)" ( (binary_expression "param_1[1] + 0x108" (subscript_expression "param_1[1]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(param_1,DAT_0003fb98)" ( identifier , identifier )))) ;) (if_statement "if (local_70 < 0) goto LAB_00018840;" if (parenthesized_expression "(local_70 < 0)" ( (binary_expression "local_70 < 0" identifier < number_literal) )) (goto_statement "goto LAB_00018840;" goto statement_identifier ;)) (if_statement "if (local_70 == 0) {\n    free(DAT_0003fb9c);\n    DAT_0003fb9c = (int *)0x0;\n    DAT_0003fb98 = (int *)0x0;\n  }" if (parenthesized_expression "(local_70 == 0)" ( (binary_expression "local_70 == 0" identifier == number_literal) )) (compound_statement "{\n    free(DAT_0003fb9c);\n    DAT_0003fb9c = (int *)0x0;\n    DAT_0003fb98 = (int *)0x0;\n  }" { (expression_statement "free(DAT_0003fb9c);" (call_expression "free(DAT_0003fb9c)" identifier (argument_list "(DAT_0003fb9c)" ( identifier ))) ;) (expression_statement "DAT_0003fb9c = (int *)0x0;" (assignment_expression "DAT_0003fb9c = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "DAT_0003fb98 = (int *)0x0;" (assignment_expression "DAT_0003fb98 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) (expression_statement "bfd_map_over_sections(param_1,FUN_000179b0,param_2);" (call_expression "bfd_map_over_sections(param_1,FUN_000179b0,param_2)" identifier (argument_list "(param_1,FUN_000179b0,param_2)" ( identifier , identifier , identifier ))) ;) (expression_statement "puVar33 = DAT_0003fb38;" (assignment_expression "puVar33 = DAT_0003fb38" identifier = identifier) ;) (if_statement "if ((DAT_0003facc == 0) &&\n     (iVar9 = (**(code **)(param_2[1] + 0xbc))(param_1,param_2), puVar33 = DAT_0003fb38, iVar9 == 0)\n     ) {\n    DAT_0003fb88 = 1;\n    uVar10 = dcgettext(0,"error in private header data",5);\n    FUN_0002c160(0,param_1,0,uVar10);\n    puVar33 = DAT_0003fb38;\n  }" if (parenthesized_expression "((DAT_0003facc == 0) &&\n     (iVar9 = (**(code **)(param_2[1] + 0xbc))(param_1,param_2), puVar33 = DAT_0003fb38, iVar9 == 0)\n     )" ( (binary_expression "(DAT_0003facc == 0) &&\n     (iVar9 = (**(code **)(param_2[1] + 0xbc))(param_1,param_2), puVar33 = DAT_0003fb38, iVar9 == 0)" (parenthesized_expression "(DAT_0003facc == 0)" ( (binary_expression "DAT_0003facc == 0" identifier == number_literal) )) && (parenthesized_expression "(iVar9 = (**(code **)(param_2[1] + 0xbc))(param_1,param_2), puVar33 = DAT_0003fb38, iVar9 == 0)" ( (comma_expression "iVar9 = (**(code **)(param_2[1] + 0xbc))(param_1,param_2), puVar33 = DAT_0003fb38, iVar9 == 0" (assignment_expression "iVar9 = (**(code **)(param_2[1] + 0xbc))(param_1,param_2)" identifier = (call_expression "(**(code **)(param_2[1] + 0xbc))(param_1,param_2)" (parenthesized_expression "(**(code **)(param_2[1] + 0xbc))" ( (pointer_expression "**(code **)(param_2[1] + 0xbc)" * (pointer_expression "*(code **)(param_2[1] + 0xbc)" * (cast_expression "(code **)(param_2[1] + 0xbc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2[1] + 0xbc)" ( (binary_expression "param_2[1] + 0xbc" (subscript_expression "param_2[1]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(param_1,param_2)" ( identifier , identifier )))) , (comma_expression "puVar33 = DAT_0003fb38, iVar9 == 0" (assignment_expression "puVar33 = DAT_0003fb38" identifier = identifier) , (binary_expression "iVar9 == 0" identifier == number_literal))) ))) )) (compound_statement "{\n    DAT_0003fb88 = 1;\n    uVar10 = dcgettext(0,"error in private header data",5);\n    FUN_0002c160(0,param_1,0,uVar10);\n    puVar33 = DAT_0003fb38;\n  }" { (expression_statement "DAT_0003fb88 = 1;" (assignment_expression "DAT_0003fb88 = 1" identifier = number_literal) ;) (expression_statement "uVar10 = dcgettext(0,"error in private header data",5);" (assignment_expression "uVar10 = dcgettext(0,"error in private header data",5)" identifier = (call_expression "dcgettext(0,"error in private header data",5)" identifier (argument_list "(0,"error in private header data",5)" ( number_literal , (string_literal ""error in private header data"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0002c160(0,param_1,0,uVar10);" (call_expression "FUN_0002c160(0,param_1,0,uVar10)" identifier (argument_list "(0,param_1,0,uVar10)" ( number_literal , identifier , number_literal , identifier ))) ;) (expression_statement "puVar33 = DAT_0003fb38;" (assignment_expression "puVar33 = DAT_0003fb38" identifier = identifier) ;) })) (for_statement "for (; puVar37 = DAT_0003fb34, puVar33 != (undefined4 *)0x0; puVar33 = (undefined4 *)*puVar33) {\n    uVar35 = 0x128;\n    iVar9 = FUN_00016910();\n    if (iVar9 != 0) {\n      uVar35 = *(uint *)(iVar9 + 0x18) | 0x100;\n    }\n    iVar9 = bfd_get_section_by_name(param_2,puVar33[1]);\n    if (iVar9 != 0) {\n      uVar10 = puVar33[1];\n      pcVar22 = "can\'t add section \'%s\'";\nLAB_00019719:\n      uVar11 = dcgettext(0,pcVar22,5);\n      FUN_0002c160(0,param_2,0,uVar11,uVar10);\n      return 0;\n    }\n    iVar9 = bfd_make_section_with_flags(param_2,puVar33[1],uVar35 | 0x100000);\n    puVar33[5] = iVar9;\n    if (iVar9 == 0) {\n      uVar10 = puVar33[1];\n      pcVar22 = "can\'t create section `%s\'";\n      goto LAB_00019719;\n    }\n    iVar9 = bfd_set_section_size(param_2,iVar9,puVar33[3]);\n    if (iVar9 == 0) {\n      psVar38 = (size_t *)puVar33[5];\n      local_50 = 0;\n      goto LAB_00019763;\n    }\n    iVar9 = FUN_00016910();\n    if (iVar9 != 0) {\n      uVar10 = *(undefined4 *)(iVar9 + 0x10);\n      iVar9 = puVar33[5];\n      *(byte *)(iVar9 + 0x18) = *(byte *)(iVar9 + 0x18) | 1;\n      *(undefined4 *)(iVar9 + 0x20) = uVar10;\n      *(undefined4 *)(iVar9 + 0x1c) = uVar10;\n    }\n    iVar9 = FUN_00016910();\n    if (iVar9 != 0) {\n      *(undefined4 *)(puVar33[5] + 0x20) = *(undefined4 *)(iVar9 + 0x14);\n    }\n  }" for ( ; (comma_expression "puVar37 = DAT_0003fb34, puVar33 != (undefined4 *)0x0" (assignment_expression "puVar37 = DAT_0003fb34" identifier = identifier) , (binary_expression "puVar33 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ; (assignment_expression "puVar33 = (undefined4 *)*puVar33" identifier = (cast_expression "(undefined4 *)*puVar33" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar33" * identifier))) ) (compound_statement "{\n    uVar35 = 0x128;\n    iVar9 = FUN_00016910();\n    if (iVar9 != 0) {\n      uVar35 = *(uint *)(iVar9 + 0x18) | 0x100;\n    }\n    iVar9 = bfd_get_section_by_name(param_2,puVar33[1]);\n    if (iVar9 != 0) {\n      uVar10 = puVar33[1];\n      pcVar22 = "can\'t add section \'%s\'";\nLAB_00019719:\n      uVar11 = dcgettext(0,pcVar22,5);\n      FUN_0002c160(0,param_2,0,uVar11,uVar10);\n      return 0;\n    }\n    iVar9 = bfd_make_section_with_flags(param_2,puVar33[1],uVar35 | 0x100000);\n    puVar33[5] = iVar9;\n    if (iVar9 == 0) {\n      uVar10 = puVar33[1];\n      pcVar22 = "can\'t create section `%s\'";\n      goto LAB_00019719;\n    }\n    iVar9 = bfd_set_section_size(param_2,iVar9,puVar33[3]);\n    if (iVar9 == 0) {\n      psVar38 = (size_t *)puVar33[5];\n      local_50 = 0;\n      goto LAB_00019763;\n    }\n    iVar9 = FUN_00016910();\n    if (iVar9 != 0) {\n      uVar10 = *(undefined4 *)(iVar9 + 0x10);\n      iVar9 = puVar33[5];\n      *(byte *)(iVar9 + 0x18) = *(byte *)(iVar9 + 0x18) | 1;\n      *(undefined4 *)(iVar9 + 0x20) = uVar10;\n      *(undefined4 *)(iVar9 + 0x1c) = uVar10;\n    }\n    iVar9 = FUN_00016910();\n    if (iVar9 != 0) {\n      *(undefined4 *)(puVar33[5] + 0x20) = *(undefined4 *)(iVar9 + 0x14);\n    }\n  }" { (expression_statement "uVar35 = 0x128;" (assignment_expression "uVar35 = 0x128" identifier = number_literal) ;) (expression_statement "iVar9 = FUN_00016910();" (assignment_expression "iVar9 = FUN_00016910()" identifier = (call_expression "FUN_00016910()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar9 != 0) {\n      uVar35 = *(uint *)(iVar9 + 0x18) | 0x100;\n    }" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (compound_statement "{\n      uVar35 = *(uint *)(iVar9 + 0x18) | 0x100;\n    }" { (expression_statement "uVar35 = *(uint *)(iVar9 + 0x18) | 0x100;" (assignment_expression "uVar35 = *(uint *)(iVar9 + 0x18) | 0x100" identifier = (binary_expression "*(uint *)(iVar9 + 0x18) | 0x100" (pointer_expression "*(uint *)(iVar9 + 0x18)" * (cast_expression "(uint *)(iVar9 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x18)" ( (binary_expression "iVar9 + 0x18" identifier + number_literal) )))) | number_literal)) ;) })) (expression_statement "iVar9 = bfd_get_section_by_name(param_2,puVar33[1]);" (assignment_expression "iVar9 = bfd_get_section_by_name(param_2,puVar33[1])" identifier = (call_expression "bfd_get_section_by_name(param_2,puVar33[1])" identifier (argument_list "(param_2,puVar33[1])" ( identifier , (subscript_expression "puVar33[1]" identifier [ number_literal ]) )))) ;) (if_statement "if (iVar9 != 0) {\n      uVar10 = puVar33[1];\n      pcVar22 = "can\'t add section \'%s\'";\nLAB_00019719:\n      uVar11 = dcgettext(0,pcVar22,5);\n      FUN_0002c160(0,param_2,0,uVar11,uVar10);\n      return 0;\n    }" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (compound_statement "{\n      uVar10 = puVar33[1];\n      pcVar22 = "can\'t add section \'%s\'";\nLAB_00019719:\n      uVar11 = dcgettext(0,pcVar22,5);\n      FUN_0002c160(0,param_2,0,uVar11,uVar10);\n      return 0;\n    }" { (expression_statement "uVar10 = puVar33[1];" (assignment_expression "uVar10 = puVar33[1]" identifier = (subscript_expression "puVar33[1]" identifier [ number_literal ])) ;) (expression_statement "pcVar22 = "can\'t add section \'%s\'";" (assignment_expression "pcVar22 = "can\'t add section \'%s\'"" identifier = (string_literal ""can\'t add section \'%s\'"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ")) ;) (labeled_statement "LAB_00019719:\n      uVar11 = dcgettext(0,pcVar22,5);" statement_identifier : (expression_statement "uVar11 = dcgettext(0,pcVar22,5);" (assignment_expression "uVar11 = dcgettext(0,pcVar22,5)" identifier = (call_expression "dcgettext(0,pcVar22,5)" identifier (argument_list "(0,pcVar22,5)" ( number_literal , identifier , number_literal )))) ;)) (expression_statement "FUN_0002c160(0,param_2,0,uVar11,uVar10);" (call_expression "FUN_0002c160(0,param_2,0,uVar11,uVar10)" identifier (argument_list "(0,param_2,0,uVar11,uVar10)" ( number_literal , identifier , number_literal , identifier , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "iVar9 = bfd_make_section_with_flags(param_2,puVar33[1],uVar35 | 0x100000);" (assignment_expression "iVar9 = bfd_make_section_with_flags(param_2,puVar33[1],uVar35 | 0x100000)" identifier = (call_expression "bfd_make_section_with_flags(param_2,puVar33[1],uVar35 | 0x100000)" identifier (argument_list "(param_2,puVar33[1],uVar35 | 0x100000)" ( identifier , (subscript_expression "puVar33[1]" identifier [ number_literal ]) , (binary_expression "uVar35 | 0x100000" identifier | number_literal) )))) ;) (expression_statement "puVar33[5] = iVar9;" (assignment_expression "puVar33[5] = iVar9" (subscript_expression "puVar33[5]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar9 == 0) {\n      uVar10 = puVar33[1];\n      pcVar22 = "can\'t create section `%s\'";\n      goto LAB_00019719;\n    }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n      uVar10 = puVar33[1];\n      pcVar22 = "can\'t create section `%s\'";\n      goto LAB_00019719;\n    }" { (expression_statement "uVar10 = puVar33[1];" (assignment_expression "uVar10 = puVar33[1]" identifier = (subscript_expression "puVar33[1]" identifier [ number_literal ])) ;) (expression_statement "pcVar22 = "can\'t create section `%s\'";" (assignment_expression "pcVar22 = "can\'t create section `%s\'"" identifier = (string_literal ""can\'t create section `%s\'"" " string_content escape_sequence string_content escape_sequence ")) ;) (goto_statement "goto LAB_00019719;" goto statement_identifier ;) })) (expression_statement "iVar9 = bfd_set_section_size(param_2,iVar9,puVar33[3]);" (assignment_expression "iVar9 = bfd_set_section_size(param_2,iVar9,puVar33[3])" identifier = (call_expression "bfd_set_section_size(param_2,iVar9,puVar33[3])" identifier (argument_list "(param_2,iVar9,puVar33[3])" ( identifier , identifier , (subscript_expression "puVar33[3]" identifier [ number_literal ]) )))) ;) (if_statement "if (iVar9 == 0) {\n      psVar38 = (size_t *)puVar33[5];\n      local_50 = 0;\n      goto LAB_00019763;\n    }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n      psVar38 = (size_t *)puVar33[5];\n      local_50 = 0;\n      goto LAB_00019763;\n    }" { (expression_statement "psVar38 = (size_t *)puVar33[5];" (assignment_expression "psVar38 = (size_t *)puVar33[5]" identifier = (cast_expression "(size_t *)puVar33[5]" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar33[5]" identifier [ number_literal ]))) ;) (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_00019763;" goto statement_identifier ;) })) (expression_statement "iVar9 = FUN_00016910();" (assignment_expression "iVar9 = FUN_00016910()" identifier = (call_expression "FUN_00016910()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar9 != 0) {\n      uVar10 = *(undefined4 *)(iVar9 + 0x10);\n      iVar9 = puVar33[5];\n      *(byte *)(iVar9 + 0x18) = *(byte *)(iVar9 + 0x18) | 1;\n      *(undefined4 *)(iVar9 + 0x20) = uVar10;\n      *(undefined4 *)(iVar9 + 0x1c) = uVar10;\n    }" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (compound_statement "{\n      uVar10 = *(undefined4 *)(iVar9 + 0x10);\n      iVar9 = puVar33[5];\n      *(byte *)(iVar9 + 0x18) = *(byte *)(iVar9 + 0x18) | 1;\n      *(undefined4 *)(iVar9 + 0x20) = uVar10;\n      *(undefined4 *)(iVar9 + 0x1c) = uVar10;\n    }" { (expression_statement "uVar10 = *(undefined4 *)(iVar9 + 0x10);" (assignment_expression "uVar10 = *(undefined4 *)(iVar9 + 0x10)" identifier = (pointer_expression "*(undefined4 *)(iVar9 + 0x10)" * (cast_expression "(undefined4 *)(iVar9 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x10)" ( (binary_expression "iVar9 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "iVar9 = puVar33[5];" (assignment_expression "iVar9 = puVar33[5]" identifier = (subscript_expression "puVar33[5]" identifier [ number_literal ])) ;) (expression_statement "*(byte *)(iVar9 + 0x18) = *(byte *)(iVar9 + 0x18) | 1;" (assignment_expression "*(byte *)(iVar9 + 0x18) = *(byte *)(iVar9 + 0x18) | 1" (pointer_expression "*(byte *)(iVar9 + 0x18)" * (cast_expression "(byte *)(iVar9 + 0x18)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x18)" ( (binary_expression "iVar9 + 0x18" identifier + number_literal) )))) = (binary_expression "*(byte *)(iVar9 + 0x18) | 1" (pointer_expression "*(byte *)(iVar9 + 0x18)" * (cast_expression "(byte *)(iVar9 + 0x18)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x18)" ( (binary_expression "iVar9 + 0x18" identifier + number_literal) )))) | number_literal)) ;) (expression_statement "*(undefined4 *)(iVar9 + 0x20) = uVar10;" (assignment_expression "*(undefined4 *)(iVar9 + 0x20) = uVar10" (pointer_expression "*(undefined4 *)(iVar9 + 0x20)" * (cast_expression "(undefined4 *)(iVar9 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x20)" ( (binary_expression "iVar9 + 0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(iVar9 + 0x1c) = uVar10;" (assignment_expression "*(undefined4 *)(iVar9 + 0x1c) = uVar10" (pointer_expression "*(undefined4 *)(iVar9 + 0x1c)" * (cast_expression "(undefined4 *)(iVar9 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x1c)" ( (binary_expression "iVar9 + 0x1c" identifier + number_literal) )))) = identifier) ;) })) (expression_statement "iVar9 = FUN_00016910();" (assignment_expression "iVar9 = FUN_00016910()" identifier = (call_expression "FUN_00016910()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar9 != 0) {\n      *(undefined4 *)(puVar33[5] + 0x20) = *(undefined4 *)(iVar9 + 0x14);\n    }" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (compound_statement "{\n      *(undefined4 *)(puVar33[5] + 0x20) = *(undefined4 *)(iVar9 + 0x14);\n    }" { (expression_statement "*(undefined4 *)(puVar33[5] + 0x20) = *(undefined4 *)(iVar9 + 0x14);" (assignment_expression "*(undefined4 *)(puVar33[5] + 0x20) = *(undefined4 *)(iVar9 + 0x14)" (pointer_expression "*(undefined4 *)(puVar33[5] + 0x20)" * (cast_expression "(undefined4 *)(puVar33[5] + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar33[5] + 0x20)" ( (binary_expression "puVar33[5] + 0x20" (subscript_expression "puVar33[5]" identifier [ number_literal ]) + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar9 + 0x14)" * (cast_expression "(undefined4 *)(iVar9 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x14)" ( (binary_expression "iVar9 + 0x14" identifier + number_literal) ))))) ;) })) })) (for_statement "for (; puVar37 != (undefined4 *)0x0; puVar37 = (undefined4 *)*puVar37) {\n    iVar9 = bfd_get_section_by_name(param_1,puVar37[1]);\n    puVar37[5] = iVar9;\n    if (iVar9 == 0) {\n      uVar10 = puVar37[1];\n      pcVar22 = "error: %s not found, can\'t be updated";\n      goto LAB_00018bc8;\n    }\n    psVar38 = *(size_t **)(iVar9 + 0x3c);\n    local_50 = bfd_set_section_size(param_2,psVar38,puVar37[3]);\n    if (local_50 == 0) goto LAB_00019763;\n  }" for ( ; (binary_expression "puVar37 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "puVar37 = (undefined4 *)*puVar37" identifier = (cast_expression "(undefined4 *)*puVar37" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar37" * identifier))) ) (compound_statement "{\n    iVar9 = bfd_get_section_by_name(param_1,puVar37[1]);\n    puVar37[5] = iVar9;\n    if (iVar9 == 0) {\n      uVar10 = puVar37[1];\n      pcVar22 = "error: %s not found, can\'t be updated";\n      goto LAB_00018bc8;\n    }\n    psVar38 = *(size_t **)(iVar9 + 0x3c);\n    local_50 = bfd_set_section_size(param_2,psVar38,puVar37[3]);\n    if (local_50 == 0) goto LAB_00019763;\n  }" { (expression_statement "iVar9 = bfd_get_section_by_name(param_1,puVar37[1]);" (assignment_expression "iVar9 = bfd_get_section_by_name(param_1,puVar37[1])" identifier = (call_expression "bfd_get_section_by_name(param_1,puVar37[1])" identifier (argument_list "(param_1,puVar37[1])" ( identifier , (subscript_expression "puVar37[1]" identifier [ number_literal ]) )))) ;) (expression_statement "puVar37[5] = iVar9;" (assignment_expression "puVar37[5] = iVar9" (subscript_expression "puVar37[5]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar9 == 0) {\n      uVar10 = puVar37[1];\n      pcVar22 = "error: %s not found, can\'t be updated";\n      goto LAB_00018bc8;\n    }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n      uVar10 = puVar37[1];\n      pcVar22 = "error: %s not found, can\'t be updated";\n      goto LAB_00018bc8;\n    }" { (expression_statement "uVar10 = puVar37[1];" (assignment_expression "uVar10 = puVar37[1]" identifier = (subscript_expression "puVar37[1]" identifier [ number_literal ])) ;) (expression_statement "pcVar22 = "error: %s not found, can\'t be updated";" (assignment_expression "pcVar22 = "error: %s not found, can\'t be updated"" identifier = (string_literal ""error: %s not found, can\'t be updated"" " string_content escape_sequence string_content ")) ;) (goto_statement "goto LAB_00018bc8;" goto statement_identifier ;) })) (expression_statement "psVar38 = *(size_t **)(iVar9 + 0x3c);" (assignment_expression "psVar38 = *(size_t **)(iVar9 + 0x3c)" identifier = (pointer_expression "*(size_t **)(iVar9 + 0x3c)" * (cast_expression "(size_t **)(iVar9 + 0x3c)" ( (type_descriptor "size_t **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar9 + 0x3c)" ( (binary_expression "iVar9 + 0x3c" identifier + number_literal) ))))) ;) (expression_statement "local_50 = bfd_set_section_size(param_2,psVar38,puVar37[3]);" (assignment_expression "local_50 = bfd_set_section_size(param_2,psVar38,puVar37[3])" identifier = (call_expression "bfd_set_section_size(param_2,psVar38,puVar37[3])" identifier (argument_list "(param_2,psVar38,puVar37[3])" ( identifier , identifier , (subscript_expression "puVar37[3]" identifier [ number_literal ]) )))) ;) (if_statement "if (local_50 == 0) goto LAB_00019763;" if (parenthesized_expression "(local_50 == 0)" ( (binary_expression "local_50 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00019763;" goto statement_identifier ;)) })) (if_statement "if ((((DAT_0003fb84 != 0) &&\n       (sVar17 = bfd_get_section_by_name(param_1,".gnu.build.attributes"), sVar17 != 0)) &&\n      (DAT_0003fb84 != 0)) &&\n     ((*(int *)(param_1[1] + 4) == 5 && (iVar9 = FUN_00017590(), iVar9 != 0)))) {\n    uVar35 = *(uint *)(sVar17 + 0x24);\n    if (uVar35 == 0) {\n      uVar10 = dcgettext(0,"warning: note section is empty",5,0);\n      FUN_0002c160(0,param_1,sVar17,uVar10);\n      DAT_0003fb84 = 0;\n    }\n    else {\n      iVar9 = bfd_get_full_section_contents(param_1,sVar17,&DAT_0003fb80,uVar35);\n      psVar38 = DAT_0003fb80;\n      if (iVar9 == 0) {\n        uVar10 = dcgettext(0,"warning: could not load note section",5,0);\n        FUN_0002c160(0,param_1,sVar17,uVar10);\n        free(DAT_0003fb80);\n        DAT_0003fb80 = (size_t *)0x0;\n        DAT_0003fb84 = 0;\n      }\n      else {\n        iVar9 = bfd_get_reloc_upper_bound(param_1,sVar17,sVar17,sVar17);\n        psVar20 = param_1;\n        sVar18 = sVar17;\n        if (0 < iVar9) {\n          psVar20 = (size_t *)xmalloc(iVar9);\n          sVar18 = bfd_canonicalize_reloc(param_1,sVar17,psVar20,DAT_0003fb9c);\n          free(psVar20);\n          if (sVar18 == 0) goto LAB_0001a478;\n          local_60 = (size_t *)0x0;\n          goto LAB_0001a75c;\n        }\nLAB_0001a478:\n        pvVar44 = (void *)0x24;\n        psVar46 = psVar20;\n        local_60 = (size_t *)xcalloc(uVar35 / 0xc,0x24,psVar20,psVar20);\n        local_90 = (void *)0x0;\n        local_98 = 0;\n        local_8c = 0;\n        local_94 = 0;\n        local_6c = 0;\n        local_84 = (int *)0x0;\n        local_80 = (size_t *)0x0;\n        psVar25 = psVar38;\n        psVar34 = psVar38;\n        local_74 = uVar35;\n        local_64 = local_60;\n        while (0xb < local_74) {\n          iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25);\n          uVar26 = iVar9 + 3U & 0xfffffffc;\n          *local_64 = uVar26;\n          iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25 + 1);\n          uVar39 = iVar9 + 3U & 0xfffffffc;\n          sVar18 = param_1[1];\n          local_64[1] = uVar39;\n          sVar23 = (**(code **)(sVar18 + 0x28))(psVar25 + 2);\n          local_64[2] = sVar23;\n          if (1 < sVar23 - 0x100) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: wrong note type",5,\n                              extraout_ECX_01);\n            goto LAB_0001a72d;\n          }\n          iVar9 = uVar26 + uVar39;\n          if (local_74 < iVar9 + 0xcU) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: note too big",5,psVar25);\n            goto LAB_0001a72d;\n          }\n          if (uVar26 < 2) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name too small",5,iVar9);\n            goto LAB_0001a72d;\n          }\n          local_64[3] = (size_t)(psVar25 + 3);\n          sVar2 = (int)psVar25 + uVar26 + 0xc;\n          local_64[4] = sVar2;\n          psVar34 = (size_t *)(-0xc - iVar9);\n          local_74 = local_74 + (int)psVar34;\n          cVar8 = (char)psVar25[3];\n          if (cVar8 == '$') {\n            if ((*(char *)((int)psVar25 + 0xd) == '\x01') && (*(char *)((int)psVar25 + 0xe) == '1'))\n            {\n              local_80 = (size_t *)((int)local_80 + 1);\n            }\n          }\n          else if ((((4 < uVar26) && (cVar8 == 'G')) && (*(char *)((int)psVar25 + 0xd) == 'A')) &&\n                  ((*(char *)((int)psVar25 + 0xe) == '$' &&\n                   (*(char *)((int)psVar25 + 0xf) == '\x01')))) {\n            cVar8 = (char)psVar25[4];\n            if (cVar8 == '2') {\n              local_84 = (int *)((int)local_84 + 1);\n            }\n            else {\n              if (cVar8 != '3') {\n                iVar9 = dcgettext(0,"corrupt GNU build attribute note: unsupported version",5,cVar8)\n                ;\n                goto LAB_0001a72d;\n              }\n              local_6c = local_6c + 1;\n            }\n          }\n          if (uVar39 == 4) {\n            sVar18 = (**(code **)(param_1[1] + 0x28))(sVar2);\n            pvVar24 = (void *)0xffffffff;\n          }\n          else if (uVar39 < 5) {\n            if (uVar39 != 0) {\nLAB_0001a7ea:\n              iVar9 = dcgettext(0,"corrupt GNU build attribute note: bad description size",5,cVar8);\n              goto LAB_0001a72d;\n            }\n            pvVar24 = (void *)0x0;\n            sVar18 = 0;\n          }\n          else {\n            psVar34 = param_1;\n            if (uVar39 == 8) {\n              sVar18 = param_1[1];\n              if ((*(int *)(sVar18 + 4) == 5) && (*(char *)(param_1[0x27] + 4) == '\x02')) {\n                sVar18 = (**(code **)(sVar18 + 0x1c))(sVar2);\n                pvVar24 = (void *)0xffffffff;\n              }\n              else {\n                sVar18 = (**(code **)(sVar18 + 0x28))(sVar2);\n                pvVar24 = (void *)(**(code **)(param_1[1] + 0x28))(sVar2 + 4);\n              }\n            }\n            else {\n              if (uVar39 != 0x10) goto LAB_0001a7ea;\n              sVar18 = (**(code **)(param_1[1] + 0x1c))(sVar2);\n              pvVar24 = (void *)(**(code **)(param_1[1] + 0x1c))(sVar2 + 8);\n            }\n          }\n          if (sVar23 == 0x100) {\n            if (sVar18 == 0) {\n              sVar18 = local_8c;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = local_90;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_90 = pvVar24;\n            local_8c = sVar18;\n          }\n          else {\n            if (sVar18 == 0) {\n              sVar18 = local_94;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = (void *)local_98;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_98 = (size_t)pvVar24;\n            local_94 = sVar18;\n          }\n          if (*(char *)((local_64[3] - 1) + *local_64) != '\0') {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name not NUL terminated",5,\n                              *local_64);\n            goto LAB_0001a72d;\n          }\n          local_64 = local_64 + 9;\n          psVar25 = (size_t *)(iVar9 + 0xcU + (int)psVar25);\n        }\n        if (local_74 == 0) {\n          uVar26 = (uint)local_84 | local_6c;\n          if (local_80 == (size_t *)0x0 && uVar26 == 0) {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: no known versions detected",5,uVar26\n                             );\n            goto LAB_0001a72d;\n          }\n          if (((local_80 != (size_t *)0x0) && (uVar26 != 0)) ||\n             ((local_84 != (int *)0x0 && (local_6c != 0)))) {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: multiple different versions",5,\n                              sVar18);\n            goto LAB_0001a72d;\n          }\n          if ((local_80 == (size_t *)0x1 || local_84 == (int *)0x1) || (local_6c == 1))\n          goto LAB_0001a75c;\n          uVar26 = -(uint)(local_80 == (size_t *)0x0) & 2;\n          iVar9 = uVar26 + 1;\n          if (*(char *)(local_60[3] + iVar9) != '\x01') {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: first note not version note",5,\n                              psVar34);\n            goto LAB_0001a72d;\n          }\n          bVar40 = false;\n          iVar12 = uVar26 + 2;\n          psVar25 = local_60;\nLAB_0001a954:\n          psVar34 = psVar25;\n          psVar25 = psVar34 + 9;\n          if (psVar25 < local_64) {\n            if (psVar34[0xb] == 0x100) {\n              pvVar24 = (void *)psVar34[0xc];\n              local_7c = (size_t *)0x0;\n              psVar45 = psVar25;\n              do {\n                do {\n                  psVar6 = psVar45;\n                  psVar45 = psVar6 + -9;\n                  if (psVar45 < local_60) goto LAB_0001a954;\n                  pvVar30 = (void *)psVar6[-6];\n                  psVar7 = local_7c;\n                } while ((((local_7c == (size_t *)0x0) && (psVar6[-8] != 0)) &&\n                         (psVar7 = psVar45, psVar6[-7] == 0x101)) ||\n                        ((local_7c = psVar7,\n                         *(char *)((int)pvVar24 + iVar9) != *(char *)((int)pvVar30 + iVar9) ||\n                         (psVar6[-7] != 0x100))));\n                if (*(char *)((int)pvVar30 + iVar9) != '\x04') {\n                  psVar45 = (size_t *)*psVar45;\n                  if ((((psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)) &&\n                      ((uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0))))\n                     && ((0xfffffff0 < uVar26 || (psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0))))) {\n                    psVar34[0xb] = 0;\n                    if (uVar26 < uVar39) {\n                      psVar6[-2] = uVar39;\n                    }\n                    bVar40 = true;\n                    if (local_6c != 0) {\n                      psVar6[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0)) {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    psVar34[0x11] = 1;\n                    psVar34[0xb] = 0x101;\n                    psVar6[-1] = 1;\n                    psVar6[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }\n                uVar26 = 0;\n                for (iVar21 = 0; (int)*psVar25 - iVar12 != iVar21; iVar21 = iVar21 + 1) {\n                  uVar26 = uVar26 | (uint)*(byte *)((int)pvVar24 + iVar21 + iVar12) <<\n                                    ((char)iVar21 * '\b' & 0x1fU);\n                }\n                sVar18 = *psVar45;\n                local_5c = (int *)0x0;\n                for (uVar39 = 0; sVar18 - iVar12 != uVar39; uVar39 = uVar39 + 1) {\n                  local_5c = (int *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39] <<\n                                    ((char)uVar39 * '\b' & 0x1fU));\n                }\n                uVar28 = 0;\n                uVar26 = (int)local_5c + uVar26;\n                for (uVar27 = uVar26; uVar27 != 0; uVar27 = uVar27 >> 8) {\n                  uVar28 = uVar28 + 1;\n                }\n              } while (uVar39 <= uVar28);\n              puVar29 = (undefined1 *)((int)pvVar30 + iVar12);\n              while (puVar29 < (undefined1 *)((int)pvVar30 + sVar18)) {\n                *puVar29 = (char)uVar26;\n                if (uVar26 == 0) break;\n                uVar26 = uVar26 >> 8;\n                puVar29 = puVar29 + 1;\n              }\n              psVar34[0xb] = 0;\n              bVar40 = true;\n            }\n            goto LAB_0001a954;\n          }\n          if (!bVar40) goto LAB_0001a75c;\n          pvVar24 = (void *)xmalloc(uVar35,pvVar44,psVar20,psVar46);\n          sVar18 = 0;\n          pvVar44 = pvVar24;\n          local_80 = psVar38;\n          for (psVar20 = local_60; psVar20 < local_64; psVar20 = psVar20 + 9) {\n            sVar23 = *psVar20;\n            __n = psVar20[1] + sVar23 + 0xc;\n            sVar2 = psVar20[2];\n            pvVar30 = pvVar44;\n            if (sVar2 != 0) {\n              if (psVar20[8] == 0) {\n                memcpy(pvVar44,local_80,__n);\n                pvVar30 = (void *)((int)pvVar44 + __n);\n              }\n              else {\n                sVar5 = psVar20[6];\n                __dest = (void *)((int)pvVar44 + 0xc);\n                pvVar30 = (void *)((int)__dest + sVar23);\n                if ((sVar5 == local_74) && (psVar20[7] == sVar18)) {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar5,sVar5);\n                  (**(code **)(param_1[1] + 0x30))(0,(int)pvVar44 + 4);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                }\n                else {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar18,sVar18);\n                  cVar8 = '\b';\n                  if (*(int *)(param_1[1] + 4) == 5) {\n                    cVar8 = (*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b';\n                  }\n                  (**(code **)(param_1[1] + 0x30))(cVar8,(int)pvVar44 + 4,sVar23,sVar23);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                  sVar18 = param_1[1];\n                  psVar25 = param_1;\n                  if ((*(int *)(sVar18 + 4) == 5) &&\n                     (psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02')) {\n                    (**(code **)(sVar18 + 0x24))(sVar5,0,pvVar30,psVar25);\n                    (**(code **)(param_1[1] + 0x24))(psVar20[7],0,(void *)((int)pvVar30 + 8));\n                    pvVar30 = (void *)((int)pvVar30 + 0x10);\n                  }\n                  else {\n                    (**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25);\n                    (**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4);\n                    pvVar30 = (void *)((int)pvVar30 + 8);\n                  }\n                }\n              }\n              local_74 = psVar20[6];\n              sVar18 = psVar20[7];\n            }\n            local_80 = (size_t *)((int)local_80 + __n);\n            pvVar44 = pvVar30;\n          }\n          sVar18 = (int)pvVar44 - (int)pvVar24;\n          memcpy(psVar38,pvVar24,sVar18);\n          free(pvVar24);\n          free(local_60);\n          DAT_0003fb7c = sVar18;\n          if (uVar35 != sVar18) {\n            uVar10 = extraout_ECX_02;\n            if ((*(int *)(sVar17 + 0x3c) != 0) &&\n               (iVar9 = bfd_set_section_size(param_2,*(int *)(sVar17 + 0x3c),sVar18,extraout_EDX),\n               uVar10 = extraout_ECX_03, iVar9 != 0)) goto LAB_00018aad;\n            uVar10 = dcgettext(0,"warning: failed to set merged notes size",5,uVar10);\n            FUN_0002c160(0,param_2,sVar17,uVar10);\n          }\n        }\n        else {\n          iVar9 = dcgettext(0,"corrupt GNU build attribute notes: excess data at end",5,local_64);\nLAB_0001a72d:\n          if (iVar9 != 0) {\n            bfd_set_error(0x11);\n            FUN_0002c160(0,param_1,sVar17,iVar9);\n            DAT_0003fb88 = 1;\n          }\nLAB_0001a75c:\n          free(local_60);\n        }\n        free(DAT_0003fb80);\n        DAT_0003fb80 = (size_t *)0x0;\n        DAT_0003fb84 = 0;\n        DAT_0003fb7c = 0;\n      }\n    }\n  }" if (parenthesized_expression "((((DAT_0003fb84 != 0) &&\n       (sVar17 = bfd_get_section_by_name(param_1,".gnu.build.attributes"), sVar17 != 0)) &&\n      (DAT_0003fb84 != 0)) &&\n     ((*(int *)(param_1[1] + 4) == 5 && (iVar9 = FUN_00017590(), iVar9 != 0))))" ( (binary_expression "(((DAT_0003fb84 != 0) &&\n       (sVar17 = bfd_get_section_by_name(param_1,".gnu.build.attributes"), sVar17 != 0)) &&\n      (DAT_0003fb84 != 0)) &&\n     ((*(int *)(param_1[1] + 4) == 5 && (iVar9 = FUN_00017590(), iVar9 != 0)))" (parenthesized_expression "(((DAT_0003fb84 != 0) &&\n       (sVar17 = bfd_get_section_by_name(param_1,".gnu.build.attributes"), sVar17 != 0)) &&\n      (DAT_0003fb84 != 0))" ( (binary_expression "((DAT_0003fb84 != 0) &&\n       (sVar17 = bfd_get_section_by_name(param_1,".gnu.build.attributes"), sVar17 != 0)) &&\n      (DAT_0003fb84 != 0)" (parenthesized_expression "((DAT_0003fb84 != 0) &&\n       (sVar17 = bfd_get_section_by_name(param_1,".gnu.build.attributes"), sVar17 != 0))" ( (binary_expression "(DAT_0003fb84 != 0) &&\n       (sVar17 = bfd_get_section_by_name(param_1,".gnu.build.attributes"), sVar17 != 0)" (parenthesized_expression "(DAT_0003fb84 != 0)" ( (binary_expression "DAT_0003fb84 != 0" identifier != number_literal) )) && (parenthesized_expression "(sVar17 = bfd_get_section_by_name(param_1,".gnu.build.attributes"), sVar17 != 0)" ( (comma_expression "sVar17 = bfd_get_section_by_name(param_1,".gnu.build.attributes"), sVar17 != 0" (assignment_expression "sVar17 = bfd_get_section_by_name(param_1,".gnu.build.attributes")" identifier = (call_expression "bfd_get_section_by_name(param_1,".gnu.build.attributes")" identifier (argument_list "(param_1,".gnu.build.attributes")" ( identifier , (string_literal "".gnu.build.attributes"" " string_content ") )))) , (binary_expression "sVar17 != 0" identifier != number_literal)) ))) )) && (parenthesized_expression "(DAT_0003fb84 != 0)" ( (binary_expression "DAT_0003fb84 != 0" identifier != number_literal) ))) )) && (parenthesized_expression "((*(int *)(param_1[1] + 4) == 5 && (iVar9 = FUN_00017590(), iVar9 != 0)))" ( (parenthesized_expression "(*(int *)(param_1[1] + 4) == 5 && (iVar9 = FUN_00017590(), iVar9 != 0))" ( (binary_expression "*(int *)(param_1[1] + 4) == 5 && (iVar9 = FUN_00017590(), iVar9 != 0)" (binary_expression "*(int *)(param_1[1] + 4) == 5" (pointer_expression "*(int *)(param_1[1] + 4)" * (cast_expression "(int *)(param_1[1] + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[1] + 4)" ( (binary_expression "param_1[1] + 4" (subscript_expression "param_1[1]" identifier [ number_literal ]) + number_literal) )))) == number_literal) && (parenthesized_expression "(iVar9 = FUN_00017590(), iVar9 != 0)" ( (comma_expression "iVar9 = FUN_00017590(), iVar9 != 0" (assignment_expression "iVar9 = FUN_00017590()" identifier = (call_expression "FUN_00017590()" identifier (argument_list "()" ( )))) , (binary_expression "iVar9 != 0" identifier != number_literal)) ))) )) ))) )) (compound_statement "{\n    uVar35 = *(uint *)(sVar17 + 0x24);\n    if (uVar35 == 0) {\n      uVar10 = dcgettext(0,"warning: note section is empty",5,0);\n      FUN_0002c160(0,param_1,sVar17,uVar10);\n      DAT_0003fb84 = 0;\n    }\n    else {\n      iVar9 = bfd_get_full_section_contents(param_1,sVar17,&DAT_0003fb80,uVar35);\n      psVar38 = DAT_0003fb80;\n      if (iVar9 == 0) {\n        uVar10 = dcgettext(0,"warning: could not load note section",5,0);\n        FUN_0002c160(0,param_1,sVar17,uVar10);\n        free(DAT_0003fb80);\n        DAT_0003fb80 = (size_t *)0x0;\n        DAT_0003fb84 = 0;\n      }\n      else {\n        iVar9 = bfd_get_reloc_upper_bound(param_1,sVar17,sVar17,sVar17);\n        psVar20 = param_1;\n        sVar18 = sVar17;\n        if (0 < iVar9) {\n          psVar20 = (size_t *)xmalloc(iVar9);\n          sVar18 = bfd_canonicalize_reloc(param_1,sVar17,psVar20,DAT_0003fb9c);\n          free(psVar20);\n          if (sVar18 == 0) goto LAB_0001a478;\n          local_60 = (size_t *)0x0;\n          goto LAB_0001a75c;\n        }\nLAB_0001a478:\n        pvVar44 = (void *)0x24;\n        psVar46 = psVar20;\n        local_60 = (size_t *)xcalloc(uVar35 / 0xc,0x24,psVar20,psVar20);\n        local_90 = (void *)0x0;\n        local_98 = 0;\n        local_8c = 0;\n        local_94 = 0;\n        local_6c = 0;\n        local_84 = (int *)0x0;\n        local_80 = (size_t *)0x0;\n        psVar25 = psVar38;\n        psVar34 = psVar38;\n        local_74 = uVar35;\n        local_64 = local_60;\n        while (0xb < local_74) {\n          iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25);\n          uVar26 = iVar9 + 3U & 0xfffffffc;\n          *local_64 = uVar26;\n          iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25 + 1);\n          uVar39 = iVar9 + 3U & 0xfffffffc;\n          sVar18 = param_1[1];\n          local_64[1] = uVar39;\n          sVar23 = (**(code **)(sVar18 + 0x28))(psVar25 + 2);\n          local_64[2] = sVar23;\n          if (1 < sVar23 - 0x100) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: wrong note type",5,\n                              extraout_ECX_01);\n            goto LAB_0001a72d;\n          }\n          iVar9 = uVar26 + uVar39;\n          if (local_74 < iVar9 + 0xcU) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: note too big",5,psVar25);\n            goto LAB_0001a72d;\n          }\n          if (uVar26 < 2) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name too small",5,iVar9);\n            goto LAB_0001a72d;\n          }\n          local_64[3] = (size_t)(psVar25 + 3);\n          sVar2 = (int)psVar25 + uVar26 + 0xc;\n          local_64[4] = sVar2;\n          psVar34 = (size_t *)(-0xc - iVar9);\n          local_74 = local_74 + (int)psVar34;\n          cVar8 = (char)psVar25[3];\n          if (cVar8 == '$') {\n            if ((*(char *)((int)psVar25 + 0xd) == '\x01') && (*(char *)((int)psVar25 + 0xe) == '1'))\n            {\n              local_80 = (size_t *)((int)local_80 + 1);\n            }\n          }\n          else if ((((4 < uVar26) && (cVar8 == 'G')) && (*(char *)((int)psVar25 + 0xd) == 'A')) &&\n                  ((*(char *)((int)psVar25 + 0xe) == '$' &&\n                   (*(char *)((int)psVar25 + 0xf) == '\x01')))) {\n            cVar8 = (char)psVar25[4];\n            if (cVar8 == '2') {\n              local_84 = (int *)((int)local_84 + 1);\n            }\n            else {\n              if (cVar8 != '3') {\n                iVar9 = dcgettext(0,"corrupt GNU build attribute note: unsupported version",5,cVar8)\n                ;\n                goto LAB_0001a72d;\n              }\n              local_6c = local_6c + 1;\n            }\n          }\n          if (uVar39 == 4) {\n            sVar18 = (**(code **)(param_1[1] + 0x28))(sVar2);\n            pvVar24 = (void *)0xffffffff;\n          }\n          else if (uVar39 < 5) {\n            if (uVar39 != 0) {\nLAB_0001a7ea:\n              iVar9 = dcgettext(0,"corrupt GNU build attribute note: bad description size",5,cVar8);\n              goto LAB_0001a72d;\n            }\n            pvVar24 = (void *)0x0;\n            sVar18 = 0;\n          }\n          else {\n            psVar34 = param_1;\n            if (uVar39 == 8) {\n              sVar18 = param_1[1];\n              if ((*(int *)(sVar18 + 4) == 5) && (*(char *)(param_1[0x27] + 4) == '\x02')) {\n                sVar18 = (**(code **)(sVar18 + 0x1c))(sVar2);\n                pvVar24 = (void *)0xffffffff;\n              }\n              else {\n                sVar18 = (**(code **)(sVar18 + 0x28))(sVar2);\n                pvVar24 = (void *)(**(code **)(param_1[1] + 0x28))(sVar2 + 4);\n              }\n            }\n            else {\n              if (uVar39 != 0x10) goto LAB_0001a7ea;\n              sVar18 = (**(code **)(param_1[1] + 0x1c))(sVar2);\n              pvVar24 = (void *)(**(code **)(param_1[1] + 0x1c))(sVar2 + 8);\n            }\n          }\n          if (sVar23 == 0x100) {\n            if (sVar18 == 0) {\n              sVar18 = local_8c;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = local_90;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_90 = pvVar24;\n            local_8c = sVar18;\n          }\n          else {\n            if (sVar18 == 0) {\n              sVar18 = local_94;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = (void *)local_98;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_98 = (size_t)pvVar24;\n            local_94 = sVar18;\n          }\n          if (*(char *)((local_64[3] - 1) + *local_64) != '\0') {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name not NUL terminated",5,\n                              *local_64);\n            goto LAB_0001a72d;\n          }\n          local_64 = local_64 + 9;\n          psVar25 = (size_t *)(iVar9 + 0xcU + (int)psVar25);\n        }\n        if (local_74 == 0) {\n          uVar26 = (uint)local_84 | local_6c;\n          if (local_80 == (size_t *)0x0 && uVar26 == 0) {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: no known versions detected",5,uVar26\n                             );\n            goto LAB_0001a72d;\n          }\n          if (((local_80 != (size_t *)0x0) && (uVar26 != 0)) ||\n             ((local_84 != (int *)0x0 && (local_6c != 0)))) {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: multiple different versions",5,\n                              sVar18);\n            goto LAB_0001a72d;\n          }\n          if ((local_80 == (size_t *)0x1 || local_84 == (int *)0x1) || (local_6c == 1))\n          goto LAB_0001a75c;\n          uVar26 = -(uint)(local_80 == (size_t *)0x0) & 2;\n          iVar9 = uVar26 + 1;\n          if (*(char *)(local_60[3] + iVar9) != '\x01') {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: first note not version note",5,\n                              psVar34);\n            goto LAB_0001a72d;\n          }\n          bVar40 = false;\n          iVar12 = uVar26 + 2;\n          psVar25 = local_60;\nLAB_0001a954:\n          psVar34 = psVar25;\n          psVar25 = psVar34 + 9;\n          if (psVar25 < local_64) {\n            if (psVar34[0xb] == 0x100) {\n              pvVar24 = (void *)psVar34[0xc];\n              local_7c = (size_t *)0x0;\n              psVar45 = psVar25;\n              do {\n                do {\n                  psVar6 = psVar45;\n                  psVar45 = psVar6 + -9;\n                  if (psVar45 < local_60) goto LAB_0001a954;\n                  pvVar30 = (void *)psVar6[-6];\n                  psVar7 = local_7c;\n                } while ((((local_7c == (size_t *)0x0) && (psVar6[-8] != 0)) &&\n                         (psVar7 = psVar45, psVar6[-7] == 0x101)) ||\n                        ((local_7c = psVar7,\n                         *(char *)((int)pvVar24 + iVar9) != *(char *)((int)pvVar30 + iVar9) ||\n                         (psVar6[-7] != 0x100))));\n                if (*(char *)((int)pvVar30 + iVar9) != '\x04') {\n                  psVar45 = (size_t *)*psVar45;\n                  if ((((psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)) &&\n                      ((uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0))))\n                     && ((0xfffffff0 < uVar26 || (psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0))))) {\n                    psVar34[0xb] = 0;\n                    if (uVar26 < uVar39) {\n                      psVar6[-2] = uVar39;\n                    }\n                    bVar40 = true;\n                    if (local_6c != 0) {\n                      psVar6[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0)) {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    psVar34[0x11] = 1;\n                    psVar34[0xb] = 0x101;\n                    psVar6[-1] = 1;\n                    psVar6[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }\n                uVar26 = 0;\n                for (iVar21 = 0; (int)*psVar25 - iVar12 != iVar21; iVar21 = iVar21 + 1) {\n                  uVar26 = uVar26 | (uint)*(byte *)((int)pvVar24 + iVar21 + iVar12) <<\n                                    ((char)iVar21 * '\b' & 0x1fU);\n                }\n                sVar18 = *psVar45;\n                local_5c = (int *)0x0;\n                for (uVar39 = 0; sVar18 - iVar12 != uVar39; uVar39 = uVar39 + 1) {\n                  local_5c = (int *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39] <<\n                                    ((char)uVar39 * '\b' & 0x1fU));\n                }\n                uVar28 = 0;\n                uVar26 = (int)local_5c + uVar26;\n                for (uVar27 = uVar26; uVar27 != 0; uVar27 = uVar27 >> 8) {\n                  uVar28 = uVar28 + 1;\n                }\n              } while (uVar39 <= uVar28);\n              puVar29 = (undefined1 *)((int)pvVar30 + iVar12);\n              while (puVar29 < (undefined1 *)((int)pvVar30 + sVar18)) {\n                *puVar29 = (char)uVar26;\n                if (uVar26 == 0) break;\n                uVar26 = uVar26 >> 8;\n                puVar29 = puVar29 + 1;\n              }\n              psVar34[0xb] = 0;\n              bVar40 = true;\n            }\n            goto LAB_0001a954;\n          }\n          if (!bVar40) goto LAB_0001a75c;\n          pvVar24 = (void *)xmalloc(uVar35,pvVar44,psVar20,psVar46);\n          sVar18 = 0;\n          pvVar44 = pvVar24;\n          local_80 = psVar38;\n          for (psVar20 = local_60; psVar20 < local_64; psVar20 = psVar20 + 9) {\n            sVar23 = *psVar20;\n            __n = psVar20[1] + sVar23 + 0xc;\n            sVar2 = psVar20[2];\n            pvVar30 = pvVar44;\n            if (sVar2 != 0) {\n              if (psVar20[8] == 0) {\n                memcpy(pvVar44,local_80,__n);\n                pvVar30 = (void *)((int)pvVar44 + __n);\n              }\n              else {\n                sVar5 = psVar20[6];\n                __dest = (void *)((int)pvVar44 + 0xc);\n                pvVar30 = (void *)((int)__dest + sVar23);\n                if ((sVar5 == local_74) && (psVar20[7] == sVar18)) {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar5,sVar5);\n                  (**(code **)(param_1[1] + 0x30))(0,(int)pvVar44 + 4);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                }\n                else {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar18,sVar18);\n                  cVar8 = '\b';\n                  if (*(int *)(param_1[1] + 4) == 5) {\n                    cVar8 = (*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b';\n                  }\n                  (**(code **)(param_1[1] + 0x30))(cVar8,(int)pvVar44 + 4,sVar23,sVar23);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                  sVar18 = param_1[1];\n                  psVar25 = param_1;\n                  if ((*(int *)(sVar18 + 4) == 5) &&\n                     (psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02')) {\n                    (**(code **)(sVar18 + 0x24))(sVar5,0,pvVar30,psVar25);\n                    (**(code **)(param_1[1] + 0x24))(psVar20[7],0,(void *)((int)pvVar30 + 8));\n                    pvVar30 = (void *)((int)pvVar30 + 0x10);\n                  }\n                  else {\n                    (**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25);\n                    (**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4);\n                    pvVar30 = (void *)((int)pvVar30 + 8);\n                  }\n                }\n              }\n              local_74 = psVar20[6];\n              sVar18 = psVar20[7];\n            }\n            local_80 = (size_t *)((int)local_80 + __n);\n            pvVar44 = pvVar30;\n          }\n          sVar18 = (int)pvVar44 - (int)pvVar24;\n          memcpy(psVar38,pvVar24,sVar18);\n          free(pvVar24);\n          free(local_60);\n          DAT_0003fb7c = sVar18;\n          if (uVar35 != sVar18) {\n            uVar10 = extraout_ECX_02;\n            if ((*(int *)(sVar17 + 0x3c) != 0) &&\n               (iVar9 = bfd_set_section_size(param_2,*(int *)(sVar17 + 0x3c),sVar18,extraout_EDX),\n               uVar10 = extraout_ECX_03, iVar9 != 0)) goto LAB_00018aad;\n            uVar10 = dcgettext(0,"warning: failed to set merged notes size",5,uVar10);\n            FUN_0002c160(0,param_2,sVar17,uVar10);\n          }\n        }\n        else {\n          iVar9 = dcgettext(0,"corrupt GNU build attribute notes: excess data at end",5,local_64);\nLAB_0001a72d:\n          if (iVar9 != 0) {\n            bfd_set_error(0x11);\n            FUN_0002c160(0,param_1,sVar17,iVar9);\n            DAT_0003fb88 = 1;\n          }\nLAB_0001a75c:\n          free(local_60);\n        }\n        free(DAT_0003fb80);\n        DAT_0003fb80 = (size_t *)0x0;\n        DAT_0003fb84 = 0;\n        DAT_0003fb7c = 0;\n      }\n    }\n  }" { (expression_statement "uVar35 = *(uint *)(sVar17 + 0x24);" (assignment_expression "uVar35 = *(uint *)(sVar17 + 0x24)" identifier = (pointer_expression "*(uint *)(sVar17 + 0x24)" * (cast_expression "(uint *)(sVar17 + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar17 + 0x24)" ( (binary_expression "sVar17 + 0x24" identifier + number_literal) ))))) ;) (if_statement "if (uVar35 == 0) {\n      uVar10 = dcgettext(0,"warning: note section is empty",5,0);\n      FUN_0002c160(0,param_1,sVar17,uVar10);\n      DAT_0003fb84 = 0;\n    }\n    else {\n      iVar9 = bfd_get_full_section_contents(param_1,sVar17,&DAT_0003fb80,uVar35);\n      psVar38 = DAT_0003fb80;\n      if (iVar9 == 0) {\n        uVar10 = dcgettext(0,"warning: could not load note section",5,0);\n        FUN_0002c160(0,param_1,sVar17,uVar10);\n        free(DAT_0003fb80);\n        DAT_0003fb80 = (size_t *)0x0;\n        DAT_0003fb84 = 0;\n      }\n      else {\n        iVar9 = bfd_get_reloc_upper_bound(param_1,sVar17,sVar17,sVar17);\n        psVar20 = param_1;\n        sVar18 = sVar17;\n        if (0 < iVar9) {\n          psVar20 = (size_t *)xmalloc(iVar9);\n          sVar18 = bfd_canonicalize_reloc(param_1,sVar17,psVar20,DAT_0003fb9c);\n          free(psVar20);\n          if (sVar18 == 0) goto LAB_0001a478;\n          local_60 = (size_t *)0x0;\n          goto LAB_0001a75c;\n        }\nLAB_0001a478:\n        pvVar44 = (void *)0x24;\n        psVar46 = psVar20;\n        local_60 = (size_t *)xcalloc(uVar35 / 0xc,0x24,psVar20,psVar20);\n        local_90 = (void *)0x0;\n        local_98 = 0;\n        local_8c = 0;\n        local_94 = 0;\n        local_6c = 0;\n        local_84 = (int *)0x0;\n        local_80 = (size_t *)0x0;\n        psVar25 = psVar38;\n        psVar34 = psVar38;\n        local_74 = uVar35;\n        local_64 = local_60;\n        while (0xb < local_74) {\n          iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25);\n          uVar26 = iVar9 + 3U & 0xfffffffc;\n          *local_64 = uVar26;\n          iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25 + 1);\n          uVar39 = iVar9 + 3U & 0xfffffffc;\n          sVar18 = param_1[1];\n          local_64[1] = uVar39;\n          sVar23 = (**(code **)(sVar18 + 0x28))(psVar25 + 2);\n          local_64[2] = sVar23;\n          if (1 < sVar23 - 0x100) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: wrong note type",5,\n                              extraout_ECX_01);\n            goto LAB_0001a72d;\n          }\n          iVar9 = uVar26 + uVar39;\n          if (local_74 < iVar9 + 0xcU) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: note too big",5,psVar25);\n            goto LAB_0001a72d;\n          }\n          if (uVar26 < 2) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name too small",5,iVar9);\n            goto LAB_0001a72d;\n          }\n          local_64[3] = (size_t)(psVar25 + 3);\n          sVar2 = (int)psVar25 + uVar26 + 0xc;\n          local_64[4] = sVar2;\n          psVar34 = (size_t *)(-0xc - iVar9);\n          local_74 = local_74 + (int)psVar34;\n          cVar8 = (char)psVar25[3];\n          if (cVar8 == '$') {\n            if ((*(char *)((int)psVar25 + 0xd) == '\x01') && (*(char *)((int)psVar25 + 0xe) == '1'))\n            {\n              local_80 = (size_t *)((int)local_80 + 1);\n            }\n          }\n          else if ((((4 < uVar26) && (cVar8 == 'G')) && (*(char *)((int)psVar25 + 0xd) == 'A')) &&\n                  ((*(char *)((int)psVar25 + 0xe) == '$' &&\n                   (*(char *)((int)psVar25 + 0xf) == '\x01')))) {\n            cVar8 = (char)psVar25[4];\n            if (cVar8 == '2') {\n              local_84 = (int *)((int)local_84 + 1);\n            }\n            else {\n              if (cVar8 != '3') {\n                iVar9 = dcgettext(0,"corrupt GNU build attribute note: unsupported version",5,cVar8)\n                ;\n                goto LAB_0001a72d;\n              }\n              local_6c = local_6c + 1;\n            }\n          }\n          if (uVar39 == 4) {\n            sVar18 = (**(code **)(param_1[1] + 0x28))(sVar2);\n            pvVar24 = (void *)0xffffffff;\n          }\n          else if (uVar39 < 5) {\n            if (uVar39 != 0) {\nLAB_0001a7ea:\n              iVar9 = dcgettext(0,"corrupt GNU build attribute note: bad description size",5,cVar8);\n              goto LAB_0001a72d;\n            }\n            pvVar24 = (void *)0x0;\n            sVar18 = 0;\n          }\n          else {\n            psVar34 = param_1;\n            if (uVar39 == 8) {\n              sVar18 = param_1[1];\n              if ((*(int *)(sVar18 + 4) == 5) && (*(char *)(param_1[0x27] + 4) == '\x02')) {\n                sVar18 = (**(code **)(sVar18 + 0x1c))(sVar2);\n                pvVar24 = (void *)0xffffffff;\n              }\n              else {\n                sVar18 = (**(code **)(sVar18 + 0x28))(sVar2);\n                pvVar24 = (void *)(**(code **)(param_1[1] + 0x28))(sVar2 + 4);\n              }\n            }\n            else {\n              if (uVar39 != 0x10) goto LAB_0001a7ea;\n              sVar18 = (**(code **)(param_1[1] + 0x1c))(sVar2);\n              pvVar24 = (void *)(**(code **)(param_1[1] + 0x1c))(sVar2 + 8);\n            }\n          }\n          if (sVar23 == 0x100) {\n            if (sVar18 == 0) {\n              sVar18 = local_8c;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = local_90;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_90 = pvVar24;\n            local_8c = sVar18;\n          }\n          else {\n            if (sVar18 == 0) {\n              sVar18 = local_94;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = (void *)local_98;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_98 = (size_t)pvVar24;\n            local_94 = sVar18;\n          }\n          if (*(char *)((local_64[3] - 1) + *local_64) != '\0') {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name not NUL terminated",5,\n                              *local_64);\n            goto LAB_0001a72d;\n          }\n          local_64 = local_64 + 9;\n          psVar25 = (size_t *)(iVar9 + 0xcU + (int)psVar25);\n        }\n        if (local_74 == 0) {\n          uVar26 = (uint)local_84 | local_6c;\n          if (local_80 == (size_t *)0x0 && uVar26 == 0) {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: no known versions detected",5,uVar26\n                             );\n            goto LAB_0001a72d;\n          }\n          if (((local_80 != (size_t *)0x0) && (uVar26 != 0)) ||\n             ((local_84 != (int *)0x0 && (local_6c != 0)))) {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: multiple different versions",5,\n                              sVar18);\n            goto LAB_0001a72d;\n          }\n          if ((local_80 == (size_t *)0x1 || local_84 == (int *)0x1) || (local_6c == 1))\n          goto LAB_0001a75c;\n          uVar26 = -(uint)(local_80 == (size_t *)0x0) & 2;\n          iVar9 = uVar26 + 1;\n          if (*(char *)(local_60[3] + iVar9) != '\x01') {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: first note not version note",5,\n                              psVar34);\n            goto LAB_0001a72d;\n          }\n          bVar40 = false;\n          iVar12 = uVar26 + 2;\n          psVar25 = local_60;\nLAB_0001a954:\n          psVar34 = psVar25;\n          psVar25 = psVar34 + 9;\n          if (psVar25 < local_64) {\n            if (psVar34[0xb] == 0x100) {\n              pvVar24 = (void *)psVar34[0xc];\n              local_7c = (size_t *)0x0;\n              psVar45 = psVar25;\n              do {\n                do {\n                  psVar6 = psVar45;\n                  psVar45 = psVar6 + -9;\n                  if (psVar45 < local_60) goto LAB_0001a954;\n                  pvVar30 = (void *)psVar6[-6];\n                  psVar7 = local_7c;\n                } while ((((local_7c == (size_t *)0x0) && (psVar6[-8] != 0)) &&\n                         (psVar7 = psVar45, psVar6[-7] == 0x101)) ||\n                        ((local_7c = psVar7,\n                         *(char *)((int)pvVar24 + iVar9) != *(char *)((int)pvVar30 + iVar9) ||\n                         (psVar6[-7] != 0x100))));\n                if (*(char *)((int)pvVar30 + iVar9) != '\x04') {\n                  psVar45 = (size_t *)*psVar45;\n                  if ((((psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)) &&\n                      ((uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0))))\n                     && ((0xfffffff0 < uVar26 || (psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0))))) {\n                    psVar34[0xb] = 0;\n                    if (uVar26 < uVar39) {\n                      psVar6[-2] = uVar39;\n                    }\n                    bVar40 = true;\n                    if (local_6c != 0) {\n                      psVar6[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0)) {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    psVar34[0x11] = 1;\n                    psVar34[0xb] = 0x101;\n                    psVar6[-1] = 1;\n                    psVar6[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }\n                uVar26 = 0;\n                for (iVar21 = 0; (int)*psVar25 - iVar12 != iVar21; iVar21 = iVar21 + 1) {\n                  uVar26 = uVar26 | (uint)*(byte *)((int)pvVar24 + iVar21 + iVar12) <<\n                                    ((char)iVar21 * '\b' & 0x1fU);\n                }\n                sVar18 = *psVar45;\n                local_5c = (int *)0x0;\n                for (uVar39 = 0; sVar18 - iVar12 != uVar39; uVar39 = uVar39 + 1) {\n                  local_5c = (int *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39] <<\n                                    ((char)uVar39 * '\b' & 0x1fU));\n                }\n                uVar28 = 0;\n                uVar26 = (int)local_5c + uVar26;\n                for (uVar27 = uVar26; uVar27 != 0; uVar27 = uVar27 >> 8) {\n                  uVar28 = uVar28 + 1;\n                }\n              } while (uVar39 <= uVar28);\n              puVar29 = (undefined1 *)((int)pvVar30 + iVar12);\n              while (puVar29 < (undefined1 *)((int)pvVar30 + sVar18)) {\n                *puVar29 = (char)uVar26;\n                if (uVar26 == 0) break;\n                uVar26 = uVar26 >> 8;\n                puVar29 = puVar29 + 1;\n              }\n              psVar34[0xb] = 0;\n              bVar40 = true;\n            }\n            goto LAB_0001a954;\n          }\n          if (!bVar40) goto LAB_0001a75c;\n          pvVar24 = (void *)xmalloc(uVar35,pvVar44,psVar20,psVar46);\n          sVar18 = 0;\n          pvVar44 = pvVar24;\n          local_80 = psVar38;\n          for (psVar20 = local_60; psVar20 < local_64; psVar20 = psVar20 + 9) {\n            sVar23 = *psVar20;\n            __n = psVar20[1] + sVar23 + 0xc;\n            sVar2 = psVar20[2];\n            pvVar30 = pvVar44;\n            if (sVar2 != 0) {\n              if (psVar20[8] == 0) {\n                memcpy(pvVar44,local_80,__n);\n                pvVar30 = (void *)((int)pvVar44 + __n);\n              }\n              else {\n                sVar5 = psVar20[6];\n                __dest = (void *)((int)pvVar44 + 0xc);\n                pvVar30 = (void *)((int)__dest + sVar23);\n                if ((sVar5 == local_74) && (psVar20[7] == sVar18)) {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar5,sVar5);\n                  (**(code **)(param_1[1] + 0x30))(0,(int)pvVar44 + 4);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                }\n                else {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar18,sVar18);\n                  cVar8 = '\b';\n                  if (*(int *)(param_1[1] + 4) == 5) {\n                    cVar8 = (*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b';\n                  }\n                  (**(code **)(param_1[1] + 0x30))(cVar8,(int)pvVar44 + 4,sVar23,sVar23);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                  sVar18 = param_1[1];\n                  psVar25 = param_1;\n                  if ((*(int *)(sVar18 + 4) == 5) &&\n                     (psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02')) {\n                    (**(code **)(sVar18 + 0x24))(sVar5,0,pvVar30,psVar25);\n                    (**(code **)(param_1[1] + 0x24))(psVar20[7],0,(void *)((int)pvVar30 + 8));\n                    pvVar30 = (void *)((int)pvVar30 + 0x10);\n                  }\n                  else {\n                    (**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25);\n                    (**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4);\n                    pvVar30 = (void *)((int)pvVar30 + 8);\n                  }\n                }\n              }\n              local_74 = psVar20[6];\n              sVar18 = psVar20[7];\n            }\n            local_80 = (size_t *)((int)local_80 + __n);\n            pvVar44 = pvVar30;\n          }\n          sVar18 = (int)pvVar44 - (int)pvVar24;\n          memcpy(psVar38,pvVar24,sVar18);\n          free(pvVar24);\n          free(local_60);\n          DAT_0003fb7c = sVar18;\n          if (uVar35 != sVar18) {\n            uVar10 = extraout_ECX_02;\n            if ((*(int *)(sVar17 + 0x3c) != 0) &&\n               (iVar9 = bfd_set_section_size(param_2,*(int *)(sVar17 + 0x3c),sVar18,extraout_EDX),\n               uVar10 = extraout_ECX_03, iVar9 != 0)) goto LAB_00018aad;\n            uVar10 = dcgettext(0,"warning: failed to set merged notes size",5,uVar10);\n            FUN_0002c160(0,param_2,sVar17,uVar10);\n          }\n        }\n        else {\n          iVar9 = dcgettext(0,"corrupt GNU build attribute notes: excess data at end",5,local_64);\nLAB_0001a72d:\n          if (iVar9 != 0) {\n            bfd_set_error(0x11);\n            FUN_0002c160(0,param_1,sVar17,iVar9);\n            DAT_0003fb88 = 1;\n          }\nLAB_0001a75c:\n          free(local_60);\n        }\n        free(DAT_0003fb80);\n        DAT_0003fb80 = (size_t *)0x0;\n        DAT_0003fb84 = 0;\n        DAT_0003fb7c = 0;\n      }\n    }" if (parenthesized_expression "(uVar35 == 0)" ( (binary_expression "uVar35 == 0" identifier == number_literal) )) (compound_statement "{\n      uVar10 = dcgettext(0,"warning: note section is empty",5,0);\n      FUN_0002c160(0,param_1,sVar17,uVar10);\n      DAT_0003fb84 = 0;\n    }" { (expression_statement "uVar10 = dcgettext(0,"warning: note section is empty",5,0);" (assignment_expression "uVar10 = dcgettext(0,"warning: note section is empty",5,0)" identifier = (call_expression "dcgettext(0,"warning: note section is empty",5,0)" identifier (argument_list "(0,"warning: note section is empty",5,0)" ( number_literal , (string_literal ""warning: note section is empty"" " string_content ") , number_literal , number_literal )))) ;) (expression_statement "FUN_0002c160(0,param_1,sVar17,uVar10);" (call_expression "FUN_0002c160(0,param_1,sVar17,uVar10)" identifier (argument_list "(0,param_1,sVar17,uVar10)" ( number_literal , identifier , identifier , identifier ))) ;) (expression_statement "DAT_0003fb84 = 0;" (assignment_expression "DAT_0003fb84 = 0" identifier = number_literal) ;) }) (else_clause "else {\n      iVar9 = bfd_get_full_section_contents(param_1,sVar17,&DAT_0003fb80,uVar35);\n      psVar38 = DAT_0003fb80;\n      if (iVar9 == 0) {\n        uVar10 = dcgettext(0,"warning: could not load note section",5,0);\n        FUN_0002c160(0,param_1,sVar17,uVar10);\n        free(DAT_0003fb80);\n        DAT_0003fb80 = (size_t *)0x0;\n        DAT_0003fb84 = 0;\n      }\n      else {\n        iVar9 = bfd_get_reloc_upper_bound(param_1,sVar17,sVar17,sVar17);\n        psVar20 = param_1;\n        sVar18 = sVar17;\n        if (0 < iVar9) {\n          psVar20 = (size_t *)xmalloc(iVar9);\n          sVar18 = bfd_canonicalize_reloc(param_1,sVar17,psVar20,DAT_0003fb9c);\n          free(psVar20);\n          if (sVar18 == 0) goto LAB_0001a478;\n          local_60 = (size_t *)0x0;\n          goto LAB_0001a75c;\n        }\nLAB_0001a478:\n        pvVar44 = (void *)0x24;\n        psVar46 = psVar20;\n        local_60 = (size_t *)xcalloc(uVar35 / 0xc,0x24,psVar20,psVar20);\n        local_90 = (void *)0x0;\n        local_98 = 0;\n        local_8c = 0;\n        local_94 = 0;\n        local_6c = 0;\n        local_84 = (int *)0x0;\n        local_80 = (size_t *)0x0;\n        psVar25 = psVar38;\n        psVar34 = psVar38;\n        local_74 = uVar35;\n        local_64 = local_60;\n        while (0xb < local_74) {\n          iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25);\n          uVar26 = iVar9 + 3U & 0xfffffffc;\n          *local_64 = uVar26;\n          iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25 + 1);\n          uVar39 = iVar9 + 3U & 0xfffffffc;\n          sVar18 = param_1[1];\n          local_64[1] = uVar39;\n          sVar23 = (**(code **)(sVar18 + 0x28))(psVar25 + 2);\n          local_64[2] = sVar23;\n          if (1 < sVar23 - 0x100) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: wrong note type",5,\n                              extraout_ECX_01);\n            goto LAB_0001a72d;\n          }\n          iVar9 = uVar26 + uVar39;\n          if (local_74 < iVar9 + 0xcU) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: note too big",5,psVar25);\n            goto LAB_0001a72d;\n          }\n          if (uVar26 < 2) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name too small",5,iVar9);\n            goto LAB_0001a72d;\n          }\n          local_64[3] = (size_t)(psVar25 + 3);\n          sVar2 = (int)psVar25 + uVar26 + 0xc;\n          local_64[4] = sVar2;\n          psVar34 = (size_t *)(-0xc - iVar9);\n          local_74 = local_74 + (int)psVar34;\n          cVar8 = (char)psVar25[3];\n          if (cVar8 == '$') {\n            if ((*(char *)((int)psVar25 + 0xd) == '\x01') && (*(char *)((int)psVar25 + 0xe) == '1'))\n            {\n              local_80 = (size_t *)((int)local_80 + 1);\n            }\n          }\n          else if ((((4 < uVar26) && (cVar8 == 'G')) && (*(char *)((int)psVar25 + 0xd) == 'A')) &&\n                  ((*(char *)((int)psVar25 + 0xe) == '$' &&\n                   (*(char *)((int)psVar25 + 0xf) == '\x01')))) {\n            cVar8 = (char)psVar25[4];\n            if (cVar8 == '2') {\n              local_84 = (int *)((int)local_84 + 1);\n            }\n            else {\n              if (cVar8 != '3') {\n                iVar9 = dcgettext(0,"corrupt GNU build attribute note: unsupported version",5,cVar8)\n                ;\n                goto LAB_0001a72d;\n              }\n              local_6c = local_6c + 1;\n            }\n          }\n          if (uVar39 == 4) {\n            sVar18 = (**(code **)(param_1[1] + 0x28))(sVar2);\n            pvVar24 = (void *)0xffffffff;\n          }\n          else if (uVar39 < 5) {\n            if (uVar39 != 0) {\nLAB_0001a7ea:\n              iVar9 = dcgettext(0,"corrupt GNU build attribute note: bad description size",5,cVar8);\n              goto LAB_0001a72d;\n            }\n            pvVar24 = (void *)0x0;\n            sVar18 = 0;\n          }\n          else {\n            psVar34 = param_1;\n            if (uVar39 == 8) {\n              sVar18 = param_1[1];\n              if ((*(int *)(sVar18 + 4) == 5) && (*(char *)(param_1[0x27] + 4) == '\x02')) {\n                sVar18 = (**(code **)(sVar18 + 0x1c))(sVar2);\n                pvVar24 = (void *)0xffffffff;\n              }\n              else {\n                sVar18 = (**(code **)(sVar18 + 0x28))(sVar2);\n                pvVar24 = (void *)(**(code **)(param_1[1] + 0x28))(sVar2 + 4);\n              }\n            }\n            else {\n              if (uVar39 != 0x10) goto LAB_0001a7ea;\n              sVar18 = (**(code **)(param_1[1] + 0x1c))(sVar2);\n              pvVar24 = (void *)(**(code **)(param_1[1] + 0x1c))(sVar2 + 8);\n            }\n          }\n          if (sVar23 == 0x100) {\n            if (sVar18 == 0) {\n              sVar18 = local_8c;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = local_90;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_90 = pvVar24;\n            local_8c = sVar18;\n          }\n          else {\n            if (sVar18 == 0) {\n              sVar18 = local_94;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = (void *)local_98;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_98 = (size_t)pvVar24;\n            local_94 = sVar18;\n          }\n          if (*(char *)((local_64[3] - 1) + *local_64) != '\0') {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name not NUL terminated",5,\n                              *local_64);\n            goto LAB_0001a72d;\n          }\n          local_64 = local_64 + 9;\n          psVar25 = (size_t *)(iVar9 + 0xcU + (int)psVar25);\n        }\n        if (local_74 == 0) {\n          uVar26 = (uint)local_84 | local_6c;\n          if (local_80 == (size_t *)0x0 && uVar26 == 0) {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: no known versions detected",5,uVar26\n                             );\n            goto LAB_0001a72d;\n          }\n          if (((local_80 != (size_t *)0x0) && (uVar26 != 0)) ||\n             ((local_84 != (int *)0x0 && (local_6c != 0)))) {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: multiple different versions",5,\n                              sVar18);\n            goto LAB_0001a72d;\n          }\n          if ((local_80 == (size_t *)0x1 || local_84 == (int *)0x1) || (local_6c == 1))\n          goto LAB_0001a75c;\n          uVar26 = -(uint)(local_80 == (size_t *)0x0) & 2;\n          iVar9 = uVar26 + 1;\n          if (*(char *)(local_60[3] + iVar9) != '\x01') {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: first note not version note",5,\n                              psVar34);\n            goto LAB_0001a72d;\n          }\n          bVar40 = false;\n          iVar12 = uVar26 + 2;\n          psVar25 = local_60;\nLAB_0001a954:\n          psVar34 = psVar25;\n          psVar25 = psVar34 + 9;\n          if (psVar25 < local_64) {\n            if (psVar34[0xb] == 0x100) {\n              pvVar24 = (void *)psVar34[0xc];\n              local_7c = (size_t *)0x0;\n              psVar45 = psVar25;\n              do {\n                do {\n                  psVar6 = psVar45;\n                  psVar45 = psVar6 + -9;\n                  if (psVar45 < local_60) goto LAB_0001a954;\n                  pvVar30 = (void *)psVar6[-6];\n                  psVar7 = local_7c;\n                } while ((((local_7c == (size_t *)0x0) && (psVar6[-8] != 0)) &&\n                         (psVar7 = psVar45, psVar6[-7] == 0x101)) ||\n                        ((local_7c = psVar7,\n                         *(char *)((int)pvVar24 + iVar9) != *(char *)((int)pvVar30 + iVar9) ||\n                         (psVar6[-7] != 0x100))));\n                if (*(char *)((int)pvVar30 + iVar9) != '\x04') {\n                  psVar45 = (size_t *)*psVar45;\n                  if ((((psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)) &&\n                      ((uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0))))\n                     && ((0xfffffff0 < uVar26 || (psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0))))) {\n                    psVar34[0xb] = 0;\n                    if (uVar26 < uVar39) {\n                      psVar6[-2] = uVar39;\n                    }\n                    bVar40 = true;\n                    if (local_6c != 0) {\n                      psVar6[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0)) {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    psVar34[0x11] = 1;\n                    psVar34[0xb] = 0x101;\n                    psVar6[-1] = 1;\n                    psVar6[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }\n                uVar26 = 0;\n                for (iVar21 = 0; (int)*psVar25 - iVar12 != iVar21; iVar21 = iVar21 + 1) {\n                  uVar26 = uVar26 | (uint)*(byte *)((int)pvVar24 + iVar21 + iVar12) <<\n                                    ((char)iVar21 * '\b' & 0x1fU);\n                }\n                sVar18 = *psVar45;\n                local_5c = (int *)0x0;\n                for (uVar39 = 0; sVar18 - iVar12 != uVar39; uVar39 = uVar39 + 1) {\n                  local_5c = (int *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39] <<\n                                    ((char)uVar39 * '\b' & 0x1fU));\n                }\n                uVar28 = 0;\n                uVar26 = (int)local_5c + uVar26;\n                for (uVar27 = uVar26; uVar27 != 0; uVar27 = uVar27 >> 8) {\n                  uVar28 = uVar28 + 1;\n                }\n              } while (uVar39 <= uVar28);\n              puVar29 = (undefined1 *)((int)pvVar30 + iVar12);\n              while (puVar29 < (undefined1 *)((int)pvVar30 + sVar18)) {\n                *puVar29 = (char)uVar26;\n                if (uVar26 == 0) break;\n                uVar26 = uVar26 >> 8;\n                puVar29 = puVar29 + 1;\n              }\n              psVar34[0xb] = 0;\n              bVar40 = true;\n            }\n            goto LAB_0001a954;\n          }\n          if (!bVar40) goto LAB_0001a75c;\n          pvVar24 = (void *)xmalloc(uVar35,pvVar44,psVar20,psVar46);\n          sVar18 = 0;\n          pvVar44 = pvVar24;\n          local_80 = psVar38;\n          for (psVar20 = local_60; psVar20 < local_64; psVar20 = psVar20 + 9) {\n            sVar23 = *psVar20;\n            __n = psVar20[1] + sVar23 + 0xc;\n            sVar2 = psVar20[2];\n            pvVar30 = pvVar44;\n            if (sVar2 != 0) {\n              if (psVar20[8] == 0) {\n                memcpy(pvVar44,local_80,__n);\n                pvVar30 = (void *)((int)pvVar44 + __n);\n              }\n              else {\n                sVar5 = psVar20[6];\n                __dest = (void *)((int)pvVar44 + 0xc);\n                pvVar30 = (void *)((int)__dest + sVar23);\n                if ((sVar5 == local_74) && (psVar20[7] == sVar18)) {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar5,sVar5);\n                  (**(code **)(param_1[1] + 0x30))(0,(int)pvVar44 + 4);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                }\n                else {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar18,sVar18);\n                  cVar8 = '\b';\n                  if (*(int *)(param_1[1] + 4) == 5) {\n                    cVar8 = (*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b';\n                  }\n                  (**(code **)(param_1[1] + 0x30))(cVar8,(int)pvVar44 + 4,sVar23,sVar23);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                  sVar18 = param_1[1];\n                  psVar25 = param_1;\n                  if ((*(int *)(sVar18 + 4) == 5) &&\n                     (psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02')) {\n                    (**(code **)(sVar18 + 0x24))(sVar5,0,pvVar30,psVar25);\n                    (**(code **)(param_1[1] + 0x24))(psVar20[7],0,(void *)((int)pvVar30 + 8));\n                    pvVar30 = (void *)((int)pvVar30 + 0x10);\n                  }\n                  else {\n                    (**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25);\n                    (**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4);\n                    pvVar30 = (void *)((int)pvVar30 + 8);\n                  }\n                }\n              }\n              local_74 = psVar20[6];\n              sVar18 = psVar20[7];\n            }\n            local_80 = (size_t *)((int)local_80 + __n);\n            pvVar44 = pvVar30;\n          }\n          sVar18 = (int)pvVar44 - (int)pvVar24;\n          memcpy(psVar38,pvVar24,sVar18);\n          free(pvVar24);\n          free(local_60);\n          DAT_0003fb7c = sVar18;\n          if (uVar35 != sVar18) {\n            uVar10 = extraout_ECX_02;\n            if ((*(int *)(sVar17 + 0x3c) != 0) &&\n               (iVar9 = bfd_set_section_size(param_2,*(int *)(sVar17 + 0x3c),sVar18,extraout_EDX),\n               uVar10 = extraout_ECX_03, iVar9 != 0)) goto LAB_00018aad;\n            uVar10 = dcgettext(0,"warning: failed to set merged notes size",5,uVar10);\n            FUN_0002c160(0,param_2,sVar17,uVar10);\n          }\n        }\n        else {\n          iVar9 = dcgettext(0,"corrupt GNU build attribute notes: excess data at end",5,local_64);\nLAB_0001a72d:\n          if (iVar9 != 0) {\n            bfd_set_error(0x11);\n            FUN_0002c160(0,param_1,sVar17,iVar9);\n            DAT_0003fb88 = 1;\n          }\nLAB_0001a75c:\n          free(local_60);\n        }\n        free(DAT_0003fb80);\n        DAT_0003fb80 = (size_t *)0x0;\n        DAT_0003fb84 = 0;\n        DAT_0003fb7c = 0;\n      }\n    }" else (compound_statement "{\n      iVar9 = bfd_get_full_section_contents(param_1,sVar17,&DAT_0003fb80,uVar35);\n      psVar38 = DAT_0003fb80;\n      if (iVar9 == 0) {\n        uVar10 = dcgettext(0,"warning: could not load note section",5,0);\n        FUN_0002c160(0,param_1,sVar17,uVar10);\n        free(DAT_0003fb80);\n        DAT_0003fb80 = (size_t *)0x0;\n        DAT_0003fb84 = 0;\n      }\n      else {\n        iVar9 = bfd_get_reloc_upper_bound(param_1,sVar17,sVar17,sVar17);\n        psVar20 = param_1;\n        sVar18 = sVar17;\n        if (0 < iVar9) {\n          psVar20 = (size_t *)xmalloc(iVar9);\n          sVar18 = bfd_canonicalize_reloc(param_1,sVar17,psVar20,DAT_0003fb9c);\n          free(psVar20);\n          if (sVar18 == 0) goto LAB_0001a478;\n          local_60 = (size_t *)0x0;\n          goto LAB_0001a75c;\n        }\nLAB_0001a478:\n        pvVar44 = (void *)0x24;\n        psVar46 = psVar20;\n        local_60 = (size_t *)xcalloc(uVar35 / 0xc,0x24,psVar20,psVar20);\n        local_90 = (void *)0x0;\n        local_98 = 0;\n        local_8c = 0;\n        local_94 = 0;\n        local_6c = 0;\n        local_84 = (int *)0x0;\n        local_80 = (size_t *)0x0;\n        psVar25 = psVar38;\n        psVar34 = psVar38;\n        local_74 = uVar35;\n        local_64 = local_60;\n        while (0xb < local_74) {\n          iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25);\n          uVar26 = iVar9 + 3U & 0xfffffffc;\n          *local_64 = uVar26;\n          iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25 + 1);\n          uVar39 = iVar9 + 3U & 0xfffffffc;\n          sVar18 = param_1[1];\n          local_64[1] = uVar39;\n          sVar23 = (**(code **)(sVar18 + 0x28))(psVar25 + 2);\n          local_64[2] = sVar23;\n          if (1 < sVar23 - 0x100) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: wrong note type",5,\n                              extraout_ECX_01);\n            goto LAB_0001a72d;\n          }\n          iVar9 = uVar26 + uVar39;\n          if (local_74 < iVar9 + 0xcU) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: note too big",5,psVar25);\n            goto LAB_0001a72d;\n          }\n          if (uVar26 < 2) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name too small",5,iVar9);\n            goto LAB_0001a72d;\n          }\n          local_64[3] = (size_t)(psVar25 + 3);\n          sVar2 = (int)psVar25 + uVar26 + 0xc;\n          local_64[4] = sVar2;\n          psVar34 = (size_t *)(-0xc - iVar9);\n          local_74 = local_74 + (int)psVar34;\n          cVar8 = (char)psVar25[3];\n          if (cVar8 == '$') {\n            if ((*(char *)((int)psVar25 + 0xd) == '\x01') && (*(char *)((int)psVar25 + 0xe) == '1'))\n            {\n              local_80 = (size_t *)((int)local_80 + 1);\n            }\n          }\n          else if ((((4 < uVar26) && (cVar8 == 'G')) && (*(char *)((int)psVar25 + 0xd) == 'A')) &&\n                  ((*(char *)((int)psVar25 + 0xe) == '$' &&\n                   (*(char *)((int)psVar25 + 0xf) == '\x01')))) {\n            cVar8 = (char)psVar25[4];\n            if (cVar8 == '2') {\n              local_84 = (int *)((int)local_84 + 1);\n            }\n            else {\n              if (cVar8 != '3') {\n                iVar9 = dcgettext(0,"corrupt GNU build attribute note: unsupported version",5,cVar8)\n                ;\n                goto LAB_0001a72d;\n              }\n              local_6c = local_6c + 1;\n            }\n          }\n          if (uVar39 == 4) {\n            sVar18 = (**(code **)(param_1[1] + 0x28))(sVar2);\n            pvVar24 = (void *)0xffffffff;\n          }\n          else if (uVar39 < 5) {\n            if (uVar39 != 0) {\nLAB_0001a7ea:\n              iVar9 = dcgettext(0,"corrupt GNU build attribute note: bad description size",5,cVar8);\n              goto LAB_0001a72d;\n            }\n            pvVar24 = (void *)0x0;\n            sVar18 = 0;\n          }\n          else {\n            psVar34 = param_1;\n            if (uVar39 == 8) {\n              sVar18 = param_1[1];\n              if ((*(int *)(sVar18 + 4) == 5) && (*(char *)(param_1[0x27] + 4) == '\x02')) {\n                sVar18 = (**(code **)(sVar18 + 0x1c))(sVar2);\n                pvVar24 = (void *)0xffffffff;\n              }\n              else {\n                sVar18 = (**(code **)(sVar18 + 0x28))(sVar2);\n                pvVar24 = (void *)(**(code **)(param_1[1] + 0x28))(sVar2 + 4);\n              }\n            }\n            else {\n              if (uVar39 != 0x10) goto LAB_0001a7ea;\n              sVar18 = (**(code **)(param_1[1] + 0x1c))(sVar2);\n              pvVar24 = (void *)(**(code **)(param_1[1] + 0x1c))(sVar2 + 8);\n            }\n          }\n          if (sVar23 == 0x100) {\n            if (sVar18 == 0) {\n              sVar18 = local_8c;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = local_90;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_90 = pvVar24;\n            local_8c = sVar18;\n          }\n          else {\n            if (sVar18 == 0) {\n              sVar18 = local_94;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = (void *)local_98;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_98 = (size_t)pvVar24;\n            local_94 = sVar18;\n          }\n          if (*(char *)((local_64[3] - 1) + *local_64) != '\0') {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name not NUL terminated",5,\n                              *local_64);\n            goto LAB_0001a72d;\n          }\n          local_64 = local_64 + 9;\n          psVar25 = (size_t *)(iVar9 + 0xcU + (int)psVar25);\n        }\n        if (local_74 == 0) {\n          uVar26 = (uint)local_84 | local_6c;\n          if (local_80 == (size_t *)0x0 && uVar26 == 0) {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: no known versions detected",5,uVar26\n                             );\n            goto LAB_0001a72d;\n          }\n          if (((local_80 != (size_t *)0x0) && (uVar26 != 0)) ||\n             ((local_84 != (int *)0x0 && (local_6c != 0)))) {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: multiple different versions",5,\n                              sVar18);\n            goto LAB_0001a72d;\n          }\n          if ((local_80 == (size_t *)0x1 || local_84 == (int *)0x1) || (local_6c == 1))\n          goto LAB_0001a75c;\n          uVar26 = -(uint)(local_80 == (size_t *)0x0) & 2;\n          iVar9 = uVar26 + 1;\n          if (*(char *)(local_60[3] + iVar9) != '\x01') {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: first note not version note",5,\n                              psVar34);\n            goto LAB_0001a72d;\n          }\n          bVar40 = false;\n          iVar12 = uVar26 + 2;\n          psVar25 = local_60;\nLAB_0001a954:\n          psVar34 = psVar25;\n          psVar25 = psVar34 + 9;\n          if (psVar25 < local_64) {\n            if (psVar34[0xb] == 0x100) {\n              pvVar24 = (void *)psVar34[0xc];\n              local_7c = (size_t *)0x0;\n              psVar45 = psVar25;\n              do {\n                do {\n                  psVar6 = psVar45;\n                  psVar45 = psVar6 + -9;\n                  if (psVar45 < local_60) goto LAB_0001a954;\n                  pvVar30 = (void *)psVar6[-6];\n                  psVar7 = local_7c;\n                } while ((((local_7c == (size_t *)0x0) && (psVar6[-8] != 0)) &&\n                         (psVar7 = psVar45, psVar6[-7] == 0x101)) ||\n                        ((local_7c = psVar7,\n                         *(char *)((int)pvVar24 + iVar9) != *(char *)((int)pvVar30 + iVar9) ||\n                         (psVar6[-7] != 0x100))));\n                if (*(char *)((int)pvVar30 + iVar9) != '\x04') {\n                  psVar45 = (size_t *)*psVar45;\n                  if ((((psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)) &&\n                      ((uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0))))\n                     && ((0xfffffff0 < uVar26 || (psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0))))) {\n                    psVar34[0xb] = 0;\n                    if (uVar26 < uVar39) {\n                      psVar6[-2] = uVar39;\n                    }\n                    bVar40 = true;\n                    if (local_6c != 0) {\n                      psVar6[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0)) {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    psVar34[0x11] = 1;\n                    psVar34[0xb] = 0x101;\n                    psVar6[-1] = 1;\n                    psVar6[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }\n                uVar26 = 0;\n                for (iVar21 = 0; (int)*psVar25 - iVar12 != iVar21; iVar21 = iVar21 + 1) {\n                  uVar26 = uVar26 | (uint)*(byte *)((int)pvVar24 + iVar21 + iVar12) <<\n                                    ((char)iVar21 * '\b' & 0x1fU);\n                }\n                sVar18 = *psVar45;\n                local_5c = (int *)0x0;\n                for (uVar39 = 0; sVar18 - iVar12 != uVar39; uVar39 = uVar39 + 1) {\n                  local_5c = (int *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39] <<\n                                    ((char)uVar39 * '\b' & 0x1fU));\n                }\n                uVar28 = 0;\n                uVar26 = (int)local_5c + uVar26;\n                for (uVar27 = uVar26; uVar27 != 0; uVar27 = uVar27 >> 8) {\n                  uVar28 = uVar28 + 1;\n                }\n              } while (uVar39 <= uVar28);\n              puVar29 = (undefined1 *)((int)pvVar30 + iVar12);\n              while (puVar29 < (undefined1 *)((int)pvVar30 + sVar18)) {\n                *puVar29 = (char)uVar26;\n                if (uVar26 == 0) break;\n                uVar26 = uVar26 >> 8;\n                puVar29 = puVar29 + 1;\n              }\n              psVar34[0xb] = 0;\n              bVar40 = true;\n            }\n            goto LAB_0001a954;\n          }\n          if (!bVar40) goto LAB_0001a75c;\n          pvVar24 = (void *)xmalloc(uVar35,pvVar44,psVar20,psVar46);\n          sVar18 = 0;\n          pvVar44 = pvVar24;\n          local_80 = psVar38;\n          for (psVar20 = local_60; psVar20 < local_64; psVar20 = psVar20 + 9) {\n            sVar23 = *psVar20;\n            __n = psVar20[1] + sVar23 + 0xc;\n            sVar2 = psVar20[2];\n            pvVar30 = pvVar44;\n            if (sVar2 != 0) {\n              if (psVar20[8] == 0) {\n                memcpy(pvVar44,local_80,__n);\n                pvVar30 = (void *)((int)pvVar44 + __n);\n              }\n              else {\n                sVar5 = psVar20[6];\n                __dest = (void *)((int)pvVar44 + 0xc);\n                pvVar30 = (void *)((int)__dest + sVar23);\n                if ((sVar5 == local_74) && (psVar20[7] == sVar18)) {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar5,sVar5);\n                  (**(code **)(param_1[1] + 0x30))(0,(int)pvVar44 + 4);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                }\n                else {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar18,sVar18);\n                  cVar8 = '\b';\n                  if (*(int *)(param_1[1] + 4) == 5) {\n                    cVar8 = (*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b';\n                  }\n                  (**(code **)(param_1[1] + 0x30))(cVar8,(int)pvVar44 + 4,sVar23,sVar23);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                  sVar18 = param_1[1];\n                  psVar25 = param_1;\n                  if ((*(int *)(sVar18 + 4) == 5) &&\n                     (psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02')) {\n                    (**(code **)(sVar18 + 0x24))(sVar5,0,pvVar30,psVar25);\n                    (**(code **)(param_1[1] + 0x24))(psVar20[7],0,(void *)((int)pvVar30 + 8));\n                    pvVar30 = (void *)((int)pvVar30 + 0x10);\n                  }\n                  else {\n                    (**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25);\n                    (**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4);\n                    pvVar30 = (void *)((int)pvVar30 + 8);\n                  }\n                }\n              }\n              local_74 = psVar20[6];\n              sVar18 = psVar20[7];\n            }\n            local_80 = (size_t *)((int)local_80 + __n);\n            pvVar44 = pvVar30;\n          }\n          sVar18 = (int)pvVar44 - (int)pvVar24;\n          memcpy(psVar38,pvVar24,sVar18);\n          free(pvVar24);\n          free(local_60);\n          DAT_0003fb7c = sVar18;\n          if (uVar35 != sVar18) {\n            uVar10 = extraout_ECX_02;\n            if ((*(int *)(sVar17 + 0x3c) != 0) &&\n               (iVar9 = bfd_set_section_size(param_2,*(int *)(sVar17 + 0x3c),sVar18,extraout_EDX),\n               uVar10 = extraout_ECX_03, iVar9 != 0)) goto LAB_00018aad;\n            uVar10 = dcgettext(0,"warning: failed to set merged notes size",5,uVar10);\n            FUN_0002c160(0,param_2,sVar17,uVar10);\n          }\n        }\n        else {\n          iVar9 = dcgettext(0,"corrupt GNU build attribute notes: excess data at end",5,local_64);\nLAB_0001a72d:\n          if (iVar9 != 0) {\n            bfd_set_error(0x11);\n            FUN_0002c160(0,param_1,sVar17,iVar9);\n            DAT_0003fb88 = 1;\n          }\nLAB_0001a75c:\n          free(local_60);\n        }\n        free(DAT_0003fb80);\n        DAT_0003fb80 = (size_t *)0x0;\n        DAT_0003fb84 = 0;\n        DAT_0003fb7c = 0;\n      }\n    }" { (expression_statement "iVar9 = bfd_get_full_section_contents(param_1,sVar17,&DAT_0003fb80,uVar35);" (assignment_expression "iVar9 = bfd_get_full_section_contents(param_1,sVar17,&DAT_0003fb80,uVar35)" identifier = (call_expression "bfd_get_full_section_contents(param_1,sVar17,&DAT_0003fb80,uVar35)" identifier (argument_list "(param_1,sVar17,&DAT_0003fb80,uVar35)" ( identifier , identifier , (pointer_expression "&DAT_0003fb80" & identifier) , identifier )))) ;) (expression_statement "psVar38 = DAT_0003fb80;" (assignment_expression "psVar38 = DAT_0003fb80" identifier = identifier) ;) (if_statement "if (iVar9 == 0) {\n        uVar10 = dcgettext(0,"warning: could not load note section",5,0);\n        FUN_0002c160(0,param_1,sVar17,uVar10);\n        free(DAT_0003fb80);\n        DAT_0003fb80 = (size_t *)0x0;\n        DAT_0003fb84 = 0;\n      }\n      else {\n        iVar9 = bfd_get_reloc_upper_bound(param_1,sVar17,sVar17,sVar17);\n        psVar20 = param_1;\n        sVar18 = sVar17;\n        if (0 < iVar9) {\n          psVar20 = (size_t *)xmalloc(iVar9);\n          sVar18 = bfd_canonicalize_reloc(param_1,sVar17,psVar20,DAT_0003fb9c);\n          free(psVar20);\n          if (sVar18 == 0) goto LAB_0001a478;\n          local_60 = (size_t *)0x0;\n          goto LAB_0001a75c;\n        }\nLAB_0001a478:\n        pvVar44 = (void *)0x24;\n        psVar46 = psVar20;\n        local_60 = (size_t *)xcalloc(uVar35 / 0xc,0x24,psVar20,psVar20);\n        local_90 = (void *)0x0;\n        local_98 = 0;\n        local_8c = 0;\n        local_94 = 0;\n        local_6c = 0;\n        local_84 = (int *)0x0;\n        local_80 = (size_t *)0x0;\n        psVar25 = psVar38;\n        psVar34 = psVar38;\n        local_74 = uVar35;\n        local_64 = local_60;\n        while (0xb < local_74) {\n          iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25);\n          uVar26 = iVar9 + 3U & 0xfffffffc;\n          *local_64 = uVar26;\n          iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25 + 1);\n          uVar39 = iVar9 + 3U & 0xfffffffc;\n          sVar18 = param_1[1];\n          local_64[1] = uVar39;\n          sVar23 = (**(code **)(sVar18 + 0x28))(psVar25 + 2);\n          local_64[2] = sVar23;\n          if (1 < sVar23 - 0x100) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: wrong note type",5,\n                              extraout_ECX_01);\n            goto LAB_0001a72d;\n          }\n          iVar9 = uVar26 + uVar39;\n          if (local_74 < iVar9 + 0xcU) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: note too big",5,psVar25);\n            goto LAB_0001a72d;\n          }\n          if (uVar26 < 2) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name too small",5,iVar9);\n            goto LAB_0001a72d;\n          }\n          local_64[3] = (size_t)(psVar25 + 3);\n          sVar2 = (int)psVar25 + uVar26 + 0xc;\n          local_64[4] = sVar2;\n          psVar34 = (size_t *)(-0xc - iVar9);\n          local_74 = local_74 + (int)psVar34;\n          cVar8 = (char)psVar25[3];\n          if (cVar8 == '$') {\n            if ((*(char *)((int)psVar25 + 0xd) == '\x01') && (*(char *)((int)psVar25 + 0xe) == '1'))\n            {\n              local_80 = (size_t *)((int)local_80 + 1);\n            }\n          }\n          else if ((((4 < uVar26) && (cVar8 == 'G')) && (*(char *)((int)psVar25 + 0xd) == 'A')) &&\n                  ((*(char *)((int)psVar25 + 0xe) == '$' &&\n                   (*(char *)((int)psVar25 + 0xf) == '\x01')))) {\n            cVar8 = (char)psVar25[4];\n            if (cVar8 == '2') {\n              local_84 = (int *)((int)local_84 + 1);\n            }\n            else {\n              if (cVar8 != '3') {\n                iVar9 = dcgettext(0,"corrupt GNU build attribute note: unsupported version",5,cVar8)\n                ;\n                goto LAB_0001a72d;\n              }\n              local_6c = local_6c + 1;\n            }\n          }\n          if (uVar39 == 4) {\n            sVar18 = (**(code **)(param_1[1] + 0x28))(sVar2);\n            pvVar24 = (void *)0xffffffff;\n          }\n          else if (uVar39 < 5) {\n            if (uVar39 != 0) {\nLAB_0001a7ea:\n              iVar9 = dcgettext(0,"corrupt GNU build attribute note: bad description size",5,cVar8);\n              goto LAB_0001a72d;\n            }\n            pvVar24 = (void *)0x0;\n            sVar18 = 0;\n          }\n          else {\n            psVar34 = param_1;\n            if (uVar39 == 8) {\n              sVar18 = param_1[1];\n              if ((*(int *)(sVar18 + 4) == 5) && (*(char *)(param_1[0x27] + 4) == '\x02')) {\n                sVar18 = (**(code **)(sVar18 + 0x1c))(sVar2);\n                pvVar24 = (void *)0xffffffff;\n              }\n              else {\n                sVar18 = (**(code **)(sVar18 + 0x28))(sVar2);\n                pvVar24 = (void *)(**(code **)(param_1[1] + 0x28))(sVar2 + 4);\n              }\n            }\n            else {\n              if (uVar39 != 0x10) goto LAB_0001a7ea;\n              sVar18 = (**(code **)(param_1[1] + 0x1c))(sVar2);\n              pvVar24 = (void *)(**(code **)(param_1[1] + 0x1c))(sVar2 + 8);\n            }\n          }\n          if (sVar23 == 0x100) {\n            if (sVar18 == 0) {\n              sVar18 = local_8c;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = local_90;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_90 = pvVar24;\n            local_8c = sVar18;\n          }\n          else {\n            if (sVar18 == 0) {\n              sVar18 = local_94;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = (void *)local_98;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_98 = (size_t)pvVar24;\n            local_94 = sVar18;\n          }\n          if (*(char *)((local_64[3] - 1) + *local_64) != '\0') {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name not NUL terminated",5,\n                              *local_64);\n            goto LAB_0001a72d;\n          }\n          local_64 = local_64 + 9;\n          psVar25 = (size_t *)(iVar9 + 0xcU + (int)psVar25);\n        }\n        if (local_74 == 0) {\n          uVar26 = (uint)local_84 | local_6c;\n          if (local_80 == (size_t *)0x0 && uVar26 == 0) {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: no known versions detected",5,uVar26\n                             );\n            goto LAB_0001a72d;\n          }\n          if (((local_80 != (size_t *)0x0) && (uVar26 != 0)) ||\n             ((local_84 != (int *)0x0 && (local_6c != 0)))) {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: multiple different versions",5,\n                              sVar18);\n            goto LAB_0001a72d;\n          }\n          if ((local_80 == (size_t *)0x1 || local_84 == (int *)0x1) || (local_6c == 1))\n          goto LAB_0001a75c;\n          uVar26 = -(uint)(local_80 == (size_t *)0x0) & 2;\n          iVar9 = uVar26 + 1;\n          if (*(char *)(local_60[3] + iVar9) != '\x01') {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: first note not version note",5,\n                              psVar34);\n            goto LAB_0001a72d;\n          }\n          bVar40 = false;\n          iVar12 = uVar26 + 2;\n          psVar25 = local_60;\nLAB_0001a954:\n          psVar34 = psVar25;\n          psVar25 = psVar34 + 9;\n          if (psVar25 < local_64) {\n            if (psVar34[0xb] == 0x100) {\n              pvVar24 = (void *)psVar34[0xc];\n              local_7c = (size_t *)0x0;\n              psVar45 = psVar25;\n              do {\n                do {\n                  psVar6 = psVar45;\n                  psVar45 = psVar6 + -9;\n                  if (psVar45 < local_60) goto LAB_0001a954;\n                  pvVar30 = (void *)psVar6[-6];\n                  psVar7 = local_7c;\n                } while ((((local_7c == (size_t *)0x0) && (psVar6[-8] != 0)) &&\n                         (psVar7 = psVar45, psVar6[-7] == 0x101)) ||\n                        ((local_7c = psVar7,\n                         *(char *)((int)pvVar24 + iVar9) != *(char *)((int)pvVar30 + iVar9) ||\n                         (psVar6[-7] != 0x100))));\n                if (*(char *)((int)pvVar30 + iVar9) != '\x04') {\n                  psVar45 = (size_t *)*psVar45;\n                  if ((((psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)) &&\n                      ((uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0))))\n                     && ((0xfffffff0 < uVar26 || (psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0))))) {\n                    psVar34[0xb] = 0;\n                    if (uVar26 < uVar39) {\n                      psVar6[-2] = uVar39;\n                    }\n                    bVar40 = true;\n                    if (local_6c != 0) {\n                      psVar6[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0)) {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    psVar34[0x11] = 1;\n                    psVar34[0xb] = 0x101;\n                    psVar6[-1] = 1;\n                    psVar6[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }\n                uVar26 = 0;\n                for (iVar21 = 0; (int)*psVar25 - iVar12 != iVar21; iVar21 = iVar21 + 1) {\n                  uVar26 = uVar26 | (uint)*(byte *)((int)pvVar24 + iVar21 + iVar12) <<\n                                    ((char)iVar21 * '\b' & 0x1fU);\n                }\n                sVar18 = *psVar45;\n                local_5c = (int *)0x0;\n                for (uVar39 = 0; sVar18 - iVar12 != uVar39; uVar39 = uVar39 + 1) {\n                  local_5c = (int *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39] <<\n                                    ((char)uVar39 * '\b' & 0x1fU));\n                }\n                uVar28 = 0;\n                uVar26 = (int)local_5c + uVar26;\n                for (uVar27 = uVar26; uVar27 != 0; uVar27 = uVar27 >> 8) {\n                  uVar28 = uVar28 + 1;\n                }\n              } while (uVar39 <= uVar28);\n              puVar29 = (undefined1 *)((int)pvVar30 + iVar12);\n              while (puVar29 < (undefined1 *)((int)pvVar30 + sVar18)) {\n                *puVar29 = (char)uVar26;\n                if (uVar26 == 0) break;\n                uVar26 = uVar26 >> 8;\n                puVar29 = puVar29 + 1;\n              }\n              psVar34[0xb] = 0;\n              bVar40 = true;\n            }\n            goto LAB_0001a954;\n          }\n          if (!bVar40) goto LAB_0001a75c;\n          pvVar24 = (void *)xmalloc(uVar35,pvVar44,psVar20,psVar46);\n          sVar18 = 0;\n          pvVar44 = pvVar24;\n          local_80 = psVar38;\n          for (psVar20 = local_60; psVar20 < local_64; psVar20 = psVar20 + 9) {\n            sVar23 = *psVar20;\n            __n = psVar20[1] + sVar23 + 0xc;\n            sVar2 = psVar20[2];\n            pvVar30 = pvVar44;\n            if (sVar2 != 0) {\n              if (psVar20[8] == 0) {\n                memcpy(pvVar44,local_80,__n);\n                pvVar30 = (void *)((int)pvVar44 + __n);\n              }\n              else {\n                sVar5 = psVar20[6];\n                __dest = (void *)((int)pvVar44 + 0xc);\n                pvVar30 = (void *)((int)__dest + sVar23);\n                if ((sVar5 == local_74) && (psVar20[7] == sVar18)) {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar5,sVar5);\n                  (**(code **)(param_1[1] + 0x30))(0,(int)pvVar44 + 4);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                }\n                else {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar18,sVar18);\n                  cVar8 = '\b';\n                  if (*(int *)(param_1[1] + 4) == 5) {\n                    cVar8 = (*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b';\n                  }\n                  (**(code **)(param_1[1] + 0x30))(cVar8,(int)pvVar44 + 4,sVar23,sVar23);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                  sVar18 = param_1[1];\n                  psVar25 = param_1;\n                  if ((*(int *)(sVar18 + 4) == 5) &&\n                     (psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02')) {\n                    (**(code **)(sVar18 + 0x24))(sVar5,0,pvVar30,psVar25);\n                    (**(code **)(param_1[1] + 0x24))(psVar20[7],0,(void *)((int)pvVar30 + 8));\n                    pvVar30 = (void *)((int)pvVar30 + 0x10);\n                  }\n                  else {\n                    (**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25);\n                    (**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4);\n                    pvVar30 = (void *)((int)pvVar30 + 8);\n                  }\n                }\n              }\n              local_74 = psVar20[6];\n              sVar18 = psVar20[7];\n            }\n            local_80 = (size_t *)((int)local_80 + __n);\n            pvVar44 = pvVar30;\n          }\n          sVar18 = (int)pvVar44 - (int)pvVar24;\n          memcpy(psVar38,pvVar24,sVar18);\n          free(pvVar24);\n          free(local_60);\n          DAT_0003fb7c = sVar18;\n          if (uVar35 != sVar18) {\n            uVar10 = extraout_ECX_02;\n            if ((*(int *)(sVar17 + 0x3c) != 0) &&\n               (iVar9 = bfd_set_section_size(param_2,*(int *)(sVar17 + 0x3c),sVar18,extraout_EDX),\n               uVar10 = extraout_ECX_03, iVar9 != 0)) goto LAB_00018aad;\n            uVar10 = dcgettext(0,"warning: failed to set merged notes size",5,uVar10);\n            FUN_0002c160(0,param_2,sVar17,uVar10);\n          }\n        }\n        else {\n          iVar9 = dcgettext(0,"corrupt GNU build attribute notes: excess data at end",5,local_64);\nLAB_0001a72d:\n          if (iVar9 != 0) {\n            bfd_set_error(0x11);\n            FUN_0002c160(0,param_1,sVar17,iVar9);\n            DAT_0003fb88 = 1;\n          }\nLAB_0001a75c:\n          free(local_60);\n        }\n        free(DAT_0003fb80);\n        DAT_0003fb80 = (size_t *)0x0;\n        DAT_0003fb84 = 0;\n        DAT_0003fb7c = 0;\n      }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar10 = dcgettext(0,"warning: could not load note section",5,0);\n        FUN_0002c160(0,param_1,sVar17,uVar10);\n        free(DAT_0003fb80);\n        DAT_0003fb80 = (size_t *)0x0;\n        DAT_0003fb84 = 0;\n      }" { (expression_statement "uVar10 = dcgettext(0,"warning: could not load note section",5,0);" (assignment_expression "uVar10 = dcgettext(0,"warning: could not load note section",5,0)" identifier = (call_expression "dcgettext(0,"warning: could not load note section",5,0)" identifier (argument_list "(0,"warning: could not load note section",5,0)" ( number_literal , (string_literal ""warning: could not load note section"" " string_content ") , number_literal , number_literal )))) ;) (expression_statement "FUN_0002c160(0,param_1,sVar17,uVar10);" (call_expression "FUN_0002c160(0,param_1,sVar17,uVar10)" identifier (argument_list "(0,param_1,sVar17,uVar10)" ( number_literal , identifier , identifier , identifier ))) ;) (expression_statement "free(DAT_0003fb80);" (call_expression "free(DAT_0003fb80)" identifier (argument_list "(DAT_0003fb80)" ( identifier ))) ;) (expression_statement "DAT_0003fb80 = (size_t *)0x0;" (assignment_expression "DAT_0003fb80 = (size_t *)0x0" identifier = (cast_expression "(size_t *)0x0" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "DAT_0003fb84 = 0;" (assignment_expression "DAT_0003fb84 = 0" identifier = number_literal) ;) }) (else_clause "else {\n        iVar9 = bfd_get_reloc_upper_bound(param_1,sVar17,sVar17,sVar17);\n        psVar20 = param_1;\n        sVar18 = sVar17;\n        if (0 < iVar9) {\n          psVar20 = (size_t *)xmalloc(iVar9);\n          sVar18 = bfd_canonicalize_reloc(param_1,sVar17,psVar20,DAT_0003fb9c);\n          free(psVar20);\n          if (sVar18 == 0) goto LAB_0001a478;\n          local_60 = (size_t *)0x0;\n          goto LAB_0001a75c;\n        }\nLAB_0001a478:\n        pvVar44 = (void *)0x24;\n        psVar46 = psVar20;\n        local_60 = (size_t *)xcalloc(uVar35 / 0xc,0x24,psVar20,psVar20);\n        local_90 = (void *)0x0;\n        local_98 = 0;\n        local_8c = 0;\n        local_94 = 0;\n        local_6c = 0;\n        local_84 = (int *)0x0;\n        local_80 = (size_t *)0x0;\n        psVar25 = psVar38;\n        psVar34 = psVar38;\n        local_74 = uVar35;\n        local_64 = local_60;\n        while (0xb < local_74) {\n          iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25);\n          uVar26 = iVar9 + 3U & 0xfffffffc;\n          *local_64 = uVar26;\n          iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25 + 1);\n          uVar39 = iVar9 + 3U & 0xfffffffc;\n          sVar18 = param_1[1];\n          local_64[1] = uVar39;\n          sVar23 = (**(code **)(sVar18 + 0x28))(psVar25 + 2);\n          local_64[2] = sVar23;\n          if (1 < sVar23 - 0x100) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: wrong note type",5,\n                              extraout_ECX_01);\n            goto LAB_0001a72d;\n          }\n          iVar9 = uVar26 + uVar39;\n          if (local_74 < iVar9 + 0xcU) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: note too big",5,psVar25);\n            goto LAB_0001a72d;\n          }\n          if (uVar26 < 2) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name too small",5,iVar9);\n            goto LAB_0001a72d;\n          }\n          local_64[3] = (size_t)(psVar25 + 3);\n          sVar2 = (int)psVar25 + uVar26 + 0xc;\n          local_64[4] = sVar2;\n          psVar34 = (size_t *)(-0xc - iVar9);\n          local_74 = local_74 + (int)psVar34;\n          cVar8 = (char)psVar25[3];\n          if (cVar8 == '$') {\n            if ((*(char *)((int)psVar25 + 0xd) == '\x01') && (*(char *)((int)psVar25 + 0xe) == '1'))\n            {\n              local_80 = (size_t *)((int)local_80 + 1);\n            }\n          }\n          else if ((((4 < uVar26) && (cVar8 == 'G')) && (*(char *)((int)psVar25 + 0xd) == 'A')) &&\n                  ((*(char *)((int)psVar25 + 0xe) == '$' &&\n                   (*(char *)((int)psVar25 + 0xf) == '\x01')))) {\n            cVar8 = (char)psVar25[4];\n            if (cVar8 == '2') {\n              local_84 = (int *)((int)local_84 + 1);\n            }\n            else {\n              if (cVar8 != '3') {\n                iVar9 = dcgettext(0,"corrupt GNU build attribute note: unsupported version",5,cVar8)\n                ;\n                goto LAB_0001a72d;\n              }\n              local_6c = local_6c + 1;\n            }\n          }\n          if (uVar39 == 4) {\n            sVar18 = (**(code **)(param_1[1] + 0x28))(sVar2);\n            pvVar24 = (void *)0xffffffff;\n          }\n          else if (uVar39 < 5) {\n            if (uVar39 != 0) {\nLAB_0001a7ea:\n              iVar9 = dcgettext(0,"corrupt GNU build attribute note: bad description size",5,cVar8);\n              goto LAB_0001a72d;\n            }\n            pvVar24 = (void *)0x0;\n            sVar18 = 0;\n          }\n          else {\n            psVar34 = param_1;\n            if (uVar39 == 8) {\n              sVar18 = param_1[1];\n              if ((*(int *)(sVar18 + 4) == 5) && (*(char *)(param_1[0x27] + 4) == '\x02')) {\n                sVar18 = (**(code **)(sVar18 + 0x1c))(sVar2);\n                pvVar24 = (void *)0xffffffff;\n              }\n              else {\n                sVar18 = (**(code **)(sVar18 + 0x28))(sVar2);\n                pvVar24 = (void *)(**(code **)(param_1[1] + 0x28))(sVar2 + 4);\n              }\n            }\n            else {\n              if (uVar39 != 0x10) goto LAB_0001a7ea;\n              sVar18 = (**(code **)(param_1[1] + 0x1c))(sVar2);\n              pvVar24 = (void *)(**(code **)(param_1[1] + 0x1c))(sVar2 + 8);\n            }\n          }\n          if (sVar23 == 0x100) {\n            if (sVar18 == 0) {\n              sVar18 = local_8c;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = local_90;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_90 = pvVar24;\n            local_8c = sVar18;\n          }\n          else {\n            if (sVar18 == 0) {\n              sVar18 = local_94;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = (void *)local_98;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_98 = (size_t)pvVar24;\n            local_94 = sVar18;\n          }\n          if (*(char *)((local_64[3] - 1) + *local_64) != '\0') {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name not NUL terminated",5,\n                              *local_64);\n            goto LAB_0001a72d;\n          }\n          local_64 = local_64 + 9;\n          psVar25 = (size_t *)(iVar9 + 0xcU + (int)psVar25);\n        }\n        if (local_74 == 0) {\n          uVar26 = (uint)local_84 | local_6c;\n          if (local_80 == (size_t *)0x0 && uVar26 == 0) {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: no known versions detected",5,uVar26\n                             );\n            goto LAB_0001a72d;\n          }\n          if (((local_80 != (size_t *)0x0) && (uVar26 != 0)) ||\n             ((local_84 != (int *)0x0 && (local_6c != 0)))) {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: multiple different versions",5,\n                              sVar18);\n            goto LAB_0001a72d;\n          }\n          if ((local_80 == (size_t *)0x1 || local_84 == (int *)0x1) || (local_6c == 1))\n          goto LAB_0001a75c;\n          uVar26 = -(uint)(local_80 == (size_t *)0x0) & 2;\n          iVar9 = uVar26 + 1;\n          if (*(char *)(local_60[3] + iVar9) != '\x01') {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: first note not version note",5,\n                              psVar34);\n            goto LAB_0001a72d;\n          }\n          bVar40 = false;\n          iVar12 = uVar26 + 2;\n          psVar25 = local_60;\nLAB_0001a954:\n          psVar34 = psVar25;\n          psVar25 = psVar34 + 9;\n          if (psVar25 < local_64) {\n            if (psVar34[0xb] == 0x100) {\n              pvVar24 = (void *)psVar34[0xc];\n              local_7c = (size_t *)0x0;\n              psVar45 = psVar25;\n              do {\n                do {\n                  psVar6 = psVar45;\n                  psVar45 = psVar6 + -9;\n                  if (psVar45 < local_60) goto LAB_0001a954;\n                  pvVar30 = (void *)psVar6[-6];\n                  psVar7 = local_7c;\n                } while ((((local_7c == (size_t *)0x0) && (psVar6[-8] != 0)) &&\n                         (psVar7 = psVar45, psVar6[-7] == 0x101)) ||\n                        ((local_7c = psVar7,\n                         *(char *)((int)pvVar24 + iVar9) != *(char *)((int)pvVar30 + iVar9) ||\n                         (psVar6[-7] != 0x100))));\n                if (*(char *)((int)pvVar30 + iVar9) != '\x04') {\n                  psVar45 = (size_t *)*psVar45;\n                  if ((((psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)) &&\n                      ((uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0))))\n                     && ((0xfffffff0 < uVar26 || (psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0))))) {\n                    psVar34[0xb] = 0;\n                    if (uVar26 < uVar39) {\n                      psVar6[-2] = uVar39;\n                    }\n                    bVar40 = true;\n                    if (local_6c != 0) {\n                      psVar6[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0)) {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    psVar34[0x11] = 1;\n                    psVar34[0xb] = 0x101;\n                    psVar6[-1] = 1;\n                    psVar6[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }\n                uVar26 = 0;\n                for (iVar21 = 0; (int)*psVar25 - iVar12 != iVar21; iVar21 = iVar21 + 1) {\n                  uVar26 = uVar26 | (uint)*(byte *)((int)pvVar24 + iVar21 + iVar12) <<\n                                    ((char)iVar21 * '\b' & 0x1fU);\n                }\n                sVar18 = *psVar45;\n                local_5c = (int *)0x0;\n                for (uVar39 = 0; sVar18 - iVar12 != uVar39; uVar39 = uVar39 + 1) {\n                  local_5c = (int *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39] <<\n                                    ((char)uVar39 * '\b' & 0x1fU));\n                }\n                uVar28 = 0;\n                uVar26 = (int)local_5c + uVar26;\n                for (uVar27 = uVar26; uVar27 != 0; uVar27 = uVar27 >> 8) {\n                  uVar28 = uVar28 + 1;\n                }\n              } while (uVar39 <= uVar28);\n              puVar29 = (undefined1 *)((int)pvVar30 + iVar12);\n              while (puVar29 < (undefined1 *)((int)pvVar30 + sVar18)) {\n                *puVar29 = (char)uVar26;\n                if (uVar26 == 0) break;\n                uVar26 = uVar26 >> 8;\n                puVar29 = puVar29 + 1;\n              }\n              psVar34[0xb] = 0;\n              bVar40 = true;\n            }\n            goto LAB_0001a954;\n          }\n          if (!bVar40) goto LAB_0001a75c;\n          pvVar24 = (void *)xmalloc(uVar35,pvVar44,psVar20,psVar46);\n          sVar18 = 0;\n          pvVar44 = pvVar24;\n          local_80 = psVar38;\n          for (psVar20 = local_60; psVar20 < local_64; psVar20 = psVar20 + 9) {\n            sVar23 = *psVar20;\n            __n = psVar20[1] + sVar23 + 0xc;\n            sVar2 = psVar20[2];\n            pvVar30 = pvVar44;\n            if (sVar2 != 0) {\n              if (psVar20[8] == 0) {\n                memcpy(pvVar44,local_80,__n);\n                pvVar30 = (void *)((int)pvVar44 + __n);\n              }\n              else {\n                sVar5 = psVar20[6];\n                __dest = (void *)((int)pvVar44 + 0xc);\n                pvVar30 = (void *)((int)__dest + sVar23);\n                if ((sVar5 == local_74) && (psVar20[7] == sVar18)) {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar5,sVar5);\n                  (**(code **)(param_1[1] + 0x30))(0,(int)pvVar44 + 4);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                }\n                else {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar18,sVar18);\n                  cVar8 = '\b';\n                  if (*(int *)(param_1[1] + 4) == 5) {\n                    cVar8 = (*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b';\n                  }\n                  (**(code **)(param_1[1] + 0x30))(cVar8,(int)pvVar44 + 4,sVar23,sVar23);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                  sVar18 = param_1[1];\n                  psVar25 = param_1;\n                  if ((*(int *)(sVar18 + 4) == 5) &&\n                     (psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02')) {\n                    (**(code **)(sVar18 + 0x24))(sVar5,0,pvVar30,psVar25);\n                    (**(code **)(param_1[1] + 0x24))(psVar20[7],0,(void *)((int)pvVar30 + 8));\n                    pvVar30 = (void *)((int)pvVar30 + 0x10);\n                  }\n                  else {\n                    (**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25);\n                    (**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4);\n                    pvVar30 = (void *)((int)pvVar30 + 8);\n                  }\n                }\n              }\n              local_74 = psVar20[6];\n              sVar18 = psVar20[7];\n            }\n            local_80 = (size_t *)((int)local_80 + __n);\n            pvVar44 = pvVar30;\n          }\n          sVar18 = (int)pvVar44 - (int)pvVar24;\n          memcpy(psVar38,pvVar24,sVar18);\n          free(pvVar24);\n          free(local_60);\n          DAT_0003fb7c = sVar18;\n          if (uVar35 != sVar18) {\n            uVar10 = extraout_ECX_02;\n            if ((*(int *)(sVar17 + 0x3c) != 0) &&\n               (iVar9 = bfd_set_section_size(param_2,*(int *)(sVar17 + 0x3c),sVar18,extraout_EDX),\n               uVar10 = extraout_ECX_03, iVar9 != 0)) goto LAB_00018aad;\n            uVar10 = dcgettext(0,"warning: failed to set merged notes size",5,uVar10);\n            FUN_0002c160(0,param_2,sVar17,uVar10);\n          }\n        }\n        else {\n          iVar9 = dcgettext(0,"corrupt GNU build attribute notes: excess data at end",5,local_64);\nLAB_0001a72d:\n          if (iVar9 != 0) {\n            bfd_set_error(0x11);\n            FUN_0002c160(0,param_1,sVar17,iVar9);\n            DAT_0003fb88 = 1;\n          }\nLAB_0001a75c:\n          free(local_60);\n        }\n        free(DAT_0003fb80);\n        DAT_0003fb80 = (size_t *)0x0;\n        DAT_0003fb84 = 0;\n        DAT_0003fb7c = 0;\n      }" else (compound_statement "{\n        iVar9 = bfd_get_reloc_upper_bound(param_1,sVar17,sVar17,sVar17);\n        psVar20 = param_1;\n        sVar18 = sVar17;\n        if (0 < iVar9) {\n          psVar20 = (size_t *)xmalloc(iVar9);\n          sVar18 = bfd_canonicalize_reloc(param_1,sVar17,psVar20,DAT_0003fb9c);\n          free(psVar20);\n          if (sVar18 == 0) goto LAB_0001a478;\n          local_60 = (size_t *)0x0;\n          goto LAB_0001a75c;\n        }\nLAB_0001a478:\n        pvVar44 = (void *)0x24;\n        psVar46 = psVar20;\n        local_60 = (size_t *)xcalloc(uVar35 / 0xc,0x24,psVar20,psVar20);\n        local_90 = (void *)0x0;\n        local_98 = 0;\n        local_8c = 0;\n        local_94 = 0;\n        local_6c = 0;\n        local_84 = (int *)0x0;\n        local_80 = (size_t *)0x0;\n        psVar25 = psVar38;\n        psVar34 = psVar38;\n        local_74 = uVar35;\n        local_64 = local_60;\n        while (0xb < local_74) {\n          iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25);\n          uVar26 = iVar9 + 3U & 0xfffffffc;\n          *local_64 = uVar26;\n          iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25 + 1);\n          uVar39 = iVar9 + 3U & 0xfffffffc;\n          sVar18 = param_1[1];\n          local_64[1] = uVar39;\n          sVar23 = (**(code **)(sVar18 + 0x28))(psVar25 + 2);\n          local_64[2] = sVar23;\n          if (1 < sVar23 - 0x100) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: wrong note type",5,\n                              extraout_ECX_01);\n            goto LAB_0001a72d;\n          }\n          iVar9 = uVar26 + uVar39;\n          if (local_74 < iVar9 + 0xcU) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: note too big",5,psVar25);\n            goto LAB_0001a72d;\n          }\n          if (uVar26 < 2) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name too small",5,iVar9);\n            goto LAB_0001a72d;\n          }\n          local_64[3] = (size_t)(psVar25 + 3);\n          sVar2 = (int)psVar25 + uVar26 + 0xc;\n          local_64[4] = sVar2;\n          psVar34 = (size_t *)(-0xc - iVar9);\n          local_74 = local_74 + (int)psVar34;\n          cVar8 = (char)psVar25[3];\n          if (cVar8 == '$') {\n            if ((*(char *)((int)psVar25 + 0xd) == '\x01') && (*(char *)((int)psVar25 + 0xe) == '1'))\n            {\n              local_80 = (size_t *)((int)local_80 + 1);\n            }\n          }\n          else if ((((4 < uVar26) && (cVar8 == 'G')) && (*(char *)((int)psVar25 + 0xd) == 'A')) &&\n                  ((*(char *)((int)psVar25 + 0xe) == '$' &&\n                   (*(char *)((int)psVar25 + 0xf) == '\x01')))) {\n            cVar8 = (char)psVar25[4];\n            if (cVar8 == '2') {\n              local_84 = (int *)((int)local_84 + 1);\n            }\n            else {\n              if (cVar8 != '3') {\n                iVar9 = dcgettext(0,"corrupt GNU build attribute note: unsupported version",5,cVar8)\n                ;\n                goto LAB_0001a72d;\n              }\n              local_6c = local_6c + 1;\n            }\n          }\n          if (uVar39 == 4) {\n            sVar18 = (**(code **)(param_1[1] + 0x28))(sVar2);\n            pvVar24 = (void *)0xffffffff;\n          }\n          else if (uVar39 < 5) {\n            if (uVar39 != 0) {\nLAB_0001a7ea:\n              iVar9 = dcgettext(0,"corrupt GNU build attribute note: bad description size",5,cVar8);\n              goto LAB_0001a72d;\n            }\n            pvVar24 = (void *)0x0;\n            sVar18 = 0;\n          }\n          else {\n            psVar34 = param_1;\n            if (uVar39 == 8) {\n              sVar18 = param_1[1];\n              if ((*(int *)(sVar18 + 4) == 5) && (*(char *)(param_1[0x27] + 4) == '\x02')) {\n                sVar18 = (**(code **)(sVar18 + 0x1c))(sVar2);\n                pvVar24 = (void *)0xffffffff;\n              }\n              else {\n                sVar18 = (**(code **)(sVar18 + 0x28))(sVar2);\n                pvVar24 = (void *)(**(code **)(param_1[1] + 0x28))(sVar2 + 4);\n              }\n            }\n            else {\n              if (uVar39 != 0x10) goto LAB_0001a7ea;\n              sVar18 = (**(code **)(param_1[1] + 0x1c))(sVar2);\n              pvVar24 = (void *)(**(code **)(param_1[1] + 0x1c))(sVar2 + 8);\n            }\n          }\n          if (sVar23 == 0x100) {\n            if (sVar18 == 0) {\n              sVar18 = local_8c;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = local_90;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_90 = pvVar24;\n            local_8c = sVar18;\n          }\n          else {\n            if (sVar18 == 0) {\n              sVar18 = local_94;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = (void *)local_98;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_98 = (size_t)pvVar24;\n            local_94 = sVar18;\n          }\n          if (*(char *)((local_64[3] - 1) + *local_64) != '\0') {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name not NUL terminated",5,\n                              *local_64);\n            goto LAB_0001a72d;\n          }\n          local_64 = local_64 + 9;\n          psVar25 = (size_t *)(iVar9 + 0xcU + (int)psVar25);\n        }\n        if (local_74 == 0) {\n          uVar26 = (uint)local_84 | local_6c;\n          if (local_80 == (size_t *)0x0 && uVar26 == 0) {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: no known versions detected",5,uVar26\n                             );\n            goto LAB_0001a72d;\n          }\n          if (((local_80 != (size_t *)0x0) && (uVar26 != 0)) ||\n             ((local_84 != (int *)0x0 && (local_6c != 0)))) {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: multiple different versions",5,\n                              sVar18);\n            goto LAB_0001a72d;\n          }\n          if ((local_80 == (size_t *)0x1 || local_84 == (int *)0x1) || (local_6c == 1))\n          goto LAB_0001a75c;\n          uVar26 = -(uint)(local_80 == (size_t *)0x0) & 2;\n          iVar9 = uVar26 + 1;\n          if (*(char *)(local_60[3] + iVar9) != '\x01') {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: first note not version note",5,\n                              psVar34);\n            goto LAB_0001a72d;\n          }\n          bVar40 = false;\n          iVar12 = uVar26 + 2;\n          psVar25 = local_60;\nLAB_0001a954:\n          psVar34 = psVar25;\n          psVar25 = psVar34 + 9;\n          if (psVar25 < local_64) {\n            if (psVar34[0xb] == 0x100) {\n              pvVar24 = (void *)psVar34[0xc];\n              local_7c = (size_t *)0x0;\n              psVar45 = psVar25;\n              do {\n                do {\n                  psVar6 = psVar45;\n                  psVar45 = psVar6 + -9;\n                  if (psVar45 < local_60) goto LAB_0001a954;\n                  pvVar30 = (void *)psVar6[-6];\n                  psVar7 = local_7c;\n                } while ((((local_7c == (size_t *)0x0) && (psVar6[-8] != 0)) &&\n                         (psVar7 = psVar45, psVar6[-7] == 0x101)) ||\n                        ((local_7c = psVar7,\n                         *(char *)((int)pvVar24 + iVar9) != *(char *)((int)pvVar30 + iVar9) ||\n                         (psVar6[-7] != 0x100))));\n                if (*(char *)((int)pvVar30 + iVar9) != '\x04') {\n                  psVar45 = (size_t *)*psVar45;\n                  if ((((psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)) &&\n                      ((uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0))))\n                     && ((0xfffffff0 < uVar26 || (psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0))))) {\n                    psVar34[0xb] = 0;\n                    if (uVar26 < uVar39) {\n                      psVar6[-2] = uVar39;\n                    }\n                    bVar40 = true;\n                    if (local_6c != 0) {\n                      psVar6[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0)) {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    psVar34[0x11] = 1;\n                    psVar34[0xb] = 0x101;\n                    psVar6[-1] = 1;\n                    psVar6[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }\n                uVar26 = 0;\n                for (iVar21 = 0; (int)*psVar25 - iVar12 != iVar21; iVar21 = iVar21 + 1) {\n                  uVar26 = uVar26 | (uint)*(byte *)((int)pvVar24 + iVar21 + iVar12) <<\n                                    ((char)iVar21 * '\b' & 0x1fU);\n                }\n                sVar18 = *psVar45;\n                local_5c = (int *)0x0;\n                for (uVar39 = 0; sVar18 - iVar12 != uVar39; uVar39 = uVar39 + 1) {\n                  local_5c = (int *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39] <<\n                                    ((char)uVar39 * '\b' & 0x1fU));\n                }\n                uVar28 = 0;\n                uVar26 = (int)local_5c + uVar26;\n                for (uVar27 = uVar26; uVar27 != 0; uVar27 = uVar27 >> 8) {\n                  uVar28 = uVar28 + 1;\n                }\n              } while (uVar39 <= uVar28);\n              puVar29 = (undefined1 *)((int)pvVar30 + iVar12);\n              while (puVar29 < (undefined1 *)((int)pvVar30 + sVar18)) {\n                *puVar29 = (char)uVar26;\n                if (uVar26 == 0) break;\n                uVar26 = uVar26 >> 8;\n                puVar29 = puVar29 + 1;\n              }\n              psVar34[0xb] = 0;\n              bVar40 = true;\n            }\n            goto LAB_0001a954;\n          }\n          if (!bVar40) goto LAB_0001a75c;\n          pvVar24 = (void *)xmalloc(uVar35,pvVar44,psVar20,psVar46);\n          sVar18 = 0;\n          pvVar44 = pvVar24;\n          local_80 = psVar38;\n          for (psVar20 = local_60; psVar20 < local_64; psVar20 = psVar20 + 9) {\n            sVar23 = *psVar20;\n            __n = psVar20[1] + sVar23 + 0xc;\n            sVar2 = psVar20[2];\n            pvVar30 = pvVar44;\n            if (sVar2 != 0) {\n              if (psVar20[8] == 0) {\n                memcpy(pvVar44,local_80,__n);\n                pvVar30 = (void *)((int)pvVar44 + __n);\n              }\n              else {\n                sVar5 = psVar20[6];\n                __dest = (void *)((int)pvVar44 + 0xc);\n                pvVar30 = (void *)((int)__dest + sVar23);\n                if ((sVar5 == local_74) && (psVar20[7] == sVar18)) {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar5,sVar5);\n                  (**(code **)(param_1[1] + 0x30))(0,(int)pvVar44 + 4);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                }\n                else {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar18,sVar18);\n                  cVar8 = '\b';\n                  if (*(int *)(param_1[1] + 4) == 5) {\n                    cVar8 = (*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b';\n                  }\n                  (**(code **)(param_1[1] + 0x30))(cVar8,(int)pvVar44 + 4,sVar23,sVar23);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                  sVar18 = param_1[1];\n                  psVar25 = param_1;\n                  if ((*(int *)(sVar18 + 4) == 5) &&\n                     (psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02')) {\n                    (**(code **)(sVar18 + 0x24))(sVar5,0,pvVar30,psVar25);\n                    (**(code **)(param_1[1] + 0x24))(psVar20[7],0,(void *)((int)pvVar30 + 8));\n                    pvVar30 = (void *)((int)pvVar30 + 0x10);\n                  }\n                  else {\n                    (**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25);\n                    (**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4);\n                    pvVar30 = (void *)((int)pvVar30 + 8);\n                  }\n                }\n              }\n              local_74 = psVar20[6];\n              sVar18 = psVar20[7];\n            }\n            local_80 = (size_t *)((int)local_80 + __n);\n            pvVar44 = pvVar30;\n          }\n          sVar18 = (int)pvVar44 - (int)pvVar24;\n          memcpy(psVar38,pvVar24,sVar18);\n          free(pvVar24);\n          free(local_60);\n          DAT_0003fb7c = sVar18;\n          if (uVar35 != sVar18) {\n            uVar10 = extraout_ECX_02;\n            if ((*(int *)(sVar17 + 0x3c) != 0) &&\n               (iVar9 = bfd_set_section_size(param_2,*(int *)(sVar17 + 0x3c),sVar18,extraout_EDX),\n               uVar10 = extraout_ECX_03, iVar9 != 0)) goto LAB_00018aad;\n            uVar10 = dcgettext(0,"warning: failed to set merged notes size",5,uVar10);\n            FUN_0002c160(0,param_2,sVar17,uVar10);\n          }\n        }\n        else {\n          iVar9 = dcgettext(0,"corrupt GNU build attribute notes: excess data at end",5,local_64);\nLAB_0001a72d:\n          if (iVar9 != 0) {\n            bfd_set_error(0x11);\n            FUN_0002c160(0,param_1,sVar17,iVar9);\n            DAT_0003fb88 = 1;\n          }\nLAB_0001a75c:\n          free(local_60);\n        }\n        free(DAT_0003fb80);\n        DAT_0003fb80 = (size_t *)0x0;\n        DAT_0003fb84 = 0;\n        DAT_0003fb7c = 0;\n      }" { (expression_statement "iVar9 = bfd_get_reloc_upper_bound(param_1,sVar17,sVar17,sVar17);" (assignment_expression "iVar9 = bfd_get_reloc_upper_bound(param_1,sVar17,sVar17,sVar17)" identifier = (call_expression "bfd_get_reloc_upper_bound(param_1,sVar17,sVar17,sVar17)" identifier (argument_list "(param_1,sVar17,sVar17,sVar17)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "psVar20 = param_1;" (assignment_expression "psVar20 = param_1" identifier = identifier) ;) (expression_statement "sVar18 = sVar17;" (assignment_expression "sVar18 = sVar17" identifier = identifier) ;) (if_statement "if (0 < iVar9) {\n          psVar20 = (size_t *)xmalloc(iVar9);\n          sVar18 = bfd_canonicalize_reloc(param_1,sVar17,psVar20,DAT_0003fb9c);\n          free(psVar20);\n          if (sVar18 == 0) goto LAB_0001a478;\n          local_60 = (size_t *)0x0;\n          goto LAB_0001a75c;\n        }" if (parenthesized_expression "(0 < iVar9)" ( (binary_expression "0 < iVar9" number_literal < identifier) )) (compound_statement "{\n          psVar20 = (size_t *)xmalloc(iVar9);\n          sVar18 = bfd_canonicalize_reloc(param_1,sVar17,psVar20,DAT_0003fb9c);\n          free(psVar20);\n          if (sVar18 == 0) goto LAB_0001a478;\n          local_60 = (size_t *)0x0;\n          goto LAB_0001a75c;\n        }" { (expression_statement "psVar20 = (size_t *)xmalloc(iVar9);" (assignment_expression "psVar20 = (size_t *)xmalloc(iVar9)" identifier = (cast_expression "(size_t *)xmalloc(iVar9)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(iVar9)" identifier (argument_list "(iVar9)" ( identifier ))))) ;) (expression_statement "sVar18 = bfd_canonicalize_reloc(param_1,sVar17,psVar20,DAT_0003fb9c);" (assignment_expression "sVar18 = bfd_canonicalize_reloc(param_1,sVar17,psVar20,DAT_0003fb9c)" identifier = (call_expression "bfd_canonicalize_reloc(param_1,sVar17,psVar20,DAT_0003fb9c)" identifier (argument_list "(param_1,sVar17,psVar20,DAT_0003fb9c)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "free(psVar20);" (call_expression "free(psVar20)" identifier (argument_list "(psVar20)" ( identifier ))) ;) (if_statement "if (sVar18 == 0) goto LAB_0001a478;" if (parenthesized_expression "(sVar18 == 0)" ( (binary_expression "sVar18 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001a478;" goto statement_identifier ;)) (expression_statement "local_60 = (size_t *)0x0;" (assignment_expression "local_60 = (size_t *)0x0" identifier = (cast_expression "(size_t *)0x0" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_0001a75c;" goto statement_identifier ;) })) (labeled_statement "LAB_0001a478:\n        pvVar44 = (void *)0x24;" statement_identifier : (expression_statement "pvVar44 = (void *)0x24;" (assignment_expression "pvVar44 = (void *)0x24" identifier = (cast_expression "(void *)0x24" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "psVar46 = psVar20;" (assignment_expression "psVar46 = psVar20" identifier = identifier) ;) (expression_statement "local_60 = (size_t *)xcalloc(uVar35 / 0xc,0x24,psVar20,psVar20);" (assignment_expression "local_60 = (size_t *)xcalloc(uVar35 / 0xc,0x24,psVar20,psVar20)" identifier = (cast_expression "(size_t *)xcalloc(uVar35 / 0xc,0x24,psVar20,psVar20)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xcalloc(uVar35 / 0xc,0x24,psVar20,psVar20)" identifier (argument_list "(uVar35 / 0xc,0x24,psVar20,psVar20)" ( (binary_expression "uVar35 / 0xc" identifier / number_literal) , number_literal , identifier , identifier ))))) ;) (expression_statement "local_90 = (void *)0x0;" (assignment_expression "local_90 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_98 = 0;" (assignment_expression "local_98 = 0" identifier = number_literal) ;) (expression_statement "local_8c = 0;" (assignment_expression "local_8c = 0" identifier = number_literal) ;) (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" identifier = number_literal) ;) (expression_statement "local_6c = 0;" (assignment_expression "local_6c = 0" identifier = number_literal) ;) (expression_statement "local_84 = (int *)0x0;" (assignment_expression "local_84 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_80 = (size_t *)0x0;" (assignment_expression "local_80 = (size_t *)0x0" identifier = (cast_expression "(size_t *)0x0" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psVar25 = psVar38;" (assignment_expression "psVar25 = psVar38" identifier = identifier) ;) (expression_statement "psVar34 = psVar38;" (assignment_expression "psVar34 = psVar38" identifier = identifier) ;) (expression_statement "local_74 = uVar35;" (assignment_expression "local_74 = uVar35" identifier = identifier) ;) (expression_statement "local_64 = local_60;" (assignment_expression "local_64 = local_60" identifier = identifier) ;) (while_statement "while (0xb < local_74) {\n          iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25);\n          uVar26 = iVar9 + 3U & 0xfffffffc;\n          *local_64 = uVar26;\n          iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25 + 1);\n          uVar39 = iVar9 + 3U & 0xfffffffc;\n          sVar18 = param_1[1];\n          local_64[1] = uVar39;\n          sVar23 = (**(code **)(sVar18 + 0x28))(psVar25 + 2);\n          local_64[2] = sVar23;\n          if (1 < sVar23 - 0x100) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: wrong note type",5,\n                              extraout_ECX_01);\n            goto LAB_0001a72d;\n          }\n          iVar9 = uVar26 + uVar39;\n          if (local_74 < iVar9 + 0xcU) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: note too big",5,psVar25);\n            goto LAB_0001a72d;\n          }\n          if (uVar26 < 2) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name too small",5,iVar9);\n            goto LAB_0001a72d;\n          }\n          local_64[3] = (size_t)(psVar25 + 3);\n          sVar2 = (int)psVar25 + uVar26 + 0xc;\n          local_64[4] = sVar2;\n          psVar34 = (size_t *)(-0xc - iVar9);\n          local_74 = local_74 + (int)psVar34;\n          cVar8 = (char)psVar25[3];\n          if (cVar8 == '$') {\n            if ((*(char *)((int)psVar25 + 0xd) == '\x01') && (*(char *)((int)psVar25 + 0xe) == '1'))\n            {\n              local_80 = (size_t *)((int)local_80 + 1);\n            }\n          }\n          else if ((((4 < uVar26) && (cVar8 == 'G')) && (*(char *)((int)psVar25 + 0xd) == 'A')) &&\n                  ((*(char *)((int)psVar25 + 0xe) == '$' &&\n                   (*(char *)((int)psVar25 + 0xf) == '\x01')))) {\n            cVar8 = (char)psVar25[4];\n            if (cVar8 == '2') {\n              local_84 = (int *)((int)local_84 + 1);\n            }\n            else {\n              if (cVar8 != '3') {\n                iVar9 = dcgettext(0,"corrupt GNU build attribute note: unsupported version",5,cVar8)\n                ;\n                goto LAB_0001a72d;\n              }\n              local_6c = local_6c + 1;\n            }\n          }\n          if (uVar39 == 4) {\n            sVar18 = (**(code **)(param_1[1] + 0x28))(sVar2);\n            pvVar24 = (void *)0xffffffff;\n          }\n          else if (uVar39 < 5) {\n            if (uVar39 != 0) {\nLAB_0001a7ea:\n              iVar9 = dcgettext(0,"corrupt GNU build attribute note: bad description size",5,cVar8);\n              goto LAB_0001a72d;\n            }\n            pvVar24 = (void *)0x0;\n            sVar18 = 0;\n          }\n          else {\n            psVar34 = param_1;\n            if (uVar39 == 8) {\n              sVar18 = param_1[1];\n              if ((*(int *)(sVar18 + 4) == 5) && (*(char *)(param_1[0x27] + 4) == '\x02')) {\n                sVar18 = (**(code **)(sVar18 + 0x1c))(sVar2);\n                pvVar24 = (void *)0xffffffff;\n              }\n              else {\n                sVar18 = (**(code **)(sVar18 + 0x28))(sVar2);\n                pvVar24 = (void *)(**(code **)(param_1[1] + 0x28))(sVar2 + 4);\n              }\n            }\n            else {\n              if (uVar39 != 0x10) goto LAB_0001a7ea;\n              sVar18 = (**(code **)(param_1[1] + 0x1c))(sVar2);\n              pvVar24 = (void *)(**(code **)(param_1[1] + 0x1c))(sVar2 + 8);\n            }\n          }\n          if (sVar23 == 0x100) {\n            if (sVar18 == 0) {\n              sVar18 = local_8c;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = local_90;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_90 = pvVar24;\n            local_8c = sVar18;\n          }\n          else {\n            if (sVar18 == 0) {\n              sVar18 = local_94;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = (void *)local_98;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_98 = (size_t)pvVar24;\n            local_94 = sVar18;\n          }\n          if (*(char *)((local_64[3] - 1) + *local_64) != '\0') {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name not NUL terminated",5,\n                              *local_64);\n            goto LAB_0001a72d;\n          }\n          local_64 = local_64 + 9;\n          psVar25 = (size_t *)(iVar9 + 0xcU + (int)psVar25);\n        }" while (parenthesized_expression "(0xb < local_74)" ( (binary_expression "0xb < local_74" number_literal < identifier) )) (compound_statement "{\n          iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25);\n          uVar26 = iVar9 + 3U & 0xfffffffc;\n          *local_64 = uVar26;\n          iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25 + 1);\n          uVar39 = iVar9 + 3U & 0xfffffffc;\n          sVar18 = param_1[1];\n          local_64[1] = uVar39;\n          sVar23 = (**(code **)(sVar18 + 0x28))(psVar25 + 2);\n          local_64[2] = sVar23;\n          if (1 < sVar23 - 0x100) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: wrong note type",5,\n                              extraout_ECX_01);\n            goto LAB_0001a72d;\n          }\n          iVar9 = uVar26 + uVar39;\n          if (local_74 < iVar9 + 0xcU) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: note too big",5,psVar25);\n            goto LAB_0001a72d;\n          }\n          if (uVar26 < 2) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name too small",5,iVar9);\n            goto LAB_0001a72d;\n          }\n          local_64[3] = (size_t)(psVar25 + 3);\n          sVar2 = (int)psVar25 + uVar26 + 0xc;\n          local_64[4] = sVar2;\n          psVar34 = (size_t *)(-0xc - iVar9);\n          local_74 = local_74 + (int)psVar34;\n          cVar8 = (char)psVar25[3];\n          if (cVar8 == '$') {\n            if ((*(char *)((int)psVar25 + 0xd) == '\x01') && (*(char *)((int)psVar25 + 0xe) == '1'))\n            {\n              local_80 = (size_t *)((int)local_80 + 1);\n            }\n          }\n          else if ((((4 < uVar26) && (cVar8 == 'G')) && (*(char *)((int)psVar25 + 0xd) == 'A')) &&\n                  ((*(char *)((int)psVar25 + 0xe) == '$' &&\n                   (*(char *)((int)psVar25 + 0xf) == '\x01')))) {\n            cVar8 = (char)psVar25[4];\n            if (cVar8 == '2') {\n              local_84 = (int *)((int)local_84 + 1);\n            }\n            else {\n              if (cVar8 != '3') {\n                iVar9 = dcgettext(0,"corrupt GNU build attribute note: unsupported version",5,cVar8)\n                ;\n                goto LAB_0001a72d;\n              }\n              local_6c = local_6c + 1;\n            }\n          }\n          if (uVar39 == 4) {\n            sVar18 = (**(code **)(param_1[1] + 0x28))(sVar2);\n            pvVar24 = (void *)0xffffffff;\n          }\n          else if (uVar39 < 5) {\n            if (uVar39 != 0) {\nLAB_0001a7ea:\n              iVar9 = dcgettext(0,"corrupt GNU build attribute note: bad description size",5,cVar8);\n              goto LAB_0001a72d;\n            }\n            pvVar24 = (void *)0x0;\n            sVar18 = 0;\n          }\n          else {\n            psVar34 = param_1;\n            if (uVar39 == 8) {\n              sVar18 = param_1[1];\n              if ((*(int *)(sVar18 + 4) == 5) && (*(char *)(param_1[0x27] + 4) == '\x02')) {\n                sVar18 = (**(code **)(sVar18 + 0x1c))(sVar2);\n                pvVar24 = (void *)0xffffffff;\n              }\n              else {\n                sVar18 = (**(code **)(sVar18 + 0x28))(sVar2);\n                pvVar24 = (void *)(**(code **)(param_1[1] + 0x28))(sVar2 + 4);\n              }\n            }\n            else {\n              if (uVar39 != 0x10) goto LAB_0001a7ea;\n              sVar18 = (**(code **)(param_1[1] + 0x1c))(sVar2);\n              pvVar24 = (void *)(**(code **)(param_1[1] + 0x1c))(sVar2 + 8);\n            }\n          }\n          if (sVar23 == 0x100) {\n            if (sVar18 == 0) {\n              sVar18 = local_8c;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = local_90;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_90 = pvVar24;\n            local_8c = sVar18;\n          }\n          else {\n            if (sVar18 == 0) {\n              sVar18 = local_94;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = (void *)local_98;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_98 = (size_t)pvVar24;\n            local_94 = sVar18;\n          }\n          if (*(char *)((local_64[3] - 1) + *local_64) != '\0') {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name not NUL terminated",5,\n                              *local_64);\n            goto LAB_0001a72d;\n          }\n          local_64 = local_64 + 9;\n          psVar25 = (size_t *)(iVar9 + 0xcU + (int)psVar25);\n        }" { (expression_statement "iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25);" (assignment_expression "iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25)" identifier = (call_expression "(**(code **)(param_1[1] + 0x28))(psVar25)" (parenthesized_expression "(**(code **)(param_1[1] + 0x28))" ( (pointer_expression "**(code **)(param_1[1] + 0x28)" * (pointer_expression "*(code **)(param_1[1] + 0x28)" * (cast_expression "(code **)(param_1[1] + 0x28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1[1] + 0x28)" ( (binary_expression "param_1[1] + 0x28" (subscript_expression "param_1[1]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(psVar25)" ( identifier )))) ;) (expression_statement "uVar26 = iVar9 + 3U & 0xfffffffc;" (assignment_expression "uVar26 = iVar9 + 3U & 0xfffffffc" identifier = (binary_expression "iVar9 + 3U & 0xfffffffc" (binary_expression "iVar9 + 3U" identifier + number_literal) & number_literal)) ;) (expression_statement "*local_64 = uVar26;" (assignment_expression "*local_64 = uVar26" (pointer_expression "*local_64" * identifier) = identifier) ;) (expression_statement "iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25 + 1);" (assignment_expression "iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25 + 1)" identifier = (call_expression "(**(code **)(param_1[1] + 0x28))(psVar25 + 1)" (parenthesized_expression "(**(code **)(param_1[1] + 0x28))" ( (pointer_expression "**(code **)(param_1[1] + 0x28)" * (pointer_expression "*(code **)(param_1[1] + 0x28)" * (cast_expression "(code **)(param_1[1] + 0x28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1[1] + 0x28)" ( (binary_expression "param_1[1] + 0x28" (subscript_expression "param_1[1]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(psVar25 + 1)" ( (binary_expression "psVar25 + 1" identifier + number_literal) )))) ;) (expression_statement "uVar39 = iVar9 + 3U & 0xfffffffc;" (assignment_expression "uVar39 = iVar9 + 3U & 0xfffffffc" identifier = (binary_expression "iVar9 + 3U & 0xfffffffc" (binary_expression "iVar9 + 3U" identifier + number_literal) & number_literal)) ;) (expression_statement "sVar18 = param_1[1];" (assignment_expression "sVar18 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (expression_statement "local_64[1] = uVar39;" (assignment_expression "local_64[1] = uVar39" (subscript_expression "local_64[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "sVar23 = (**(code **)(sVar18 + 0x28))(psVar25 + 2);" (assignment_expression "sVar23 = (**(code **)(sVar18 + 0x28))(psVar25 + 2)" identifier = (call_expression "(**(code **)(sVar18 + 0x28))(psVar25 + 2)" (parenthesized_expression "(**(code **)(sVar18 + 0x28))" ( (pointer_expression "**(code **)(sVar18 + 0x28)" * (pointer_expression "*(code **)(sVar18 + 0x28)" * (cast_expression "(code **)(sVar18 + 0x28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(sVar18 + 0x28)" ( (binary_expression "sVar18 + 0x28" identifier + number_literal) ))))) )) (argument_list "(psVar25 + 2)" ( (binary_expression "psVar25 + 2" identifier + number_literal) )))) ;) (expression_statement "local_64[2] = sVar23;" (assignment_expression "local_64[2] = sVar23" (subscript_expression "local_64[2]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (1 < sVar23 - 0x100) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: wrong note type",5,\n                              extraout_ECX_01);\n            goto LAB_0001a72d;\n          }" if (parenthesized_expression "(1 < sVar23 - 0x100)" ( (binary_expression "1 < sVar23 - 0x100" number_literal < (binary_expression "sVar23 - 0x100" identifier - number_literal)) )) (compound_statement "{\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: wrong note type",5,\n                              extraout_ECX_01);\n            goto LAB_0001a72d;\n          }" { (expression_statement "iVar9 = dcgettext(0,"corrupt GNU build attribute note: wrong note type",5,\n                              extraout_ECX_01);" (assignment_expression "iVar9 = dcgettext(0,"corrupt GNU build attribute note: wrong note type",5,\n                              extraout_ECX_01)" identifier = (call_expression "dcgettext(0,"corrupt GNU build attribute note: wrong note type",5,\n                              extraout_ECX_01)" identifier (argument_list "(0,"corrupt GNU build attribute note: wrong note type",5,\n                              extraout_ECX_01)" ( number_literal , (string_literal ""corrupt GNU build attribute note: wrong note type"" " string_content ") , number_literal , identifier )))) ;) (goto_statement "goto LAB_0001a72d;" goto statement_identifier ;) })) (expression_statement "iVar9 = uVar26 + uVar39;" (assignment_expression "iVar9 = uVar26 + uVar39" identifier = (binary_expression "uVar26 + uVar39" identifier + identifier)) ;) (if_statement "if (local_74 < iVar9 + 0xcU) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: note too big",5,psVar25);\n            goto LAB_0001a72d;\n          }" if (parenthesized_expression "(local_74 < iVar9 + 0xcU)" ( (binary_expression "local_74 < iVar9 + 0xcU" identifier < (binary_expression "iVar9 + 0xcU" identifier + number_literal)) )) (compound_statement "{\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: note too big",5,psVar25);\n            goto LAB_0001a72d;\n          }" { (expression_statement "iVar9 = dcgettext(0,"corrupt GNU build attribute note: note too big",5,psVar25);" (assignment_expression "iVar9 = dcgettext(0,"corrupt GNU build attribute note: note too big",5,psVar25)" identifier = (call_expression "dcgettext(0,"corrupt GNU build attribute note: note too big",5,psVar25)" identifier (argument_list "(0,"corrupt GNU build attribute note: note too big",5,psVar25)" ( number_literal , (string_literal ""corrupt GNU build attribute note: note too big"" " string_content ") , number_literal , identifier )))) ;) (goto_statement "goto LAB_0001a72d;" goto statement_identifier ;) })) (if_statement "if (uVar26 < 2) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name too small",5,iVar9);\n            goto LAB_0001a72d;\n          }" if (parenthesized_expression "(uVar26 < 2)" ( (binary_expression "uVar26 < 2" identifier < number_literal) )) (compound_statement "{\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name too small",5,iVar9);\n            goto LAB_0001a72d;\n          }" { (expression_statement "iVar9 = dcgettext(0,"corrupt GNU build attribute note: name too small",5,iVar9);" (assignment_expression "iVar9 = dcgettext(0,"corrupt GNU build attribute note: name too small",5,iVar9)" identifier = (call_expression "dcgettext(0,"corrupt GNU build attribute note: name too small",5,iVar9)" identifier (argument_list "(0,"corrupt GNU build attribute note: name too small",5,iVar9)" ( number_literal , (string_literal ""corrupt GNU build attribute note: name too small"" " string_content ") , number_literal , identifier )))) ;) (goto_statement "goto LAB_0001a72d;" goto statement_identifier ;) })) (expression_statement "local_64[3] = (size_t)(psVar25 + 3);" (assignment_expression "local_64[3] = (size_t)(psVar25 + 3)" (subscript_expression "local_64[3]" identifier [ number_literal ]) = (cast_expression "(size_t)(psVar25 + 3)" ( (type_descriptor "size_t" primitive_type) ) (parenthesized_expression "(psVar25 + 3)" ( (binary_expression "psVar25 + 3" identifier + number_literal) )))) ;) (expression_statement "sVar2 = (int)psVar25 + uVar26 + 0xc;" (assignment_expression "sVar2 = (int)psVar25 + uVar26 + 0xc" identifier = (binary_expression "(int)psVar25 + uVar26 + 0xc" (binary_expression "(int)psVar25 + uVar26" (cast_expression "(int)psVar25" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal)) ;) (expression_statement "local_64[4] = sVar2;" (assignment_expression "local_64[4] = sVar2" (subscript_expression "local_64[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "psVar34 = (size_t *)(-0xc - iVar9);" (assignment_expression "psVar34 = (size_t *)(-0xc - iVar9)" identifier = (cast_expression "(size_t *)(-0xc - iVar9)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(-0xc - iVar9)" ( (binary_expression "-0xc - iVar9" number_literal - identifier) )))) ;) (expression_statement "local_74 = local_74 + (int)psVar34;" (assignment_expression "local_74 = local_74 + (int)psVar34" identifier = (binary_expression "local_74 + (int)psVar34" identifier + (cast_expression "(int)psVar34" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "cVar8 = (char)psVar25[3];" (assignment_expression "cVar8 = (char)psVar25[3]" identifier = (cast_expression "(char)psVar25[3]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "psVar25[3]" identifier [ number_literal ]))) ;) (if_statement "if (cVar8 == '$') {\n            if ((*(char *)((int)psVar25 + 0xd) == '\x01') && (*(char *)((int)psVar25 + 0xe) == '1'))\n            {\n              local_80 = (size_t *)((int)local_80 + 1);\n            }\n          }\n          else if ((((4 < uVar26) && (cVar8 == 'G')) && (*(char *)((int)psVar25 + 0xd) == 'A')) &&\n                  ((*(char *)((int)psVar25 + 0xe) == '$' &&\n                   (*(char *)((int)psVar25 + 0xf) == '\x01')))) {\n            cVar8 = (char)psVar25[4];\n            if (cVar8 == '2') {\n              local_84 = (int *)((int)local_84 + 1);\n            }\n            else {\n              if (cVar8 != '3') {\n                iVar9 = dcgettext(0,"corrupt GNU build attribute note: unsupported version",5,cVar8)\n                ;\n                goto LAB_0001a72d;\n              }\n              local_6c = local_6c + 1;\n            }\n          }" if (parenthesized_expression "(cVar8 == '$')" ( (binary_expression "cVar8 == '$'" identifier == (char_literal "'$'" ' character ')) )) (compound_statement "{\n            if ((*(char *)((int)psVar25 + 0xd) == '\x01') && (*(char *)((int)psVar25 + 0xe) == '1'))\n            {\n              local_80 = (size_t *)((int)local_80 + 1);\n            }\n          }" { (if_statement "if ((*(char *)((int)psVar25 + 0xd) == '\x01') && (*(char *)((int)psVar25 + 0xe) == '1'))\n            {\n              local_80 = (size_t *)((int)local_80 + 1);\n            }" if (parenthesized_expression "((*(char *)((int)psVar25 + 0xd) == '\x01') && (*(char *)((int)psVar25 + 0xe) == '1'))" ( (binary_expression "(*(char *)((int)psVar25 + 0xd) == '\x01') && (*(char *)((int)psVar25 + 0xe) == '1')" (parenthesized_expression "(*(char *)((int)psVar25 + 0xd) == '\x01')" ( (binary_expression "*(char *)((int)psVar25 + 0xd) == '\x01'" (pointer_expression "*(char *)((int)psVar25 + 0xd)" * (cast_expression "(char *)((int)psVar25 + 0xd)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psVar25 + 0xd)" ( (binary_expression "(int)psVar25 + 0xd" (cast_expression "(int)psVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'\x01'" ' escape_sequence ')) )) && (parenthesized_expression "(*(char *)((int)psVar25 + 0xe) == '1')" ( (binary_expression "*(char *)((int)psVar25 + 0xe) == '1'" (pointer_expression "*(char *)((int)psVar25 + 0xe)" * (cast_expression "(char *)((int)psVar25 + 0xe)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psVar25 + 0xe)" ( (binary_expression "(int)psVar25 + 0xe" (cast_expression "(int)psVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'1'" ' character ')) ))) )) (compound_statement "{\n              local_80 = (size_t *)((int)local_80 + 1);\n            }" { (expression_statement "local_80 = (size_t *)((int)local_80 + 1);" (assignment_expression "local_80 = (size_t *)((int)local_80 + 1)" identifier = (cast_expression "(size_t *)((int)local_80 + 1)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_80 + 1)" ( (binary_expression "(int)local_80 + 1" (cast_expression "(int)local_80" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) })) }) (else_clause "else if ((((4 < uVar26) && (cVar8 == 'G')) && (*(char *)((int)psVar25 + 0xd) == 'A')) &&\n                  ((*(char *)((int)psVar25 + 0xe) == '$' &&\n                   (*(char *)((int)psVar25 + 0xf) == '\x01')))) {\n            cVar8 = (char)psVar25[4];\n            if (cVar8 == '2') {\n              local_84 = (int *)((int)local_84 + 1);\n            }\n            else {\n              if (cVar8 != '3') {\n                iVar9 = dcgettext(0,"corrupt GNU build attribute note: unsupported version",5,cVar8)\n                ;\n                goto LAB_0001a72d;\n              }\n              local_6c = local_6c + 1;\n            }\n          }" else (if_statement "if ((((4 < uVar26) && (cVar8 == 'G')) && (*(char *)((int)psVar25 + 0xd) == 'A')) &&\n                  ((*(char *)((int)psVar25 + 0xe) == '$' &&\n                   (*(char *)((int)psVar25 + 0xf) == '\x01')))) {\n            cVar8 = (char)psVar25[4];\n            if (cVar8 == '2') {\n              local_84 = (int *)((int)local_84 + 1);\n            }\n            else {\n              if (cVar8 != '3') {\n                iVar9 = dcgettext(0,"corrupt GNU build attribute note: unsupported version",5,cVar8)\n                ;\n                goto LAB_0001a72d;\n              }\n              local_6c = local_6c + 1;\n            }\n          }" if (parenthesized_expression "((((4 < uVar26) && (cVar8 == 'G')) && (*(char *)((int)psVar25 + 0xd) == 'A')) &&\n                  ((*(char *)((int)psVar25 + 0xe) == '$' &&\n                   (*(char *)((int)psVar25 + 0xf) == '\x01'))))" ( (binary_expression "(((4 < uVar26) && (cVar8 == 'G')) && (*(char *)((int)psVar25 + 0xd) == 'A')) &&\n                  ((*(char *)((int)psVar25 + 0xe) == '$' &&\n                   (*(char *)((int)psVar25 + 0xf) == '\x01')))" (parenthesized_expression "(((4 < uVar26) && (cVar8 == 'G')) && (*(char *)((int)psVar25 + 0xd) == 'A'))" ( (binary_expression "((4 < uVar26) && (cVar8 == 'G')) && (*(char *)((int)psVar25 + 0xd) == 'A')" (parenthesized_expression "((4 < uVar26) && (cVar8 == 'G'))" ( (binary_expression "(4 < uVar26) && (cVar8 == 'G')" (parenthesized_expression "(4 < uVar26)" ( (binary_expression "4 < uVar26" number_literal < identifier) )) && (parenthesized_expression "(cVar8 == 'G')" ( (binary_expression "cVar8 == 'G'" identifier == (char_literal "'G'" ' character ')) ))) )) && (parenthesized_expression "(*(char *)((int)psVar25 + 0xd) == 'A')" ( (binary_expression "*(char *)((int)psVar25 + 0xd) == 'A'" (pointer_expression "*(char *)((int)psVar25 + 0xd)" * (cast_expression "(char *)((int)psVar25 + 0xd)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psVar25 + 0xd)" ( (binary_expression "(int)psVar25 + 0xd" (cast_expression "(int)psVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'A'" ' character ')) ))) )) && (parenthesized_expression "((*(char *)((int)psVar25 + 0xe) == '$' &&\n                   (*(char *)((int)psVar25 + 0xf) == '\x01')))" ( (parenthesized_expression "(*(char *)((int)psVar25 + 0xe) == '$' &&\n                   (*(char *)((int)psVar25 + 0xf) == '\x01'))" ( (binary_expression "*(char *)((int)psVar25 + 0xe) == '$' &&\n                   (*(char *)((int)psVar25 + 0xf) == '\x01')" (binary_expression "*(char *)((int)psVar25 + 0xe) == '$'" (pointer_expression "*(char *)((int)psVar25 + 0xe)" * (cast_expression "(char *)((int)psVar25 + 0xe)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psVar25 + 0xe)" ( (binary_expression "(int)psVar25 + 0xe" (cast_expression "(int)psVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'$'" ' character ')) && (parenthesized_expression "(*(char *)((int)psVar25 + 0xf) == '\x01')" ( (binary_expression "*(char *)((int)psVar25 + 0xf) == '\x01'" (pointer_expression "*(char *)((int)psVar25 + 0xf)" * (cast_expression "(char *)((int)psVar25 + 0xf)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psVar25 + 0xf)" ( (binary_expression "(int)psVar25 + 0xf" (cast_expression "(int)psVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'\x01'" ' escape_sequence ')) ))) )) ))) )) (compound_statement "{\n            cVar8 = (char)psVar25[4];\n            if (cVar8 == '2') {\n              local_84 = (int *)((int)local_84 + 1);\n            }\n            else {\n              if (cVar8 != '3') {\n                iVar9 = dcgettext(0,"corrupt GNU build attribute note: unsupported version",5,cVar8)\n                ;\n                goto LAB_0001a72d;\n              }\n              local_6c = local_6c + 1;\n            }\n          }" { (expression_statement "cVar8 = (char)psVar25[4];" (assignment_expression "cVar8 = (char)psVar25[4]" identifier = (cast_expression "(char)psVar25[4]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "psVar25[4]" identifier [ number_literal ]))) ;) (if_statement "if (cVar8 == '2') {\n              local_84 = (int *)((int)local_84 + 1);\n            }\n            else {\n              if (cVar8 != '3') {\n                iVar9 = dcgettext(0,"corrupt GNU build attribute note: unsupported version",5,cVar8)\n                ;\n                goto LAB_0001a72d;\n              }\n              local_6c = local_6c + 1;\n            }" if (parenthesized_expression "(cVar8 == '2')" ( (binary_expression "cVar8 == '2'" identifier == (char_literal "'2'" ' character ')) )) (compound_statement "{\n              local_84 = (int *)((int)local_84 + 1);\n            }" { (expression_statement "local_84 = (int *)((int)local_84 + 1);" (assignment_expression "local_84 = (int *)((int)local_84 + 1)" identifier = (cast_expression "(int *)((int)local_84 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_84 + 1)" ( (binary_expression "(int)local_84 + 1" (cast_expression "(int)local_84" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) (else_clause "else {\n              if (cVar8 != '3') {\n                iVar9 = dcgettext(0,"corrupt GNU build attribute note: unsupported version",5,cVar8)\n                ;\n                goto LAB_0001a72d;\n              }\n              local_6c = local_6c + 1;\n            }" else (compound_statement "{\n              if (cVar8 != '3') {\n                iVar9 = dcgettext(0,"corrupt GNU build attribute note: unsupported version",5,cVar8)\n                ;\n                goto LAB_0001a72d;\n              }\n              local_6c = local_6c + 1;\n            }" { (if_statement "if (cVar8 != '3') {\n                iVar9 = dcgettext(0,"corrupt GNU build attribute note: unsupported version",5,cVar8)\n                ;\n                goto LAB_0001a72d;\n              }" if (parenthesized_expression "(cVar8 != '3')" ( (binary_expression "cVar8 != '3'" identifier != (char_literal "'3'" ' character ')) )) (compound_statement "{\n                iVar9 = dcgettext(0,"corrupt GNU build attribute note: unsupported version",5,cVar8)\n                ;\n                goto LAB_0001a72d;\n              }" { (expression_statement "iVar9 = dcgettext(0,"corrupt GNU build attribute note: unsupported version",5,cVar8)\n                ;" (assignment_expression "iVar9 = dcgettext(0,"corrupt GNU build attribute note: unsupported version",5,cVar8)" identifier = (call_expression "dcgettext(0,"corrupt GNU build attribute note: unsupported version",5,cVar8)" identifier (argument_list "(0,"corrupt GNU build attribute note: unsupported version",5,cVar8)" ( number_literal , (string_literal ""corrupt GNU build attribute note: unsupported version"" " string_content ") , number_literal , identifier )))) ;) (goto_statement "goto LAB_0001a72d;" goto statement_identifier ;) })) (expression_statement "local_6c = local_6c + 1;" (assignment_expression "local_6c = local_6c + 1" identifier = (binary_expression "local_6c + 1" identifier + number_literal)) ;) }))) })))) (if_statement "if (uVar39 == 4) {\n            sVar18 = (**(code **)(param_1[1] + 0x28))(sVar2);\n            pvVar24 = (void *)0xffffffff;\n          }\n          else if (uVar39 < 5) {\n            if (uVar39 != 0) {\nLAB_0001a7ea:\n              iVar9 = dcgettext(0,"corrupt GNU build attribute note: bad description size",5,cVar8);\n              goto LAB_0001a72d;\n            }\n            pvVar24 = (void *)0x0;\n            sVar18 = 0;\n          }\n          else {\n            psVar34 = param_1;\n            if (uVar39 == 8) {\n              sVar18 = param_1[1];\n              if ((*(int *)(sVar18 + 4) == 5) && (*(char *)(param_1[0x27] + 4) == '\x02')) {\n                sVar18 = (**(code **)(sVar18 + 0x1c))(sVar2);\n                pvVar24 = (void *)0xffffffff;\n              }\n              else {\n                sVar18 = (**(code **)(sVar18 + 0x28))(sVar2);\n                pvVar24 = (void *)(**(code **)(param_1[1] + 0x28))(sVar2 + 4);\n              }\n            }\n            else {\n              if (uVar39 != 0x10) goto LAB_0001a7ea;\n              sVar18 = (**(code **)(param_1[1] + 0x1c))(sVar2);\n              pvVar24 = (void *)(**(code **)(param_1[1] + 0x1c))(sVar2 + 8);\n            }\n          }" if (parenthesized_expression "(uVar39 == 4)" ( (binary_expression "uVar39 == 4" identifier == number_literal) )) (compound_statement "{\n            sVar18 = (**(code **)(param_1[1] + 0x28))(sVar2);\n            pvVar24 = (void *)0xffffffff;\n          }" { (expression_statement "sVar18 = (**(code **)(param_1[1] + 0x28))(sVar2);" (assignment_expression "sVar18 = (**(code **)(param_1[1] + 0x28))(sVar2)" identifier = (call_expression "(**(code **)(param_1[1] + 0x28))(sVar2)" (parenthesized_expression "(**(code **)(param_1[1] + 0x28))" ( (pointer_expression "**(code **)(param_1[1] + 0x28)" * (pointer_expression "*(code **)(param_1[1] + 0x28)" * (cast_expression "(code **)(param_1[1] + 0x28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1[1] + 0x28)" ( (binary_expression "param_1[1] + 0x28" (subscript_expression "param_1[1]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(sVar2)" ( identifier )))) ;) (expression_statement "pvVar24 = (void *)0xffffffff;" (assignment_expression "pvVar24 = (void *)0xffffffff" identifier = (cast_expression "(void *)0xffffffff" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else if (uVar39 < 5) {\n            if (uVar39 != 0) {\nLAB_0001a7ea:\n              iVar9 = dcgettext(0,"corrupt GNU build attribute note: bad description size",5,cVar8);\n              goto LAB_0001a72d;\n            }\n            pvVar24 = (void *)0x0;\n            sVar18 = 0;\n          }\n          else {\n            psVar34 = param_1;\n            if (uVar39 == 8) {\n              sVar18 = param_1[1];\n              if ((*(int *)(sVar18 + 4) == 5) && (*(char *)(param_1[0x27] + 4) == '\x02')) {\n                sVar18 = (**(code **)(sVar18 + 0x1c))(sVar2);\n                pvVar24 = (void *)0xffffffff;\n              }\n              else {\n                sVar18 = (**(code **)(sVar18 + 0x28))(sVar2);\n                pvVar24 = (void *)(**(code **)(param_1[1] + 0x28))(sVar2 + 4);\n              }\n            }\n            else {\n              if (uVar39 != 0x10) goto LAB_0001a7ea;\n              sVar18 = (**(code **)(param_1[1] + 0x1c))(sVar2);\n              pvVar24 = (void *)(**(code **)(param_1[1] + 0x1c))(sVar2 + 8);\n            }\n          }" else (if_statement "if (uVar39 < 5) {\n            if (uVar39 != 0) {\nLAB_0001a7ea:\n              iVar9 = dcgettext(0,"corrupt GNU build attribute note: bad description size",5,cVar8);\n              goto LAB_0001a72d;\n            }\n            pvVar24 = (void *)0x0;\n            sVar18 = 0;\n          }\n          else {\n            psVar34 = param_1;\n            if (uVar39 == 8) {\n              sVar18 = param_1[1];\n              if ((*(int *)(sVar18 + 4) == 5) && (*(char *)(param_1[0x27] + 4) == '\x02')) {\n                sVar18 = (**(code **)(sVar18 + 0x1c))(sVar2);\n                pvVar24 = (void *)0xffffffff;\n              }\n              else {\n                sVar18 = (**(code **)(sVar18 + 0x28))(sVar2);\n                pvVar24 = (void *)(**(code **)(param_1[1] + 0x28))(sVar2 + 4);\n              }\n            }\n            else {\n              if (uVar39 != 0x10) goto LAB_0001a7ea;\n              sVar18 = (**(code **)(param_1[1] + 0x1c))(sVar2);\n              pvVar24 = (void *)(**(code **)(param_1[1] + 0x1c))(sVar2 + 8);\n            }\n          }" if (parenthesized_expression "(uVar39 < 5)" ( (binary_expression "uVar39 < 5" identifier < number_literal) )) (compound_statement "{\n            if (uVar39 != 0) {\nLAB_0001a7ea:\n              iVar9 = dcgettext(0,"corrupt GNU build attribute note: bad description size",5,cVar8);\n              goto LAB_0001a72d;\n            }\n            pvVar24 = (void *)0x0;\n            sVar18 = 0;\n          }" { (if_statement "if (uVar39 != 0) {\nLAB_0001a7ea:\n              iVar9 = dcgettext(0,"corrupt GNU build attribute note: bad description size",5,cVar8);\n              goto LAB_0001a72d;\n            }" if (parenthesized_expression "(uVar39 != 0)" ( (binary_expression "uVar39 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_0001a7ea:\n              iVar9 = dcgettext(0,"corrupt GNU build attribute note: bad description size",5,cVar8);\n              goto LAB_0001a72d;\n            }" { (labeled_statement "LAB_0001a7ea:\n              iVar9 = dcgettext(0,"corrupt GNU build attribute note: bad description size",5,cVar8);" statement_identifier : (expression_statement "iVar9 = dcgettext(0,"corrupt GNU build attribute note: bad description size",5,cVar8);" (assignment_expression "iVar9 = dcgettext(0,"corrupt GNU build attribute note: bad description size",5,cVar8)" identifier = (call_expression "dcgettext(0,"corrupt GNU build attribute note: bad description size",5,cVar8)" identifier (argument_list "(0,"corrupt GNU build attribute note: bad description size",5,cVar8)" ( number_literal , (string_literal ""corrupt GNU build attribute note: bad description size"" " string_content ") , number_literal , identifier )))) ;)) (goto_statement "goto LAB_0001a72d;" goto statement_identifier ;) })) (expression_statement "pvVar24 = (void *)0x0;" (assignment_expression "pvVar24 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "sVar18 = 0;" (assignment_expression "sVar18 = 0" identifier = number_literal) ;) }) (else_clause "else {\n            psVar34 = param_1;\n            if (uVar39 == 8) {\n              sVar18 = param_1[1];\n              if ((*(int *)(sVar18 + 4) == 5) && (*(char *)(param_1[0x27] + 4) == '\x02')) {\n                sVar18 = (**(code **)(sVar18 + 0x1c))(sVar2);\n                pvVar24 = (void *)0xffffffff;\n              }\n              else {\n                sVar18 = (**(code **)(sVar18 + 0x28))(sVar2);\n                pvVar24 = (void *)(**(code **)(param_1[1] + 0x28))(sVar2 + 4);\n              }\n            }\n            else {\n              if (uVar39 != 0x10) goto LAB_0001a7ea;\n              sVar18 = (**(code **)(param_1[1] + 0x1c))(sVar2);\n              pvVar24 = (void *)(**(code **)(param_1[1] + 0x1c))(sVar2 + 8);\n            }\n          }" else (compound_statement "{\n            psVar34 = param_1;\n            if (uVar39 == 8) {\n              sVar18 = param_1[1];\n              if ((*(int *)(sVar18 + 4) == 5) && (*(char *)(param_1[0x27] + 4) == '\x02')) {\n                sVar18 = (**(code **)(sVar18 + 0x1c))(sVar2);\n                pvVar24 = (void *)0xffffffff;\n              }\n              else {\n                sVar18 = (**(code **)(sVar18 + 0x28))(sVar2);\n                pvVar24 = (void *)(**(code **)(param_1[1] + 0x28))(sVar2 + 4);\n              }\n            }\n            else {\n              if (uVar39 != 0x10) goto LAB_0001a7ea;\n              sVar18 = (**(code **)(param_1[1] + 0x1c))(sVar2);\n              pvVar24 = (void *)(**(code **)(param_1[1] + 0x1c))(sVar2 + 8);\n            }\n          }" { (expression_statement "psVar34 = param_1;" (assignment_expression "psVar34 = param_1" identifier = identifier) ;) (if_statement "if (uVar39 == 8) {\n              sVar18 = param_1[1];\n              if ((*(int *)(sVar18 + 4) == 5) && (*(char *)(param_1[0x27] + 4) == '\x02')) {\n                sVar18 = (**(code **)(sVar18 + 0x1c))(sVar2);\n                pvVar24 = (void *)0xffffffff;\n              }\n              else {\n                sVar18 = (**(code **)(sVar18 + 0x28))(sVar2);\n                pvVar24 = (void *)(**(code **)(param_1[1] + 0x28))(sVar2 + 4);\n              }\n            }\n            else {\n              if (uVar39 != 0x10) goto LAB_0001a7ea;\n              sVar18 = (**(code **)(param_1[1] + 0x1c))(sVar2);\n              pvVar24 = (void *)(**(code **)(param_1[1] + 0x1c))(sVar2 + 8);\n            }" if (parenthesized_expression "(uVar39 == 8)" ( (binary_expression "uVar39 == 8" identifier == number_literal) )) (compound_statement "{\n              sVar18 = param_1[1];\n              if ((*(int *)(sVar18 + 4) == 5) && (*(char *)(param_1[0x27] + 4) == '\x02')) {\n                sVar18 = (**(code **)(sVar18 + 0x1c))(sVar2);\n                pvVar24 = (void *)0xffffffff;\n              }\n              else {\n                sVar18 = (**(code **)(sVar18 + 0x28))(sVar2);\n                pvVar24 = (void *)(**(code **)(param_1[1] + 0x28))(sVar2 + 4);\n              }\n            }" { (expression_statement "sVar18 = param_1[1];" (assignment_expression "sVar18 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (if_statement "if ((*(int *)(sVar18 + 4) == 5) && (*(char *)(param_1[0x27] + 4) == '\x02')) {\n                sVar18 = (**(code **)(sVar18 + 0x1c))(sVar2);\n                pvVar24 = (void *)0xffffffff;\n              }\n              else {\n                sVar18 = (**(code **)(sVar18 + 0x28))(sVar2);\n                pvVar24 = (void *)(**(code **)(param_1[1] + 0x28))(sVar2 + 4);\n              }" if (parenthesized_expression "((*(int *)(sVar18 + 4) == 5) && (*(char *)(param_1[0x27] + 4) == '\x02'))" ( (binary_expression "(*(int *)(sVar18 + 4) == 5) && (*(char *)(param_1[0x27] + 4) == '\x02')" (parenthesized_expression "(*(int *)(sVar18 + 4) == 5)" ( (binary_expression "*(int *)(sVar18 + 4) == 5" (pointer_expression "*(int *)(sVar18 + 4)" * (cast_expression "(int *)(sVar18 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar18 + 4)" ( (binary_expression "sVar18 + 4" identifier + number_literal) )))) == number_literal) )) && (parenthesized_expression "(*(char *)(param_1[0x27] + 4) == '\x02')" ( (binary_expression "*(char *)(param_1[0x27] + 4) == '\x02'" (pointer_expression "*(char *)(param_1[0x27] + 4)" * (cast_expression "(char *)(param_1[0x27] + 4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x27] + 4)" ( (binary_expression "param_1[0x27] + 4" (subscript_expression "param_1[0x27]" identifier [ number_literal ]) + number_literal) )))) == (char_literal "'\x02'" ' escape_sequence ')) ))) )) (compound_statement "{\n                sVar18 = (**(code **)(sVar18 + 0x1c))(sVar2);\n                pvVar24 = (void *)0xffffffff;\n              }" { (expression_statement "sVar18 = (**(code **)(sVar18 + 0x1c))(sVar2);" (assignment_expression "sVar18 = (**(code **)(sVar18 + 0x1c))(sVar2)" identifier = (call_expression "(**(code **)(sVar18 + 0x1c))(sVar2)" (parenthesized_expression "(**(code **)(sVar18 + 0x1c))" ( (pointer_expression "**(code **)(sVar18 + 0x1c)" * (pointer_expression "*(code **)(sVar18 + 0x1c)" * (cast_expression "(code **)(sVar18 + 0x1c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(sVar18 + 0x1c)" ( (binary_expression "sVar18 + 0x1c" identifier + number_literal) ))))) )) (argument_list "(sVar2)" ( identifier )))) ;) (expression_statement "pvVar24 = (void *)0xffffffff;" (assignment_expression "pvVar24 = (void *)0xffffffff" identifier = (cast_expression "(void *)0xffffffff" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n                sVar18 = (**(code **)(sVar18 + 0x28))(sVar2);\n                pvVar24 = (void *)(**(code **)(param_1[1] + 0x28))(sVar2 + 4);\n              }" else (compound_statement "{\n                sVar18 = (**(code **)(sVar18 + 0x28))(sVar2);\n                pvVar24 = (void *)(**(code **)(param_1[1] + 0x28))(sVar2 + 4);\n              }" { (expression_statement "sVar18 = (**(code **)(sVar18 + 0x28))(sVar2);" (assignment_expression "sVar18 = (**(code **)(sVar18 + 0x28))(sVar2)" identifier = (call_expression "(**(code **)(sVar18 + 0x28))(sVar2)" (parenthesized_expression "(**(code **)(sVar18 + 0x28))" ( (pointer_expression "**(code **)(sVar18 + 0x28)" * (pointer_expression "*(code **)(sVar18 + 0x28)" * (cast_expression "(code **)(sVar18 + 0x28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(sVar18 + 0x28)" ( (binary_expression "sVar18 + 0x28" identifier + number_literal) ))))) )) (argument_list "(sVar2)" ( identifier )))) ;) (expression_statement "pvVar24 = (void *)(**(code **)(param_1[1] + 0x28))(sVar2 + 4);" (assignment_expression "pvVar24 = (void *)(**(code **)(param_1[1] + 0x28))(sVar2 + 4)" identifier = (cast_expression "(void *)(**(code **)(param_1[1] + 0x28))(sVar2 + 4)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(param_1[1] + 0x28))(sVar2 + 4)" (parenthesized_expression "(**(code **)(param_1[1] + 0x28))" ( (pointer_expression "**(code **)(param_1[1] + 0x28)" * (pointer_expression "*(code **)(param_1[1] + 0x28)" * (cast_expression "(code **)(param_1[1] + 0x28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1[1] + 0x28)" ( (binary_expression "param_1[1] + 0x28" (subscript_expression "param_1[1]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(sVar2 + 4)" ( (binary_expression "sVar2 + 4" identifier + number_literal) ))))) ;) }))) }) (else_clause "else {\n              if (uVar39 != 0x10) goto LAB_0001a7ea;\n              sVar18 = (**(code **)(param_1[1] + 0x1c))(sVar2);\n              pvVar24 = (void *)(**(code **)(param_1[1] + 0x1c))(sVar2 + 8);\n            }" else (compound_statement "{\n              if (uVar39 != 0x10) goto LAB_0001a7ea;\n              sVar18 = (**(code **)(param_1[1] + 0x1c))(sVar2);\n              pvVar24 = (void *)(**(code **)(param_1[1] + 0x1c))(sVar2 + 8);\n            }" { (if_statement "if (uVar39 != 0x10) goto LAB_0001a7ea;" if (parenthesized_expression "(uVar39 != 0x10)" ( (binary_expression "uVar39 != 0x10" identifier != number_literal) )) (goto_statement "goto LAB_0001a7ea;" goto statement_identifier ;)) (expression_statement "sVar18 = (**(code **)(param_1[1] + 0x1c))(sVar2);" (assignment_expression "sVar18 = (**(code **)(param_1[1] + 0x1c))(sVar2)" identifier = (call_expression "(**(code **)(param_1[1] + 0x1c))(sVar2)" (parenthesized_expression "(**(code **)(param_1[1] + 0x1c))" ( (pointer_expression "**(code **)(param_1[1] + 0x1c)" * (pointer_expression "*(code **)(param_1[1] + 0x1c)" * (cast_expression "(code **)(param_1[1] + 0x1c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1[1] + 0x1c)" ( (binary_expression "param_1[1] + 0x1c" (subscript_expression "param_1[1]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(sVar2)" ( identifier )))) ;) (expression_statement "pvVar24 = (void *)(**(code **)(param_1[1] + 0x1c))(sVar2 + 8);" (assignment_expression "pvVar24 = (void *)(**(code **)(param_1[1] + 0x1c))(sVar2 + 8)" identifier = (cast_expression "(void *)(**(code **)(param_1[1] + 0x1c))(sVar2 + 8)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(param_1[1] + 0x1c))(sVar2 + 8)" (parenthesized_expression "(**(code **)(param_1[1] + 0x1c))" ( (pointer_expression "**(code **)(param_1[1] + 0x1c)" * (pointer_expression "*(code **)(param_1[1] + 0x1c)" * (cast_expression "(code **)(param_1[1] + 0x1c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1[1] + 0x1c)" ( (binary_expression "param_1[1] + 0x1c" (subscript_expression "param_1[1]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(sVar2 + 8)" ( (binary_expression "sVar2 + 8" identifier + number_literal) ))))) ;) }))) }))))) (if_statement "if (sVar23 == 0x100) {\n            if (sVar18 == 0) {\n              sVar18 = local_8c;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = local_90;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_90 = pvVar24;\n            local_8c = sVar18;\n          }\n          else {\n            if (sVar18 == 0) {\n              sVar18 = local_94;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = (void *)local_98;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_98 = (size_t)pvVar24;\n            local_94 = sVar18;\n          }" if (parenthesized_expression "(sVar23 == 0x100)" ( (binary_expression "sVar23 == 0x100" identifier == number_literal) )) (compound_statement "{\n            if (sVar18 == 0) {\n              sVar18 = local_8c;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = local_90;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_90 = pvVar24;\n            local_8c = sVar18;\n          }" { (if_statement "if (sVar18 == 0) {\n              sVar18 = local_8c;\n            }" if (parenthesized_expression "(sVar18 == 0)" ( (binary_expression "sVar18 == 0" identifier == number_literal) )) (compound_statement "{\n              sVar18 = local_8c;\n            }" { (expression_statement "sVar18 = local_8c;" (assignment_expression "sVar18 = local_8c" identifier = identifier) ;) })) (if_statement "if (pvVar24 == (void *)0x0) {\n              pvVar24 = local_90;\n            }" if (parenthesized_expression "(pvVar24 == (void *)0x0)" ( (binary_expression "pvVar24 == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              pvVar24 = local_90;\n            }" { (expression_statement "pvVar24 = local_90;" (assignment_expression "pvVar24 = local_90" identifier = identifier) ;) })) (expression_statement "local_64[6] = sVar18;" (assignment_expression "local_64[6] = sVar18" (subscript_expression "local_64[6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_64[7] = (size_t)pvVar24;" (assignment_expression "local_64[7] = (size_t)pvVar24" (subscript_expression "local_64[7]" identifier [ number_literal ]) = (cast_expression "(size_t)pvVar24" ( (type_descriptor "size_t" primitive_type) ) identifier)) ;) (expression_statement "local_90 = pvVar24;" (assignment_expression "local_90 = pvVar24" identifier = identifier) ;) (expression_statement "local_8c = sVar18;" (assignment_expression "local_8c = sVar18" identifier = identifier) ;) }) (else_clause "else {\n            if (sVar18 == 0) {\n              sVar18 = local_94;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = (void *)local_98;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_98 = (size_t)pvVar24;\n            local_94 = sVar18;\n          }" else (compound_statement "{\n            if (sVar18 == 0) {\n              sVar18 = local_94;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = (void *)local_98;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_98 = (size_t)pvVar24;\n            local_94 = sVar18;\n          }" { (if_statement "if (sVar18 == 0) {\n              sVar18 = local_94;\n            }" if (parenthesized_expression "(sVar18 == 0)" ( (binary_expression "sVar18 == 0" identifier == number_literal) )) (compound_statement "{\n              sVar18 = local_94;\n            }" { (expression_statement "sVar18 = local_94;" (assignment_expression "sVar18 = local_94" identifier = identifier) ;) })) (if_statement "if (pvVar24 == (void *)0x0) {\n              pvVar24 = (void *)local_98;\n            }" if (parenthesized_expression "(pvVar24 == (void *)0x0)" ( (binary_expression "pvVar24 == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              pvVar24 = (void *)local_98;\n            }" { (expression_statement "pvVar24 = (void *)local_98;" (assignment_expression "pvVar24 = (void *)local_98" identifier = (cast_expression "(void *)local_98" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) })) (expression_statement "local_64[6] = sVar18;" (assignment_expression "local_64[6] = sVar18" (subscript_expression "local_64[6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_64[7] = (size_t)pvVar24;" (assignment_expression "local_64[7] = (size_t)pvVar24" (subscript_expression "local_64[7]" identifier [ number_literal ]) = (cast_expression "(size_t)pvVar24" ( (type_descriptor "size_t" primitive_type) ) identifier)) ;) (expression_statement "local_98 = (size_t)pvVar24;" (assignment_expression "local_98 = (size_t)pvVar24" identifier = (cast_expression "(size_t)pvVar24" ( (type_descriptor "size_t" primitive_type) ) identifier)) ;) (expression_statement "local_94 = sVar18;" (assignment_expression "local_94 = sVar18" identifier = identifier) ;) }))) (if_statement "if (*(char *)((local_64[3] - 1) + *local_64) != '\0') {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name not NUL terminated",5,\n                              *local_64);\n            goto LAB_0001a72d;\n          }" if (parenthesized_expression "(*(char *)((local_64[3] - 1) + *local_64) != '\0')" ( (binary_expression "*(char *)((local_64[3] - 1) + *local_64) != '\0'" (pointer_expression "*(char *)((local_64[3] - 1) + *local_64)" * (cast_expression "(char *)((local_64[3] - 1) + *local_64)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((local_64[3] - 1) + *local_64)" ( (binary_expression "(local_64[3] - 1) + *local_64" (parenthesized_expression "(local_64[3] - 1)" ( (binary_expression "local_64[3] - 1" (subscript_expression "local_64[3]" identifier [ number_literal ]) - number_literal) )) + (pointer_expression "*local_64" * identifier)) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name not NUL terminated",5,\n                              *local_64);\n            goto LAB_0001a72d;\n          }" { (expression_statement "iVar9 = dcgettext(0,"corrupt GNU build attribute note: name not NUL terminated",5,\n                              *local_64);" (assignment_expression "iVar9 = dcgettext(0,"corrupt GNU build attribute note: name not NUL terminated",5,\n                              *local_64)" identifier = (call_expression "dcgettext(0,"corrupt GNU build attribute note: name not NUL terminated",5,\n                              *local_64)" identifier (argument_list "(0,"corrupt GNU build attribute note: name not NUL terminated",5,\n                              *local_64)" ( number_literal , (string_literal ""corrupt GNU build attribute note: name not NUL terminated"" " string_content ") , number_literal , (pointer_expression "*local_64" * identifier) )))) ;) (goto_statement "goto LAB_0001a72d;" goto statement_identifier ;) })) (expression_statement "local_64 = local_64 + 9;" (assignment_expression "local_64 = local_64 + 9" identifier = (binary_expression "local_64 + 9" identifier + number_literal)) ;) (expression_statement "psVar25 = (size_t *)(iVar9 + 0xcU + (int)psVar25);" (assignment_expression "psVar25 = (size_t *)(iVar9 + 0xcU + (int)psVar25)" identifier = (cast_expression "(size_t *)(iVar9 + 0xcU + (int)psVar25)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xcU + (int)psVar25)" ( (binary_expression "iVar9 + 0xcU + (int)psVar25" (binary_expression "iVar9 + 0xcU" identifier + number_literal) + (cast_expression "(int)psVar25" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) })) (if_statement "if (local_74 == 0) {\n          uVar26 = (uint)local_84 | local_6c;\n          if (local_80 == (size_t *)0x0 && uVar26 == 0) {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: no known versions detected",5,uVar26\n                             );\n            goto LAB_0001a72d;\n          }\n          if (((local_80 != (size_t *)0x0) && (uVar26 != 0)) ||\n             ((local_84 != (int *)0x0 && (local_6c != 0)))) {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: multiple different versions",5,\n                              sVar18);\n            goto LAB_0001a72d;\n          }\n          if ((local_80 == (size_t *)0x1 || local_84 == (int *)0x1) || (local_6c == 1))\n          goto LAB_0001a75c;\n          uVar26 = -(uint)(local_80 == (size_t *)0x0) & 2;\n          iVar9 = uVar26 + 1;\n          if (*(char *)(local_60[3] + iVar9) != '\x01') {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: first note not version note",5,\n                              psVar34);\n            goto LAB_0001a72d;\n          }\n          bVar40 = false;\n          iVar12 = uVar26 + 2;\n          psVar25 = local_60;\nLAB_0001a954:\n          psVar34 = psVar25;\n          psVar25 = psVar34 + 9;\n          if (psVar25 < local_64) {\n            if (psVar34[0xb] == 0x100) {\n              pvVar24 = (void *)psVar34[0xc];\n              local_7c = (size_t *)0x0;\n              psVar45 = psVar25;\n              do {\n                do {\n                  psVar6 = psVar45;\n                  psVar45 = psVar6 + -9;\n                  if (psVar45 < local_60) goto LAB_0001a954;\n                  pvVar30 = (void *)psVar6[-6];\n                  psVar7 = local_7c;\n                } while ((((local_7c == (size_t *)0x0) && (psVar6[-8] != 0)) &&\n                         (psVar7 = psVar45, psVar6[-7] == 0x101)) ||\n                        ((local_7c = psVar7,\n                         *(char *)((int)pvVar24 + iVar9) != *(char *)((int)pvVar30 + iVar9) ||\n                         (psVar6[-7] != 0x100))));\n                if (*(char *)((int)pvVar30 + iVar9) != '\x04') {\n                  psVar45 = (size_t *)*psVar45;\n                  if ((((psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)) &&\n                      ((uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0))))\n                     && ((0xfffffff0 < uVar26 || (psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0))))) {\n                    psVar34[0xb] = 0;\n                    if (uVar26 < uVar39) {\n                      psVar6[-2] = uVar39;\n                    }\n                    bVar40 = true;\n                    if (local_6c != 0) {\n                      psVar6[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0)) {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    psVar34[0x11] = 1;\n                    psVar34[0xb] = 0x101;\n                    psVar6[-1] = 1;\n                    psVar6[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }\n                uVar26 = 0;\n                for (iVar21 = 0; (int)*psVar25 - iVar12 != iVar21; iVar21 = iVar21 + 1) {\n                  uVar26 = uVar26 | (uint)*(byte *)((int)pvVar24 + iVar21 + iVar12) <<\n                                    ((char)iVar21 * '\b' & 0x1fU);\n                }\n                sVar18 = *psVar45;\n                local_5c = (int *)0x0;\n                for (uVar39 = 0; sVar18 - iVar12 != uVar39; uVar39 = uVar39 + 1) {\n                  local_5c = (int *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39] <<\n                                    ((char)uVar39 * '\b' & 0x1fU));\n                }\n                uVar28 = 0;\n                uVar26 = (int)local_5c + uVar26;\n                for (uVar27 = uVar26; uVar27 != 0; uVar27 = uVar27 >> 8) {\n                  uVar28 = uVar28 + 1;\n                }\n              } while (uVar39 <= uVar28);\n              puVar29 = (undefined1 *)((int)pvVar30 + iVar12);\n              while (puVar29 < (undefined1 *)((int)pvVar30 + sVar18)) {\n                *puVar29 = (char)uVar26;\n                if (uVar26 == 0) break;\n                uVar26 = uVar26 >> 8;\n                puVar29 = puVar29 + 1;\n              }\n              psVar34[0xb] = 0;\n              bVar40 = true;\n            }\n            goto LAB_0001a954;\n          }\n          if (!bVar40) goto LAB_0001a75c;\n          pvVar24 = (void *)xmalloc(uVar35,pvVar44,psVar20,psVar46);\n          sVar18 = 0;\n          pvVar44 = pvVar24;\n          local_80 = psVar38;\n          for (psVar20 = local_60; psVar20 < local_64; psVar20 = psVar20 + 9) {\n            sVar23 = *psVar20;\n            __n = psVar20[1] + sVar23 + 0xc;\n            sVar2 = psVar20[2];\n            pvVar30 = pvVar44;\n            if (sVar2 != 0) {\n              if (psVar20[8] == 0) {\n                memcpy(pvVar44,local_80,__n);\n                pvVar30 = (void *)((int)pvVar44 + __n);\n              }\n              else {\n                sVar5 = psVar20[6];\n                __dest = (void *)((int)pvVar44 + 0xc);\n                pvVar30 = (void *)((int)__dest + sVar23);\n                if ((sVar5 == local_74) && (psVar20[7] == sVar18)) {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar5,sVar5);\n                  (**(code **)(param_1[1] + 0x30))(0,(int)pvVar44 + 4);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                }\n                else {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar18,sVar18);\n                  cVar8 = '\b';\n                  if (*(int *)(param_1[1] + 4) == 5) {\n                    cVar8 = (*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b';\n                  }\n                  (**(code **)(param_1[1] + 0x30))(cVar8,(int)pvVar44 + 4,sVar23,sVar23);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                  sVar18 = param_1[1];\n                  psVar25 = param_1;\n                  if ((*(int *)(sVar18 + 4) == 5) &&\n                     (psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02')) {\n                    (**(code **)(sVar18 + 0x24))(sVar5,0,pvVar30,psVar25);\n                    (**(code **)(param_1[1] + 0x24))(psVar20[7],0,(void *)((int)pvVar30 + 8));\n                    pvVar30 = (void *)((int)pvVar30 + 0x10);\n                  }\n                  else {\n                    (**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25);\n                    (**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4);\n                    pvVar30 = (void *)((int)pvVar30 + 8);\n                  }\n                }\n              }\n              local_74 = psVar20[6];\n              sVar18 = psVar20[7];\n            }\n            local_80 = (size_t *)((int)local_80 + __n);\n            pvVar44 = pvVar30;\n          }\n          sVar18 = (int)pvVar44 - (int)pvVar24;\n          memcpy(psVar38,pvVar24,sVar18);\n          free(pvVar24);\n          free(local_60);\n          DAT_0003fb7c = sVar18;\n          if (uVar35 != sVar18) {\n            uVar10 = extraout_ECX_02;\n            if ((*(int *)(sVar17 + 0x3c) != 0) &&\n               (iVar9 = bfd_set_section_size(param_2,*(int *)(sVar17 + 0x3c),sVar18,extraout_EDX),\n               uVar10 = extraout_ECX_03, iVar9 != 0)) goto LAB_00018aad;\n            uVar10 = dcgettext(0,"warning: failed to set merged notes size",5,uVar10);\n            FUN_0002c160(0,param_2,sVar17,uVar10);\n          }\n        }\n        else {\n          iVar9 = dcgettext(0,"corrupt GNU build attribute notes: excess data at end",5,local_64);\nLAB_0001a72d:\n          if (iVar9 != 0) {\n            bfd_set_error(0x11);\n            FUN_0002c160(0,param_1,sVar17,iVar9);\n            DAT_0003fb88 = 1;\n          }\nLAB_0001a75c:\n          free(local_60);\n        }" if (parenthesized_expression "(local_74 == 0)" ( (binary_expression "local_74 == 0" identifier == number_literal) )) (compound_statement "{\n          uVar26 = (uint)local_84 | local_6c;\n          if (local_80 == (size_t *)0x0 && uVar26 == 0) {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: no known versions detected",5,uVar26\n                             );\n            goto LAB_0001a72d;\n          }\n          if (((local_80 != (size_t *)0x0) && (uVar26 != 0)) ||\n             ((local_84 != (int *)0x0 && (local_6c != 0)))) {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: multiple different versions",5,\n                              sVar18);\n            goto LAB_0001a72d;\n          }\n          if ((local_80 == (size_t *)0x1 || local_84 == (int *)0x1) || (local_6c == 1))\n          goto LAB_0001a75c;\n          uVar26 = -(uint)(local_80 == (size_t *)0x0) & 2;\n          iVar9 = uVar26 + 1;\n          if (*(char *)(local_60[3] + iVar9) != '\x01') {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: first note not version note",5,\n                              psVar34);\n            goto LAB_0001a72d;\n          }\n          bVar40 = false;\n          iVar12 = uVar26 + 2;\n          psVar25 = local_60;\nLAB_0001a954:\n          psVar34 = psVar25;\n          psVar25 = psVar34 + 9;\n          if (psVar25 < local_64) {\n            if (psVar34[0xb] == 0x100) {\n              pvVar24 = (void *)psVar34[0xc];\n              local_7c = (size_t *)0x0;\n              psVar45 = psVar25;\n              do {\n                do {\n                  psVar6 = psVar45;\n                  psVar45 = psVar6 + -9;\n                  if (psVar45 < local_60) goto LAB_0001a954;\n                  pvVar30 = (void *)psVar6[-6];\n                  psVar7 = local_7c;\n                } while ((((local_7c == (size_t *)0x0) && (psVar6[-8] != 0)) &&\n                         (psVar7 = psVar45, psVar6[-7] == 0x101)) ||\n                        ((local_7c = psVar7,\n                         *(char *)((int)pvVar24 + iVar9) != *(char *)((int)pvVar30 + iVar9) ||\n                         (psVar6[-7] != 0x100))));\n                if (*(char *)((int)pvVar30 + iVar9) != '\x04') {\n                  psVar45 = (size_t *)*psVar45;\n                  if ((((psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)) &&\n                      ((uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0))))\n                     && ((0xfffffff0 < uVar26 || (psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0))))) {\n                    psVar34[0xb] = 0;\n                    if (uVar26 < uVar39) {\n                      psVar6[-2] = uVar39;\n                    }\n                    bVar40 = true;\n                    if (local_6c != 0) {\n                      psVar6[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0)) {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    psVar34[0x11] = 1;\n                    psVar34[0xb] = 0x101;\n                    psVar6[-1] = 1;\n                    psVar6[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }\n                uVar26 = 0;\n                for (iVar21 = 0; (int)*psVar25 - iVar12 != iVar21; iVar21 = iVar21 + 1) {\n                  uVar26 = uVar26 | (uint)*(byte *)((int)pvVar24 + iVar21 + iVar12) <<\n                                    ((char)iVar21 * '\b' & 0x1fU);\n                }\n                sVar18 = *psVar45;\n                local_5c = (int *)0x0;\n                for (uVar39 = 0; sVar18 - iVar12 != uVar39; uVar39 = uVar39 + 1) {\n                  local_5c = (int *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39] <<\n                                    ((char)uVar39 * '\b' & 0x1fU));\n                }\n                uVar28 = 0;\n                uVar26 = (int)local_5c + uVar26;\n                for (uVar27 = uVar26; uVar27 != 0; uVar27 = uVar27 >> 8) {\n                  uVar28 = uVar28 + 1;\n                }\n              } while (uVar39 <= uVar28);\n              puVar29 = (undefined1 *)((int)pvVar30 + iVar12);\n              while (puVar29 < (undefined1 *)((int)pvVar30 + sVar18)) {\n                *puVar29 = (char)uVar26;\n                if (uVar26 == 0) break;\n                uVar26 = uVar26 >> 8;\n                puVar29 = puVar29 + 1;\n              }\n              psVar34[0xb] = 0;\n              bVar40 = true;\n            }\n            goto LAB_0001a954;\n          }\n          if (!bVar40) goto LAB_0001a75c;\n          pvVar24 = (void *)xmalloc(uVar35,pvVar44,psVar20,psVar46);\n          sVar18 = 0;\n          pvVar44 = pvVar24;\n          local_80 = psVar38;\n          for (psVar20 = local_60; psVar20 < local_64; psVar20 = psVar20 + 9) {\n            sVar23 = *psVar20;\n            __n = psVar20[1] + sVar23 + 0xc;\n            sVar2 = psVar20[2];\n            pvVar30 = pvVar44;\n            if (sVar2 != 0) {\n              if (psVar20[8] == 0) {\n                memcpy(pvVar44,local_80,__n);\n                pvVar30 = (void *)((int)pvVar44 + __n);\n              }\n              else {\n                sVar5 = psVar20[6];\n                __dest = (void *)((int)pvVar44 + 0xc);\n                pvVar30 = (void *)((int)__dest + sVar23);\n                if ((sVar5 == local_74) && (psVar20[7] == sVar18)) {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar5,sVar5);\n                  (**(code **)(param_1[1] + 0x30))(0,(int)pvVar44 + 4);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                }\n                else {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar18,sVar18);\n                  cVar8 = '\b';\n                  if (*(int *)(param_1[1] + 4) == 5) {\n                    cVar8 = (*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b';\n                  }\n                  (**(code **)(param_1[1] + 0x30))(cVar8,(int)pvVar44 + 4,sVar23,sVar23);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                  sVar18 = param_1[1];\n                  psVar25 = param_1;\n                  if ((*(int *)(sVar18 + 4) == 5) &&\n                     (psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02')) {\n                    (**(code **)(sVar18 + 0x24))(sVar5,0,pvVar30,psVar25);\n                    (**(code **)(param_1[1] + 0x24))(psVar20[7],0,(void *)((int)pvVar30 + 8));\n                    pvVar30 = (void *)((int)pvVar30 + 0x10);\n                  }\n                  else {\n                    (**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25);\n                    (**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4);\n                    pvVar30 = (void *)((int)pvVar30 + 8);\n                  }\n                }\n              }\n              local_74 = psVar20[6];\n              sVar18 = psVar20[7];\n            }\n            local_80 = (size_t *)((int)local_80 + __n);\n            pvVar44 = pvVar30;\n          }\n          sVar18 = (int)pvVar44 - (int)pvVar24;\n          memcpy(psVar38,pvVar24,sVar18);\n          free(pvVar24);\n          free(local_60);\n          DAT_0003fb7c = sVar18;\n          if (uVar35 != sVar18) {\n            uVar10 = extraout_ECX_02;\n            if ((*(int *)(sVar17 + 0x3c) != 0) &&\n               (iVar9 = bfd_set_section_size(param_2,*(int *)(sVar17 + 0x3c),sVar18,extraout_EDX),\n               uVar10 = extraout_ECX_03, iVar9 != 0)) goto LAB_00018aad;\n            uVar10 = dcgettext(0,"warning: failed to set merged notes size",5,uVar10);\n            FUN_0002c160(0,param_2,sVar17,uVar10);\n          }\n        }" { (expression_statement "uVar26 = (uint)local_84 | local_6c;" (assignment_expression "uVar26 = (uint)local_84 | local_6c" identifier = (binary_expression "(uint)local_84 | local_6c" (cast_expression "(uint)local_84" ( (type_descriptor "uint" type_identifier) ) identifier) | identifier)) ;) (if_statement "if (local_80 == (size_t *)0x0 && uVar26 == 0) {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: no known versions detected",5,uVar26\n                             );\n            goto LAB_0001a72d;\n          }" if (parenthesized_expression "(local_80 == (size_t *)0x0 && uVar26 == 0)" ( (binary_expression "local_80 == (size_t *)0x0 && uVar26 == 0" (binary_expression "local_80 == (size_t *)0x0" identifier == (cast_expression "(size_t *)0x0" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) && (binary_expression "uVar26 == 0" identifier == number_literal)) )) (compound_statement "{\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: no known versions detected",5,uVar26\n                             );\n            goto LAB_0001a72d;\n          }" { (expression_statement "iVar9 = dcgettext(0,"bad GNU build attribute notes: no known versions detected",5,uVar26\n                             );" (assignment_expression "iVar9 = dcgettext(0,"bad GNU build attribute notes: no known versions detected",5,uVar26\n                             )" identifier = (call_expression "dcgettext(0,"bad GNU build attribute notes: no known versions detected",5,uVar26\n                             )" identifier (argument_list "(0,"bad GNU build attribute notes: no known versions detected",5,uVar26\n                             )" ( number_literal , (string_literal ""bad GNU build attribute notes: no known versions detected"" " string_content ") , number_literal , identifier )))) ;) (goto_statement "goto LAB_0001a72d;" goto statement_identifier ;) })) (if_statement "if (((local_80 != (size_t *)0x0) && (uVar26 != 0)) ||\n             ((local_84 != (int *)0x0 && (local_6c != 0)))) {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: multiple different versions",5,\n                              sVar18);\n            goto LAB_0001a72d;\n          }" if (parenthesized_expression "(((local_80 != (size_t *)0x0) && (uVar26 != 0)) ||\n             ((local_84 != (int *)0x0 && (local_6c != 0))))" ( (binary_expression "((local_80 != (size_t *)0x0) && (uVar26 != 0)) ||\n             ((local_84 != (int *)0x0 && (local_6c != 0)))" (parenthesized_expression "((local_80 != (size_t *)0x0) && (uVar26 != 0))" ( (binary_expression "(local_80 != (size_t *)0x0) && (uVar26 != 0)" (parenthesized_expression "(local_80 != (size_t *)0x0)" ( (binary_expression "local_80 != (size_t *)0x0" identifier != (cast_expression "(size_t *)0x0" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(uVar26 != 0)" ( (binary_expression "uVar26 != 0" identifier != number_literal) ))) )) || (parenthesized_expression "((local_84 != (int *)0x0 && (local_6c != 0)))" ( (parenthesized_expression "(local_84 != (int *)0x0 && (local_6c != 0))" ( (binary_expression "local_84 != (int *)0x0 && (local_6c != 0)" (binary_expression "local_84 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) && (parenthesized_expression "(local_6c != 0)" ( (binary_expression "local_6c != 0" identifier != number_literal) ))) )) ))) )) (compound_statement "{\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: multiple different versions",5,\n                              sVar18);\n            goto LAB_0001a72d;\n          }" { (expression_statement "iVar9 = dcgettext(0,"bad GNU build attribute notes: multiple different versions",5,\n                              sVar18);" (assignment_expression "iVar9 = dcgettext(0,"bad GNU build attribute notes: multiple different versions",5,\n                              sVar18)" identifier = (call_expression "dcgettext(0,"bad GNU build attribute notes: multiple different versions",5,\n                              sVar18)" identifier (argument_list "(0,"bad GNU build attribute notes: multiple different versions",5,\n                              sVar18)" ( number_literal , (string_literal ""bad GNU build attribute notes: multiple different versions"" " string_content ") , number_literal , identifier )))) ;) (goto_statement "goto LAB_0001a72d;" goto statement_identifier ;) })) (if_statement "if ((local_80 == (size_t *)0x1 || local_84 == (int *)0x1) || (local_6c == 1))\n          goto LAB_0001a75c;" if (parenthesized_expression "((local_80 == (size_t *)0x1 || local_84 == (int *)0x1) || (local_6c == 1))" ( (binary_expression "(local_80 == (size_t *)0x1 || local_84 == (int *)0x1) || (local_6c == 1)" (parenthesized_expression "(local_80 == (size_t *)0x1 || local_84 == (int *)0x1)" ( (binary_expression "local_80 == (size_t *)0x1 || local_84 == (int *)0x1" (binary_expression "local_80 == (size_t *)0x1" identifier == (cast_expression "(size_t *)0x1" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) || (binary_expression "local_84 == (int *)0x1" identifier == (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) )) || (parenthesized_expression "(local_6c == 1)" ( (binary_expression "local_6c == 1" identifier == number_literal) ))) )) (goto_statement "goto LAB_0001a75c;" goto statement_identifier ;)) (expression_statement "uVar26 = -(uint)(local_80 == (size_t *)0x0) & 2;" (assignment_expression "uVar26 = -(uint)(local_80 == (size_t *)0x0) & 2" identifier = (binary_expression "-(uint)(local_80 == (size_t *)0x0) & 2" (unary_expression "-(uint)(local_80 == (size_t *)0x0)" - (call_expression "(uint)(local_80 == (size_t *)0x0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_80 == (size_t *)0x0)" ( (binary_expression "local_80 == (size_t *)0x0" identifier == (cast_expression "(size_t *)0x0" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )))) & number_literal)) ;) (expression_statement "iVar9 = uVar26 + 1;" (assignment_expression "iVar9 = uVar26 + 1" identifier = (binary_expression "uVar26 + 1" identifier + number_literal)) ;) (if_statement "if (*(char *)(local_60[3] + iVar9) != '\x01') {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: first note not version note",5,\n                              psVar34);\n            goto LAB_0001a72d;\n          }" if (parenthesized_expression "(*(char *)(local_60[3] + iVar9) != '\x01')" ( (binary_expression "*(char *)(local_60[3] + iVar9) != '\x01'" (pointer_expression "*(char *)(local_60[3] + iVar9)" * (cast_expression "(char *)(local_60[3] + iVar9)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_60[3] + iVar9)" ( (binary_expression "local_60[3] + iVar9" (subscript_expression "local_60[3]" identifier [ number_literal ]) + identifier) )))) != (char_literal "'\x01'" ' escape_sequence ')) )) (compound_statement "{\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: first note not version note",5,\n                              psVar34);\n            goto LAB_0001a72d;\n          }" { (expression_statement "iVar9 = dcgettext(0,"bad GNU build attribute notes: first note not version note",5,\n                              psVar34);" (assignment_expression "iVar9 = dcgettext(0,"bad GNU build attribute notes: first note not version note",5,\n                              psVar34)" identifier = (call_expression "dcgettext(0,"bad GNU build attribute notes: first note not version note",5,\n                              psVar34)" identifier (argument_list "(0,"bad GNU build attribute notes: first note not version note",5,\n                              psVar34)" ( number_literal , (string_literal ""bad GNU build attribute notes: first note not version note"" " string_content ") , number_literal , identifier )))) ;) (goto_statement "goto LAB_0001a72d;" goto statement_identifier ;) })) (expression_statement "bVar40 = false;" (assignment_expression "bVar40 = false" identifier = false) ;) (expression_statement "iVar12 = uVar26 + 2;" (assignment_expression "iVar12 = uVar26 + 2" identifier = (binary_expression "uVar26 + 2" identifier + number_literal)) ;) (expression_statement "psVar25 = local_60;" (assignment_expression "psVar25 = local_60" identifier = identifier) ;) (labeled_statement "LAB_0001a954:\n          psVar34 = psVar25;" statement_identifier : (expression_statement "psVar34 = psVar25;" (assignment_expression "psVar34 = psVar25" identifier = identifier) ;)) (expression_statement "psVar25 = psVar34 + 9;" (assignment_expression "psVar25 = psVar34 + 9" identifier = (binary_expression "psVar34 + 9" identifier + number_literal)) ;) (if_statement "if (psVar25 < local_64) {\n            if (psVar34[0xb] == 0x100) {\n              pvVar24 = (void *)psVar34[0xc];\n              local_7c = (size_t *)0x0;\n              psVar45 = psVar25;\n              do {\n                do {\n                  psVar6 = psVar45;\n                  psVar45 = psVar6 + -9;\n                  if (psVar45 < local_60) goto LAB_0001a954;\n                  pvVar30 = (void *)psVar6[-6];\n                  psVar7 = local_7c;\n                } while ((((local_7c == (size_t *)0x0) && (psVar6[-8] != 0)) &&\n                         (psVar7 = psVar45, psVar6[-7] == 0x101)) ||\n                        ((local_7c = psVar7,\n                         *(char *)((int)pvVar24 + iVar9) != *(char *)((int)pvVar30 + iVar9) ||\n                         (psVar6[-7] != 0x100))));\n                if (*(char *)((int)pvVar30 + iVar9) != '\x04') {\n                  psVar45 = (size_t *)*psVar45;\n                  if ((((psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)) &&\n                      ((uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0))))\n                     && ((0xfffffff0 < uVar26 || (psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0))))) {\n                    psVar34[0xb] = 0;\n                    if (uVar26 < uVar39) {\n                      psVar6[-2] = uVar39;\n                    }\n                    bVar40 = true;\n                    if (local_6c != 0) {\n                      psVar6[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0)) {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    psVar34[0x11] = 1;\n                    psVar34[0xb] = 0x101;\n                    psVar6[-1] = 1;\n                    psVar6[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }\n                uVar26 = 0;\n                for (iVar21 = 0; (int)*psVar25 - iVar12 != iVar21; iVar21 = iVar21 + 1) {\n                  uVar26 = uVar26 | (uint)*(byte *)((int)pvVar24 + iVar21 + iVar12) <<\n                                    ((char)iVar21 * '\b' & 0x1fU);\n                }\n                sVar18 = *psVar45;\n                local_5c = (int *)0x0;\n                for (uVar39 = 0; sVar18 - iVar12 != uVar39; uVar39 = uVar39 + 1) {\n                  local_5c = (int *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39] <<\n                                    ((char)uVar39 * '\b' & 0x1fU));\n                }\n                uVar28 = 0;\n                uVar26 = (int)local_5c + uVar26;\n                for (uVar27 = uVar26; uVar27 != 0; uVar27 = uVar27 >> 8) {\n                  uVar28 = uVar28 + 1;\n                }\n              } while (uVar39 <= uVar28);\n              puVar29 = (undefined1 *)((int)pvVar30 + iVar12);\n              while (puVar29 < (undefined1 *)((int)pvVar30 + sVar18)) {\n                *puVar29 = (char)uVar26;\n                if (uVar26 == 0) break;\n                uVar26 = uVar26 >> 8;\n                puVar29 = puVar29 + 1;\n              }\n              psVar34[0xb] = 0;\n              bVar40 = true;\n            }\n            goto LAB_0001a954;\n          }" if (parenthesized_expression "(psVar25 < local_64)" ( (binary_expression "psVar25 < local_64" identifier < identifier) )) (compound_statement "{\n            if (psVar34[0xb] == 0x100) {\n              pvVar24 = (void *)psVar34[0xc];\n              local_7c = (size_t *)0x0;\n              psVar45 = psVar25;\n              do {\n                do {\n                  psVar6 = psVar45;\n                  psVar45 = psVar6 + -9;\n                  if (psVar45 < local_60) goto LAB_0001a954;\n                  pvVar30 = (void *)psVar6[-6];\n                  psVar7 = local_7c;\n                } while ((((local_7c == (size_t *)0x0) && (psVar6[-8] != 0)) &&\n                         (psVar7 = psVar45, psVar6[-7] == 0x101)) ||\n                        ((local_7c = psVar7,\n                         *(char *)((int)pvVar24 + iVar9) != *(char *)((int)pvVar30 + iVar9) ||\n                         (psVar6[-7] != 0x100))));\n                if (*(char *)((int)pvVar30 + iVar9) != '\x04') {\n                  psVar45 = (size_t *)*psVar45;\n                  if ((((psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)) &&\n                      ((uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0))))\n                     && ((0xfffffff0 < uVar26 || (psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0))))) {\n                    psVar34[0xb] = 0;\n                    if (uVar26 < uVar39) {\n                      psVar6[-2] = uVar39;\n                    }\n                    bVar40 = true;\n                    if (local_6c != 0) {\n                      psVar6[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0)) {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    psVar34[0x11] = 1;\n                    psVar34[0xb] = 0x101;\n                    psVar6[-1] = 1;\n                    psVar6[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }\n                uVar26 = 0;\n                for (iVar21 = 0; (int)*psVar25 - iVar12 != iVar21; iVar21 = iVar21 + 1) {\n                  uVar26 = uVar26 | (uint)*(byte *)((int)pvVar24 + iVar21 + iVar12) <<\n                                    ((char)iVar21 * '\b' & 0x1fU);\n                }\n                sVar18 = *psVar45;\n                local_5c = (int *)0x0;\n                for (uVar39 = 0; sVar18 - iVar12 != uVar39; uVar39 = uVar39 + 1) {\n                  local_5c = (int *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39] <<\n                                    ((char)uVar39 * '\b' & 0x1fU));\n                }\n                uVar28 = 0;\n                uVar26 = (int)local_5c + uVar26;\n                for (uVar27 = uVar26; uVar27 != 0; uVar27 = uVar27 >> 8) {\n                  uVar28 = uVar28 + 1;\n                }\n              } while (uVar39 <= uVar28);\n              puVar29 = (undefined1 *)((int)pvVar30 + iVar12);\n              while (puVar29 < (undefined1 *)((int)pvVar30 + sVar18)) {\n                *puVar29 = (char)uVar26;\n                if (uVar26 == 0) break;\n                uVar26 = uVar26 >> 8;\n                puVar29 = puVar29 + 1;\n              }\n              psVar34[0xb] = 0;\n              bVar40 = true;\n            }\n            goto LAB_0001a954;\n          }" { (if_statement "if (psVar34[0xb] == 0x100) {\n              pvVar24 = (void *)psVar34[0xc];\n              local_7c = (size_t *)0x0;\n              psVar45 = psVar25;\n              do {\n                do {\n                  psVar6 = psVar45;\n                  psVar45 = psVar6 + -9;\n                  if (psVar45 < local_60) goto LAB_0001a954;\n                  pvVar30 = (void *)psVar6[-6];\n                  psVar7 = local_7c;\n                } while ((((local_7c == (size_t *)0x0) && (psVar6[-8] != 0)) &&\n                         (psVar7 = psVar45, psVar6[-7] == 0x101)) ||\n                        ((local_7c = psVar7,\n                         *(char *)((int)pvVar24 + iVar9) != *(char *)((int)pvVar30 + iVar9) ||\n                         (psVar6[-7] != 0x100))));\n                if (*(char *)((int)pvVar30 + iVar9) != '\x04') {\n                  psVar45 = (size_t *)*psVar45;\n                  if ((((psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)) &&\n                      ((uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0))))\n                     && ((0xfffffff0 < uVar26 || (psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0))))) {\n                    psVar34[0xb] = 0;\n                    if (uVar26 < uVar39) {\n                      psVar6[-2] = uVar39;\n                    }\n                    bVar40 = true;\n                    if (local_6c != 0) {\n                      psVar6[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0)) {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    psVar34[0x11] = 1;\n                    psVar34[0xb] = 0x101;\n                    psVar6[-1] = 1;\n                    psVar6[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }\n                uVar26 = 0;\n                for (iVar21 = 0; (int)*psVar25 - iVar12 != iVar21; iVar21 = iVar21 + 1) {\n                  uVar26 = uVar26 | (uint)*(byte *)((int)pvVar24 + iVar21 + iVar12) <<\n                                    ((char)iVar21 * '\b' & 0x1fU);\n                }\n                sVar18 = *psVar45;\n                local_5c = (int *)0x0;\n                for (uVar39 = 0; sVar18 - iVar12 != uVar39; uVar39 = uVar39 + 1) {\n                  local_5c = (int *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39] <<\n                                    ((char)uVar39 * '\b' & 0x1fU));\n                }\n                uVar28 = 0;\n                uVar26 = (int)local_5c + uVar26;\n                for (uVar27 = uVar26; uVar27 != 0; uVar27 = uVar27 >> 8) {\n                  uVar28 = uVar28 + 1;\n                }\n              } while (uVar39 <= uVar28);\n              puVar29 = (undefined1 *)((int)pvVar30 + iVar12);\n              while (puVar29 < (undefined1 *)((int)pvVar30 + sVar18)) {\n                *puVar29 = (char)uVar26;\n                if (uVar26 == 0) break;\n                uVar26 = uVar26 >> 8;\n                puVar29 = puVar29 + 1;\n              }\n              psVar34[0xb] = 0;\n              bVar40 = true;\n            }" if (parenthesized_expression "(psVar34[0xb] == 0x100)" ( (binary_expression "psVar34[0xb] == 0x100" (subscript_expression "psVar34[0xb]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n              pvVar24 = (void *)psVar34[0xc];\n              local_7c = (size_t *)0x0;\n              psVar45 = psVar25;\n              do {\n                do {\n                  psVar6 = psVar45;\n                  psVar45 = psVar6 + -9;\n                  if (psVar45 < local_60) goto LAB_0001a954;\n                  pvVar30 = (void *)psVar6[-6];\n                  psVar7 = local_7c;\n                } while ((((local_7c == (size_t *)0x0) && (psVar6[-8] != 0)) &&\n                         (psVar7 = psVar45, psVar6[-7] == 0x101)) ||\n                        ((local_7c = psVar7,\n                         *(char *)((int)pvVar24 + iVar9) != *(char *)((int)pvVar30 + iVar9) ||\n                         (psVar6[-7] != 0x100))));\n                if (*(char *)((int)pvVar30 + iVar9) != '\x04') {\n                  psVar45 = (size_t *)*psVar45;\n                  if ((((psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)) &&\n                      ((uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0))))\n                     && ((0xfffffff0 < uVar26 || (psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0))))) {\n                    psVar34[0xb] = 0;\n                    if (uVar26 < uVar39) {\n                      psVar6[-2] = uVar39;\n                    }\n                    bVar40 = true;\n                    if (local_6c != 0) {\n                      psVar6[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0)) {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    psVar34[0x11] = 1;\n                    psVar34[0xb] = 0x101;\n                    psVar6[-1] = 1;\n                    psVar6[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }\n                uVar26 = 0;\n                for (iVar21 = 0; (int)*psVar25 - iVar12 != iVar21; iVar21 = iVar21 + 1) {\n                  uVar26 = uVar26 | (uint)*(byte *)((int)pvVar24 + iVar21 + iVar12) <<\n                                    ((char)iVar21 * '\b' & 0x1fU);\n                }\n                sVar18 = *psVar45;\n                local_5c = (int *)0x0;\n                for (uVar39 = 0; sVar18 - iVar12 != uVar39; uVar39 = uVar39 + 1) {\n                  local_5c = (int *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39] <<\n                                    ((char)uVar39 * '\b' & 0x1fU));\n                }\n                uVar28 = 0;\n                uVar26 = (int)local_5c + uVar26;\n                for (uVar27 = uVar26; uVar27 != 0; uVar27 = uVar27 >> 8) {\n                  uVar28 = uVar28 + 1;\n                }\n              } while (uVar39 <= uVar28);\n              puVar29 = (undefined1 *)((int)pvVar30 + iVar12);\n              while (puVar29 < (undefined1 *)((int)pvVar30 + sVar18)) {\n                *puVar29 = (char)uVar26;\n                if (uVar26 == 0) break;\n                uVar26 = uVar26 >> 8;\n                puVar29 = puVar29 + 1;\n              }\n              psVar34[0xb] = 0;\n              bVar40 = true;\n            }" { (expression_statement "pvVar24 = (void *)psVar34[0xc];" (assignment_expression "pvVar24 = (void *)psVar34[0xc]" identifier = (cast_expression "(void *)psVar34[0xc]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "psVar34[0xc]" identifier [ number_literal ]))) ;) (expression_statement "local_7c = (size_t *)0x0;" (assignment_expression "local_7c = (size_t *)0x0" identifier = (cast_expression "(size_t *)0x0" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psVar45 = psVar25;" (assignment_expression "psVar45 = psVar25" identifier = identifier) ;) (do_statement "do {\n                do {\n                  psVar6 = psVar45;\n                  psVar45 = psVar6 + -9;\n                  if (psVar45 < local_60) goto LAB_0001a954;\n                  pvVar30 = (void *)psVar6[-6];\n                  psVar7 = local_7c;\n                } while ((((local_7c == (size_t *)0x0) && (psVar6[-8] != 0)) &&\n                         (psVar7 = psVar45, psVar6[-7] == 0x101)) ||\n                        ((local_7c = psVar7,\n                         *(char *)((int)pvVar24 + iVar9) != *(char *)((int)pvVar30 + iVar9) ||\n                         (psVar6[-7] != 0x100))));\n                if (*(char *)((int)pvVar30 + iVar9) != '\x04') {\n                  psVar45 = (size_t *)*psVar45;\n                  if ((((psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)) &&\n                      ((uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0))))\n                     && ((0xfffffff0 < uVar26 || (psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0))))) {\n                    psVar34[0xb] = 0;\n                    if (uVar26 < uVar39) {\n                      psVar6[-2] = uVar39;\n                    }\n                    bVar40 = true;\n                    if (local_6c != 0) {\n                      psVar6[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0)) {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    psVar34[0x11] = 1;\n                    psVar34[0xb] = 0x101;\n                    psVar6[-1] = 1;\n                    psVar6[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }\n                uVar26 = 0;\n                for (iVar21 = 0; (int)*psVar25 - iVar12 != iVar21; iVar21 = iVar21 + 1) {\n                  uVar26 = uVar26 | (uint)*(byte *)((int)pvVar24 + iVar21 + iVar12) <<\n                                    ((char)iVar21 * '\b' & 0x1fU);\n                }\n                sVar18 = *psVar45;\n                local_5c = (int *)0x0;\n                for (uVar39 = 0; sVar18 - iVar12 != uVar39; uVar39 = uVar39 + 1) {\n                  local_5c = (int *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39] <<\n                                    ((char)uVar39 * '\b' & 0x1fU));\n                }\n                uVar28 = 0;\n                uVar26 = (int)local_5c + uVar26;\n                for (uVar27 = uVar26; uVar27 != 0; uVar27 = uVar27 >> 8) {\n                  uVar28 = uVar28 + 1;\n                }\n              } while (uVar39 <= uVar28);" do (compound_statement "{\n                do {\n                  psVar6 = psVar45;\n                  psVar45 = psVar6 + -9;\n                  if (psVar45 < local_60) goto LAB_0001a954;\n                  pvVar30 = (void *)psVar6[-6];\n                  psVar7 = local_7c;\n                } while ((((local_7c == (size_t *)0x0) && (psVar6[-8] != 0)) &&\n                         (psVar7 = psVar45, psVar6[-7] == 0x101)) ||\n                        ((local_7c = psVar7,\n                         *(char *)((int)pvVar24 + iVar9) != *(char *)((int)pvVar30 + iVar9) ||\n                         (psVar6[-7] != 0x100))));\n                if (*(char *)((int)pvVar30 + iVar9) != '\x04') {\n                  psVar45 = (size_t *)*psVar45;\n                  if ((((psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)) &&\n                      ((uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0))))\n                     && ((0xfffffff0 < uVar26 || (psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0))))) {\n                    psVar34[0xb] = 0;\n                    if (uVar26 < uVar39) {\n                      psVar6[-2] = uVar39;\n                    }\n                    bVar40 = true;\n                    if (local_6c != 0) {\n                      psVar6[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0)) {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    psVar34[0x11] = 1;\n                    psVar34[0xb] = 0x101;\n                    psVar6[-1] = 1;\n                    psVar6[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }\n                uVar26 = 0;\n                for (iVar21 = 0; (int)*psVar25 - iVar12 != iVar21; iVar21 = iVar21 + 1) {\n                  uVar26 = uVar26 | (uint)*(byte *)((int)pvVar24 + iVar21 + iVar12) <<\n                                    ((char)iVar21 * '\b' & 0x1fU);\n                }\n                sVar18 = *psVar45;\n                local_5c = (int *)0x0;\n                for (uVar39 = 0; sVar18 - iVar12 != uVar39; uVar39 = uVar39 + 1) {\n                  local_5c = (int *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39] <<\n                                    ((char)uVar39 * '\b' & 0x1fU));\n                }\n                uVar28 = 0;\n                uVar26 = (int)local_5c + uVar26;\n                for (uVar27 = uVar26; uVar27 != 0; uVar27 = uVar27 >> 8) {\n                  uVar28 = uVar28 + 1;\n                }\n              }" { (do_statement "do {\n                  psVar6 = psVar45;\n                  psVar45 = psVar6 + -9;\n                  if (psVar45 < local_60) goto LAB_0001a954;\n                  pvVar30 = (void *)psVar6[-6];\n                  psVar7 = local_7c;\n                } while ((((local_7c == (size_t *)0x0) && (psVar6[-8] != 0)) &&\n                         (psVar7 = psVar45, psVar6[-7] == 0x101)) ||\n                        ((local_7c = psVar7,\n                         *(char *)((int)pvVar24 + iVar9) != *(char *)((int)pvVar30 + iVar9) ||\n                         (psVar6[-7] != 0x100))));" do (compound_statement "{\n                  psVar6 = psVar45;\n                  psVar45 = psVar6 + -9;\n                  if (psVar45 < local_60) goto LAB_0001a954;\n                  pvVar30 = (void *)psVar6[-6];\n                  psVar7 = local_7c;\n                }" { (expression_statement "psVar6 = psVar45;" (assignment_expression "psVar6 = psVar45" identifier = identifier) ;) (expression_statement "psVar45 = psVar6 + -9;" (assignment_expression "psVar45 = psVar6 + -9" identifier = (binary_expression "psVar6 + -9" identifier + number_literal)) ;) (if_statement "if (psVar45 < local_60) goto LAB_0001a954;" if (parenthesized_expression "(psVar45 < local_60)" ( (binary_expression "psVar45 < local_60" identifier < identifier) )) (goto_statement "goto LAB_0001a954;" goto statement_identifier ;)) (expression_statement "pvVar30 = (void *)psVar6[-6];" (assignment_expression "pvVar30 = (void *)psVar6[-6]" identifier = (cast_expression "(void *)psVar6[-6]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "psVar6[-6]" identifier [ number_literal ]))) ;) (expression_statement "psVar7 = local_7c;" (assignment_expression "psVar7 = local_7c" identifier = identifier) ;) }) while (parenthesized_expression "((((local_7c == (size_t *)0x0) && (psVar6[-8] != 0)) &&\n                         (psVar7 = psVar45, psVar6[-7] == 0x101)) ||\n                        ((local_7c = psVar7,\n                         *(char *)((int)pvVar24 + iVar9) != *(char *)((int)pvVar30 + iVar9) ||\n                         (psVar6[-7] != 0x100))))" ( (binary_expression "(((local_7c == (size_t *)0x0) && (psVar6[-8] != 0)) &&\n                         (psVar7 = psVar45, psVar6[-7] == 0x101)) ||\n                        ((local_7c = psVar7,\n                         *(char *)((int)pvVar24 + iVar9) != *(char *)((int)pvVar30 + iVar9) ||\n                         (psVar6[-7] != 0x100)))" (parenthesized_expression "(((local_7c == (size_t *)0x0) && (psVar6[-8] != 0)) &&\n                         (psVar7 = psVar45, psVar6[-7] == 0x101))" ( (binary_expression "((local_7c == (size_t *)0x0) && (psVar6[-8] != 0)) &&\n                         (psVar7 = psVar45, psVar6[-7] == 0x101)" (parenthesized_expression "((local_7c == (size_t *)0x0) && (psVar6[-8] != 0))" ( (binary_expression "(local_7c == (size_t *)0x0) && (psVar6[-8] != 0)" (parenthesized_expression "(local_7c == (size_t *)0x0)" ( (binary_expression "local_7c == (size_t *)0x0" identifier == (cast_expression "(size_t *)0x0" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(psVar6[-8] != 0)" ( (binary_expression "psVar6[-8] != 0" (subscript_expression "psVar6[-8]" identifier [ number_literal ]) != number_literal) ))) )) && (parenthesized_expression "(psVar7 = psVar45, psVar6[-7] == 0x101)" ( (comma_expression "psVar7 = psVar45, psVar6[-7] == 0x101" (assignment_expression "psVar7 = psVar45" identifier = identifier) , (binary_expression "psVar6[-7] == 0x101" (subscript_expression "psVar6[-7]" identifier [ number_literal ]) == number_literal)) ))) )) || (parenthesized_expression "((local_7c = psVar7,\n                         *(char *)((int)pvVar24 + iVar9) != *(char *)((int)pvVar30 + iVar9) ||\n                         (psVar6[-7] != 0x100)))" ( (parenthesized_expression "(local_7c = psVar7,\n                         *(char *)((int)pvVar24 + iVar9) != *(char *)((int)pvVar30 + iVar9) ||\n                         (psVar6[-7] != 0x100))" ( (comma_expression "local_7c = psVar7,\n                         *(char *)((int)pvVar24 + iVar9) != *(char *)((int)pvVar30 + iVar9) ||\n                         (psVar6[-7] != 0x100)" (assignment_expression "local_7c = psVar7" identifier = identifier) , (binary_expression "*(char *)((int)pvVar24 + iVar9) != *(char *)((int)pvVar30 + iVar9) ||\n                         (psVar6[-7] != 0x100)" (binary_expression "*(char *)((int)pvVar24 + iVar9) != *(char *)((int)pvVar30 + iVar9)" (pointer_expression "*(char *)((int)pvVar24 + iVar9)" * (cast_expression "(char *)((int)pvVar24 + iVar9)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar24 + iVar9)" ( (binary_expression "(int)pvVar24 + iVar9" (cast_expression "(int)pvVar24" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) != (pointer_expression "*(char *)((int)pvVar30 + iVar9)" * (cast_expression "(char *)((int)pvVar30 + iVar9)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar30 + iVar9)" ( (binary_expression "(int)pvVar30 + iVar9" (cast_expression "(int)pvVar30" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))))) || (parenthesized_expression "(psVar6[-7] != 0x100)" ( (binary_expression "psVar6[-7] != 0x100" (subscript_expression "psVar6[-7]" identifier [ number_literal ]) != number_literal) )))) )) ))) )) ;) (if_statement "if (*(char *)((int)pvVar30 + iVar9) != '\x04') {\n                  psVar45 = (size_t *)*psVar45;\n                  if ((((psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)) &&\n                      ((uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0))))\n                     && ((0xfffffff0 < uVar26 || (psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0))))) {\n                    psVar34[0xb] = 0;\n                    if (uVar26 < uVar39) {\n                      psVar6[-2] = uVar39;\n                    }\n                    bVar40 = true;\n                    if (local_6c != 0) {\n                      psVar6[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0)) {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    psVar34[0x11] = 1;\n                    psVar34[0xb] = 0x101;\n                    psVar6[-1] = 1;\n                    psVar6[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }" if (parenthesized_expression "(*(char *)((int)pvVar30 + iVar9) != '\x04')" ( (binary_expression "*(char *)((int)pvVar30 + iVar9) != '\x04'" (pointer_expression "*(char *)((int)pvVar30 + iVar9)" * (cast_expression "(char *)((int)pvVar30 + iVar9)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar30 + iVar9)" ( (binary_expression "(int)pvVar30 + iVar9" (cast_expression "(int)pvVar30" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) != (char_literal "'\x04'" ' escape_sequence ')) )) (compound_statement "{\n                  psVar45 = (size_t *)*psVar45;\n                  if ((((psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)) &&\n                      ((uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0))))\n                     && ((0xfffffff0 < uVar26 || (psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0))))) {\n                    psVar34[0xb] = 0;\n                    if (uVar26 < uVar39) {\n                      psVar6[-2] = uVar39;\n                    }\n                    bVar40 = true;\n                    if (local_6c != 0) {\n                      psVar6[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0)) {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    psVar34[0x11] = 1;\n                    psVar34[0xb] = 0x101;\n                    psVar6[-1] = 1;\n                    psVar6[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }" { (expression_statement "psVar45 = (size_t *)*psVar45;" (assignment_expression "psVar45 = (size_t *)*psVar45" identifier = (cast_expression "(size_t *)*psVar45" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*psVar45" * identifier))) ;) (if_statement "if ((((psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)) &&\n                      ((uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0))))\n                     && ((0xfffffff0 < uVar26 || (psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0))))) {\n                    psVar34[0xb] = 0;\n                    if (uVar26 < uVar39) {\n                      psVar6[-2] = uVar39;\n                    }\n                    bVar40 = true;\n                    if (local_6c != 0) {\n                      psVar6[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0)) {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    psVar34[0x11] = 1;\n                    psVar34[0xb] = 0x101;\n                    psVar6[-1] = 1;\n                    psVar6[-7] = 0x101;\n                  }" if (parenthesized_expression "((((psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)) &&\n                      ((uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0))))\n                     && ((0xfffffff0 < uVar26 || (psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0)))))" ( (binary_expression "(((psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)) &&\n                      ((uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0))))\n                     && ((0xfffffff0 < uVar26 || (psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0))))" (parenthesized_expression "(((psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)) &&\n                      ((uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0))))" ( (binary_expression "((psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)) &&\n                      ((uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0)))" (parenthesized_expression "((psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0))" ( (binary_expression "(psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)" (parenthesized_expression "(psVar45 == (size_t *)*psVar25)" ( (binary_expression "psVar45 == (size_t *)*psVar25" identifier == (cast_expression "(size_t *)*psVar25" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*psVar25" * identifier))) )) && (parenthesized_expression "(psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)" ( (comma_expression "psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0" (assignment_expression "psVar46 = psVar25" identifier = identifier) , (comma_expression "iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0" (assignment_expression "iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45)" identifier = (call_expression "memcmp(pvVar30,pvVar24,(size_t)psVar45)" identifier (argument_list "(pvVar30,pvVar24,(size_t)psVar45)" ( identifier , identifier , (cast_expression "(size_t)psVar45" ( (type_descriptor "size_t" primitive_type) ) identifier) )))) , (comma_expression "pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0" (assignment_expression "pvVar44 = pvVar24" identifier = identifier) , (comma_expression "psVar20 = psVar45, iVar21 == 0" (assignment_expression "psVar20 = psVar45" identifier = identifier) , (binary_expression "iVar21 == 0" identifier == number_literal))))) ))) )) && (parenthesized_expression "((uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0)))" ( (parenthesized_expression "(uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0))" ( (comma_expression "uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0)" (assignment_expression "uVar26 = psVar6[-2]" identifier = (subscript_expression "psVar6[-2]" identifier [ number_literal ])) , (binary_expression "uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0)" (binary_expression "uVar26 != 0" identifier != number_literal) && (parenthesized_expression "(uVar39 = psVar34[0x10], uVar39 != 0)" ( (comma_expression "uVar39 = psVar34[0x10], uVar39 != 0" (assignment_expression "uVar39 = psVar34[0x10]" identifier = (subscript_expression "psVar34[0x10]" identifier [ number_literal ])) , (binary_expression "uVar39 != 0" identifier != number_literal)) )))) )) ))) )) && (parenthesized_expression "((0xfffffff0 < uVar26 || (psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0))))" ( (parenthesized_expression "(0xfffffff0 < uVar26 || (psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0)))" ( (binary_expression "0xfffffff0 < uVar26 || (psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0))" (binary_expression "0xfffffff0 < uVar26" number_literal < identifier) || (parenthesized_expression "(psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0))" ( (binary_expression "psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0)" (subscript_expression "psVar34[0xf]" identifier [ number_literal ]) <= (parenthesized_expression "(uVar26 + 0xf & 0xfffffff0)" ( (binary_expression "uVar26 + 0xf & 0xfffffff0" (binary_expression "uVar26 + 0xf" identifier + number_literal) & number_literal) ))) ))) )) ))) )) (compound_statement "{\n                    psVar34[0xb] = 0;\n                    if (uVar26 < uVar39) {\n                      psVar6[-2] = uVar39;\n                    }\n                    bVar40 = true;\n                    if (local_6c != 0) {\n                      psVar6[-1] = 1;\n                    }\n                  }" { (expression_statement "psVar34[0xb] = 0;" (assignment_expression "psVar34[0xb] = 0" (subscript_expression "psVar34[0xb]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (uVar26 < uVar39) {\n                      psVar6[-2] = uVar39;\n                    }" if (parenthesized_expression "(uVar26 < uVar39)" ( (binary_expression "uVar26 < uVar39" identifier < identifier) )) (compound_statement "{\n                      psVar6[-2] = uVar39;\n                    }" { (expression_statement "psVar6[-2] = uVar39;" (assignment_expression "psVar6[-2] = uVar39" (subscript_expression "psVar6[-2]" identifier [ number_literal ]) = identifier) ;) })) (expression_statement "bVar40 = true;" (assignment_expression "bVar40 = true" identifier = true) ;) (if_statement "if (local_6c != 0) {\n                      psVar6[-1] = 1;\n                    }" if (parenthesized_expression "(local_6c != 0)" ( (binary_expression "local_6c != 0" identifier != number_literal) )) (compound_statement "{\n                      psVar6[-1] = 1;\n                    }" { (expression_statement "psVar6[-1] = 1;" (assignment_expression "psVar6[-1] = 1" (subscript_expression "psVar6[-1]" identifier [ number_literal ]) = number_literal) ;) })) }) (else_clause "else if (local_6c == 0) {\n                    if (((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0)) {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    psVar34[0x11] = 1;\n                    psVar34[0xb] = 0x101;\n                    psVar6[-1] = 1;\n                    psVar6[-7] = 0x101;\n                  }" else (if_statement "if (local_6c == 0) {\n                    if (((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0)) {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    psVar34[0x11] = 1;\n                    psVar34[0xb] = 0x101;\n                    psVar6[-1] = 1;\n                    psVar6[-7] = 0x101;\n                  }" if (parenthesized_expression "(local_6c == 0)" ( (binary_expression "local_6c == 0" identifier == number_literal) )) (compound_statement "{\n                    if (((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0)) {\n                      local_7c[2] = 0x100;\n                    }\n                  }" { (if_statement "if (((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0)) {\n                      local_7c[2] = 0x100;\n                    }" if (parenthesized_expression "(((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0))" ( (binary_expression "((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0)" (parenthesized_expression "((psVar34[10] == 0) && (local_7c != (size_t *)0x0))" ( (binary_expression "(psVar34[10] == 0) && (local_7c != (size_t *)0x0)" (parenthesized_expression "(psVar34[10] == 0)" ( (binary_expression "psVar34[10] == 0" (subscript_expression "psVar34[10]" identifier [ number_literal ]) == number_literal) )) && (parenthesized_expression "(local_7c != (size_t *)0x0)" ( (binary_expression "local_7c != (size_t *)0x0" identifier != (cast_expression "(size_t *)0x0" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) && (parenthesized_expression "(local_7c[2] == 0)" ( (binary_expression "local_7c[2] == 0" (subscript_expression "local_7c[2]" identifier [ number_literal ]) == number_literal) ))) )) (compound_statement "{\n                      local_7c[2] = 0x100;\n                    }" { (expression_statement "local_7c[2] = 0x100;" (assignment_expression "local_7c[2] = 0x100" (subscript_expression "local_7c[2]" identifier [ number_literal ]) = number_literal) ;) })) }) (else_clause "else {\n                    psVar34[0x11] = 1;\n                    psVar34[0xb] = 0x101;\n                    psVar6[-1] = 1;\n                    psVar6[-7] = 0x101;\n                  }" else (compound_statement "{\n                    psVar34[0x11] = 1;\n                    psVar34[0xb] = 0x101;\n                    psVar6[-1] = 1;\n                    psVar6[-7] = 0x101;\n                  }" { (expression_statement "psVar34[0x11] = 1;" (assignment_expression "psVar34[0x11] = 1" (subscript_expression "psVar34[0x11]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "psVar34[0xb] = 0x101;" (assignment_expression "psVar34[0xb] = 0x101" (subscript_expression "psVar34[0xb]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "psVar6[-1] = 1;" (assignment_expression "psVar6[-1] = 1" (subscript_expression "psVar6[-1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "psVar6[-7] = 0x101;" (assignment_expression "psVar6[-7] = 0x101" (subscript_expression "psVar6[-7]" identifier [ number_literal ]) = number_literal) ;) }))))) (goto_statement "goto LAB_0001a954;" goto statement_identifier ;) })) (expression_statement "uVar26 = 0;" (assignment_expression "uVar26 = 0" identifier = number_literal) ;) (for_statement "for (iVar21 = 0; (int)*psVar25 - iVar12 != iVar21; iVar21 = iVar21 + 1) {\n                  uVar26 = uVar26 | (uint)*(byte *)((int)pvVar24 + iVar21 + iVar12) <<\n                                    ((char)iVar21 * '\b' & 0x1fU);\n                }" for ( (assignment_expression "iVar21 = 0" identifier = number_literal) ; (binary_expression "(int)*psVar25 - iVar12 != iVar21" (binary_expression "(int)*psVar25 - iVar12" (cast_expression "(int)*psVar25" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*psVar25" * identifier)) - identifier) != identifier) ; (assignment_expression "iVar21 = iVar21 + 1" identifier = (binary_expression "iVar21 + 1" identifier + number_literal)) ) (compound_statement "{\n                  uVar26 = uVar26 | (uint)*(byte *)((int)pvVar24 + iVar21 + iVar12) <<\n                                    ((char)iVar21 * '\b' & 0x1fU);\n                }" { (expression_statement "uVar26 = uVar26 | (uint)*(byte *)((int)pvVar24 + iVar21 + iVar12) <<\n                                    ((char)iVar21 * '\b' & 0x1fU);" (assignment_expression "uVar26 = uVar26 | (uint)*(byte *)((int)pvVar24 + iVar21 + iVar12) <<\n                                    ((char)iVar21 * '\b' & 0x1fU)" identifier = (binary_expression "uVar26 | (uint)*(byte *)((int)pvVar24 + iVar21 + iVar12) <<\n                                    ((char)iVar21 * '\b' & 0x1fU)" identifier | (binary_expression "(uint)*(byte *)((int)pvVar24 + iVar21 + iVar12) <<\n                                    ((char)iVar21 * '\b' & 0x1fU)" (binary_expression "(uint)*(byte *)((int)pvVar24 + iVar21 + iVar12)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)pvVar24 + iVar21 + iVar12)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar24 + iVar21 + iVar12)" ( (binary_expression "(int)pvVar24 + iVar21 + iVar12" (binary_expression "(int)pvVar24 + iVar21" (cast_expression "(int)pvVar24" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + identifier) )))) << (parenthesized_expression "((char)iVar21 * '\b' & 0x1fU)" ( (binary_expression "(char)iVar21 * '\b' & 0x1fU" (binary_expression "(char)iVar21 * '\b'" (cast_expression "(char)iVar21" ( (type_descriptor "char" primitive_type) ) identifier) * (char_literal "'\b'" ' escape_sequence ')) & number_literal) ))))) ;) })) (expression_statement "sVar18 = *psVar45;" (assignment_expression "sVar18 = *psVar45" identifier = (pointer_expression "*psVar45" * identifier)) ;) (expression_statement "local_5c = (int *)0x0;" (assignment_expression "local_5c = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (for_statement "for (uVar39 = 0; sVar18 - iVar12 != uVar39; uVar39 = uVar39 + 1) {\n                  local_5c = (int *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39] <<\n                                    ((char)uVar39 * '\b' & 0x1fU));\n                }" for ( (assignment_expression "uVar39 = 0" identifier = number_literal) ; (binary_expression "sVar18 - iVar12 != uVar39" (binary_expression "sVar18 - iVar12" identifier - identifier) != identifier) ; (assignment_expression "uVar39 = uVar39 + 1" identifier = (binary_expression "uVar39 + 1" identifier + number_literal)) ) (compound_statement "{\n                  local_5c = (int *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39] <<\n                                    ((char)uVar39 * '\b' & 0x1fU));\n                }" { (expression_statement "local_5c = (int *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39] <<\n                                    ((char)uVar39 * '\b' & 0x1fU));" (assignment_expression "local_5c = (int *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39] <<\n                                    ((char)uVar39 * '\b' & 0x1fU))" identifier = (cast_expression "(int *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39] <<\n                                    ((char)uVar39 * '\b' & 0x1fU))" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39] <<\n                                    ((char)uVar39 * '\b' & 0x1fU))" ( (binary_expression "(uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39] <<\n                                    ((char)uVar39 * '\b' & 0x1fU)" (cast_expression "(uint)local_5c" ( (type_descriptor "uint" type_identifier) ) identifier) | (binary_expression "(uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39] <<\n                                    ((char)uVar39 * '\b' & 0x1fU)" (subscript_expression "(uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39]" (call_expression "(uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier ))) (argument_list "((undefined1 *)((int)pvVar30 + iVar12))" ( (cast_expression "(undefined1 *)((int)pvVar30 + iVar12)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar30 + iVar12)" ( (binary_expression "(int)pvVar30 + iVar12" (cast_expression "(int)pvVar30" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))) ))) [ identifier ]) << (parenthesized_expression "((char)uVar39 * '\b' & 0x1fU)" ( (binary_expression "(char)uVar39 * '\b' & 0x1fU" (binary_expression "(char)uVar39 * '\b'" (cast_expression "(char)uVar39" ( (type_descriptor "char" primitive_type) ) identifier) * (char_literal "'\b'" ' escape_sequence ')) & number_literal) )))) )))) ;) })) (expression_statement "uVar28 = 0;" (assignment_expression "uVar28 = 0" identifier = number_literal) ;) (expression_statement "uVar26 = (int)local_5c + uVar26;" (assignment_expression "uVar26 = (int)local_5c + uVar26" identifier = (binary_expression "(int)local_5c + uVar26" (cast_expression "(int)local_5c" ( (type_descriptor "int" primitive_type) ) identifier) + identifier)) ;) (for_statement "for (uVar27 = uVar26; uVar27 != 0; uVar27 = uVar27 >> 8) {\n                  uVar28 = uVar28 + 1;\n                }" for ( (assignment_expression "uVar27 = uVar26" identifier = identifier) ; (binary_expression "uVar27 != 0" identifier != number_literal) ; (assignment_expression "uVar27 = uVar27 >> 8" identifier = (binary_expression "uVar27 >> 8" identifier >> number_literal)) ) (compound_statement "{\n                  uVar28 = uVar28 + 1;\n                }" { (expression_statement "uVar28 = uVar28 + 1;" (assignment_expression "uVar28 = uVar28 + 1" identifier = (binary_expression "uVar28 + 1" identifier + number_literal)) ;) })) }) while (parenthesized_expression "(uVar39 <= uVar28)" ( (binary_expression "uVar39 <= uVar28" identifier <= identifier) )) ;) (expression_statement "puVar29 = (undefined1 *)((int)pvVar30 + iVar12);" (assignment_expression "puVar29 = (undefined1 *)((int)pvVar30 + iVar12)" identifier = (cast_expression "(undefined1 *)((int)pvVar30 + iVar12)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar30 + iVar12)" ( (binary_expression "(int)pvVar30 + iVar12" (cast_expression "(int)pvVar30" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (while_statement "while (puVar29 < (undefined1 *)((int)pvVar30 + sVar18)) {\n                *puVar29 = (char)uVar26;\n                if (uVar26 == 0) break;\n                uVar26 = uVar26 >> 8;\n                puVar29 = puVar29 + 1;\n              }" while (parenthesized_expression "(puVar29 < (undefined1 *)((int)pvVar30 + sVar18))" ( (binary_expression "puVar29 < (undefined1 *)((int)pvVar30 + sVar18)" identifier < (cast_expression "(undefined1 *)((int)pvVar30 + sVar18)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar30 + sVar18)" ( (binary_expression "(int)pvVar30 + sVar18" (cast_expression "(int)pvVar30" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) )) (compound_statement "{\n                *puVar29 = (char)uVar26;\n                if (uVar26 == 0) break;\n                uVar26 = uVar26 >> 8;\n                puVar29 = puVar29 + 1;\n              }" { (expression_statement "*puVar29 = (char)uVar26;" (assignment_expression "*puVar29 = (char)uVar26" (pointer_expression "*puVar29" * identifier) = (cast_expression "(char)uVar26" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (if_statement "if (uVar26 == 0) break;" if (parenthesized_expression "(uVar26 == 0)" ( (binary_expression "uVar26 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "uVar26 = uVar26 >> 8;" (assignment_expression "uVar26 = uVar26 >> 8" identifier = (binary_expression "uVar26 >> 8" identifier >> number_literal)) ;) (expression_statement "puVar29 = puVar29 + 1;" (assignment_expression "puVar29 = puVar29 + 1" identifier = (binary_expression "puVar29 + 1" identifier + number_literal)) ;) })) (expression_statement "psVar34[0xb] = 0;" (assignment_expression "psVar34[0xb] = 0" (subscript_expression "psVar34[0xb]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "bVar40 = true;" (assignment_expression "bVar40 = true" identifier = true) ;) })) (goto_statement "goto LAB_0001a954;" goto statement_identifier ;) })) (if_statement "if (!bVar40) goto LAB_0001a75c;" if (parenthesized_expression "(!bVar40)" ( (unary_expression "!bVar40" ! identifier) )) (goto_statement "goto LAB_0001a75c;" goto statement_identifier ;)) (expression_statement "pvVar24 = (void *)xmalloc(uVar35,pvVar44,psVar20,psVar46);" (assignment_expression "pvVar24 = (void *)xmalloc(uVar35,pvVar44,psVar20,psVar46)" identifier = (cast_expression "(void *)xmalloc(uVar35,pvVar44,psVar20,psVar46)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(uVar35,pvVar44,psVar20,psVar46)" identifier (argument_list "(uVar35,pvVar44,psVar20,psVar46)" ( identifier , identifier , identifier , identifier ))))) ;) (expression_statement "sVar18 = 0;" (assignment_expression "sVar18 = 0" identifier = number_literal) ;) (expression_statement "pvVar44 = pvVar24;" (assignment_expression "pvVar44 = pvVar24" identifier = identifier) ;) (expression_statement "local_80 = psVar38;" (assignment_expression "local_80 = psVar38" identifier = identifier) ;) (for_statement "for (psVar20 = local_60; psVar20 < local_64; psVar20 = psVar20 + 9) {\n            sVar23 = *psVar20;\n            __n = psVar20[1] + sVar23 + 0xc;\n            sVar2 = psVar20[2];\n            pvVar30 = pvVar44;\n            if (sVar2 != 0) {\n              if (psVar20[8] == 0) {\n                memcpy(pvVar44,local_80,__n);\n                pvVar30 = (void *)((int)pvVar44 + __n);\n              }\n              else {\n                sVar5 = psVar20[6];\n                __dest = (void *)((int)pvVar44 + 0xc);\n                pvVar30 = (void *)((int)__dest + sVar23);\n                if ((sVar5 == local_74) && (psVar20[7] == sVar18)) {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar5,sVar5);\n                  (**(code **)(param_1[1] + 0x30))(0,(int)pvVar44 + 4);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                }\n                else {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar18,sVar18);\n                  cVar8 = '\b';\n                  if (*(int *)(param_1[1] + 4) == 5) {\n                    cVar8 = (*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b';\n                  }\n                  (**(code **)(param_1[1] + 0x30))(cVar8,(int)pvVar44 + 4,sVar23,sVar23);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                  sVar18 = param_1[1];\n                  psVar25 = param_1;\n                  if ((*(int *)(sVar18 + 4) == 5) &&\n                     (psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02')) {\n                    (**(code **)(sVar18 + 0x24))(sVar5,0,pvVar30,psVar25);\n                    (**(code **)(param_1[1] + 0x24))(psVar20[7],0,(void *)((int)pvVar30 + 8));\n                    pvVar30 = (void *)((int)pvVar30 + 0x10);\n                  }\n                  else {\n                    (**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25);\n                    (**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4);\n                    pvVar30 = (void *)((int)pvVar30 + 8);\n                  }\n                }\n              }\n              local_74 = psVar20[6];\n              sVar18 = psVar20[7];\n            }\n            local_80 = (size_t *)((int)local_80 + __n);\n            pvVar44 = pvVar30;\n          }" for ( (assignment_expression "psVar20 = local_60" identifier = identifier) ; (binary_expression "psVar20 < local_64" identifier < identifier) ; (assignment_expression "psVar20 = psVar20 + 9" identifier = (binary_expression "psVar20 + 9" identifier + number_literal)) ) (compound_statement "{\n            sVar23 = *psVar20;\n            __n = psVar20[1] + sVar23 + 0xc;\n            sVar2 = psVar20[2];\n            pvVar30 = pvVar44;\n            if (sVar2 != 0) {\n              if (psVar20[8] == 0) {\n                memcpy(pvVar44,local_80,__n);\n                pvVar30 = (void *)((int)pvVar44 + __n);\n              }\n              else {\n                sVar5 = psVar20[6];\n                __dest = (void *)((int)pvVar44 + 0xc);\n                pvVar30 = (void *)((int)__dest + sVar23);\n                if ((sVar5 == local_74) && (psVar20[7] == sVar18)) {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar5,sVar5);\n                  (**(code **)(param_1[1] + 0x30))(0,(int)pvVar44 + 4);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                }\n                else {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar18,sVar18);\n                  cVar8 = '\b';\n                  if (*(int *)(param_1[1] + 4) == 5) {\n                    cVar8 = (*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b';\n                  }\n                  (**(code **)(param_1[1] + 0x30))(cVar8,(int)pvVar44 + 4,sVar23,sVar23);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                  sVar18 = param_1[1];\n                  psVar25 = param_1;\n                  if ((*(int *)(sVar18 + 4) == 5) &&\n                     (psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02')) {\n                    (**(code **)(sVar18 + 0x24))(sVar5,0,pvVar30,psVar25);\n                    (**(code **)(param_1[1] + 0x24))(psVar20[7],0,(void *)((int)pvVar30 + 8));\n                    pvVar30 = (void *)((int)pvVar30 + 0x10);\n                  }\n                  else {\n                    (**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25);\n                    (**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4);\n                    pvVar30 = (void *)((int)pvVar30 + 8);\n                  }\n                }\n              }\n              local_74 = psVar20[6];\n              sVar18 = psVar20[7];\n            }\n            local_80 = (size_t *)((int)local_80 + __n);\n            pvVar44 = pvVar30;\n          }" { (expression_statement "sVar23 = *psVar20;" (assignment_expression "sVar23 = *psVar20" identifier = (pointer_expression "*psVar20" * identifier)) ;) (expression_statement "__n = psVar20[1] + sVar23 + 0xc;" (assignment_expression "__n = psVar20[1] + sVar23 + 0xc" identifier = (binary_expression "psVar20[1] + sVar23 + 0xc" (binary_expression "psVar20[1] + sVar23" (subscript_expression "psVar20[1]" identifier [ number_literal ]) + identifier) + number_literal)) ;) (expression_statement "sVar2 = psVar20[2];" (assignment_expression "sVar2 = psVar20[2]" identifier = (subscript_expression "psVar20[2]" identifier [ number_literal ])) ;) (expression_statement "pvVar30 = pvVar44;" (assignment_expression "pvVar30 = pvVar44" identifier = identifier) ;) (if_statement "if (sVar2 != 0) {\n              if (psVar20[8] == 0) {\n                memcpy(pvVar44,local_80,__n);\n                pvVar30 = (void *)((int)pvVar44 + __n);\n              }\n              else {\n                sVar5 = psVar20[6];\n                __dest = (void *)((int)pvVar44 + 0xc);\n                pvVar30 = (void *)((int)__dest + sVar23);\n                if ((sVar5 == local_74) && (psVar20[7] == sVar18)) {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar5,sVar5);\n                  (**(code **)(param_1[1] + 0x30))(0,(int)pvVar44 + 4);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                }\n                else {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar18,sVar18);\n                  cVar8 = '\b';\n                  if (*(int *)(param_1[1] + 4) == 5) {\n                    cVar8 = (*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b';\n                  }\n                  (**(code **)(param_1[1] + 0x30))(cVar8,(int)pvVar44 + 4,sVar23,sVar23);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                  sVar18 = param_1[1];\n                  psVar25 = param_1;\n                  if ((*(int *)(sVar18 + 4) == 5) &&\n                     (psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02')) {\n                    (**(code **)(sVar18 + 0x24))(sVar5,0,pvVar30,psVar25);\n                    (**(code **)(param_1[1] + 0x24))(psVar20[7],0,(void *)((int)pvVar30 + 8));\n                    pvVar30 = (void *)((int)pvVar30 + 0x10);\n                  }\n                  else {\n                    (**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25);\n                    (**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4);\n                    pvVar30 = (void *)((int)pvVar30 + 8);\n                  }\n                }\n              }\n              local_74 = psVar20[6];\n              sVar18 = psVar20[7];\n            }" if (parenthesized_expression "(sVar2 != 0)" ( (binary_expression "sVar2 != 0" identifier != number_literal) )) (compound_statement "{\n              if (psVar20[8] == 0) {\n                memcpy(pvVar44,local_80,__n);\n                pvVar30 = (void *)((int)pvVar44 + __n);\n              }\n              else {\n                sVar5 = psVar20[6];\n                __dest = (void *)((int)pvVar44 + 0xc);\n                pvVar30 = (void *)((int)__dest + sVar23);\n                if ((sVar5 == local_74) && (psVar20[7] == sVar18)) {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar5,sVar5);\n                  (**(code **)(param_1[1] + 0x30))(0,(int)pvVar44 + 4);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                }\n                else {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar18,sVar18);\n                  cVar8 = '\b';\n                  if (*(int *)(param_1[1] + 4) == 5) {\n                    cVar8 = (*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b';\n                  }\n                  (**(code **)(param_1[1] + 0x30))(cVar8,(int)pvVar44 + 4,sVar23,sVar23);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                  sVar18 = param_1[1];\n                  psVar25 = param_1;\n                  if ((*(int *)(sVar18 + 4) == 5) &&\n                     (psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02')) {\n                    (**(code **)(sVar18 + 0x24))(sVar5,0,pvVar30,psVar25);\n                    (**(code **)(param_1[1] + 0x24))(psVar20[7],0,(void *)((int)pvVar30 + 8));\n                    pvVar30 = (void *)((int)pvVar30 + 0x10);\n                  }\n                  else {\n                    (**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25);\n                    (**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4);\n                    pvVar30 = (void *)((int)pvVar30 + 8);\n                  }\n                }\n              }\n              local_74 = psVar20[6];\n              sVar18 = psVar20[7];\n            }" { (if_statement "if (psVar20[8] == 0) {\n                memcpy(pvVar44,local_80,__n);\n                pvVar30 = (void *)((int)pvVar44 + __n);\n              }\n              else {\n                sVar5 = psVar20[6];\n                __dest = (void *)((int)pvVar44 + 0xc);\n                pvVar30 = (void *)((int)__dest + sVar23);\n                if ((sVar5 == local_74) && (psVar20[7] == sVar18)) {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar5,sVar5);\n                  (**(code **)(param_1[1] + 0x30))(0,(int)pvVar44 + 4);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                }\n                else {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar18,sVar18);\n                  cVar8 = '\b';\n                  if (*(int *)(param_1[1] + 4) == 5) {\n                    cVar8 = (*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b';\n                  }\n                  (**(code **)(param_1[1] + 0x30))(cVar8,(int)pvVar44 + 4,sVar23,sVar23);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                  sVar18 = param_1[1];\n                  psVar25 = param_1;\n                  if ((*(int *)(sVar18 + 4) == 5) &&\n                     (psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02')) {\n                    (**(code **)(sVar18 + 0x24))(sVar5,0,pvVar30,psVar25);\n                    (**(code **)(param_1[1] + 0x24))(psVar20[7],0,(void *)((int)pvVar30 + 8));\n                    pvVar30 = (void *)((int)pvVar30 + 0x10);\n                  }\n                  else {\n                    (**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25);\n                    (**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4);\n                    pvVar30 = (void *)((int)pvVar30 + 8);\n                  }\n                }\n              }" if (parenthesized_expression "(psVar20[8] == 0)" ( (binary_expression "psVar20[8] == 0" (subscript_expression "psVar20[8]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                memcpy(pvVar44,local_80,__n);\n                pvVar30 = (void *)((int)pvVar44 + __n);\n              }" { (expression_statement "memcpy(pvVar44,local_80,__n);" (call_expression "memcpy(pvVar44,local_80,__n)" identifier (argument_list "(pvVar44,local_80,__n)" ( identifier , identifier , identifier ))) ;) (expression_statement "pvVar30 = (void *)((int)pvVar44 + __n);" (assignment_expression "pvVar30 = (void *)((int)pvVar44 + __n)" identifier = (cast_expression "(void *)((int)pvVar44 + __n)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar44 + __n)" ( (binary_expression "(int)pvVar44 + __n" (cast_expression "(int)pvVar44" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) }) (else_clause "else {\n                sVar5 = psVar20[6];\n                __dest = (void *)((int)pvVar44 + 0xc);\n                pvVar30 = (void *)((int)__dest + sVar23);\n                if ((sVar5 == local_74) && (psVar20[7] == sVar18)) {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar5,sVar5);\n                  (**(code **)(param_1[1] + 0x30))(0,(int)pvVar44 + 4);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                }\n                else {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar18,sVar18);\n                  cVar8 = '\b';\n                  if (*(int *)(param_1[1] + 4) == 5) {\n                    cVar8 = (*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b';\n                  }\n                  (**(code **)(param_1[1] + 0x30))(cVar8,(int)pvVar44 + 4,sVar23,sVar23);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                  sVar18 = param_1[1];\n                  psVar25 = param_1;\n                  if ((*(int *)(sVar18 + 4) == 5) &&\n                     (psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02')) {\n                    (**(code **)(sVar18 + 0x24))(sVar5,0,pvVar30,psVar25);\n                    (**(code **)(param_1[1] + 0x24))(psVar20[7],0,(void *)((int)pvVar30 + 8));\n                    pvVar30 = (void *)((int)pvVar30 + 0x10);\n                  }\n                  else {\n                    (**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25);\n                    (**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4);\n                    pvVar30 = (void *)((int)pvVar30 + 8);\n                  }\n                }\n              }" else (compound_statement "{\n                sVar5 = psVar20[6];\n                __dest = (void *)((int)pvVar44 + 0xc);\n                pvVar30 = (void *)((int)__dest + sVar23);\n                if ((sVar5 == local_74) && (psVar20[7] == sVar18)) {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar5,sVar5);\n                  (**(code **)(param_1[1] + 0x30))(0,(int)pvVar44 + 4);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                }\n                else {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar18,sVar18);\n                  cVar8 = '\b';\n                  if (*(int *)(param_1[1] + 4) == 5) {\n                    cVar8 = (*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b';\n                  }\n                  (**(code **)(param_1[1] + 0x30))(cVar8,(int)pvVar44 + 4,sVar23,sVar23);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                  sVar18 = param_1[1];\n                  psVar25 = param_1;\n                  if ((*(int *)(sVar18 + 4) == 5) &&\n                     (psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02')) {\n                    (**(code **)(sVar18 + 0x24))(sVar5,0,pvVar30,psVar25);\n                    (**(code **)(param_1[1] + 0x24))(psVar20[7],0,(void *)((int)pvVar30 + 8));\n                    pvVar30 = (void *)((int)pvVar30 + 0x10);\n                  }\n                  else {\n                    (**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25);\n                    (**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4);\n                    pvVar30 = (void *)((int)pvVar30 + 8);\n                  }\n                }\n              }" { (expression_statement "sVar5 = psVar20[6];" (assignment_expression "sVar5 = psVar20[6]" identifier = (subscript_expression "psVar20[6]" identifier [ number_literal ])) ;) (expression_statement "__dest = (void *)((int)pvVar44 + 0xc);" (assignment_expression "__dest = (void *)((int)pvVar44 + 0xc)" identifier = (cast_expression "(void *)((int)pvVar44 + 0xc)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar44 + 0xc)" ( (binary_expression "(int)pvVar44 + 0xc" (cast_expression "(int)pvVar44" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pvVar30 = (void *)((int)__dest + sVar23);" (assignment_expression "pvVar30 = (void *)((int)__dest + sVar23)" identifier = (cast_expression "(void *)((int)__dest + sVar23)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__dest + sVar23)" ( (binary_expression "(int)__dest + sVar23" (cast_expression "(int)__dest" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (if_statement "if ((sVar5 == local_74) && (psVar20[7] == sVar18)) {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar5,sVar5);\n                  (**(code **)(param_1[1] + 0x30))(0,(int)pvVar44 + 4);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                }\n                else {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar18,sVar18);\n                  cVar8 = '\b';\n                  if (*(int *)(param_1[1] + 4) == 5) {\n                    cVar8 = (*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b';\n                  }\n                  (**(code **)(param_1[1] + 0x30))(cVar8,(int)pvVar44 + 4,sVar23,sVar23);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                  sVar18 = param_1[1];\n                  psVar25 = param_1;\n                  if ((*(int *)(sVar18 + 4) == 5) &&\n                     (psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02')) {\n                    (**(code **)(sVar18 + 0x24))(sVar5,0,pvVar30,psVar25);\n                    (**(code **)(param_1[1] + 0x24))(psVar20[7],0,(void *)((int)pvVar30 + 8));\n                    pvVar30 = (void *)((int)pvVar30 + 0x10);\n                  }\n                  else {\n                    (**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25);\n                    (**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4);\n                    pvVar30 = (void *)((int)pvVar30 + 8);\n                  }\n                }" if (parenthesized_expression "((sVar5 == local_74) && (psVar20[7] == sVar18))" ( (binary_expression "(sVar5 == local_74) && (psVar20[7] == sVar18)" (parenthesized_expression "(sVar5 == local_74)" ( (binary_expression "sVar5 == local_74" identifier == identifier) )) && (parenthesized_expression "(psVar20[7] == sVar18)" ( (binary_expression "psVar20[7] == sVar18" (subscript_expression "psVar20[7]" identifier [ number_literal ]) == identifier) ))) )) (compound_statement "{\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar5,sVar5);\n                  (**(code **)(param_1[1] + 0x30))(0,(int)pvVar44 + 4);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                }" { (expression_statement "(**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar5,sVar5);" (call_expression "(**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar5,sVar5)" (parenthesized_expression "(**(code **)(param_1[1] + 0x30))" ( (pointer_expression "**(code **)(param_1[1] + 0x30)" * (pointer_expression "*(code **)(param_1[1] + 0x30)" * (cast_expression "(code **)(param_1[1] + 0x30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1[1] + 0x30)" ( (binary_expression "param_1[1] + 0x30" (subscript_expression "param_1[1]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(sVar23,pvVar44,sVar5,sVar5)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "(**(code **)(param_1[1] + 0x30))(0,(int)pvVar44 + 4);" (call_expression "(**(code **)(param_1[1] + 0x30))(0,(int)pvVar44 + 4)" (parenthesized_expression "(**(code **)(param_1[1] + 0x30))" ( (pointer_expression "**(code **)(param_1[1] + 0x30)" * (pointer_expression "*(code **)(param_1[1] + 0x30)" * (cast_expression "(code **)(param_1[1] + 0x30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1[1] + 0x30)" ( (binary_expression "param_1[1] + 0x30" (subscript_expression "param_1[1]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(0,(int)pvVar44 + 4)" ( number_literal , (binary_expression "(int)pvVar44 + 4" (cast_expression "(int)pvVar44" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) ;) (expression_statement "(**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);" (call_expression "(**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8)" (parenthesized_expression "(**(code **)(param_1[1] + 0x30))" ( (pointer_expression "**(code **)(param_1[1] + 0x30)" * (pointer_expression "*(code **)(param_1[1] + 0x30)" * (cast_expression "(code **)(param_1[1] + 0x30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1[1] + 0x30)" ( (binary_expression "param_1[1] + 0x30" (subscript_expression "param_1[1]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(sVar2,(int)pvVar44 + 8)" ( identifier , (binary_expression "(int)pvVar44 + 8" (cast_expression "(int)pvVar44" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) ;) (expression_statement "memcpy(__dest,(void *)psVar20[3],sVar23);" (call_expression "memcpy(__dest,(void *)psVar20[3],sVar23)" identifier (argument_list "(__dest,(void *)psVar20[3],sVar23)" ( identifier , (cast_expression "(void *)psVar20[3]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "psVar20[3]" identifier [ number_literal ])) , identifier ))) ;) }) (else_clause "else {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar18,sVar18);\n                  cVar8 = '\b';\n                  if (*(int *)(param_1[1] + 4) == 5) {\n                    cVar8 = (*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b';\n                  }\n                  (**(code **)(param_1[1] + 0x30))(cVar8,(int)pvVar44 + 4,sVar23,sVar23);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                  sVar18 = param_1[1];\n                  psVar25 = param_1;\n                  if ((*(int *)(sVar18 + 4) == 5) &&\n                     (psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02')) {\n                    (**(code **)(sVar18 + 0x24))(sVar5,0,pvVar30,psVar25);\n                    (**(code **)(param_1[1] + 0x24))(psVar20[7],0,(void *)((int)pvVar30 + 8));\n                    pvVar30 = (void *)((int)pvVar30 + 0x10);\n                  }\n                  else {\n                    (**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25);\n                    (**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4);\n                    pvVar30 = (void *)((int)pvVar30 + 8);\n                  }\n                }" else (compound_statement "{\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar18,sVar18);\n                  cVar8 = '\b';\n                  if (*(int *)(param_1[1] + 4) == 5) {\n                    cVar8 = (*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b';\n                  }\n                  (**(code **)(param_1[1] + 0x30))(cVar8,(int)pvVar44 + 4,sVar23,sVar23);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                  sVar18 = param_1[1];\n                  psVar25 = param_1;\n                  if ((*(int *)(sVar18 + 4) == 5) &&\n                     (psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02')) {\n                    (**(code **)(sVar18 + 0x24))(sVar5,0,pvVar30,psVar25);\n                    (**(code **)(param_1[1] + 0x24))(psVar20[7],0,(void *)((int)pvVar30 + 8));\n                    pvVar30 = (void *)((int)pvVar30 + 0x10);\n                  }\n                  else {\n                    (**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25);\n                    (**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4);\n                    pvVar30 = (void *)((int)pvVar30 + 8);\n                  }\n                }" { (expression_statement "(**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar18,sVar18);" (call_expression "(**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar18,sVar18)" (parenthesized_expression "(**(code **)(param_1[1] + 0x30))" ( (pointer_expression "**(code **)(param_1[1] + 0x30)" * (pointer_expression "*(code **)(param_1[1] + 0x30)" * (cast_expression "(code **)(param_1[1] + 0x30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1[1] + 0x30)" ( (binary_expression "param_1[1] + 0x30" (subscript_expression "param_1[1]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(sVar23,pvVar44,sVar18,sVar18)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "cVar8 = '\b';" (assignment_expression "cVar8 = '\b'" identifier = (char_literal "'\b'" ' escape_sequence ')) ;) (if_statement "if (*(int *)(param_1[1] + 4) == 5) {\n                    cVar8 = (*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b';\n                  }" if (parenthesized_expression "(*(int *)(param_1[1] + 4) == 5)" ( (binary_expression "*(int *)(param_1[1] + 4) == 5" (pointer_expression "*(int *)(param_1[1] + 4)" * (cast_expression "(int *)(param_1[1] + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[1] + 4)" ( (binary_expression "param_1[1] + 4" (subscript_expression "param_1[1]" identifier [ number_literal ]) + number_literal) )))) == number_literal) )) (compound_statement "{\n                    cVar8 = (*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b';\n                  }" { (expression_statement "cVar8 = (*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b';" (assignment_expression "cVar8 = (*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b'" identifier = (binary_expression "(*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b'" (binary_expression "(*(char *)(param_1[0x27] + 4) == '\x02') * '\b'" (parenthesized_expression "(*(char *)(param_1[0x27] + 4) == '\x02')" ( (binary_expression "*(char *)(param_1[0x27] + 4) == '\x02'" (pointer_expression "*(char *)(param_1[0x27] + 4)" * (cast_expression "(char *)(param_1[0x27] + 4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x27] + 4)" ( (binary_expression "param_1[0x27] + 4" (subscript_expression "param_1[0x27]" identifier [ number_literal ]) + number_literal) )))) == (char_literal "'\x02'" ' escape_sequence ')) )) * (char_literal "'\b'" ' escape_sequence ')) + (char_literal "'\b'" ' escape_sequence '))) ;) })) (expression_statement "(**(code **)(param_1[1] + 0x30))(cVar8,(int)pvVar44 + 4,sVar23,sVar23);" (call_expression "(**(code **)(param_1[1] + 0x30))(cVar8,(int)pvVar44 + 4,sVar23,sVar23)" (parenthesized_expression "(**(code **)(param_1[1] + 0x30))" ( (pointer_expression "**(code **)(param_1[1] + 0x30)" * (pointer_expression "*(code **)(param_1[1] + 0x30)" * (cast_expression "(code **)(param_1[1] + 0x30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1[1] + 0x30)" ( (binary_expression "param_1[1] + 0x30" (subscript_expression "param_1[1]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(cVar8,(int)pvVar44 + 4,sVar23,sVar23)" ( identifier , (binary_expression "(int)pvVar44 + 4" (cast_expression "(int)pvVar44" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , identifier , identifier ))) ;) (expression_statement "(**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);" (call_expression "(**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8)" (parenthesized_expression "(**(code **)(param_1[1] + 0x30))" ( (pointer_expression "**(code **)(param_1[1] + 0x30)" * (pointer_expression "*(code **)(param_1[1] + 0x30)" * (cast_expression "(code **)(param_1[1] + 0x30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1[1] + 0x30)" ( (binary_expression "param_1[1] + 0x30" (subscript_expression "param_1[1]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(sVar2,(int)pvVar44 + 8)" ( identifier , (binary_expression "(int)pvVar44 + 8" (cast_expression "(int)pvVar44" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) ;) (expression_statement "memcpy(__dest,(void *)psVar20[3],sVar23);" (call_expression "memcpy(__dest,(void *)psVar20[3],sVar23)" identifier (argument_list "(__dest,(void *)psVar20[3],sVar23)" ( identifier , (cast_expression "(void *)psVar20[3]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "psVar20[3]" identifier [ number_literal ])) , identifier ))) ;) (expression_statement "sVar18 = param_1[1];" (assignment_expression "sVar18 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (expression_statement "psVar25 = param_1;" (assignment_expression "psVar25 = param_1" identifier = identifier) ;) (if_statement "if ((*(int *)(sVar18 + 4) == 5) &&\n                     (psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02')) {\n                    (**(code **)(sVar18 + 0x24))(sVar5,0,pvVar30,psVar25);\n                    (**(code **)(param_1[1] + 0x24))(psVar20[7],0,(void *)((int)pvVar30 + 8));\n                    pvVar30 = (void *)((int)pvVar30 + 0x10);\n                  }\n                  else {\n                    (**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25);\n                    (**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4);\n                    pvVar30 = (void *)((int)pvVar30 + 8);\n                  }" if (parenthesized_expression "((*(int *)(sVar18 + 4) == 5) &&\n                     (psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02'))" ( (binary_expression "(*(int *)(sVar18 + 4) == 5) &&\n                     (psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02')" (parenthesized_expression "(*(int *)(sVar18 + 4) == 5)" ( (binary_expression "*(int *)(sVar18 + 4) == 5" (pointer_expression "*(int *)(sVar18 + 4)" * (cast_expression "(int *)(sVar18 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar18 + 4)" ( (binary_expression "sVar18 + 4" identifier + number_literal) )))) == number_literal) )) && (parenthesized_expression "(psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02')" ( (comma_expression "psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02'" (assignment_expression "psVar25 = (size_t *)param_1[0x27]" identifier = (cast_expression "(size_t *)param_1[0x27]" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[0x27]" identifier [ number_literal ]))) , (binary_expression "(char)psVar25[1] == '\x02'" (cast_expression "(char)psVar25[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "psVar25[1]" identifier [ number_literal ])) == (char_literal "'\x02'" ' escape_sequence '))) ))) )) (compound_statement "{\n                    (**(code **)(sVar18 + 0x24))(sVar5,0,pvVar30,psVar25);\n                    (**(code **)(param_1[1] + 0x24))(psVar20[7],0,(void *)((int)pvVar30 + 8));\n                    pvVar30 = (void *)((int)pvVar30 + 0x10);\n                  }" { (expression_statement "(**(code **)(sVar18 + 0x24))(sVar5,0,pvVar30,psVar25);" (call_expression "(**(code **)(sVar18 + 0x24))(sVar5,0,pvVar30,psVar25)" (parenthesized_expression "(**(code **)(sVar18 + 0x24))" ( (pointer_expression "**(code **)(sVar18 + 0x24)" * (pointer_expression "*(code **)(sVar18 + 0x24)" * (cast_expression "(code **)(sVar18 + 0x24)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(sVar18 + 0x24)" ( (binary_expression "sVar18 + 0x24" identifier + number_literal) ))))) )) (argument_list "(sVar5,0,pvVar30,psVar25)" ( identifier , number_literal , identifier , identifier ))) ;) (expression_statement "(**(code **)(param_1[1] + 0x24))(psVar20[7],0,(void *)((int)pvVar30 + 8));" (call_expression "(**(code **)(param_1[1] + 0x24))(psVar20[7],0,(void *)((int)pvVar30 + 8))" (parenthesized_expression "(**(code **)(param_1[1] + 0x24))" ( (pointer_expression "**(code **)(param_1[1] + 0x24)" * (pointer_expression "*(code **)(param_1[1] + 0x24)" * (cast_expression "(code **)(param_1[1] + 0x24)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1[1] + 0x24)" ( (binary_expression "param_1[1] + 0x24" (subscript_expression "param_1[1]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(psVar20[7],0,(void *)((int)pvVar30 + 8))" ( (subscript_expression "psVar20[7]" identifier [ number_literal ]) , number_literal , (cast_expression "(void *)((int)pvVar30 + 8)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar30 + 8)" ( (binary_expression "(int)pvVar30 + 8" (cast_expression "(int)pvVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) ))) ;) (expression_statement "pvVar30 = (void *)((int)pvVar30 + 0x10);" (assignment_expression "pvVar30 = (void *)((int)pvVar30 + 0x10)" identifier = (cast_expression "(void *)((int)pvVar30 + 0x10)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar30 + 0x10)" ( (binary_expression "(int)pvVar30 + 0x10" (cast_expression "(int)pvVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) (else_clause "else {\n                    (**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25);\n                    (**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4);\n                    pvVar30 = (void *)((int)pvVar30 + 8);\n                  }" else (compound_statement "{\n                    (**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25);\n                    (**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4);\n                    pvVar30 = (void *)((int)pvVar30 + 8);\n                  }" { (expression_statement "(**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25);" (call_expression "(**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25)" (parenthesized_expression "(**(code **)(sVar18 + 0x30))" ( (pointer_expression "**(code **)(sVar18 + 0x30)" * (pointer_expression "*(code **)(sVar18 + 0x30)" * (cast_expression "(code **)(sVar18 + 0x30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(sVar18 + 0x30)" ( (binary_expression "sVar18 + 0x30" identifier + number_literal) ))))) )) (argument_list "(sVar5,pvVar30,psVar25,psVar25)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "(**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4);" (call_expression "(**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4)" (parenthesized_expression "(**(code **)(param_1[1] + 0x30))" ( (pointer_expression "**(code **)(param_1[1] + 0x30)" * (pointer_expression "*(code **)(param_1[1] + 0x30)" * (cast_expression "(code **)(param_1[1] + 0x30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1[1] + 0x30)" ( (binary_expression "param_1[1] + 0x30" (subscript_expression "param_1[1]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(psVar20[7],(int)pvVar30 + 4)" ( (subscript_expression "psVar20[7]" identifier [ number_literal ]) , (binary_expression "(int)pvVar30 + 4" (cast_expression "(int)pvVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) ;) (expression_statement "pvVar30 = (void *)((int)pvVar30 + 8);" (assignment_expression "pvVar30 = (void *)((int)pvVar30 + 8)" identifier = (cast_expression "(void *)((int)pvVar30 + 8)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar30 + 8)" ( (binary_expression "(int)pvVar30 + 8" (cast_expression "(int)pvVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }))) }))) }))) (expression_statement "local_74 = psVar20[6];" (assignment_expression "local_74 = psVar20[6]" identifier = (subscript_expression "psVar20[6]" identifier [ number_literal ])) ;) (expression_statement "sVar18 = psVar20[7];" (assignment_expression "sVar18 = psVar20[7]" identifier = (subscript_expression "psVar20[7]" identifier [ number_literal ])) ;) })) (expression_statement "local_80 = (size_t *)((int)local_80 + __n);" (assignment_expression "local_80 = (size_t *)((int)local_80 + __n)" identifier = (cast_expression "(size_t *)((int)local_80 + __n)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_80 + __n)" ( (binary_expression "(int)local_80 + __n" (cast_expression "(int)local_80" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "pvVar44 = pvVar30;" (assignment_expression "pvVar44 = pvVar30" identifier = identifier) ;) })) (expression_statement "sVar18 = (int)pvVar44 - (int)pvVar24;" (assignment_expression "sVar18 = (int)pvVar44 - (int)pvVar24" identifier = (binary_expression "(int)pvVar44 - (int)pvVar24" (cast_expression "(int)pvVar44" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pvVar24" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "memcpy(psVar38,pvVar24,sVar18);" (call_expression "memcpy(psVar38,pvVar24,sVar18)" identifier (argument_list "(psVar38,pvVar24,sVar18)" ( identifier , identifier , identifier ))) ;) (expression_statement "free(pvVar24);" (call_expression "free(pvVar24)" identifier (argument_list "(pvVar24)" ( identifier ))) ;) (expression_statement "free(local_60);" (call_expression "free(local_60)" identifier (argument_list "(local_60)" ( identifier ))) ;) (expression_statement "DAT_0003fb7c = sVar18;" (assignment_expression "DAT_0003fb7c = sVar18" identifier = identifier) ;) (if_statement "if (uVar35 != sVar18) {\n            uVar10 = extraout_ECX_02;\n            if ((*(int *)(sVar17 + 0x3c) != 0) &&\n               (iVar9 = bfd_set_section_size(param_2,*(int *)(sVar17 + 0x3c),sVar18,extraout_EDX),\n               uVar10 = extraout_ECX_03, iVar9 != 0)) goto LAB_00018aad;\n            uVar10 = dcgettext(0,"warning: failed to set merged notes size",5,uVar10);\n            FUN_0002c160(0,param_2,sVar17,uVar10);\n          }" if (parenthesized_expression "(uVar35 != sVar18)" ( (binary_expression "uVar35 != sVar18" identifier != identifier) )) (compound_statement "{\n            uVar10 = extraout_ECX_02;\n            if ((*(int *)(sVar17 + 0x3c) != 0) &&\n               (iVar9 = bfd_set_section_size(param_2,*(int *)(sVar17 + 0x3c),sVar18,extraout_EDX),\n               uVar10 = extraout_ECX_03, iVar9 != 0)) goto LAB_00018aad;\n            uVar10 = dcgettext(0,"warning: failed to set merged notes size",5,uVar10);\n            FUN_0002c160(0,param_2,sVar17,uVar10);\n          }" { (expression_statement "uVar10 = extraout_ECX_02;" (assignment_expression "uVar10 = extraout_ECX_02" identifier = identifier) ;) (if_statement "if ((*(int *)(sVar17 + 0x3c) != 0) &&\n               (iVar9 = bfd_set_section_size(param_2,*(int *)(sVar17 + 0x3c),sVar18,extraout_EDX),\n               uVar10 = extraout_ECX_03, iVar9 != 0)) goto LAB_00018aad;" if (parenthesized_expression "((*(int *)(sVar17 + 0x3c) != 0) &&\n               (iVar9 = bfd_set_section_size(param_2,*(int *)(sVar17 + 0x3c),sVar18,extraout_EDX),\n               uVar10 = extraout_ECX_03, iVar9 != 0))" ( (binary_expression "(*(int *)(sVar17 + 0x3c) != 0) &&\n               (iVar9 = bfd_set_section_size(param_2,*(int *)(sVar17 + 0x3c),sVar18,extraout_EDX),\n               uVar10 = extraout_ECX_03, iVar9 != 0)" (parenthesized_expression "(*(int *)(sVar17 + 0x3c) != 0)" ( (binary_expression "*(int *)(sVar17 + 0x3c) != 0" (pointer_expression "*(int *)(sVar17 + 0x3c)" * (cast_expression "(int *)(sVar17 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar17 + 0x3c)" ( (binary_expression "sVar17 + 0x3c" identifier + number_literal) )))) != number_literal) )) && (parenthesized_expression "(iVar9 = bfd_set_section_size(param_2,*(int *)(sVar17 + 0x3c),sVar18,extraout_EDX),\n               uVar10 = extraout_ECX_03, iVar9 != 0)" ( (comma_expression "iVar9 = bfd_set_section_size(param_2,*(int *)(sVar17 + 0x3c),sVar18,extraout_EDX),\n               uVar10 = extraout_ECX_03, iVar9 != 0" (assignment_expression "iVar9 = bfd_set_section_size(param_2,*(int *)(sVar17 + 0x3c),sVar18,extraout_EDX)" identifier = (call_expression "bfd_set_section_size(param_2,*(int *)(sVar17 + 0x3c),sVar18,extraout_EDX)" identifier (argument_list "(param_2,*(int *)(sVar17 + 0x3c),sVar18,extraout_EDX)" ( identifier , (pointer_expression "*(int *)(sVar17 + 0x3c)" * (cast_expression "(int *)(sVar17 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar17 + 0x3c)" ( (binary_expression "sVar17 + 0x3c" identifier + number_literal) )))) , identifier , identifier )))) , (comma_expression "uVar10 = extraout_ECX_03, iVar9 != 0" (assignment_expression "uVar10 = extraout_ECX_03" identifier = identifier) , (binary_expression "iVar9 != 0" identifier != number_literal))) ))) )) (goto_statement "goto LAB_00018aad;" goto statement_identifier ;)) (expression_statement "uVar10 = dcgettext(0,"warning: failed to set merged notes size",5,uVar10);" (assignment_expression "uVar10 = dcgettext(0,"warning: failed to set merged notes size",5,uVar10)" identifier = (call_expression "dcgettext(0,"warning: failed to set merged notes size",5,uVar10)" identifier (argument_list "(0,"warning: failed to set merged notes size",5,uVar10)" ( number_literal , (string_literal ""warning: failed to set merged notes size"" " string_content ") , number_literal , identifier )))) ;) (expression_statement "FUN_0002c160(0,param_2,sVar17,uVar10);" (call_expression "FUN_0002c160(0,param_2,sVar17,uVar10)" identifier (argument_list "(0,param_2,sVar17,uVar10)" ( number_literal , identifier , identifier , identifier ))) ;) })) }) (else_clause "else {\n          iVar9 = dcgettext(0,"corrupt GNU build attribute notes: excess data at end",5,local_64);\nLAB_0001a72d:\n          if (iVar9 != 0) {\n            bfd_set_error(0x11);\n            FUN_0002c160(0,param_1,sVar17,iVar9);\n            DAT_0003fb88 = 1;\n          }\nLAB_0001a75c:\n          free(local_60);\n        }" else (compound_statement "{\n          iVar9 = dcgettext(0,"corrupt GNU build attribute notes: excess data at end",5,local_64);\nLAB_0001a72d:\n          if (iVar9 != 0) {\n            bfd_set_error(0x11);\n            FUN_0002c160(0,param_1,sVar17,iVar9);\n            DAT_0003fb88 = 1;\n          }\nLAB_0001a75c:\n          free(local_60);\n        }" { (expression_statement "iVar9 = dcgettext(0,"corrupt GNU build attribute notes: excess data at end",5,local_64);" (assignment_expression "iVar9 = dcgettext(0,"corrupt GNU build attribute notes: excess data at end",5,local_64)" identifier = (call_expression "dcgettext(0,"corrupt GNU build attribute notes: excess data at end",5,local_64)" identifier (argument_list "(0,"corrupt GNU build attribute notes: excess data at end",5,local_64)" ( number_literal , (string_literal ""corrupt GNU build attribute notes: excess data at end"" " string_content ") , number_literal , identifier )))) ;) (labeled_statement "LAB_0001a72d:\n          if (iVar9 != 0) {\n            bfd_set_error(0x11);\n            FUN_0002c160(0,param_1,sVar17,iVar9);\n            DAT_0003fb88 = 1;\n          }" statement_identifier : (if_statement "if (iVar9 != 0) {\n            bfd_set_error(0x11);\n            FUN_0002c160(0,param_1,sVar17,iVar9);\n            DAT_0003fb88 = 1;\n          }" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (compound_statement "{\n            bfd_set_error(0x11);\n            FUN_0002c160(0,param_1,sVar17,iVar9);\n            DAT_0003fb88 = 1;\n          }" { (expression_statement "bfd_set_error(0x11);" (call_expression "bfd_set_error(0x11)" identifier (argument_list "(0x11)" ( number_literal ))) ;) (expression_statement "FUN_0002c160(0,param_1,sVar17,iVar9);" (call_expression "FUN_0002c160(0,param_1,sVar17,iVar9)" identifier (argument_list "(0,param_1,sVar17,iVar9)" ( number_literal , identifier , identifier , identifier ))) ;) (expression_statement "DAT_0003fb88 = 1;" (assignment_expression "DAT_0003fb88 = 1" identifier = number_literal) ;) }))) (labeled_statement "LAB_0001a75c:\n          free(local_60);" statement_identifier : (expression_statement "free(local_60);" (call_expression "free(local_60)" identifier (argument_list "(local_60)" ( identifier ))) ;)) }))) (expression_statement "free(DAT_0003fb80);" (call_expression "free(DAT_0003fb80)" identifier (argument_list "(DAT_0003fb80)" ( identifier ))) ;) (expression_statement "DAT_0003fb80 = (size_t *)0x0;" (assignment_expression "DAT_0003fb80 = (size_t *)0x0" identifier = (cast_expression "(size_t *)0x0" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "DAT_0003fb84 = 0;" (assignment_expression "DAT_0003fb84 = 0" identifier = number_literal) ;) (expression_statement "DAT_0003fb7c = 0;" (assignment_expression "DAT_0003fb7c = 0" identifier = number_literal) ;) }))) }))) })) (labeled_statement "LAB_00018aad:\n  local_98 = DAT_0003fb2c;" statement_identifier : (expression_statement "local_98 = DAT_0003fb2c;" (assignment_expression "local_98 = DAT_0003fb2c" identifier = identifier) ;)) (for_statement "for (puVar33 = DAT_0003fb30; DAT_0003fb2c = local_98, puVar33 != (undefined4 *)0x0;\n      puVar33 = (undefined4 *)*puVar33) {\n    iVar9 = bfd_get_section_by_name(param_1,puVar33[1]);\n    if (iVar9 == 0) {\n      uVar10 = puVar33[1];\n      uVar11 = dcgettext(0,"can\'t dump section \'%s\' - it does not exist",5);\n      FUN_0002c160(0,param_1,0,uVar11,uVar10);\n    }\n    else {\n      if ((*(byte *)(iVar9 + 0x15) & 1) == 0) {\n        pcVar22 = "can\'t dump section - it has no contents";\n      }\n      else {\n        sVar17 = *(size_t *)(iVar9 + 0x24);\n        if (sVar17 != 0) {\n          __s = fopen64((char *)puVar33[2],"w");\n          if (__s == (FILE *)0x0) {\n            uVar10 = dcgettext(0,"could not open section dump file",5);\n            FUN_0002c160(puVar33[2],0,0,uVar10);\n          }\n          else {\n            iVar12 = bfd_malloc_and_get_section(param_1,iVar9,&local_30);\n            if (iVar12 == 0) {\n              uVar10 = dcgettext(0,"could not retrieve section contents",5);\n              FUN_0002c160(0,param_1,iVar9,uVar10);\n            }\n            else {\n              sVar18 = fwrite(local_30,1,sVar17,__s);\n              if (sVar17 != sVar18) {\n                piVar15 = __errno_location();\n                pcVar22 = strerror(*piVar15);\n                uVar10 = puVar33[2];\n                uVar11 = dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                FUN_0002b6d0(uVar11,uVar10,pcVar22);\n                free(local_30);\n                return 0;\n              }\n            }\n            fclose(__s);\n            free(local_30);\n          }\n          goto LAB_00018b49;\n        }\n        pcVar22 = "can\'t dump section - it is empty";\n      }\n      uVar10 = dcgettext(0,pcVar22,5);\n      FUN_0002c160(0,param_1,iVar9,uVar10);\n    }\nLAB_00018b49:\n    local_98 = DAT_0003fb2c;\n  }" for ( (assignment_expression "puVar33 = DAT_0003fb30" identifier = identifier) ; (comma_expression "DAT_0003fb2c = local_98, puVar33 != (undefined4 *)0x0" (assignment_expression "DAT_0003fb2c = local_98" identifier = identifier) , (binary_expression "puVar33 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ; (assignment_expression "puVar33 = (undefined4 *)*puVar33" identifier = (cast_expression "(undefined4 *)*puVar33" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar33" * identifier))) ) (compound_statement "{\n    iVar9 = bfd_get_section_by_name(param_1,puVar33[1]);\n    if (iVar9 == 0) {\n      uVar10 = puVar33[1];\n      uVar11 = dcgettext(0,"can\'t dump section \'%s\' - it does not exist",5);\n      FUN_0002c160(0,param_1,0,uVar11,uVar10);\n    }\n    else {\n      if ((*(byte *)(iVar9 + 0x15) & 1) == 0) {\n        pcVar22 = "can\'t dump section - it has no contents";\n      }\n      else {\n        sVar17 = *(size_t *)(iVar9 + 0x24);\n        if (sVar17 != 0) {\n          __s = fopen64((char *)puVar33[2],"w");\n          if (__s == (FILE *)0x0) {\n            uVar10 = dcgettext(0,"could not open section dump file",5);\n            FUN_0002c160(puVar33[2],0,0,uVar10);\n          }\n          else {\n            iVar12 = bfd_malloc_and_get_section(param_1,iVar9,&local_30);\n            if (iVar12 == 0) {\n              uVar10 = dcgettext(0,"could not retrieve section contents",5);\n              FUN_0002c160(0,param_1,iVar9,uVar10);\n            }\n            else {\n              sVar18 = fwrite(local_30,1,sVar17,__s);\n              if (sVar17 != sVar18) {\n                piVar15 = __errno_location();\n                pcVar22 = strerror(*piVar15);\n                uVar10 = puVar33[2];\n                uVar11 = dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                FUN_0002b6d0(uVar11,uVar10,pcVar22);\n                free(local_30);\n                return 0;\n              }\n            }\n            fclose(__s);\n            free(local_30);\n          }\n          goto LAB_00018b49;\n        }\n        pcVar22 = "can\'t dump section - it is empty";\n      }\n      uVar10 = dcgettext(0,pcVar22,5);\n      FUN_0002c160(0,param_1,iVar9,uVar10);\n    }\nLAB_00018b49:\n    local_98 = DAT_0003fb2c;\n  }" { (expression_statement "iVar9 = bfd_get_section_by_name(param_1,puVar33[1]);" (assignment_expression "iVar9 = bfd_get_section_by_name(param_1,puVar33[1])" identifier = (call_expression "bfd_get_section_by_name(param_1,puVar33[1])" identifier (argument_list "(param_1,puVar33[1])" ( identifier , (subscript_expression "puVar33[1]" identifier [ number_literal ]) )))) ;) (if_statement "if (iVar9 == 0) {\n      uVar10 = puVar33[1];\n      uVar11 = dcgettext(0,"can\'t dump section \'%s\' - it does not exist",5);\n      FUN_0002c160(0,param_1,0,uVar11,uVar10);\n    }\n    else {\n      if ((*(byte *)(iVar9 + 0x15) & 1) == 0) {\n        pcVar22 = "can\'t dump section - it has no contents";\n      }\n      else {\n        sVar17 = *(size_t *)(iVar9 + 0x24);\n        if (sVar17 != 0) {\n          __s = fopen64((char *)puVar33[2],"w");\n          if (__s == (FILE *)0x0) {\n            uVar10 = dcgettext(0,"could not open section dump file",5);\n            FUN_0002c160(puVar33[2],0,0,uVar10);\n          }\n          else {\n            iVar12 = bfd_malloc_and_get_section(param_1,iVar9,&local_30);\n            if (iVar12 == 0) {\n              uVar10 = dcgettext(0,"could not retrieve section contents",5);\n              FUN_0002c160(0,param_1,iVar9,uVar10);\n            }\n            else {\n              sVar18 = fwrite(local_30,1,sVar17,__s);\n              if (sVar17 != sVar18) {\n                piVar15 = __errno_location();\n                pcVar22 = strerror(*piVar15);\n                uVar10 = puVar33[2];\n                uVar11 = dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                FUN_0002b6d0(uVar11,uVar10,pcVar22);\n                free(local_30);\n                return 0;\n              }\n            }\n            fclose(__s);\n            free(local_30);\n          }\n          goto LAB_00018b49;\n        }\n        pcVar22 = "can\'t dump section - it is empty";\n      }\n      uVar10 = dcgettext(0,pcVar22,5);\n      FUN_0002c160(0,param_1,iVar9,uVar10);\n    }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n      uVar10 = puVar33[1];\n      uVar11 = dcgettext(0,"can\'t dump section \'%s\' - it does not exist",5);\n      FUN_0002c160(0,param_1,0,uVar11,uVar10);\n    }" { (expression_statement "uVar10 = puVar33[1];" (assignment_expression "uVar10 = puVar33[1]" identifier = (subscript_expression "puVar33[1]" identifier [ number_literal ])) ;) (expression_statement "uVar11 = dcgettext(0,"can\'t dump section \'%s\' - it does not exist",5);" (assignment_expression "uVar11 = dcgettext(0,"can\'t dump section \'%s\' - it does not exist",5)" identifier = (call_expression "dcgettext(0,"can\'t dump section \'%s\' - it does not exist",5)" identifier (argument_list "(0,"can\'t dump section \'%s\' - it does not exist",5)" ( number_literal , (string_literal ""can\'t dump section \'%s\' - it does not exist"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content ") , number_literal )))) ;) (expression_statement "FUN_0002c160(0,param_1,0,uVar11,uVar10);" (call_expression "FUN_0002c160(0,param_1,0,uVar11,uVar10)" identifier (argument_list "(0,param_1,0,uVar11,uVar10)" ( number_literal , identifier , number_literal , identifier , identifier ))) ;) }) (else_clause "else {\n      if ((*(byte *)(iVar9 + 0x15) & 1) == 0) {\n        pcVar22 = "can\'t dump section - it has no contents";\n      }\n      else {\n        sVar17 = *(size_t *)(iVar9 + 0x24);\n        if (sVar17 != 0) {\n          __s = fopen64((char *)puVar33[2],"w");\n          if (__s == (FILE *)0x0) {\n            uVar10 = dcgettext(0,"could not open section dump file",5);\n            FUN_0002c160(puVar33[2],0,0,uVar10);\n          }\n          else {\n            iVar12 = bfd_malloc_and_get_section(param_1,iVar9,&local_30);\n            if (iVar12 == 0) {\n              uVar10 = dcgettext(0,"could not retrieve section contents",5);\n              FUN_0002c160(0,param_1,iVar9,uVar10);\n            }\n            else {\n              sVar18 = fwrite(local_30,1,sVar17,__s);\n              if (sVar17 != sVar18) {\n                piVar15 = __errno_location();\n                pcVar22 = strerror(*piVar15);\n                uVar10 = puVar33[2];\n                uVar11 = dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                FUN_0002b6d0(uVar11,uVar10,pcVar22);\n                free(local_30);\n                return 0;\n              }\n            }\n            fclose(__s);\n            free(local_30);\n          }\n          goto LAB_00018b49;\n        }\n        pcVar22 = "can\'t dump section - it is empty";\n      }\n      uVar10 = dcgettext(0,pcVar22,5);\n      FUN_0002c160(0,param_1,iVar9,uVar10);\n    }" else (compound_statement "{\n      if ((*(byte *)(iVar9 + 0x15) & 1) == 0) {\n        pcVar22 = "can\'t dump section - it has no contents";\n      }\n      else {\n        sVar17 = *(size_t *)(iVar9 + 0x24);\n        if (sVar17 != 0) {\n          __s = fopen64((char *)puVar33[2],"w");\n          if (__s == (FILE *)0x0) {\n            uVar10 = dcgettext(0,"could not open section dump file",5);\n            FUN_0002c160(puVar33[2],0,0,uVar10);\n          }\n          else {\n            iVar12 = bfd_malloc_and_get_section(param_1,iVar9,&local_30);\n            if (iVar12 == 0) {\n              uVar10 = dcgettext(0,"could not retrieve section contents",5);\n              FUN_0002c160(0,param_1,iVar9,uVar10);\n            }\n            else {\n              sVar18 = fwrite(local_30,1,sVar17,__s);\n              if (sVar17 != sVar18) {\n                piVar15 = __errno_location();\n                pcVar22 = strerror(*piVar15);\n                uVar10 = puVar33[2];\n                uVar11 = dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                FUN_0002b6d0(uVar11,uVar10,pcVar22);\n                free(local_30);\n                return 0;\n              }\n            }\n            fclose(__s);\n            free(local_30);\n          }\n          goto LAB_00018b49;\n        }\n        pcVar22 = "can\'t dump section - it is empty";\n      }\n      uVar10 = dcgettext(0,pcVar22,5);\n      FUN_0002c160(0,param_1,iVar9,uVar10);\n    }" { (if_statement "if ((*(byte *)(iVar9 + 0x15) & 1) == 0) {\n        pcVar22 = "can\'t dump section - it has no contents";\n      }\n      else {\n        sVar17 = *(size_t *)(iVar9 + 0x24);\n        if (sVar17 != 0) {\n          __s = fopen64((char *)puVar33[2],"w");\n          if (__s == (FILE *)0x0) {\n            uVar10 = dcgettext(0,"could not open section dump file",5);\n            FUN_0002c160(puVar33[2],0,0,uVar10);\n          }\n          else {\n            iVar12 = bfd_malloc_and_get_section(param_1,iVar9,&local_30);\n            if (iVar12 == 0) {\n              uVar10 = dcgettext(0,"could not retrieve section contents",5);\n              FUN_0002c160(0,param_1,iVar9,uVar10);\n            }\n            else {\n              sVar18 = fwrite(local_30,1,sVar17,__s);\n              if (sVar17 != sVar18) {\n                piVar15 = __errno_location();\n                pcVar22 = strerror(*piVar15);\n                uVar10 = puVar33[2];\n                uVar11 = dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                FUN_0002b6d0(uVar11,uVar10,pcVar22);\n                free(local_30);\n                return 0;\n              }\n            }\n            fclose(__s);\n            free(local_30);\n          }\n          goto LAB_00018b49;\n        }\n        pcVar22 = "can\'t dump section - it is empty";\n      }" if (parenthesized_expression "((*(byte *)(iVar9 + 0x15) & 1) == 0)" ( (binary_expression "(*(byte *)(iVar9 + 0x15) & 1) == 0" (parenthesized_expression "(*(byte *)(iVar9 + 0x15) & 1)" ( (binary_expression "*(byte *)(iVar9 + 0x15) & 1" (pointer_expression "*(byte *)(iVar9 + 0x15)" * (cast_expression "(byte *)(iVar9 + 0x15)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x15)" ( (binary_expression "iVar9 + 0x15" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n        pcVar22 = "can\'t dump section - it has no contents";\n      }" { (expression_statement "pcVar22 = "can\'t dump section - it has no contents";" (assignment_expression "pcVar22 = "can\'t dump section - it has no contents"" identifier = (string_literal ""can\'t dump section - it has no contents"" " string_content escape_sequence string_content ")) ;) }) (else_clause "else {\n        sVar17 = *(size_t *)(iVar9 + 0x24);\n        if (sVar17 != 0) {\n          __s = fopen64((char *)puVar33[2],"w");\n          if (__s == (FILE *)0x0) {\n            uVar10 = dcgettext(0,"could not open section dump file",5);\n            FUN_0002c160(puVar33[2],0,0,uVar10);\n          }\n          else {\n            iVar12 = bfd_malloc_and_get_section(param_1,iVar9,&local_30);\n            if (iVar12 == 0) {\n              uVar10 = dcgettext(0,"could not retrieve section contents",5);\n              FUN_0002c160(0,param_1,iVar9,uVar10);\n            }\n            else {\n              sVar18 = fwrite(local_30,1,sVar17,__s);\n              if (sVar17 != sVar18) {\n                piVar15 = __errno_location();\n                pcVar22 = strerror(*piVar15);\n                uVar10 = puVar33[2];\n                uVar11 = dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                FUN_0002b6d0(uVar11,uVar10,pcVar22);\n                free(local_30);\n                return 0;\n              }\n            }\n            fclose(__s);\n            free(local_30);\n          }\n          goto LAB_00018b49;\n        }\n        pcVar22 = "can\'t dump section - it is empty";\n      }" else (compound_statement "{\n        sVar17 = *(size_t *)(iVar9 + 0x24);\n        if (sVar17 != 0) {\n          __s = fopen64((char *)puVar33[2],"w");\n          if (__s == (FILE *)0x0) {\n            uVar10 = dcgettext(0,"could not open section dump file",5);\n            FUN_0002c160(puVar33[2],0,0,uVar10);\n          }\n          else {\n            iVar12 = bfd_malloc_and_get_section(param_1,iVar9,&local_30);\n            if (iVar12 == 0) {\n              uVar10 = dcgettext(0,"could not retrieve section contents",5);\n              FUN_0002c160(0,param_1,iVar9,uVar10);\n            }\n            else {\n              sVar18 = fwrite(local_30,1,sVar17,__s);\n              if (sVar17 != sVar18) {\n                piVar15 = __errno_location();\n                pcVar22 = strerror(*piVar15);\n                uVar10 = puVar33[2];\n                uVar11 = dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                FUN_0002b6d0(uVar11,uVar10,pcVar22);\n                free(local_30);\n                return 0;\n              }\n            }\n            fclose(__s);\n            free(local_30);\n          }\n          goto LAB_00018b49;\n        }\n        pcVar22 = "can\'t dump section - it is empty";\n      }" { (expression_statement "sVar17 = *(size_t *)(iVar9 + 0x24);" (assignment_expression "sVar17 = *(size_t *)(iVar9 + 0x24)" identifier = (pointer_expression "*(size_t *)(iVar9 + 0x24)" * (cast_expression "(size_t *)(iVar9 + 0x24)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x24)" ( (binary_expression "iVar9 + 0x24" identifier + number_literal) ))))) ;) (if_statement "if (sVar17 != 0) {\n          __s = fopen64((char *)puVar33[2],"w");\n          if (__s == (FILE *)0x0) {\n            uVar10 = dcgettext(0,"could not open section dump file",5);\n            FUN_0002c160(puVar33[2],0,0,uVar10);\n          }\n          else {\n            iVar12 = bfd_malloc_and_get_section(param_1,iVar9,&local_30);\n            if (iVar12 == 0) {\n              uVar10 = dcgettext(0,"could not retrieve section contents",5);\n              FUN_0002c160(0,param_1,iVar9,uVar10);\n            }\n            else {\n              sVar18 = fwrite(local_30,1,sVar17,__s);\n              if (sVar17 != sVar18) {\n                piVar15 = __errno_location();\n                pcVar22 = strerror(*piVar15);\n                uVar10 = puVar33[2];\n                uVar11 = dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                FUN_0002b6d0(uVar11,uVar10,pcVar22);\n                free(local_30);\n                return 0;\n              }\n            }\n            fclose(__s);\n            free(local_30);\n          }\n          goto LAB_00018b49;\n        }" if (parenthesized_expression "(sVar17 != 0)" ( (binary_expression "sVar17 != 0" identifier != number_literal) )) (compound_statement "{\n          __s = fopen64((char *)puVar33[2],"w");\n          if (__s == (FILE *)0x0) {\n            uVar10 = dcgettext(0,"could not open section dump file",5);\n            FUN_0002c160(puVar33[2],0,0,uVar10);\n          }\n          else {\n            iVar12 = bfd_malloc_and_get_section(param_1,iVar9,&local_30);\n            if (iVar12 == 0) {\n              uVar10 = dcgettext(0,"could not retrieve section contents",5);\n              FUN_0002c160(0,param_1,iVar9,uVar10);\n            }\n            else {\n              sVar18 = fwrite(local_30,1,sVar17,__s);\n              if (sVar17 != sVar18) {\n                piVar15 = __errno_location();\n                pcVar22 = strerror(*piVar15);\n                uVar10 = puVar33[2];\n                uVar11 = dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                FUN_0002b6d0(uVar11,uVar10,pcVar22);\n                free(local_30);\n                return 0;\n              }\n            }\n            fclose(__s);\n            free(local_30);\n          }\n          goto LAB_00018b49;\n        }" { (expression_statement "__s = fopen64((char *)puVar33[2],"w");" (assignment_expression "__s = fopen64((char *)puVar33[2],"w")" identifier = (call_expression "fopen64((char *)puVar33[2],"w")" identifier (argument_list "((char *)puVar33[2],"w")" ( (cast_expression "(char *)puVar33[2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar33[2]" identifier [ number_literal ])) , (string_literal ""w"" " string_content ") )))) ;) (if_statement "if (__s == (FILE *)0x0) {\n            uVar10 = dcgettext(0,"could not open section dump file",5);\n            FUN_0002c160(puVar33[2],0,0,uVar10);\n          }\n          else {\n            iVar12 = bfd_malloc_and_get_section(param_1,iVar9,&local_30);\n            if (iVar12 == 0) {\n              uVar10 = dcgettext(0,"could not retrieve section contents",5);\n              FUN_0002c160(0,param_1,iVar9,uVar10);\n            }\n            else {\n              sVar18 = fwrite(local_30,1,sVar17,__s);\n              if (sVar17 != sVar18) {\n                piVar15 = __errno_location();\n                pcVar22 = strerror(*piVar15);\n                uVar10 = puVar33[2];\n                uVar11 = dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                FUN_0002b6d0(uVar11,uVar10,pcVar22);\n                free(local_30);\n                return 0;\n              }\n            }\n            fclose(__s);\n            free(local_30);\n          }" if (parenthesized_expression "(__s == (FILE *)0x0)" ( (binary_expression "__s == (FILE *)0x0" identifier == (cast_expression "(FILE *)0x0" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            uVar10 = dcgettext(0,"could not open section dump file",5);\n            FUN_0002c160(puVar33[2],0,0,uVar10);\n          }" { (expression_statement "uVar10 = dcgettext(0,"could not open section dump file",5);" (assignment_expression "uVar10 = dcgettext(0,"could not open section dump file",5)" identifier = (call_expression "dcgettext(0,"could not open section dump file",5)" identifier (argument_list "(0,"could not open section dump file",5)" ( number_literal , (string_literal ""could not open section dump file"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0002c160(puVar33[2],0,0,uVar10);" (call_expression "FUN_0002c160(puVar33[2],0,0,uVar10)" identifier (argument_list "(puVar33[2],0,0,uVar10)" ( (subscript_expression "puVar33[2]" identifier [ number_literal ]) , number_literal , number_literal , identifier ))) ;) }) (else_clause "else {\n            iVar12 = bfd_malloc_and_get_section(param_1,iVar9,&local_30);\n            if (iVar12 == 0) {\n              uVar10 = dcgettext(0,"could not retrieve section contents",5);\n              FUN_0002c160(0,param_1,iVar9,uVar10);\n            }\n            else {\n              sVar18 = fwrite(local_30,1,sVar17,__s);\n              if (sVar17 != sVar18) {\n                piVar15 = __errno_location();\n                pcVar22 = strerror(*piVar15);\n                uVar10 = puVar33[2];\n                uVar11 = dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                FUN_0002b6d0(uVar11,uVar10,pcVar22);\n                free(local_30);\n                return 0;\n              }\n            }\n            fclose(__s);\n            free(local_30);\n          }" else (compound_statement "{\n            iVar12 = bfd_malloc_and_get_section(param_1,iVar9,&local_30);\n            if (iVar12 == 0) {\n              uVar10 = dcgettext(0,"could not retrieve section contents",5);\n              FUN_0002c160(0,param_1,iVar9,uVar10);\n            }\n            else {\n              sVar18 = fwrite(local_30,1,sVar17,__s);\n              if (sVar17 != sVar18) {\n                piVar15 = __errno_location();\n                pcVar22 = strerror(*piVar15);\n                uVar10 = puVar33[2];\n                uVar11 = dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                FUN_0002b6d0(uVar11,uVar10,pcVar22);\n                free(local_30);\n                return 0;\n              }\n            }\n            fclose(__s);\n            free(local_30);\n          }" { (expression_statement "iVar12 = bfd_malloc_and_get_section(param_1,iVar9,&local_30);" (assignment_expression "iVar12 = bfd_malloc_and_get_section(param_1,iVar9,&local_30)" identifier = (call_expression "bfd_malloc_and_get_section(param_1,iVar9,&local_30)" identifier (argument_list "(param_1,iVar9,&local_30)" ( identifier , identifier , (pointer_expression "&local_30" & identifier) )))) ;) (if_statement "if (iVar12 == 0) {\n              uVar10 = dcgettext(0,"could not retrieve section contents",5);\n              FUN_0002c160(0,param_1,iVar9,uVar10);\n            }\n            else {\n              sVar18 = fwrite(local_30,1,sVar17,__s);\n              if (sVar17 != sVar18) {\n                piVar15 = __errno_location();\n                pcVar22 = strerror(*piVar15);\n                uVar10 = puVar33[2];\n                uVar11 = dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                FUN_0002b6d0(uVar11,uVar10,pcVar22);\n                free(local_30);\n                return 0;\n              }\n            }" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (compound_statement "{\n              uVar10 = dcgettext(0,"could not retrieve section contents",5);\n              FUN_0002c160(0,param_1,iVar9,uVar10);\n            }" { (expression_statement "uVar10 = dcgettext(0,"could not retrieve section contents",5);" (assignment_expression "uVar10 = dcgettext(0,"could not retrieve section contents",5)" identifier = (call_expression "dcgettext(0,"could not retrieve section contents",5)" identifier (argument_list "(0,"could not retrieve section contents",5)" ( number_literal , (string_literal ""could not retrieve section contents"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0002c160(0,param_1,iVar9,uVar10);" (call_expression "FUN_0002c160(0,param_1,iVar9,uVar10)" identifier (argument_list "(0,param_1,iVar9,uVar10)" ( number_literal , identifier , identifier , identifier ))) ;) }) (else_clause "else {\n              sVar18 = fwrite(local_30,1,sVar17,__s);\n              if (sVar17 != sVar18) {\n                piVar15 = __errno_location();\n                pcVar22 = strerror(*piVar15);\n                uVar10 = puVar33[2];\n                uVar11 = dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                FUN_0002b6d0(uVar11,uVar10,pcVar22);\n                free(local_30);\n                return 0;\n              }\n            }" else (compound_statement "{\n              sVar18 = fwrite(local_30,1,sVar17,__s);\n              if (sVar17 != sVar18) {\n                piVar15 = __errno_location();\n                pcVar22 = strerror(*piVar15);\n                uVar10 = puVar33[2];\n                uVar11 = dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                FUN_0002b6d0(uVar11,uVar10,pcVar22);\n                free(local_30);\n                return 0;\n              }\n            }" { (expression_statement "sVar18 = fwrite(local_30,1,sVar17,__s);" (assignment_expression "sVar18 = fwrite(local_30,1,sVar17,__s)" identifier = (call_expression "fwrite(local_30,1,sVar17,__s)" identifier (argument_list "(local_30,1,sVar17,__s)" ( identifier , number_literal , identifier , identifier )))) ;) (if_statement "if (sVar17 != sVar18) {\n                piVar15 = __errno_location();\n                pcVar22 = strerror(*piVar15);\n                uVar10 = puVar33[2];\n                uVar11 = dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                FUN_0002b6d0(uVar11,uVar10,pcVar22);\n                free(local_30);\n                return 0;\n              }" if (parenthesized_expression "(sVar17 != sVar18)" ( (binary_expression "sVar17 != sVar18" identifier != identifier) )) (compound_statement "{\n                piVar15 = __errno_location();\n                pcVar22 = strerror(*piVar15);\n                uVar10 = puVar33[2];\n                uVar11 = dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                FUN_0002b6d0(uVar11,uVar10,pcVar22);\n                free(local_30);\n                return 0;\n              }" { (expression_statement "piVar15 = __errno_location();" (assignment_expression "piVar15 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar22 = strerror(*piVar15);" (assignment_expression "pcVar22 = strerror(*piVar15)" identifier = (call_expression "strerror(*piVar15)" identifier (argument_list "(*piVar15)" ( (pointer_expression "*piVar15" * identifier) )))) ;) (expression_statement "uVar10 = puVar33[2];" (assignment_expression "uVar10 = puVar33[2]" identifier = (subscript_expression "puVar33[2]" identifier [ number_literal ])) ;) (expression_statement "uVar11 = dcgettext(0,"error writing section contents to %s (error: %s)",5);" (assignment_expression "uVar11 = dcgettext(0,"error writing section contents to %s (error: %s)",5)" identifier = (call_expression "dcgettext(0,"error writing section contents to %s (error: %s)",5)" identifier (argument_list "(0,"error writing section contents to %s (error: %s)",5)" ( number_literal , (string_literal ""error writing section contents to %s (error: %s)"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0002b6d0(uVar11,uVar10,pcVar22);" (call_expression "FUN_0002b6d0(uVar11,uVar10,pcVar22)" identifier (argument_list "(uVar11,uVar10,pcVar22)" ( identifier , identifier , identifier ))) ;) (expression_statement "free(local_30);" (call_expression "free(local_30)" identifier (argument_list "(local_30)" ( identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) }))) (expression_statement "fclose(__s);" (call_expression "fclose(__s)" identifier (argument_list "(__s)" ( identifier ))) ;) (expression_statement "free(local_30);" (call_expression "free(local_30)" identifier (argument_list "(local_30)" ( identifier ))) ;) }))) (goto_statement "goto LAB_00018b49;" goto statement_identifier ;) })) (expression_statement "pcVar22 = "can\'t dump section - it is empty";" (assignment_expression "pcVar22 = "can\'t dump section - it is empty"" identifier = (string_literal ""can\'t dump section - it is empty"" " string_content escape_sequence string_content ")) ;) }))) (expression_statement "uVar10 = dcgettext(0,pcVar22,5);" (assignment_expression "uVar10 = dcgettext(0,pcVar22,5)" identifier = (call_expression "dcgettext(0,pcVar22,5)" identifier (argument_list "(0,pcVar22,5)" ( number_literal , identifier , number_literal )))) ;) (expression_statement "FUN_0002c160(0,param_1,iVar9,uVar10);" (call_expression "FUN_0002c160(0,param_1,iVar9,uVar10)" identifier (argument_list "(0,param_1,iVar9,uVar10)" ( number_literal , identifier , identifier , identifier ))) ;) }))) (labeled_statement "LAB_00018b49:\n    local_98 = DAT_0003fb2c;" statement_identifier : (expression_statement "local_98 = DAT_0003fb2c;" (assignment_expression "local_98 = DAT_0003fb2c" identifier = identifier) ;)) })) (if_statement "if (local_98 != 0) {\n    iVar9 = bfd_get_section_by_name(param_2,".gnu_debuglink");\n    if (iVar9 == 0) {\n      local_98 = bfd_create_gnu_debuglink_section(param_2,DAT_0003fb2c);\n      iVar9 = DAT_0003fb2c;\n      if (local_98 == 0) {\n        uVar10 = dcgettext(0,"cannot create debug link section `%s\'",5,param_2);\n        FUN_0002c160(0,param_2,0,uVar10,iVar9);\n        return 0;\n      }\n      if (*(int *)(param_2[1] + 4) == 2) {\n        sVar17 = param_2[0x18];\n        sVar18 = 0;\n        if (sVar17 == 0) {\nLAB_0001a360:\n          uVar26 = 0x1000;\n        }\n        else {\n          do {\n            sVar23 = sVar18;\n            if (((*(uint *)(sVar17 + 0x1c) != 0) && (sVar23 = sVar17, sVar18 != 0)) &&\n               (sVar23 = sVar18, *(uint *)(sVar18 + 0x1c) < *(uint *)(sVar17 + 0x1c))) {\n              sVar23 = sVar17;\n            }\n            sVar17 = *(size_t *)(sVar17 + 0xc);\n            sVar18 = sVar23;\n          } while (sVar17 != 0);\n          if (sVar23 == 0) goto LAB_0001a360;\n          uVar35 = *(int *)(sVar23 + 0x24) + *(int *)(sVar23 + 0x1c);\n          uVar26 = 0xffffffff;\n          if (uVar35 < 0xfffff001) {\n            uVar26 = uVar35 + 0xfff & 0xfffff000;\n          }\n        }\n        *(uint *)(local_98 + 0x20) = uVar26;\n        *(uint *)(local_98 + 0x1c) = uVar26;\n        *(byte *)(local_98 + 0x18) = *(byte *)(local_98 + 0x18) | 1;\n      }\n    }\n    else {\n      sVar17 = *param_2;\n      uVar10 = dcgettext(0,"%s: debuglink section already exists",5);\n      FUN_0002b6d0(uVar10,sVar17);\n      DAT_0003fb2c = 0;\n      local_98 = 0;\n    }\n  }" if (parenthesized_expression "(local_98 != 0)" ( (binary_expression "local_98 != 0" identifier != number_literal) )) (compound_statement "{\n    iVar9 = bfd_get_section_by_name(param_2,".gnu_debuglink");\n    if (iVar9 == 0) {\n      local_98 = bfd_create_gnu_debuglink_section(param_2,DAT_0003fb2c);\n      iVar9 = DAT_0003fb2c;\n      if (local_98 == 0) {\n        uVar10 = dcgettext(0,"cannot create debug link section `%s\'",5,param_2);\n        FUN_0002c160(0,param_2,0,uVar10,iVar9);\n        return 0;\n      }\n      if (*(int *)(param_2[1] + 4) == 2) {\n        sVar17 = param_2[0x18];\n        sVar18 = 0;\n        if (sVar17 == 0) {\nLAB_0001a360:\n          uVar26 = 0x1000;\n        }\n        else {\n          do {\n            sVar23 = sVar18;\n            if (((*(uint *)(sVar17 + 0x1c) != 0) && (sVar23 = sVar17, sVar18 != 0)) &&\n               (sVar23 = sVar18, *(uint *)(sVar18 + 0x1c) < *(uint *)(sVar17 + 0x1c))) {\n              sVar23 = sVar17;\n            }\n            sVar17 = *(size_t *)(sVar17 + 0xc);\n            sVar18 = sVar23;\n          } while (sVar17 != 0);\n          if (sVar23 == 0) goto LAB_0001a360;\n          uVar35 = *(int *)(sVar23 + 0x24) + *(int *)(sVar23 + 0x1c);\n          uVar26 = 0xffffffff;\n          if (uVar35 < 0xfffff001) {\n            uVar26 = uVar35 + 0xfff & 0xfffff000;\n          }\n        }\n        *(uint *)(local_98 + 0x20) = uVar26;\n        *(uint *)(local_98 + 0x1c) = uVar26;\n        *(byte *)(local_98 + 0x18) = *(byte *)(local_98 + 0x18) | 1;\n      }\n    }\n    else {\n      sVar17 = *param_2;\n      uVar10 = dcgettext(0,"%s: debuglink section already exists",5);\n      FUN_0002b6d0(uVar10,sVar17);\n      DAT_0003fb2c = 0;\n      local_98 = 0;\n    }\n  }" { (expression_statement "iVar9 = bfd_get_section_by_name(param_2,".gnu_debuglink");" (assignment_expression "iVar9 = bfd_get_section_by_name(param_2,".gnu_debuglink")" identifier = (call_expression "bfd_get_section_by_name(param_2,".gnu_debuglink")" identifier (argument_list "(param_2,".gnu_debuglink")" ( identifier , (string_literal "".gnu_debuglink"" " string_content ") )))) ;) (if_statement "if (iVar9 == 0) {\n      local_98 = bfd_create_gnu_debuglink_section(param_2,DAT_0003fb2c);\n      iVar9 = DAT_0003fb2c;\n      if (local_98 == 0) {\n        uVar10 = dcgettext(0,"cannot create debug link section `%s\'",5,param_2);\n        FUN_0002c160(0,param_2,0,uVar10,iVar9);\n        return 0;\n      }\n      if (*(int *)(param_2[1] + 4) == 2) {\n        sVar17 = param_2[0x18];\n        sVar18 = 0;\n        if (sVar17 == 0) {\nLAB_0001a360:\n          uVar26 = 0x1000;\n        }\n        else {\n          do {\n            sVar23 = sVar18;\n            if (((*(uint *)(sVar17 + 0x1c) != 0) && (sVar23 = sVar17, sVar18 != 0)) &&\n               (sVar23 = sVar18, *(uint *)(sVar18 + 0x1c) < *(uint *)(sVar17 + 0x1c))) {\n              sVar23 = sVar17;\n            }\n            sVar17 = *(size_t *)(sVar17 + 0xc);\n            sVar18 = sVar23;\n          } while (sVar17 != 0);\n          if (sVar23 == 0) goto LAB_0001a360;\n          uVar35 = *(int *)(sVar23 + 0x24) + *(int *)(sVar23 + 0x1c);\n          uVar26 = 0xffffffff;\n          if (uVar35 < 0xfffff001) {\n            uVar26 = uVar35 + 0xfff & 0xfffff000;\n          }\n        }\n        *(uint *)(local_98 + 0x20) = uVar26;\n        *(uint *)(local_98 + 0x1c) = uVar26;\n        *(byte *)(local_98 + 0x18) = *(byte *)(local_98 + 0x18) | 1;\n      }\n    }\n    else {\n      sVar17 = *param_2;\n      uVar10 = dcgettext(0,"%s: debuglink section already exists",5);\n      FUN_0002b6d0(uVar10,sVar17);\n      DAT_0003fb2c = 0;\n      local_98 = 0;\n    }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n      local_98 = bfd_create_gnu_debuglink_section(param_2,DAT_0003fb2c);\n      iVar9 = DAT_0003fb2c;\n      if (local_98 == 0) {\n        uVar10 = dcgettext(0,"cannot create debug link section `%s\'",5,param_2);\n        FUN_0002c160(0,param_2,0,uVar10,iVar9);\n        return 0;\n      }\n      if (*(int *)(param_2[1] + 4) == 2) {\n        sVar17 = param_2[0x18];\n        sVar18 = 0;\n        if (sVar17 == 0) {\nLAB_0001a360:\n          uVar26 = 0x1000;\n        }\n        else {\n          do {\n            sVar23 = sVar18;\n            if (((*(uint *)(sVar17 + 0x1c) != 0) && (sVar23 = sVar17, sVar18 != 0)) &&\n               (sVar23 = sVar18, *(uint *)(sVar18 + 0x1c) < *(uint *)(sVar17 + 0x1c))) {\n              sVar23 = sVar17;\n            }\n            sVar17 = *(size_t *)(sVar17 + 0xc);\n            sVar18 = sVar23;\n          } while (sVar17 != 0);\n          if (sVar23 == 0) goto LAB_0001a360;\n          uVar35 = *(int *)(sVar23 + 0x24) + *(int *)(sVar23 + 0x1c);\n          uVar26 = 0xffffffff;\n          if (uVar35 < 0xfffff001) {\n            uVar26 = uVar35 + 0xfff & 0xfffff000;\n          }\n        }\n        *(uint *)(local_98 + 0x20) = uVar26;\n        *(uint *)(local_98 + 0x1c) = uVar26;\n        *(byte *)(local_98 + 0x18) = *(byte *)(local_98 + 0x18) | 1;\n      }\n    }" { (expression_statement "local_98 = bfd_create_gnu_debuglink_section(param_2,DAT_0003fb2c);" (assignment_expression "local_98 = bfd_create_gnu_debuglink_section(param_2,DAT_0003fb2c)" identifier = (call_expression "bfd_create_gnu_debuglink_section(param_2,DAT_0003fb2c)" identifier (argument_list "(param_2,DAT_0003fb2c)" ( identifier , identifier )))) ;) (expression_statement "iVar9 = DAT_0003fb2c;" (assignment_expression "iVar9 = DAT_0003fb2c" identifier = identifier) ;) (if_statement "if (local_98 == 0) {\n        uVar10 = dcgettext(0,"cannot create debug link section `%s\'",5,param_2);\n        FUN_0002c160(0,param_2,0,uVar10,iVar9);\n        return 0;\n      }" if (parenthesized_expression "(local_98 == 0)" ( (binary_expression "local_98 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar10 = dcgettext(0,"cannot create debug link section `%s\'",5,param_2);\n        FUN_0002c160(0,param_2,0,uVar10,iVar9);\n        return 0;\n      }" { (expression_statement "uVar10 = dcgettext(0,"cannot create debug link section `%s\'",5,param_2);" (assignment_expression "uVar10 = dcgettext(0,"cannot create debug link section `%s\'",5,param_2)" identifier = (call_expression "dcgettext(0,"cannot create debug link section `%s\'",5,param_2)" identifier (argument_list "(0,"cannot create debug link section `%s\'",5,param_2)" ( number_literal , (string_literal ""cannot create debug link section `%s\'"" " string_content escape_sequence ") , number_literal , identifier )))) ;) (expression_statement "FUN_0002c160(0,param_2,0,uVar10,iVar9);" (call_expression "FUN_0002c160(0,param_2,0,uVar10,iVar9)" identifier (argument_list "(0,param_2,0,uVar10,iVar9)" ( number_literal , identifier , number_literal , identifier , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (if_statement "if (*(int *)(param_2[1] + 4) == 2) {\n        sVar17 = param_2[0x18];\n        sVar18 = 0;\n        if (sVar17 == 0) {\nLAB_0001a360:\n          uVar26 = 0x1000;\n        }\n        else {\n          do {\n            sVar23 = sVar18;\n            if (((*(uint *)(sVar17 + 0x1c) != 0) && (sVar23 = sVar17, sVar18 != 0)) &&\n               (sVar23 = sVar18, *(uint *)(sVar18 + 0x1c) < *(uint *)(sVar17 + 0x1c))) {\n              sVar23 = sVar17;\n            }\n            sVar17 = *(size_t *)(sVar17 + 0xc);\n            sVar18 = sVar23;\n          } while (sVar17 != 0);\n          if (sVar23 == 0) goto LAB_0001a360;\n          uVar35 = *(int *)(sVar23 + 0x24) + *(int *)(sVar23 + 0x1c);\n          uVar26 = 0xffffffff;\n          if (uVar35 < 0xfffff001) {\n            uVar26 = uVar35 + 0xfff & 0xfffff000;\n          }\n        }\n        *(uint *)(local_98 + 0x20) = uVar26;\n        *(uint *)(local_98 + 0x1c) = uVar26;\n        *(byte *)(local_98 + 0x18) = *(byte *)(local_98 + 0x18) | 1;\n      }" if (parenthesized_expression "(*(int *)(param_2[1] + 4) == 2)" ( (binary_expression "*(int *)(param_2[1] + 4) == 2" (pointer_expression "*(int *)(param_2[1] + 4)" * (cast_expression "(int *)(param_2[1] + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2[1] + 4)" ( (binary_expression "param_2[1] + 4" (subscript_expression "param_2[1]" identifier [ number_literal ]) + number_literal) )))) == number_literal) )) (compound_statement "{\n        sVar17 = param_2[0x18];\n        sVar18 = 0;\n        if (sVar17 == 0) {\nLAB_0001a360:\n          uVar26 = 0x1000;\n        }\n        else {\n          do {\n            sVar23 = sVar18;\n            if (((*(uint *)(sVar17 + 0x1c) != 0) && (sVar23 = sVar17, sVar18 != 0)) &&\n               (sVar23 = sVar18, *(uint *)(sVar18 + 0x1c) < *(uint *)(sVar17 + 0x1c))) {\n              sVar23 = sVar17;\n            }\n            sVar17 = *(size_t *)(sVar17 + 0xc);\n            sVar18 = sVar23;\n          } while (sVar17 != 0);\n          if (sVar23 == 0) goto LAB_0001a360;\n          uVar35 = *(int *)(sVar23 + 0x24) + *(int *)(sVar23 + 0x1c);\n          uVar26 = 0xffffffff;\n          if (uVar35 < 0xfffff001) {\n            uVar26 = uVar35 + 0xfff & 0xfffff000;\n          }\n        }\n        *(uint *)(local_98 + 0x20) = uVar26;\n        *(uint *)(local_98 + 0x1c) = uVar26;\n        *(byte *)(local_98 + 0x18) = *(byte *)(local_98 + 0x18) | 1;\n      }" { (expression_statement "sVar17 = param_2[0x18];" (assignment_expression "sVar17 = param_2[0x18]" identifier = (subscript_expression "param_2[0x18]" identifier [ number_literal ])) ;) (expression_statement "sVar18 = 0;" (assignment_expression "sVar18 = 0" identifier = number_literal) ;) (if_statement "if (sVar17 == 0) {\nLAB_0001a360:\n          uVar26 = 0x1000;\n        }\n        else {\n          do {\n            sVar23 = sVar18;\n            if (((*(uint *)(sVar17 + 0x1c) != 0) && (sVar23 = sVar17, sVar18 != 0)) &&\n               (sVar23 = sVar18, *(uint *)(sVar18 + 0x1c) < *(uint *)(sVar17 + 0x1c))) {\n              sVar23 = sVar17;\n            }\n            sVar17 = *(size_t *)(sVar17 + 0xc);\n            sVar18 = sVar23;\n          } while (sVar17 != 0);\n          if (sVar23 == 0) goto LAB_0001a360;\n          uVar35 = *(int *)(sVar23 + 0x24) + *(int *)(sVar23 + 0x1c);\n          uVar26 = 0xffffffff;\n          if (uVar35 < 0xfffff001) {\n            uVar26 = uVar35 + 0xfff & 0xfffff000;\n          }\n        }" if (parenthesized_expression "(sVar17 == 0)" ( (binary_expression "sVar17 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0001a360:\n          uVar26 = 0x1000;\n        }" { (labeled_statement "LAB_0001a360:\n          uVar26 = 0x1000;" statement_identifier : (expression_statement "uVar26 = 0x1000;" (assignment_expression "uVar26 = 0x1000" identifier = number_literal) ;)) }) (else_clause "else {\n          do {\n            sVar23 = sVar18;\n            if (((*(uint *)(sVar17 + 0x1c) != 0) && (sVar23 = sVar17, sVar18 != 0)) &&\n               (sVar23 = sVar18, *(uint *)(sVar18 + 0x1c) < *(uint *)(sVar17 + 0x1c))) {\n              sVar23 = sVar17;\n            }\n            sVar17 = *(size_t *)(sVar17 + 0xc);\n            sVar18 = sVar23;\n          } while (sVar17 != 0);\n          if (sVar23 == 0) goto LAB_0001a360;\n          uVar35 = *(int *)(sVar23 + 0x24) + *(int *)(sVar23 + 0x1c);\n          uVar26 = 0xffffffff;\n          if (uVar35 < 0xfffff001) {\n            uVar26 = uVar35 + 0xfff & 0xfffff000;\n          }\n        }" else (compound_statement "{\n          do {\n            sVar23 = sVar18;\n            if (((*(uint *)(sVar17 + 0x1c) != 0) && (sVar23 = sVar17, sVar18 != 0)) &&\n               (sVar23 = sVar18, *(uint *)(sVar18 + 0x1c) < *(uint *)(sVar17 + 0x1c))) {\n              sVar23 = sVar17;\n            }\n            sVar17 = *(size_t *)(sVar17 + 0xc);\n            sVar18 = sVar23;\n          } while (sVar17 != 0);\n          if (sVar23 == 0) goto LAB_0001a360;\n          uVar35 = *(int *)(sVar23 + 0x24) + *(int *)(sVar23 + 0x1c);\n          uVar26 = 0xffffffff;\n          if (uVar35 < 0xfffff001) {\n            uVar26 = uVar35 + 0xfff & 0xfffff000;\n          }\n        }" { (do_statement "do {\n            sVar23 = sVar18;\n            if (((*(uint *)(sVar17 + 0x1c) != 0) && (sVar23 = sVar17, sVar18 != 0)) &&\n               (sVar23 = sVar18, *(uint *)(sVar18 + 0x1c) < *(uint *)(sVar17 + 0x1c))) {\n              sVar23 = sVar17;\n            }\n            sVar17 = *(size_t *)(sVar17 + 0xc);\n            sVar18 = sVar23;\n          } while (sVar17 != 0);" do (compound_statement "{\n            sVar23 = sVar18;\n            if (((*(uint *)(sVar17 + 0x1c) != 0) && (sVar23 = sVar17, sVar18 != 0)) &&\n               (sVar23 = sVar18, *(uint *)(sVar18 + 0x1c) < *(uint *)(sVar17 + 0x1c))) {\n              sVar23 = sVar17;\n            }\n            sVar17 = *(size_t *)(sVar17 + 0xc);\n            sVar18 = sVar23;\n          }" { (expression_statement "sVar23 = sVar18;" (assignment_expression "sVar23 = sVar18" identifier = identifier) ;) (if_statement "if (((*(uint *)(sVar17 + 0x1c) != 0) && (sVar23 = sVar17, sVar18 != 0)) &&\n               (sVar23 = sVar18, *(uint *)(sVar18 + 0x1c) < *(uint *)(sVar17 + 0x1c))) {\n              sVar23 = sVar17;\n            }" if (parenthesized_expression "(((*(uint *)(sVar17 + 0x1c) != 0) && (sVar23 = sVar17, sVar18 != 0)) &&\n               (sVar23 = sVar18, *(uint *)(sVar18 + 0x1c) < *(uint *)(sVar17 + 0x1c)))" ( (binary_expression "((*(uint *)(sVar17 + 0x1c) != 0) && (sVar23 = sVar17, sVar18 != 0)) &&\n               (sVar23 = sVar18, *(uint *)(sVar18 + 0x1c) < *(uint *)(sVar17 + 0x1c))" (parenthesized_expression "((*(uint *)(sVar17 + 0x1c) != 0) && (sVar23 = sVar17, sVar18 != 0))" ( (binary_expression "(*(uint *)(sVar17 + 0x1c) != 0) && (sVar23 = sVar17, sVar18 != 0)" (parenthesized_expression "(*(uint *)(sVar17 + 0x1c) != 0)" ( (binary_expression "*(uint *)(sVar17 + 0x1c) != 0" (pointer_expression "*(uint *)(sVar17 + 0x1c)" * (cast_expression "(uint *)(sVar17 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar17 + 0x1c)" ( (binary_expression "sVar17 + 0x1c" identifier + number_literal) )))) != number_literal) )) && (parenthesized_expression "(sVar23 = sVar17, sVar18 != 0)" ( (comma_expression "sVar23 = sVar17, sVar18 != 0" (assignment_expression "sVar23 = sVar17" identifier = identifier) , (binary_expression "sVar18 != 0" identifier != number_literal)) ))) )) && (parenthesized_expression "(sVar23 = sVar18, *(uint *)(sVar18 + 0x1c) < *(uint *)(sVar17 + 0x1c))" ( (comma_expression "sVar23 = sVar18, *(uint *)(sVar18 + 0x1c) < *(uint *)(sVar17 + 0x1c)" (assignment_expression "sVar23 = sVar18" identifier = identifier) , (binary_expression "*(uint *)(sVar18 + 0x1c) < *(uint *)(sVar17 + 0x1c)" (pointer_expression "*(uint *)(sVar18 + 0x1c)" * (cast_expression "(uint *)(sVar18 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar18 + 0x1c)" ( (binary_expression "sVar18 + 0x1c" identifier + number_literal) )))) < (pointer_expression "*(uint *)(sVar17 + 0x1c)" * (cast_expression "(uint *)(sVar17 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar17 + 0x1c)" ( (binary_expression "sVar17 + 0x1c" identifier + number_literal) )))))) ))) )) (compound_statement "{\n              sVar23 = sVar17;\n            }" { (expression_statement "sVar23 = sVar17;" (assignment_expression "sVar23 = sVar17" identifier = identifier) ;) })) (expression_statement "sVar17 = *(size_t *)(sVar17 + 0xc);" (assignment_expression "sVar17 = *(size_t *)(sVar17 + 0xc)" identifier = (pointer_expression "*(size_t *)(sVar17 + 0xc)" * (cast_expression "(size_t *)(sVar17 + 0xc)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar17 + 0xc)" ( (binary_expression "sVar17 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "sVar18 = sVar23;" (assignment_expression "sVar18 = sVar23" identifier = identifier) ;) }) while (parenthesized_expression "(sVar17 != 0)" ( (binary_expression "sVar17 != 0" identifier != number_literal) )) ;) (if_statement "if (sVar23 == 0) goto LAB_0001a360;" if (parenthesized_expression "(sVar23 == 0)" ( (binary_expression "sVar23 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001a360;" goto statement_identifier ;)) (expression_statement "uVar35 = *(int *)(sVar23 + 0x24) + *(int *)(sVar23 + 0x1c);" (assignment_expression "uVar35 = *(int *)(sVar23 + 0x24) + *(int *)(sVar23 + 0x1c)" identifier = (binary_expression "*(int *)(sVar23 + 0x24) + *(int *)(sVar23 + 0x1c)" (pointer_expression "*(int *)(sVar23 + 0x24)" * (cast_expression "(int *)(sVar23 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar23 + 0x24)" ( (binary_expression "sVar23 + 0x24" identifier + number_literal) )))) + (pointer_expression "*(int *)(sVar23 + 0x1c)" * (cast_expression "(int *)(sVar23 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar23 + 0x1c)" ( (binary_expression "sVar23 + 0x1c" identifier + number_literal) )))))) ;) (expression_statement "uVar26 = 0xffffffff;" (assignment_expression "uVar26 = 0xffffffff" identifier = number_literal) ;) (if_statement "if (uVar35 < 0xfffff001) {\n            uVar26 = uVar35 + 0xfff & 0xfffff000;\n          }" if (parenthesized_expression "(uVar35 < 0xfffff001)" ( (binary_expression "uVar35 < 0xfffff001" identifier < number_literal) )) (compound_statement "{\n            uVar26 = uVar35 + 0xfff & 0xfffff000;\n          }" { (expression_statement "uVar26 = uVar35 + 0xfff & 0xfffff000;" (assignment_expression "uVar26 = uVar35 + 0xfff & 0xfffff000" identifier = (binary_expression "uVar35 + 0xfff & 0xfffff000" (binary_expression "uVar35 + 0xfff" identifier + number_literal) & number_literal)) ;) })) }))) (expression_statement "*(uint *)(local_98 + 0x20) = uVar26;" (assignment_expression "*(uint *)(local_98 + 0x20) = uVar26" (pointer_expression "*(uint *)(local_98 + 0x20)" * (cast_expression "(uint *)(local_98 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 0x20)" ( (binary_expression "local_98 + 0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(local_98 + 0x1c) = uVar26;" (assignment_expression "*(uint *)(local_98 + 0x1c) = uVar26" (pointer_expression "*(uint *)(local_98 + 0x1c)" * (cast_expression "(uint *)(local_98 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 0x1c)" ( (binary_expression "local_98 + 0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(byte *)(local_98 + 0x18) = *(byte *)(local_98 + 0x18) | 1;" (assignment_expression "*(byte *)(local_98 + 0x18) = *(byte *)(local_98 + 0x18) | 1" (pointer_expression "*(byte *)(local_98 + 0x18)" * (cast_expression "(byte *)(local_98 + 0x18)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 0x18)" ( (binary_expression "local_98 + 0x18" identifier + number_literal) )))) = (binary_expression "*(byte *)(local_98 + 0x18) | 1" (pointer_expression "*(byte *)(local_98 + 0x18)" * (cast_expression "(byte *)(local_98 + 0x18)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 0x18)" ( (binary_expression "local_98 + 0x18" identifier + number_literal) )))) | number_literal)) ;) })) }) (else_clause "else {\n      sVar17 = *param_2;\n      uVar10 = dcgettext(0,"%s: debuglink section already exists",5);\n      FUN_0002b6d0(uVar10,sVar17);\n      DAT_0003fb2c = 0;\n      local_98 = 0;\n    }" else (compound_statement "{\n      sVar17 = *param_2;\n      uVar10 = dcgettext(0,"%s: debuglink section already exists",5);\n      FUN_0002b6d0(uVar10,sVar17);\n      DAT_0003fb2c = 0;\n      local_98 = 0;\n    }" { (expression_statement "sVar17 = *param_2;" (assignment_expression "sVar17 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "uVar10 = dcgettext(0,"%s: debuglink section already exists",5);" (assignment_expression "uVar10 = dcgettext(0,"%s: debuglink section already exists",5)" identifier = (call_expression "dcgettext(0,"%s: debuglink section already exists",5)" identifier (argument_list "(0,"%s: debuglink section already exists",5)" ( number_literal , (string_literal ""%s: debuglink section already exists"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0002b6d0(uVar10,sVar17);" (call_expression "FUN_0002b6d0(uVar10,sVar17)" identifier (argument_list "(uVar10,sVar17)" ( identifier , identifier ))) ;) (expression_statement "DAT_0003fb2c = 0;" (assignment_expression "DAT_0003fb2c = 0" identifier = number_literal) ;) (expression_statement "local_98 = 0;" (assignment_expression "local_98 = 0" identifier = number_literal) ;) }))) })) (expression_statement "sVar17 = param_2[0x1a];" (assignment_expression "sVar17 = param_2[0x1a]" identifier = (subscript_expression "param_2[0x1a]" identifier [ number_literal ])) ;) (expression_statement "local_8c = sVar17;" (assignment_expression "local_8c = sVar17" identifier = identifier) ;) (if_statement "if (sVar17 == 0) {\nLAB_00018ff7:\n    local_90 = (void *)0x0;\n    local_84 = (int *)0x0;\n    sVar18 = local_8c;\n  }\n  else {\n    if (DAT_0003fb54 == 0 && DAT_0003fb4c == 0) {\n      local_8c = 0;\n      goto LAB_00018ff7;\n    }\n    sVar23 = sVar17 * 4;\n    local_84 = (int *)xmalloc(sVar23);\n    local_30 = local_84;\n    bfd_map_over_sections(param_2,FUN_00016710,&local_30);\n    qsort(local_84,sVar17,4,FUN_00016730);\n    local_90 = (void *)xmalloc(sVar23);\n    memset(local_90,0,sVar23);\n    if ((DAT_0003fb54 == 0) || (sVar17 == 1)) {\n      local_8c = 0;\n    }\n    else {\n      iVar9 = 0;\n      local_8c = 0;\n      piVar15 = local_84;\n      do {\n        iVar12 = *piVar15;\n        iVar9 = iVar9 + 1;\n        sVar18 = local_8c;\n        if ((*(uint *)(iVar12 + 0x14) & 0x102) == 0x102) {\n          uVar35 = *(int *)(iVar12 + 0x20) + *(int *)(iVar12 + 0x24);\n          if (uVar35 < *(uint *)(piVar15[1] + 0x20)) {\n            sVar18 = *(uint *)(piVar15[1] + 0x20) - uVar35;\n            uVar43 = bfd_set_section_size(param_2,iVar12,*(int *)(iVar12 + 0x24) + sVar18);\n            if ((int)uVar43 == 0) {\n              uVar10 = dcgettext(0,"Can\'t fill gap after section",5,\n                                 (int)((ulonglong)uVar43 >> 0x20));\n              FUN_0002c160(0,param_2,*piVar15,uVar10);\n              DAT_0003fb88 = 1;\n              break;\n            }\n            *(size_t *)((int)local_90 + iVar9 * 4 + -4) = sVar18;\n            if (sVar18 <= local_8c) {\n              sVar18 = local_8c;\n            }\n          }\n        }\n        local_8c = sVar18;\n        piVar15 = piVar15 + 1;\n      } while (sVar17 - 1 != iVar9);\n    }\n    sVar18 = local_8c;\n    if (DAT_0003fb4c != 0) {\n      iVar9 = local_84[sVar17 - 1];\n      uVar35 = *(int *)(iVar9 + 0x24) + *(int *)(iVar9 + 0x20);\n      if (uVar35 < DAT_0003fb48) {\n        iVar9 = bfd_set_section_size(param_2,iVar9,DAT_0003fb48 - *(int *)(iVar9 + 0x20));\n        if (iVar9 == 0) {\n          uVar10 = dcgettext(0,"can\'t add padding",5,uVar35);\n          FUN_0002c160(0,param_2,local_84[sVar17 - 1],uVar10);\n          DAT_0003fb88 = 1;\n        }\n        else {\n          sVar18 = DAT_0003fb48 - uVar35;\n          *(size_t *)((int)local_90 + (sVar23 - 4)) = sVar18;\n          if (sVar18 <= local_8c) {\n            sVar18 = local_8c;\n          }\n        }\n      }\n    }\n  }" if (parenthesized_expression "(sVar17 == 0)" ( (binary_expression "sVar17 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00018ff7:\n    local_90 = (void *)0x0;\n    local_84 = (int *)0x0;\n    sVar18 = local_8c;\n  }" { (labeled_statement "LAB_00018ff7:\n    local_90 = (void *)0x0;" statement_identifier : (expression_statement "local_90 = (void *)0x0;" (assignment_expression "local_90 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "local_84 = (int *)0x0;" (assignment_expression "local_84 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "sVar18 = local_8c;" (assignment_expression "sVar18 = local_8c" identifier = identifier) ;) }) (else_clause "else {\n    if (DAT_0003fb54 == 0 && DAT_0003fb4c == 0) {\n      local_8c = 0;\n      goto LAB_00018ff7;\n    }\n    sVar23 = sVar17 * 4;\n    local_84 = (int *)xmalloc(sVar23);\n    local_30 = local_84;\n    bfd_map_over_sections(param_2,FUN_00016710,&local_30);\n    qsort(local_84,sVar17,4,FUN_00016730);\n    local_90 = (void *)xmalloc(sVar23);\n    memset(local_90,0,sVar23);\n    if ((DAT_0003fb54 == 0) || (sVar17 == 1)) {\n      local_8c = 0;\n    }\n    else {\n      iVar9 = 0;\n      local_8c = 0;\n      piVar15 = local_84;\n      do {\n        iVar12 = *piVar15;\n        iVar9 = iVar9 + 1;\n        sVar18 = local_8c;\n        if ((*(uint *)(iVar12 + 0x14) & 0x102) == 0x102) {\n          uVar35 = *(int *)(iVar12 + 0x20) + *(int *)(iVar12 + 0x24);\n          if (uVar35 < *(uint *)(piVar15[1] + 0x20)) {\n            sVar18 = *(uint *)(piVar15[1] + 0x20) - uVar35;\n            uVar43 = bfd_set_section_size(param_2,iVar12,*(int *)(iVar12 + 0x24) + sVar18);\n            if ((int)uVar43 == 0) {\n              uVar10 = dcgettext(0,"Can\'t fill gap after section",5,\n                                 (int)((ulonglong)uVar43 >> 0x20));\n              FUN_0002c160(0,param_2,*piVar15,uVar10);\n              DAT_0003fb88 = 1;\n              break;\n            }\n            *(size_t *)((int)local_90 + iVar9 * 4 + -4) = sVar18;\n            if (sVar18 <= local_8c) {\n              sVar18 = local_8c;\n            }\n          }\n        }\n        local_8c = sVar18;\n        piVar15 = piVar15 + 1;\n      } while (sVar17 - 1 != iVar9);\n    }\n    sVar18 = local_8c;\n    if (DAT_0003fb4c != 0) {\n      iVar9 = local_84[sVar17 - 1];\n      uVar35 = *(int *)(iVar9 + 0x24) + *(int *)(iVar9 + 0x20);\n      if (uVar35 < DAT_0003fb48) {\n        iVar9 = bfd_set_section_size(param_2,iVar9,DAT_0003fb48 - *(int *)(iVar9 + 0x20));\n        if (iVar9 == 0) {\n          uVar10 = dcgettext(0,"can\'t add padding",5,uVar35);\n          FUN_0002c160(0,param_2,local_84[sVar17 - 1],uVar10);\n          DAT_0003fb88 = 1;\n        }\n        else {\n          sVar18 = DAT_0003fb48 - uVar35;\n          *(size_t *)((int)local_90 + (sVar23 - 4)) = sVar18;\n          if (sVar18 <= local_8c) {\n            sVar18 = local_8c;\n          }\n        }\n      }\n    }\n  }" else (compound_statement "{\n    if (DAT_0003fb54 == 0 && DAT_0003fb4c == 0) {\n      local_8c = 0;\n      goto LAB_00018ff7;\n    }\n    sVar23 = sVar17 * 4;\n    local_84 = (int *)xmalloc(sVar23);\n    local_30 = local_84;\n    bfd_map_over_sections(param_2,FUN_00016710,&local_30);\n    qsort(local_84,sVar17,4,FUN_00016730);\n    local_90 = (void *)xmalloc(sVar23);\n    memset(local_90,0,sVar23);\n    if ((DAT_0003fb54 == 0) || (sVar17 == 1)) {\n      local_8c = 0;\n    }\n    else {\n      iVar9 = 0;\n      local_8c = 0;\n      piVar15 = local_84;\n      do {\n        iVar12 = *piVar15;\n        iVar9 = iVar9 + 1;\n        sVar18 = local_8c;\n        if ((*(uint *)(iVar12 + 0x14) & 0x102) == 0x102) {\n          uVar35 = *(int *)(iVar12 + 0x20) + *(int *)(iVar12 + 0x24);\n          if (uVar35 < *(uint *)(piVar15[1] + 0x20)) {\n            sVar18 = *(uint *)(piVar15[1] + 0x20) - uVar35;\n            uVar43 = bfd_set_section_size(param_2,iVar12,*(int *)(iVar12 + 0x24) + sVar18);\n            if ((int)uVar43 == 0) {\n              uVar10 = dcgettext(0,"Can\'t fill gap after section",5,\n                                 (int)((ulonglong)uVar43 >> 0x20));\n              FUN_0002c160(0,param_2,*piVar15,uVar10);\n              DAT_0003fb88 = 1;\n              break;\n            }\n            *(size_t *)((int)local_90 + iVar9 * 4 + -4) = sVar18;\n            if (sVar18 <= local_8c) {\n              sVar18 = local_8c;\n            }\n          }\n        }\n        local_8c = sVar18;\n        piVar15 = piVar15 + 1;\n      } while (sVar17 - 1 != iVar9);\n    }\n    sVar18 = local_8c;\n    if (DAT_0003fb4c != 0) {\n      iVar9 = local_84[sVar17 - 1];\n      uVar35 = *(int *)(iVar9 + 0x24) + *(int *)(iVar9 + 0x20);\n      if (uVar35 < DAT_0003fb48) {\n        iVar9 = bfd_set_section_size(param_2,iVar9,DAT_0003fb48 - *(int *)(iVar9 + 0x20));\n        if (iVar9 == 0) {\n          uVar10 = dcgettext(0,"can\'t add padding",5,uVar35);\n          FUN_0002c160(0,param_2,local_84[sVar17 - 1],uVar10);\n          DAT_0003fb88 = 1;\n        }\n        else {\n          sVar18 = DAT_0003fb48 - uVar35;\n          *(size_t *)((int)local_90 + (sVar23 - 4)) = sVar18;\n          if (sVar18 <= local_8c) {\n            sVar18 = local_8c;\n          }\n        }\n      }\n    }\n  }" { (if_statement "if (DAT_0003fb54 == 0 && DAT_0003fb4c == 0) {\n      local_8c = 0;\n      goto LAB_00018ff7;\n    }" if (parenthesized_expression "(DAT_0003fb54 == 0 && DAT_0003fb4c == 0)" ( (binary_expression "DAT_0003fb54 == 0 && DAT_0003fb4c == 0" (binary_expression "DAT_0003fb54 == 0" identifier == number_literal) && (binary_expression "DAT_0003fb4c == 0" identifier == number_literal)) )) (compound_statement "{\n      local_8c = 0;\n      goto LAB_00018ff7;\n    }" { (expression_statement "local_8c = 0;" (assignment_expression "local_8c = 0" identifier = number_literal) ;) (goto_statement "goto LAB_00018ff7;" goto statement_identifier ;) })) (expression_statement "sVar23 = sVar17 * 4;" (assignment_expression "sVar23 = sVar17 * 4" identifier = (binary_expression "sVar17 * 4" identifier * number_literal)) ;) (expression_statement "local_84 = (int *)xmalloc(sVar23);" (assignment_expression "local_84 = (int *)xmalloc(sVar23)" identifier = (cast_expression "(int *)xmalloc(sVar23)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(sVar23)" identifier (argument_list "(sVar23)" ( identifier ))))) ;) (expression_statement "local_30 = local_84;" (assignment_expression "local_30 = local_84" identifier = identifier) ;) (expression_statement "bfd_map_over_sections(param_2,FUN_00016710,&local_30);" (call_expression "bfd_map_over_sections(param_2,FUN_00016710,&local_30)" identifier (argument_list "(param_2,FUN_00016710,&local_30)" ( identifier , identifier , (pointer_expression "&local_30" & identifier) ))) ;) (expression_statement "qsort(local_84,sVar17,4,FUN_00016730);" (call_expression "qsort(local_84,sVar17,4,FUN_00016730)" identifier (argument_list "(local_84,sVar17,4,FUN_00016730)" ( identifier , identifier , number_literal , identifier ))) ;) (expression_statement "local_90 = (void *)xmalloc(sVar23);" (assignment_expression "local_90 = (void *)xmalloc(sVar23)" identifier = (cast_expression "(void *)xmalloc(sVar23)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(sVar23)" identifier (argument_list "(sVar23)" ( identifier ))))) ;) (expression_statement "memset(local_90,0,sVar23);" (call_expression "memset(local_90,0,sVar23)" identifier (argument_list "(local_90,0,sVar23)" ( identifier , number_literal , identifier ))) ;) (if_statement "if ((DAT_0003fb54 == 0) || (sVar17 == 1)) {\n      local_8c = 0;\n    }\n    else {\n      iVar9 = 0;\n      local_8c = 0;\n      piVar15 = local_84;\n      do {\n        iVar12 = *piVar15;\n        iVar9 = iVar9 + 1;\n        sVar18 = local_8c;\n        if ((*(uint *)(iVar12 + 0x14) & 0x102) == 0x102) {\n          uVar35 = *(int *)(iVar12 + 0x20) + *(int *)(iVar12 + 0x24);\n          if (uVar35 < *(uint *)(piVar15[1] + 0x20)) {\n            sVar18 = *(uint *)(piVar15[1] + 0x20) - uVar35;\n            uVar43 = bfd_set_section_size(param_2,iVar12,*(int *)(iVar12 + 0x24) + sVar18);\n            if ((int)uVar43 == 0) {\n              uVar10 = dcgettext(0,"Can\'t fill gap after section",5,\n                                 (int)((ulonglong)uVar43 >> 0x20));\n              FUN_0002c160(0,param_2,*piVar15,uVar10);\n              DAT_0003fb88 = 1;\n              break;\n            }\n            *(size_t *)((int)local_90 + iVar9 * 4 + -4) = sVar18;\n            if (sVar18 <= local_8c) {\n              sVar18 = local_8c;\n            }\n          }\n        }\n        local_8c = sVar18;\n        piVar15 = piVar15 + 1;\n      } while (sVar17 - 1 != iVar9);\n    }" if (parenthesized_expression "((DAT_0003fb54 == 0) || (sVar17 == 1))" ( (binary_expression "(DAT_0003fb54 == 0) || (sVar17 == 1)" (parenthesized_expression "(DAT_0003fb54 == 0)" ( (binary_expression "DAT_0003fb54 == 0" identifier == number_literal) )) || (parenthesized_expression "(sVar17 == 1)" ( (binary_expression "sVar17 == 1" identifier == number_literal) ))) )) (compound_statement "{\n      local_8c = 0;\n    }" { (expression_statement "local_8c = 0;" (assignment_expression "local_8c = 0" identifier = number_literal) ;) }) (else_clause "else {\n      iVar9 = 0;\n      local_8c = 0;\n      piVar15 = local_84;\n      do {\n        iVar12 = *piVar15;\n        iVar9 = iVar9 + 1;\n        sVar18 = local_8c;\n        if ((*(uint *)(iVar12 + 0x14) & 0x102) == 0x102) {\n          uVar35 = *(int *)(iVar12 + 0x20) + *(int *)(iVar12 + 0x24);\n          if (uVar35 < *(uint *)(piVar15[1] + 0x20)) {\n            sVar18 = *(uint *)(piVar15[1] + 0x20) - uVar35;\n            uVar43 = bfd_set_section_size(param_2,iVar12,*(int *)(iVar12 + 0x24) + sVar18);\n            if ((int)uVar43 == 0) {\n              uVar10 = dcgettext(0,"Can\'t fill gap after section",5,\n                                 (int)((ulonglong)uVar43 >> 0x20));\n              FUN_0002c160(0,param_2,*piVar15,uVar10);\n              DAT_0003fb88 = 1;\n              break;\n            }\n            *(size_t *)((int)local_90 + iVar9 * 4 + -4) = sVar18;\n            if (sVar18 <= local_8c) {\n              sVar18 = local_8c;\n            }\n          }\n        }\n        local_8c = sVar18;\n        piVar15 = piVar15 + 1;\n      } while (sVar17 - 1 != iVar9);\n    }" else (compound_statement "{\n      iVar9 = 0;\n      local_8c = 0;\n      piVar15 = local_84;\n      do {\n        iVar12 = *piVar15;\n        iVar9 = iVar9 + 1;\n        sVar18 = local_8c;\n        if ((*(uint *)(iVar12 + 0x14) & 0x102) == 0x102) {\n          uVar35 = *(int *)(iVar12 + 0x20) + *(int *)(iVar12 + 0x24);\n          if (uVar35 < *(uint *)(piVar15[1] + 0x20)) {\n            sVar18 = *(uint *)(piVar15[1] + 0x20) - uVar35;\n            uVar43 = bfd_set_section_size(param_2,iVar12,*(int *)(iVar12 + 0x24) + sVar18);\n            if ((int)uVar43 == 0) {\n              uVar10 = dcgettext(0,"Can\'t fill gap after section",5,\n                                 (int)((ulonglong)uVar43 >> 0x20));\n              FUN_0002c160(0,param_2,*piVar15,uVar10);\n              DAT_0003fb88 = 1;\n              break;\n            }\n            *(size_t *)((int)local_90 + iVar9 * 4 + -4) = sVar18;\n            if (sVar18 <= local_8c) {\n              sVar18 = local_8c;\n            }\n          }\n        }\n        local_8c = sVar18;\n        piVar15 = piVar15 + 1;\n      } while (sVar17 - 1 != iVar9);\n    }" { (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" identifier = number_literal) ;) (expression_statement "local_8c = 0;" (assignment_expression "local_8c = 0" identifier = number_literal) ;) (expression_statement "piVar15 = local_84;" (assignment_expression "piVar15 = local_84" identifier = identifier) ;) (do_statement "do {\n        iVar12 = *piVar15;\n        iVar9 = iVar9 + 1;\n        sVar18 = local_8c;\n        if ((*(uint *)(iVar12 + 0x14) & 0x102) == 0x102) {\n          uVar35 = *(int *)(iVar12 + 0x20) + *(int *)(iVar12 + 0x24);\n          if (uVar35 < *(uint *)(piVar15[1] + 0x20)) {\n            sVar18 = *(uint *)(piVar15[1] + 0x20) - uVar35;\n            uVar43 = bfd_set_section_size(param_2,iVar12,*(int *)(iVar12 + 0x24) + sVar18);\n            if ((int)uVar43 == 0) {\n              uVar10 = dcgettext(0,"Can\'t fill gap after section",5,\n                                 (int)((ulonglong)uVar43 >> 0x20));\n              FUN_0002c160(0,param_2,*piVar15,uVar10);\n              DAT_0003fb88 = 1;\n              break;\n            }\n            *(size_t *)((int)local_90 + iVar9 * 4 + -4) = sVar18;\n            if (sVar18 <= local_8c) {\n              sVar18 = local_8c;\n            }\n          }\n        }\n        local_8c = sVar18;\n        piVar15 = piVar15 + 1;\n      } while (sVar17 - 1 != iVar9);" do (compound_statement "{\n        iVar12 = *piVar15;\n        iVar9 = iVar9 + 1;\n        sVar18 = local_8c;\n        if ((*(uint *)(iVar12 + 0x14) & 0x102) == 0x102) {\n          uVar35 = *(int *)(iVar12 + 0x20) + *(int *)(iVar12 + 0x24);\n          if (uVar35 < *(uint *)(piVar15[1] + 0x20)) {\n            sVar18 = *(uint *)(piVar15[1] + 0x20) - uVar35;\n            uVar43 = bfd_set_section_size(param_2,iVar12,*(int *)(iVar12 + 0x24) + sVar18);\n            if ((int)uVar43 == 0) {\n              uVar10 = dcgettext(0,"Can\'t fill gap after section",5,\n                                 (int)((ulonglong)uVar43 >> 0x20));\n              FUN_0002c160(0,param_2,*piVar15,uVar10);\n              DAT_0003fb88 = 1;\n              break;\n            }\n            *(size_t *)((int)local_90 + iVar9 * 4 + -4) = sVar18;\n            if (sVar18 <= local_8c) {\n              sVar18 = local_8c;\n            }\n          }\n        }\n        local_8c = sVar18;\n        piVar15 = piVar15 + 1;\n      }" { (expression_statement "iVar12 = *piVar15;" (assignment_expression "iVar12 = *piVar15" identifier = (pointer_expression "*piVar15" * identifier)) ;) (expression_statement "iVar9 = iVar9 + 1;" (assignment_expression "iVar9 = iVar9 + 1" identifier = (binary_expression "iVar9 + 1" identifier + number_literal)) ;) (expression_statement "sVar18 = local_8c;" (assignment_expression "sVar18 = local_8c" identifier = identifier) ;) (if_statement "if ((*(uint *)(iVar12 + 0x14) & 0x102) == 0x102) {\n          uVar35 = *(int *)(iVar12 + 0x20) + *(int *)(iVar12 + 0x24);\n          if (uVar35 < *(uint *)(piVar15[1] + 0x20)) {\n            sVar18 = *(uint *)(piVar15[1] + 0x20) - uVar35;\n            uVar43 = bfd_set_section_size(param_2,iVar12,*(int *)(iVar12 + 0x24) + sVar18);\n            if ((int)uVar43 == 0) {\n              uVar10 = dcgettext(0,"Can\'t fill gap after section",5,\n                                 (int)((ulonglong)uVar43 >> 0x20));\n              FUN_0002c160(0,param_2,*piVar15,uVar10);\n              DAT_0003fb88 = 1;\n              break;\n            }\n            *(size_t *)((int)local_90 + iVar9 * 4 + -4) = sVar18;\n            if (sVar18 <= local_8c) {\n              sVar18 = local_8c;\n            }\n          }\n        }" if (parenthesized_expression "((*(uint *)(iVar12 + 0x14) & 0x102) == 0x102)" ( (binary_expression "(*(uint *)(iVar12 + 0x14) & 0x102) == 0x102" (parenthesized_expression "(*(uint *)(iVar12 + 0x14) & 0x102)" ( (binary_expression "*(uint *)(iVar12 + 0x14) & 0x102" (pointer_expression "*(uint *)(iVar12 + 0x14)" * (cast_expression "(uint *)(iVar12 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x14)" ( (binary_expression "iVar12 + 0x14" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n          uVar35 = *(int *)(iVar12 + 0x20) + *(int *)(iVar12 + 0x24);\n          if (uVar35 < *(uint *)(piVar15[1] + 0x20)) {\n            sVar18 = *(uint *)(piVar15[1] + 0x20) - uVar35;\n            uVar43 = bfd_set_section_size(param_2,iVar12,*(int *)(iVar12 + 0x24) + sVar18);\n            if ((int)uVar43 == 0) {\n              uVar10 = dcgettext(0,"Can\'t fill gap after section",5,\n                                 (int)((ulonglong)uVar43 >> 0x20));\n              FUN_0002c160(0,param_2,*piVar15,uVar10);\n              DAT_0003fb88 = 1;\n              break;\n            }\n            *(size_t *)((int)local_90 + iVar9 * 4 + -4) = sVar18;\n            if (sVar18 <= local_8c) {\n              sVar18 = local_8c;\n            }\n          }\n        }" { (expression_statement "uVar35 = *(int *)(iVar12 + 0x20) + *(int *)(iVar12 + 0x24);" (assignment_expression "uVar35 = *(int *)(iVar12 + 0x20) + *(int *)(iVar12 + 0x24)" identifier = (binary_expression "*(int *)(iVar12 + 0x20) + *(int *)(iVar12 + 0x24)" (pointer_expression "*(int *)(iVar12 + 0x20)" * (cast_expression "(int *)(iVar12 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x20)" ( (binary_expression "iVar12 + 0x20" identifier + number_literal) )))) + (pointer_expression "*(int *)(iVar12 + 0x24)" * (cast_expression "(int *)(iVar12 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x24)" ( (binary_expression "iVar12 + 0x24" identifier + number_literal) )))))) ;) (if_statement "if (uVar35 < *(uint *)(piVar15[1] + 0x20)) {\n            sVar18 = *(uint *)(piVar15[1] + 0x20) - uVar35;\n            uVar43 = bfd_set_section_size(param_2,iVar12,*(int *)(iVar12 + 0x24) + sVar18);\n            if ((int)uVar43 == 0) {\n              uVar10 = dcgettext(0,"Can\'t fill gap after section",5,\n                                 (int)((ulonglong)uVar43 >> 0x20));\n              FUN_0002c160(0,param_2,*piVar15,uVar10);\n              DAT_0003fb88 = 1;\n              break;\n            }\n            *(size_t *)((int)local_90 + iVar9 * 4 + -4) = sVar18;\n            if (sVar18 <= local_8c) {\n              sVar18 = local_8c;\n            }\n          }" if (parenthesized_expression "(uVar35 < *(uint *)(piVar15[1] + 0x20))" ( (binary_expression "uVar35 < *(uint *)(piVar15[1] + 0x20)" identifier < (pointer_expression "*(uint *)(piVar15[1] + 0x20)" * (cast_expression "(uint *)(piVar15[1] + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar15[1] + 0x20)" ( (binary_expression "piVar15[1] + 0x20" (subscript_expression "piVar15[1]" identifier [ number_literal ]) + number_literal) ))))) )) (compound_statement "{\n            sVar18 = *(uint *)(piVar15[1] + 0x20) - uVar35;\n            uVar43 = bfd_set_section_size(param_2,iVar12,*(int *)(iVar12 + 0x24) + sVar18);\n            if ((int)uVar43 == 0) {\n              uVar10 = dcgettext(0,"Can\'t fill gap after section",5,\n                                 (int)((ulonglong)uVar43 >> 0x20));\n              FUN_0002c160(0,param_2,*piVar15,uVar10);\n              DAT_0003fb88 = 1;\n              break;\n            }\n            *(size_t *)((int)local_90 + iVar9 * 4 + -4) = sVar18;\n            if (sVar18 <= local_8c) {\n              sVar18 = local_8c;\n            }\n          }" { (expression_statement "sVar18 = *(uint *)(piVar15[1] + 0x20) - uVar35;" (assignment_expression "sVar18 = *(uint *)(piVar15[1] + 0x20) - uVar35" identifier = (binary_expression "*(uint *)(piVar15[1] + 0x20) - uVar35" (pointer_expression "*(uint *)(piVar15[1] + 0x20)" * (cast_expression "(uint *)(piVar15[1] + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar15[1] + 0x20)" ( (binary_expression "piVar15[1] + 0x20" (subscript_expression "piVar15[1]" identifier [ number_literal ]) + number_literal) )))) - identifier)) ;) (expression_statement "uVar43 = bfd_set_section_size(param_2,iVar12,*(int *)(iVar12 + 0x24) + sVar18);" (assignment_expression "uVar43 = bfd_set_section_size(param_2,iVar12,*(int *)(iVar12 + 0x24) + sVar18)" identifier = (call_expression "bfd_set_section_size(param_2,iVar12,*(int *)(iVar12 + 0x24) + sVar18)" identifier (argument_list "(param_2,iVar12,*(int *)(iVar12 + 0x24) + sVar18)" ( identifier , identifier , (binary_expression "*(int *)(iVar12 + 0x24) + sVar18" (pointer_expression "*(int *)(iVar12 + 0x24)" * (cast_expression "(int *)(iVar12 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x24)" ( (binary_expression "iVar12 + 0x24" identifier + number_literal) )))) + identifier) )))) ;) (if_statement "if ((int)uVar43 == 0) {\n              uVar10 = dcgettext(0,"Can\'t fill gap after section",5,\n                                 (int)((ulonglong)uVar43 >> 0x20));\n              FUN_0002c160(0,param_2,*piVar15,uVar10);\n              DAT_0003fb88 = 1;\n              break;\n            }" if (parenthesized_expression "((int)uVar43 == 0)" ( (binary_expression "(int)uVar43 == 0" (cast_expression "(int)uVar43" ( (type_descriptor "int" primitive_type) ) identifier) == number_literal) )) (compound_statement "{\n              uVar10 = dcgettext(0,"Can\'t fill gap after section",5,\n                                 (int)((ulonglong)uVar43 >> 0x20));\n              FUN_0002c160(0,param_2,*piVar15,uVar10);\n              DAT_0003fb88 = 1;\n              break;\n            }" { (expression_statement "uVar10 = dcgettext(0,"Can\'t fill gap after section",5,\n                                 (int)((ulonglong)uVar43 >> 0x20));" (assignment_expression "uVar10 = dcgettext(0,"Can\'t fill gap after section",5,\n                                 (int)((ulonglong)uVar43 >> 0x20))" identifier = (call_expression "dcgettext(0,"Can\'t fill gap after section",5,\n                                 (int)((ulonglong)uVar43 >> 0x20))" identifier (argument_list "(0,"Can\'t fill gap after section",5,\n                                 (int)((ulonglong)uVar43 >> 0x20))" ( number_literal , (string_literal ""Can\'t fill gap after section"" " string_content escape_sequence string_content ") , number_literal , (cast_expression "(int)((ulonglong)uVar43 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar43 >> 0x20)" ( (binary_expression "(ulonglong)uVar43 >> 0x20" (cast_expression "(ulonglong)uVar43" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) )))) ;) (expression_statement "FUN_0002c160(0,param_2,*piVar15,uVar10);" (call_expression "FUN_0002c160(0,param_2,*piVar15,uVar10)" identifier (argument_list "(0,param_2,*piVar15,uVar10)" ( number_literal , identifier , (pointer_expression "*piVar15" * identifier) , identifier ))) ;) (expression_statement "DAT_0003fb88 = 1;" (assignment_expression "DAT_0003fb88 = 1" identifier = number_literal) ;) (break_statement "break;" break ;) })) (expression_statement "*(size_t *)((int)local_90 + iVar9 * 4 + -4) = sVar18;" (assignment_expression "*(size_t *)((int)local_90 + iVar9 * 4 + -4) = sVar18" (pointer_expression "*(size_t *)((int)local_90 + iVar9 * 4 + -4)" * (cast_expression "(size_t *)((int)local_90 + iVar9 * 4 + -4)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + iVar9 * 4 + -4)" ( (binary_expression "(int)local_90 + iVar9 * 4 + -4" (binary_expression "(int)local_90 + iVar9 * 4" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "iVar9 * 4" identifier * number_literal)) + number_literal) )))) = identifier) ;) (if_statement "if (sVar18 <= local_8c) {\n              sVar18 = local_8c;\n            }" if (parenthesized_expression "(sVar18 <= local_8c)" ( (binary_expression "sVar18 <= local_8c" identifier <= identifier) )) (compound_statement "{\n              sVar18 = local_8c;\n            }" { (expression_statement "sVar18 = local_8c;" (assignment_expression "sVar18 = local_8c" identifier = identifier) ;) })) })) })) (expression_statement "local_8c = sVar18;" (assignment_expression "local_8c = sVar18" identifier = identifier) ;) (expression_statement "piVar15 = piVar15 + 1;" (assignment_expression "piVar15 = piVar15 + 1" identifier = (binary_expression "piVar15 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(sVar17 - 1 != iVar9)" ( (binary_expression "sVar17 - 1 != iVar9" (binary_expression "sVar17 - 1" identifier - number_literal) != identifier) )) ;) }))) (expression_statement "sVar18 = local_8c;" (assignment_expression "sVar18 = local_8c" identifier = identifier) ;) (if_statement "if (DAT_0003fb4c != 0) {\n      iVar9 = local_84[sVar17 - 1];\n      uVar35 = *(int *)(iVar9 + 0x24) + *(int *)(iVar9 + 0x20);\n      if (uVar35 < DAT_0003fb48) {\n        iVar9 = bfd_set_section_size(param_2,iVar9,DAT_0003fb48 - *(int *)(iVar9 + 0x20));\n        if (iVar9 == 0) {\n          uVar10 = dcgettext(0,"can\'t add padding",5,uVar35);\n          FUN_0002c160(0,param_2,local_84[sVar17 - 1],uVar10);\n          DAT_0003fb88 = 1;\n        }\n        else {\n          sVar18 = DAT_0003fb48 - uVar35;\n          *(size_t *)((int)local_90 + (sVar23 - 4)) = sVar18;\n          if (sVar18 <= local_8c) {\n            sVar18 = local_8c;\n          }\n        }\n      }\n    }" if (parenthesized_expression "(DAT_0003fb4c != 0)" ( (binary_expression "DAT_0003fb4c != 0" identifier != number_literal) )) (compound_statement "{\n      iVar9 = local_84[sVar17 - 1];\n      uVar35 = *(int *)(iVar9 + 0x24) + *(int *)(iVar9 + 0x20);\n      if (uVar35 < DAT_0003fb48) {\n        iVar9 = bfd_set_section_size(param_2,iVar9,DAT_0003fb48 - *(int *)(iVar9 + 0x20));\n        if (iVar9 == 0) {\n          uVar10 = dcgettext(0,"can\'t add padding",5,uVar35);\n          FUN_0002c160(0,param_2,local_84[sVar17 - 1],uVar10);\n          DAT_0003fb88 = 1;\n        }\n        else {\n          sVar18 = DAT_0003fb48 - uVar35;\n          *(size_t *)((int)local_90 + (sVar23 - 4)) = sVar18;\n          if (sVar18 <= local_8c) {\n            sVar18 = local_8c;\n          }\n        }\n      }\n    }" { (expression_statement "iVar9 = local_84[sVar17 - 1];" (assignment_expression "iVar9 = local_84[sVar17 - 1]" identifier = (subscript_expression "local_84[sVar17 - 1]" identifier [ (binary_expression "sVar17 - 1" identifier - number_literal) ])) ;) (expression_statement "uVar35 = *(int *)(iVar9 + 0x24) + *(int *)(iVar9 + 0x20);" (assignment_expression "uVar35 = *(int *)(iVar9 + 0x24) + *(int *)(iVar9 + 0x20)" identifier = (binary_expression "*(int *)(iVar9 + 0x24) + *(int *)(iVar9 + 0x20)" (pointer_expression "*(int *)(iVar9 + 0x24)" * (cast_expression "(int *)(iVar9 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x24)" ( (binary_expression "iVar9 + 0x24" identifier + number_literal) )))) + (pointer_expression "*(int *)(iVar9 + 0x20)" * (cast_expression "(int *)(iVar9 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x20)" ( (binary_expression "iVar9 + 0x20" identifier + number_literal) )))))) ;) (if_statement "if (uVar35 < DAT_0003fb48) {\n        iVar9 = bfd_set_section_size(param_2,iVar9,DAT_0003fb48 - *(int *)(iVar9 + 0x20));\n        if (iVar9 == 0) {\n          uVar10 = dcgettext(0,"can\'t add padding",5,uVar35);\n          FUN_0002c160(0,param_2,local_84[sVar17 - 1],uVar10);\n          DAT_0003fb88 = 1;\n        }\n        else {\n          sVar18 = DAT_0003fb48 - uVar35;\n          *(size_t *)((int)local_90 + (sVar23 - 4)) = sVar18;\n          if (sVar18 <= local_8c) {\n            sVar18 = local_8c;\n          }\n        }\n      }" if (parenthesized_expression "(uVar35 < DAT_0003fb48)" ( (binary_expression "uVar35 < DAT_0003fb48" identifier < identifier) )) (compound_statement "{\n        iVar9 = bfd_set_section_size(param_2,iVar9,DAT_0003fb48 - *(int *)(iVar9 + 0x20));\n        if (iVar9 == 0) {\n          uVar10 = dcgettext(0,"can\'t add padding",5,uVar35);\n          FUN_0002c160(0,param_2,local_84[sVar17 - 1],uVar10);\n          DAT_0003fb88 = 1;\n        }\n        else {\n          sVar18 = DAT_0003fb48 - uVar35;\n          *(size_t *)((int)local_90 + (sVar23 - 4)) = sVar18;\n          if (sVar18 <= local_8c) {\n            sVar18 = local_8c;\n          }\n        }\n      }" { (expression_statement "iVar9 = bfd_set_section_size(param_2,iVar9,DAT_0003fb48 - *(int *)(iVar9 + 0x20));" (assignment_expression "iVar9 = bfd_set_section_size(param_2,iVar9,DAT_0003fb48 - *(int *)(iVar9 + 0x20))" identifier = (call_expression "bfd_set_section_size(param_2,iVar9,DAT_0003fb48 - *(int *)(iVar9 + 0x20))" identifier (argument_list "(param_2,iVar9,DAT_0003fb48 - *(int *)(iVar9 + 0x20))" ( identifier , identifier , (binary_expression "DAT_0003fb48 - *(int *)(iVar9 + 0x20)" identifier - (pointer_expression "*(int *)(iVar9 + 0x20)" * (cast_expression "(int *)(iVar9 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x20)" ( (binary_expression "iVar9 + 0x20" identifier + number_literal) ))))) )))) ;) (if_statement "if (iVar9 == 0) {\n          uVar10 = dcgettext(0,"can\'t add padding",5,uVar35);\n          FUN_0002c160(0,param_2,local_84[sVar17 - 1],uVar10);\n          DAT_0003fb88 = 1;\n        }\n        else {\n          sVar18 = DAT_0003fb48 - uVar35;\n          *(size_t *)((int)local_90 + (sVar23 - 4)) = sVar18;\n          if (sVar18 <= local_8c) {\n            sVar18 = local_8c;\n          }\n        }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n          uVar10 = dcgettext(0,"can\'t add padding",5,uVar35);\n          FUN_0002c160(0,param_2,local_84[sVar17 - 1],uVar10);\n          DAT_0003fb88 = 1;\n        }" { (expression_statement "uVar10 = dcgettext(0,"can\'t add padding",5,uVar35);" (assignment_expression "uVar10 = dcgettext(0,"can\'t add padding",5,uVar35)" identifier = (call_expression "dcgettext(0,"can\'t add padding",5,uVar35)" identifier (argument_list "(0,"can\'t add padding",5,uVar35)" ( number_literal , (string_literal ""can\'t add padding"" " string_content escape_sequence string_content ") , number_literal , identifier )))) ;) (expression_statement "FUN_0002c160(0,param_2,local_84[sVar17 - 1],uVar10);" (call_expression "FUN_0002c160(0,param_2,local_84[sVar17 - 1],uVar10)" identifier (argument_list "(0,param_2,local_84[sVar17 - 1],uVar10)" ( number_literal , identifier , (subscript_expression "local_84[sVar17 - 1]" identifier [ (binary_expression "sVar17 - 1" identifier - number_literal) ]) , identifier ))) ;) (expression_statement "DAT_0003fb88 = 1;" (assignment_expression "DAT_0003fb88 = 1" identifier = number_literal) ;) }) (else_clause "else {\n          sVar18 = DAT_0003fb48 - uVar35;\n          *(size_t *)((int)local_90 + (sVar23 - 4)) = sVar18;\n          if (sVar18 <= local_8c) {\n            sVar18 = local_8c;\n          }\n        }" else (compound_statement "{\n          sVar18 = DAT_0003fb48 - uVar35;\n          *(size_t *)((int)local_90 + (sVar23 - 4)) = sVar18;\n          if (sVar18 <= local_8c) {\n            sVar18 = local_8c;\n          }\n        }" { (expression_statement "sVar18 = DAT_0003fb48 - uVar35;" (assignment_expression "sVar18 = DAT_0003fb48 - uVar35" identifier = (binary_expression "DAT_0003fb48 - uVar35" identifier - identifier)) ;) (expression_statement "*(size_t *)((int)local_90 + (sVar23 - 4)) = sVar18;" (assignment_expression "*(size_t *)((int)local_90 + (sVar23 - 4)) = sVar18" (pointer_expression "*(size_t *)((int)local_90 + (sVar23 - 4))" * (cast_expression "(size_t *)((int)local_90 + (sVar23 - 4))" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + (sVar23 - 4))" ( (binary_expression "(int)local_90 + (sVar23 - 4)" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(sVar23 - 4)" ( (binary_expression "sVar23 - 4" identifier - number_literal) ))) )))) = identifier) ;) (if_statement "if (sVar18 <= local_8c) {\n            sVar18 = local_8c;\n          }" if (parenthesized_expression "(sVar18 <= local_8c)" ( (binary_expression "sVar18 <= local_8c" identifier <= identifier) )) (compound_statement "{\n            sVar18 = local_8c;\n          }" { (expression_statement "sVar18 = local_8c;" (assignment_expression "sVar18 = local_8c" identifier = identifier) ;) })) }))) })) })) }))) (expression_statement "local_8c = sVar18;" (assignment_expression "local_8c = sVar18" identifier = identifier) ;) (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" identifier = number_literal) ;) (if_statement "if (DAT_0003fb28 != 0) {\n    local_94 = FUN_0001c0f0(param_1,DAT_0003fb9c,local_70,0);\n  }" if (parenthesized_expression "(DAT_0003fb28 != 0)" ( (binary_expression "DAT_0003fb28 != 0" identifier != number_literal) )) (compound_statement "{\n    local_94 = FUN_0001c0f0(param_1,DAT_0003fb9c,local_70,0);\n  }" { (expression_statement "local_94 = FUN_0001c0f0(param_1,DAT_0003fb9c,local_70,0);" (assignment_expression "local_94 = FUN_0001c0f0(param_1,DAT_0003fb9c,local_70,0)" identifier = (call_expression "FUN_0001c0f0(param_1,DAT_0003fb9c,local_70,0)" identifier (argument_list "(param_1,DAT_0003fb9c,local_70,0)" ( identifier , identifier , identifier , number_literal )))) ;) })) (if_statement "if (DAT_0003fb78 - 2U < 6) {\nLAB_00019032:\n    if (DAT_0003fb78 != 7) {\nLAB_00019037:\n      bfd_set_error(0);\n      bfd_map_over_sections(param_1,FUN_00018470,DAT_0003fb9c);\n      iVar9 = bfd_get_error();\n      if (iVar9 != 0) {\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n    }\n    piVar15 = (int *)xmalloc((DAT_0003fae4 + local_70) * 4 + 4);\n    local_68 = DAT_0003fb9c;\n    uVar35 = param_1[10];\n    DAT_0003fb98 = piVar15;\n    if (local_70 != 0) {\n      piVar1 = DAT_0003fb9c + local_70;\n      local_70 = 0;\n      puVar16 = PTR__bfd_std_section_0003efc8 + 0xa8;\n      do {\n        iVar9 = DAT_0003fae4;\n        piVar3 = (int *)*local_68;\n        uVar26 = piVar3[3];\n        piVar19 = (int *)piVar3[1];\n        puVar4 = (undefined *)piVar3[4];\n        if (((DAT_0003fae8 != (int *)0x0) && (0 < DAT_0003fae4)) &&\n           (pcVar22 = (char *)DAT_0003fae8[5], pcVar22 != (char *)0x0)) {\n          local_5c = (int *)0x0;\n          piVar31 = DAT_0003fae8;\n          while (iVar12 = strcmp(pcVar22,(char *)piVar19), iVar12 != 0) {\n            local_5c = (int *)((int)local_5c + 1);\n            piVar31 = (int *)*piVar31;\n            if ((local_5c == (int *)iVar9) || (pcVar22 = (char *)piVar31[5], pcVar22 == (char *)0x0)\n               ) goto LAB_00019180;\n          }\n          free(pcVar22);\n          piVar31[5] = (int)"";\n          piVar31 = piVar15 + local_70;\n          local_70 = local_70 + 1;\n          iVar9 = FUN_000177e0();\n          *piVar31 = iVar9;\n        }\nLAB_00019180:\n        iVar9 = htab_elements(DAT_0003faf0);\n        piVar31 = piVar19;\n        if ((iVar9 != 0) || (DAT_0003fba0 != (undefined4 *)0x0)) {\n          local_2c = 0;\n          local_30 = piVar19;\n          iVar9 = htab_find(DAT_0003faf0,&local_30);\n          if (((iVar9 == 0) || (piVar31 = *(int **)(iVar9 + 4), piVar19 == piVar31)) &&\n             (puVar33 = DAT_0003fba0, (uVar26 & 0x100) != 0)) {\n            for (; piVar31 = piVar19, puVar33 != (undefined4 *)0x0;\n                puVar33 = (undefined4 *)puVar33[3]) {\n              iVar9 = strcmp((char *)*puVar33,(char *)piVar19);\n              if (iVar9 == 0) {\n                piVar31 = (int *)puVar33[1];\n                break;\n              }\n            }\n          }\n          piVar3[1] = (int)piVar31;\n        }\n        pcVar22 = DAT_0003fad8;\n        if ((char)*piVar31 == *(char *)(param_1[1] + 0x18)) {\n          if (DAT_0003fb1c == 0) {\n            if ((DAT_0003fb18 == 0) ||\n               ((((uVar26 & 0x82) == 0 && (puVar4 != puVar16)) &&\n                ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)))) goto LAB_00019203;\nLAB_0001943c:\n            piVar31 = (int *)((int)piVar31 + 1);\n            piVar3[1] = (int)piVar31;\n            goto LAB_00019203;\n          }\n          if (*(char *)(param_2[1] + 0x18) == '\0') goto LAB_0001943c;\n          if (DAT_0003fad8 != (char *)0x0) {\n            piVar31 = (int *)((int)piVar31 + 1);\n            piVar3[1] = (int)piVar31;\n            goto LAB_0001945b;\n          }\n          *(char *)piVar31 = *(char *)(param_2[1] + 0x18);\n          piVar3[1] = (int)piVar31;\n        }\n        else {\n          if (((DAT_0003fb1c == 0) || (*(char *)(param_2[1] + 0x18) == '\0')) ||\n             (*(char *)(param_1[1] + 0x18) != '\0')) {\nLAB_00019203:\n            if (pcVar22 == (char *)0x0) goto LAB_0001926f;\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = piVar19;\n          }\n          else {\nLAB_0001945b:\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = (int *)((int)piVar19 + 1);\n            *(char *)piVar19 = *(char *)(param_2[1] + 0x18);\n          }\n          pcVar22 = DAT_0003fad8;\n          if (DAT_0003fad8 != (char *)0x0) {\n            strcpy((char *)local_5c,DAT_0003fad8);\n            sVar17 = strlen(pcVar22);\n            local_5c = (int *)((int)local_5c + sVar17);\n          }\n          strcpy((char *)local_5c,(char *)piVar31);\n          piVar3[1] = (int)piVar19;\n          piVar31 = piVar19;\n        }\nLAB_0001926f:\n        if (DAT_0003fb78 == 7) goto LAB_000192f8;\n        if ((uVar26 & 0x20) == 0) {\n          if (((uVar26 & 0x100) == 0) ||\n             ((*(byte *)(**(int **)(piVar3[4] + 0x9c) + 0xc) & 0x20) == 0)) {\n            if ((((uVar35 >> 5 & 0x42) == 0) &&\n                (((uVar26 & 0x82) != 0 || ((*(byte *)(piVar3[4] + 0x15) & 0x10) != 0)))) ||\n               (iVar9 = bfd_decode_symclass(piVar3), iVar9 == 0x49)) {\nLAB_00019528:\n              iVar9 = FUN_00017880();\n              if (iVar9 == 0) goto LAB_000192e0;\n            }\n            else if ((((uVar26 & 0x82) == 0) && (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8)) &&\n                    ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)) {\n              if ((uVar26 & 4) == 0) {\n                if (((*(int *)(param_1[1] + 4) != 2) ||\n                    (iVar9 = *(int *)(piVar3[4] + 0x8c), iVar9 == 0)) ||\n                   (*(int *)(iVar9 + 0x24) == 0)) {\n                  if ((DAT_0003fb78 == 3) || (DAT_0003fb74 == 2)) goto LAB_000192f8;\n                  if (DAT_0003fb74 == 1) {\n                    iVar9 = bfd_is_local_label(param_1,piVar3,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }\n                goto LAB_00019528;\n              }\n              iVar9 = DAT_0003fb28;\n              if (1 < DAT_0003fb78 - 2U) {\njoined_r0x0001a13f:\n                if (iVar9 == 0) goto LAB_00019528;\n              }\n            }\n            else if (DAT_0003fb78 != 3) goto LAB_00019528;\n          }\n          else {\n            iVar9 = FUN_00017880();\n            if (iVar9 != 0) {\n              uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",\n                                 5,iVar9);\n              FUN_0002b6d0(uVar10,piVar31);\n              DAT_0003fb88 = 1;\n            }\nLAB_000192e0:\n            iVar9 = FUN_00017880();\n            if (iVar9 == 0) goto LAB_0001931c;\n          }\nLAB_000192f8:\n          if (((DAT_0003fadc != 0) && ((uVar26 & 0x4000) != 0)) ||\n             (iVar9 = FUN_00017880(), iVar9 != 0)) goto LAB_0001931c;\n        }\n        else {\n          iVar9 = FUN_00017880();\n          if (iVar9 != 0) {\n            uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",5)\n            ;\n            FUN_0002b6d0(uVar10,piVar31);\n            DAT_0003fb88 = 1;\n          }\nLAB_0001931c:\n          iVar9 = FUN_000178f0();\n          if (iVar9 == 0) {\n            if (((uVar26 & 2) != 0) && ((DAT_0003fae0 != 0 || (iVar9 = FUN_00017880(), iVar9 != 0)))\n               ) {\n              piVar3[3] = piVar3[3] & 0xfffffffdU | 0x80;\n            }\n            if (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8) {\n              if (((uVar26 & 0x82) != 0) &&\n                 (((iVar9 = FUN_00017880(), iVar9 != 0 ||\n                   ((iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0)))) ||\n                  ((DAT_0003fb10 != 0 &&\n                   ((((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)\n                    ))))))) {\n                piVar3[3] = piVar3[3] & 0xffffff7dU | 1;\n              }\n              if (((uVar26 & 1) != 0) && (iVar9 = FUN_00017880(), iVar9 != 0)) {\n                piVar3[3] = piVar3[3] & 0xfffffffeU | 2;\n              }\n            }\n            piVar15[local_70] = (int)piVar3;\n            local_70 = local_70 + 1;\n          }\n        }\n        local_68 = local_68 + 1;\n      } while (piVar1 != local_68);\n    }\n    local_5c = DAT_0003fae8;\n    if ((DAT_0003fae8 != (int *)0x0) && (0 < DAT_0003fae4)) {\n      iVar9 = 0;\n      do {\n        pcVar22 = (char *)local_5c[5];\n        if (pcVar22 == (char *)0x0) {\n          iVar12 = FUN_000177e0();\n          piVar15[local_70] = iVar12;\n          local_70 = local_70 + 1;\n        }\n        else if (*pcVar22 != '\0') {\n          uVar10 = dcgettext(0,"\'before=%s\' not found",5,local_70);\n                    \n          FUN_0002b6a0(uVar10,pcVar22);\n        }\n        iVar9 = iVar9 + 1;\n        local_5c = (int *)*local_5c;\n      } while (iVar9 < DAT_0003fae4);\n    }\n    piVar15[local_70] = 0;\n    if ((DAT_0003fb28 != 0) && (local_94 != 0)) {\n      iVar9 = ((undefined4 *)param_2[1])[1];\n      if ((iVar9 != 2) && (iVar9 != 5)) {\n        uVar10 = *(undefined4 *)param_2[1];\n        uVar11 = dcgettext(0,"don\'t know how to write debugging information for %s",5);\n        FUN_0002c160(0,param_2,0,uVar11,uVar10);\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n      iVar9 = FUN_0002b050(param_2,local_94,&local_4c,local_44,&local_48,&local_30);\n      if (iVar9 == 0) {\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n      iVar9 = bfd_make_section_with_flags(param_2,".stab",0x2108);\n      iVar12 = bfd_make_section_with_flags(param_2,".stabstr",0x2108);\n      if ((((iVar9 == 0) || (iVar12 == 0)) ||\n          (iVar21 = bfd_set_section_size(param_2,iVar9,local_44[0],iVar12), iVar21 == 0)) ||\n         (iVar21 = bfd_set_section_size(param_2,iVar12,local_30,iVar21), iVar21 == 0)) {\n        pcVar22 = "can\'t create debugging section";\nLAB_00019fcf:\n        uVar10 = dcgettext(0,pcVar22,5,iVar9);\n        FUN_0002c160(0,param_2,0,uVar10);\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n      *(undefined4 *)(iVar9 + 0x40) = 2;\n      *(undefined4 *)(iVar12 + 0x40) = 0;\n      iVar9 = bfd_set_section_contents(param_2,iVar9,local_4c,0,0,local_44[0],iVar21,iVar21);\n      if ((iVar9 == 0) ||\n         (iVar9 = bfd_set_section_contents\n                            (param_2,iVar12,local_48,0,0,local_30,extraout_ECX,extraout_ECX),\n         iVar9 == 0)) {\n        pcVar22 = "can\'t set debugging section contents";\n        iVar9 = iVar12;\n        goto LAB_00019fcf;\n      }\n    }\n  }\n  else {\n    if (DAT_0003fb10 != 0 || DAT_0003fb74 != 0) goto LAB_00019037;\n    iVar9 = htab_elements(DAT_0003fb0c);\n    if (((iVar9 != 0) || (iVar9 = htab_elements(DAT_0003fb04), iVar9 != 0)) ||\n       ((iVar9 = htab_elements(DAT_0003fb00), iVar9 != 0 ||\n        (((((iVar9 = htab_elements(DAT_0003fafc), iVar9 != 0 ||\n            (iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0)) ||\n           (iVar9 = htab_elements(DAT_0003faf4), iVar9 != 0)) ||\n          ((iVar9 = htab_elements(DAT_0003faf0), DAT_0003fad8 != (char *)0x0 ||\n           (DAT_0003fba0 != (undefined4 *)0x0)))) ||\n         (((((((DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0) || DAT_0003fb1c != 0)\n            || DAT_0003fb18 != 0) || DAT_0003fae0 != 0) || DAT_0003fae4 != 0) || iVar9 != 0))))))\n    goto LAB_00019032;\n  }" if (parenthesized_expression "(DAT_0003fb78 - 2U < 6)" ( (binary_expression "DAT_0003fb78 - 2U < 6" (binary_expression "DAT_0003fb78 - 2U" identifier - number_literal) < number_literal) )) (compound_statement "{\nLAB_00019032:\n    if (DAT_0003fb78 != 7) {\nLAB_00019037:\n      bfd_set_error(0);\n      bfd_map_over_sections(param_1,FUN_00018470,DAT_0003fb9c);\n      iVar9 = bfd_get_error();\n      if (iVar9 != 0) {\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n    }\n    piVar15 = (int *)xmalloc((DAT_0003fae4 + local_70) * 4 + 4);\n    local_68 = DAT_0003fb9c;\n    uVar35 = param_1[10];\n    DAT_0003fb98 = piVar15;\n    if (local_70 != 0) {\n      piVar1 = DAT_0003fb9c + local_70;\n      local_70 = 0;\n      puVar16 = PTR__bfd_std_section_0003efc8 + 0xa8;\n      do {\n        iVar9 = DAT_0003fae4;\n        piVar3 = (int *)*local_68;\n        uVar26 = piVar3[3];\n        piVar19 = (int *)piVar3[1];\n        puVar4 = (undefined *)piVar3[4];\n        if (((DAT_0003fae8 != (int *)0x0) && (0 < DAT_0003fae4)) &&\n           (pcVar22 = (char *)DAT_0003fae8[5], pcVar22 != (char *)0x0)) {\n          local_5c = (int *)0x0;\n          piVar31 = DAT_0003fae8;\n          while (iVar12 = strcmp(pcVar22,(char *)piVar19), iVar12 != 0) {\n            local_5c = (int *)((int)local_5c + 1);\n            piVar31 = (int *)*piVar31;\n            if ((local_5c == (int *)iVar9) || (pcVar22 = (char *)piVar31[5], pcVar22 == (char *)0x0)\n               ) goto LAB_00019180;\n          }\n          free(pcVar22);\n          piVar31[5] = (int)"";\n          piVar31 = piVar15 + local_70;\n          local_70 = local_70 + 1;\n          iVar9 = FUN_000177e0();\n          *piVar31 = iVar9;\n        }\nLAB_00019180:\n        iVar9 = htab_elements(DAT_0003faf0);\n        piVar31 = piVar19;\n        if ((iVar9 != 0) || (DAT_0003fba0 != (undefined4 *)0x0)) {\n          local_2c = 0;\n          local_30 = piVar19;\n          iVar9 = htab_find(DAT_0003faf0,&local_30);\n          if (((iVar9 == 0) || (piVar31 = *(int **)(iVar9 + 4), piVar19 == piVar31)) &&\n             (puVar33 = DAT_0003fba0, (uVar26 & 0x100) != 0)) {\n            for (; piVar31 = piVar19, puVar33 != (undefined4 *)0x0;\n                puVar33 = (undefined4 *)puVar33[3]) {\n              iVar9 = strcmp((char *)*puVar33,(char *)piVar19);\n              if (iVar9 == 0) {\n                piVar31 = (int *)puVar33[1];\n                break;\n              }\n            }\n          }\n          piVar3[1] = (int)piVar31;\n        }\n        pcVar22 = DAT_0003fad8;\n        if ((char)*piVar31 == *(char *)(param_1[1] + 0x18)) {\n          if (DAT_0003fb1c == 0) {\n            if ((DAT_0003fb18 == 0) ||\n               ((((uVar26 & 0x82) == 0 && (puVar4 != puVar16)) &&\n                ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)))) goto LAB_00019203;\nLAB_0001943c:\n            piVar31 = (int *)((int)piVar31 + 1);\n            piVar3[1] = (int)piVar31;\n            goto LAB_00019203;\n          }\n          if (*(char *)(param_2[1] + 0x18) == '\0') goto LAB_0001943c;\n          if (DAT_0003fad8 != (char *)0x0) {\n            piVar31 = (int *)((int)piVar31 + 1);\n            piVar3[1] = (int)piVar31;\n            goto LAB_0001945b;\n          }\n          *(char *)piVar31 = *(char *)(param_2[1] + 0x18);\n          piVar3[1] = (int)piVar31;\n        }\n        else {\n          if (((DAT_0003fb1c == 0) || (*(char *)(param_2[1] + 0x18) == '\0')) ||\n             (*(char *)(param_1[1] + 0x18) != '\0')) {\nLAB_00019203:\n            if (pcVar22 == (char *)0x0) goto LAB_0001926f;\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = piVar19;\n          }\n          else {\nLAB_0001945b:\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = (int *)((int)piVar19 + 1);\n            *(char *)piVar19 = *(char *)(param_2[1] + 0x18);\n          }\n          pcVar22 = DAT_0003fad8;\n          if (DAT_0003fad8 != (char *)0x0) {\n            strcpy((char *)local_5c,DAT_0003fad8);\n            sVar17 = strlen(pcVar22);\n            local_5c = (int *)((int)local_5c + sVar17);\n          }\n          strcpy((char *)local_5c,(char *)piVar31);\n          piVar3[1] = (int)piVar19;\n          piVar31 = piVar19;\n        }\nLAB_0001926f:\n        if (DAT_0003fb78 == 7) goto LAB_000192f8;\n        if ((uVar26 & 0x20) == 0) {\n          if (((uVar26 & 0x100) == 0) ||\n             ((*(byte *)(**(int **)(piVar3[4] + 0x9c) + 0xc) & 0x20) == 0)) {\n            if ((((uVar35 >> 5 & 0x42) == 0) &&\n                (((uVar26 & 0x82) != 0 || ((*(byte *)(piVar3[4] + 0x15) & 0x10) != 0)))) ||\n               (iVar9 = bfd_decode_symclass(piVar3), iVar9 == 0x49)) {\nLAB_00019528:\n              iVar9 = FUN_00017880();\n              if (iVar9 == 0) goto LAB_000192e0;\n            }\n            else if ((((uVar26 & 0x82) == 0) && (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8)) &&\n                    ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)) {\n              if ((uVar26 & 4) == 0) {\n                if (((*(int *)(param_1[1] + 4) != 2) ||\n                    (iVar9 = *(int *)(piVar3[4] + 0x8c), iVar9 == 0)) ||\n                   (*(int *)(iVar9 + 0x24) == 0)) {\n                  if ((DAT_0003fb78 == 3) || (DAT_0003fb74 == 2)) goto LAB_000192f8;\n                  if (DAT_0003fb74 == 1) {\n                    iVar9 = bfd_is_local_label(param_1,piVar3,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }\n                goto LAB_00019528;\n              }\n              iVar9 = DAT_0003fb28;\n              if (1 < DAT_0003fb78 - 2U) {\njoined_r0x0001a13f:\n                if (iVar9 == 0) goto LAB_00019528;\n              }\n            }\n            else if (DAT_0003fb78 != 3) goto LAB_00019528;\n          }\n          else {\n            iVar9 = FUN_00017880();\n            if (iVar9 != 0) {\n              uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",\n                                 5,iVar9);\n              FUN_0002b6d0(uVar10,piVar31);\n              DAT_0003fb88 = 1;\n            }\nLAB_000192e0:\n            iVar9 = FUN_00017880();\n            if (iVar9 == 0) goto LAB_0001931c;\n          }\nLAB_000192f8:\n          if (((DAT_0003fadc != 0) && ((uVar26 & 0x4000) != 0)) ||\n             (iVar9 = FUN_00017880(), iVar9 != 0)) goto LAB_0001931c;\n        }\n        else {\n          iVar9 = FUN_00017880();\n          if (iVar9 != 0) {\n            uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",5)\n            ;\n            FUN_0002b6d0(uVar10,piVar31);\n            DAT_0003fb88 = 1;\n          }\nLAB_0001931c:\n          iVar9 = FUN_000178f0();\n          if (iVar9 == 0) {\n            if (((uVar26 & 2) != 0) && ((DAT_0003fae0 != 0 || (iVar9 = FUN_00017880(), iVar9 != 0)))\n               ) {\n              piVar3[3] = piVar3[3] & 0xfffffffdU | 0x80;\n            }\n            if (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8) {\n              if (((uVar26 & 0x82) != 0) &&\n                 (((iVar9 = FUN_00017880(), iVar9 != 0 ||\n                   ((iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0)))) ||\n                  ((DAT_0003fb10 != 0 &&\n                   ((((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)\n                    ))))))) {\n                piVar3[3] = piVar3[3] & 0xffffff7dU | 1;\n              }\n              if (((uVar26 & 1) != 0) && (iVar9 = FUN_00017880(), iVar9 != 0)) {\n                piVar3[3] = piVar3[3] & 0xfffffffeU | 2;\n              }\n            }\n            piVar15[local_70] = (int)piVar3;\n            local_70 = local_70 + 1;\n          }\n        }\n        local_68 = local_68 + 1;\n      } while (piVar1 != local_68);\n    }\n    local_5c = DAT_0003fae8;\n    if ((DAT_0003fae8 != (int *)0x0) && (0 < DAT_0003fae4)) {\n      iVar9 = 0;\n      do {\n        pcVar22 = (char *)local_5c[5];\n        if (pcVar22 == (char *)0x0) {\n          iVar12 = FUN_000177e0();\n          piVar15[local_70] = iVar12;\n          local_70 = local_70 + 1;\n        }\n        else if (*pcVar22 != '\0') {\n          uVar10 = dcgettext(0,"\'before=%s\' not found",5,local_70);\n                    \n          FUN_0002b6a0(uVar10,pcVar22);\n        }\n        iVar9 = iVar9 + 1;\n        local_5c = (int *)*local_5c;\n      } while (iVar9 < DAT_0003fae4);\n    }\n    piVar15[local_70] = 0;\n    if ((DAT_0003fb28 != 0) && (local_94 != 0)) {\n      iVar9 = ((undefined4 *)param_2[1])[1];\n      if ((iVar9 != 2) && (iVar9 != 5)) {\n        uVar10 = *(undefined4 *)param_2[1];\n        uVar11 = dcgettext(0,"don\'t know how to write debugging information for %s",5);\n        FUN_0002c160(0,param_2,0,uVar11,uVar10);\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n      iVar9 = FUN_0002b050(param_2,local_94,&local_4c,local_44,&local_48,&local_30);\n      if (iVar9 == 0) {\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n      iVar9 = bfd_make_section_with_flags(param_2,".stab",0x2108);\n      iVar12 = bfd_make_section_with_flags(param_2,".stabstr",0x2108);\n      if ((((iVar9 == 0) || (iVar12 == 0)) ||\n          (iVar21 = bfd_set_section_size(param_2,iVar9,local_44[0],iVar12), iVar21 == 0)) ||\n         (iVar21 = bfd_set_section_size(param_2,iVar12,local_30,iVar21), iVar21 == 0)) {\n        pcVar22 = "can\'t create debugging section";\nLAB_00019fcf:\n        uVar10 = dcgettext(0,pcVar22,5,iVar9);\n        FUN_0002c160(0,param_2,0,uVar10);\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n      *(undefined4 *)(iVar9 + 0x40) = 2;\n      *(undefined4 *)(iVar12 + 0x40) = 0;\n      iVar9 = bfd_set_section_contents(param_2,iVar9,local_4c,0,0,local_44[0],iVar21,iVar21);\n      if ((iVar9 == 0) ||\n         (iVar9 = bfd_set_section_contents\n                            (param_2,iVar12,local_48,0,0,local_30,extraout_ECX,extraout_ECX),\n         iVar9 == 0)) {\n        pcVar22 = "can\'t set debugging section contents";\n        iVar9 = iVar12;\n        goto LAB_00019fcf;\n      }\n    }\n  }" { (labeled_statement "LAB_00019032:\n    if (DAT_0003fb78 != 7) {\nLAB_00019037:\n      bfd_set_error(0);\n      bfd_map_over_sections(param_1,FUN_00018470,DAT_0003fb9c);\n      iVar9 = bfd_get_error();\n      if (iVar9 != 0) {\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n    }" statement_identifier : (if_statement "if (DAT_0003fb78 != 7) {\nLAB_00019037:\n      bfd_set_error(0);\n      bfd_map_over_sections(param_1,FUN_00018470,DAT_0003fb9c);\n      iVar9 = bfd_get_error();\n      if (iVar9 != 0) {\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n    }" if (parenthesized_expression "(DAT_0003fb78 != 7)" ( (binary_expression "DAT_0003fb78 != 7" identifier != number_literal) )) (compound_statement "{\nLAB_00019037:\n      bfd_set_error(0);\n      bfd_map_over_sections(param_1,FUN_00018470,DAT_0003fb9c);\n      iVar9 = bfd_get_error();\n      if (iVar9 != 0) {\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n    }" { (labeled_statement "LAB_00019037:\n      bfd_set_error(0);" statement_identifier : (expression_statement "bfd_set_error(0);" (call_expression "bfd_set_error(0)" identifier (argument_list "(0)" ( number_literal ))) ;)) (expression_statement "bfd_map_over_sections(param_1,FUN_00018470,DAT_0003fb9c);" (call_expression "bfd_map_over_sections(param_1,FUN_00018470,DAT_0003fb9c)" identifier (argument_list "(param_1,FUN_00018470,DAT_0003fb9c)" ( identifier , identifier , identifier ))) ;) (expression_statement "iVar9 = bfd_get_error();" (assignment_expression "iVar9 = bfd_get_error()" identifier = (call_expression "bfd_get_error()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar9 != 0) {\n        DAT_0003fb88 = 1;\n        return 0;\n      }" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (compound_statement "{\n        DAT_0003fb88 = 1;\n        return 0;\n      }" { (expression_statement "DAT_0003fb88 = 1;" (assignment_expression "DAT_0003fb88 = 1" identifier = number_literal) ;) (return_statement "return 0;" return number_literal ;) })) }))) (expression_statement "piVar15 = (int *)xmalloc((DAT_0003fae4 + local_70) * 4 + 4);" (assignment_expression "piVar15 = (int *)xmalloc((DAT_0003fae4 + local_70) * 4 + 4)" identifier = (cast_expression "(int *)xmalloc((DAT_0003fae4 + local_70) * 4 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc((DAT_0003fae4 + local_70) * 4 + 4)" identifier (argument_list "((DAT_0003fae4 + local_70) * 4 + 4)" ( (binary_expression "(DAT_0003fae4 + local_70) * 4 + 4" (binary_expression "(DAT_0003fae4 + local_70) * 4" (parenthesized_expression "(DAT_0003fae4 + local_70)" ( (binary_expression "DAT_0003fae4 + local_70" identifier + identifier) )) * number_literal) + number_literal) ))))) ;) (expression_statement "local_68 = DAT_0003fb9c;" (assignment_expression "local_68 = DAT_0003fb9c" identifier = identifier) ;) (expression_statement "uVar35 = param_1[10];" (assignment_expression "uVar35 = param_1[10]" identifier = (subscript_expression "param_1[10]" identifier [ number_literal ])) ;) (expression_statement "DAT_0003fb98 = piVar15;" (assignment_expression "DAT_0003fb98 = piVar15" identifier = identifier) ;) (if_statement "if (local_70 != 0) {\n      piVar1 = DAT_0003fb9c + local_70;\n      local_70 = 0;\n      puVar16 = PTR__bfd_std_section_0003efc8 + 0xa8;\n      do {\n        iVar9 = DAT_0003fae4;\n        piVar3 = (int *)*local_68;\n        uVar26 = piVar3[3];\n        piVar19 = (int *)piVar3[1];\n        puVar4 = (undefined *)piVar3[4];\n        if (((DAT_0003fae8 != (int *)0x0) && (0 < DAT_0003fae4)) &&\n           (pcVar22 = (char *)DAT_0003fae8[5], pcVar22 != (char *)0x0)) {\n          local_5c = (int *)0x0;\n          piVar31 = DAT_0003fae8;\n          while (iVar12 = strcmp(pcVar22,(char *)piVar19), iVar12 != 0) {\n            local_5c = (int *)((int)local_5c + 1);\n            piVar31 = (int *)*piVar31;\n            if ((local_5c == (int *)iVar9) || (pcVar22 = (char *)piVar31[5], pcVar22 == (char *)0x0)\n               ) goto LAB_00019180;\n          }\n          free(pcVar22);\n          piVar31[5] = (int)"";\n          piVar31 = piVar15 + local_70;\n          local_70 = local_70 + 1;\n          iVar9 = FUN_000177e0();\n          *piVar31 = iVar9;\n        }\nLAB_00019180:\n        iVar9 = htab_elements(DAT_0003faf0);\n        piVar31 = piVar19;\n        if ((iVar9 != 0) || (DAT_0003fba0 != (undefined4 *)0x0)) {\n          local_2c = 0;\n          local_30 = piVar19;\n          iVar9 = htab_find(DAT_0003faf0,&local_30);\n          if (((iVar9 == 0) || (piVar31 = *(int **)(iVar9 + 4), piVar19 == piVar31)) &&\n             (puVar33 = DAT_0003fba0, (uVar26 & 0x100) != 0)) {\n            for (; piVar31 = piVar19, puVar33 != (undefined4 *)0x0;\n                puVar33 = (undefined4 *)puVar33[3]) {\n              iVar9 = strcmp((char *)*puVar33,(char *)piVar19);\n              if (iVar9 == 0) {\n                piVar31 = (int *)puVar33[1];\n                break;\n              }\n            }\n          }\n          piVar3[1] = (int)piVar31;\n        }\n        pcVar22 = DAT_0003fad8;\n        if ((char)*piVar31 == *(char *)(param_1[1] + 0x18)) {\n          if (DAT_0003fb1c == 0) {\n            if ((DAT_0003fb18 == 0) ||\n               ((((uVar26 & 0x82) == 0 && (puVar4 != puVar16)) &&\n                ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)))) goto LAB_00019203;\nLAB_0001943c:\n            piVar31 = (int *)((int)piVar31 + 1);\n            piVar3[1] = (int)piVar31;\n            goto LAB_00019203;\n          }\n          if (*(char *)(param_2[1] + 0x18) == '\0') goto LAB_0001943c;\n          if (DAT_0003fad8 != (char *)0x0) {\n            piVar31 = (int *)((int)piVar31 + 1);\n            piVar3[1] = (int)piVar31;\n            goto LAB_0001945b;\n          }\n          *(char *)piVar31 = *(char *)(param_2[1] + 0x18);\n          piVar3[1] = (int)piVar31;\n        }\n        else {\n          if (((DAT_0003fb1c == 0) || (*(char *)(param_2[1] + 0x18) == '\0')) ||\n             (*(char *)(param_1[1] + 0x18) != '\0')) {\nLAB_00019203:\n            if (pcVar22 == (char *)0x0) goto LAB_0001926f;\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = piVar19;\n          }\n          else {\nLAB_0001945b:\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = (int *)((int)piVar19 + 1);\n            *(char *)piVar19 = *(char *)(param_2[1] + 0x18);\n          }\n          pcVar22 = DAT_0003fad8;\n          if (DAT_0003fad8 != (char *)0x0) {\n            strcpy((char *)local_5c,DAT_0003fad8);\n            sVar17 = strlen(pcVar22);\n            local_5c = (int *)((int)local_5c + sVar17);\n          }\n          strcpy((char *)local_5c,(char *)piVar31);\n          piVar3[1] = (int)piVar19;\n          piVar31 = piVar19;\n        }\nLAB_0001926f:\n        if (DAT_0003fb78 == 7) goto LAB_000192f8;\n        if ((uVar26 & 0x20) == 0) {\n          if (((uVar26 & 0x100) == 0) ||\n             ((*(byte *)(**(int **)(piVar3[4] + 0x9c) + 0xc) & 0x20) == 0)) {\n            if ((((uVar35 >> 5 & 0x42) == 0) &&\n                (((uVar26 & 0x82) != 0 || ((*(byte *)(piVar3[4] + 0x15) & 0x10) != 0)))) ||\n               (iVar9 = bfd_decode_symclass(piVar3), iVar9 == 0x49)) {\nLAB_00019528:\n              iVar9 = FUN_00017880();\n              if (iVar9 == 0) goto LAB_000192e0;\n            }\n            else if ((((uVar26 & 0x82) == 0) && (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8)) &&\n                    ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)) {\n              if ((uVar26 & 4) == 0) {\n                if (((*(int *)(param_1[1] + 4) != 2) ||\n                    (iVar9 = *(int *)(piVar3[4] + 0x8c), iVar9 == 0)) ||\n                   (*(int *)(iVar9 + 0x24) == 0)) {\n                  if ((DAT_0003fb78 == 3) || (DAT_0003fb74 == 2)) goto LAB_000192f8;\n                  if (DAT_0003fb74 == 1) {\n                    iVar9 = bfd_is_local_label(param_1,piVar3,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }\n                goto LAB_00019528;\n              }\n              iVar9 = DAT_0003fb28;\n              if (1 < DAT_0003fb78 - 2U) {\njoined_r0x0001a13f:\n                if (iVar9 == 0) goto LAB_00019528;\n              }\n            }\n            else if (DAT_0003fb78 != 3) goto LAB_00019528;\n          }\n          else {\n            iVar9 = FUN_00017880();\n            if (iVar9 != 0) {\n              uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",\n                                 5,iVar9);\n              FUN_0002b6d0(uVar10,piVar31);\n              DAT_0003fb88 = 1;\n            }\nLAB_000192e0:\n            iVar9 = FUN_00017880();\n            if (iVar9 == 0) goto LAB_0001931c;\n          }\nLAB_000192f8:\n          if (((DAT_0003fadc != 0) && ((uVar26 & 0x4000) != 0)) ||\n             (iVar9 = FUN_00017880(), iVar9 != 0)) goto LAB_0001931c;\n        }\n        else {\n          iVar9 = FUN_00017880();\n          if (iVar9 != 0) {\n            uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",5)\n            ;\n            FUN_0002b6d0(uVar10,piVar31);\n            DAT_0003fb88 = 1;\n          }\nLAB_0001931c:\n          iVar9 = FUN_000178f0();\n          if (iVar9 == 0) {\n            if (((uVar26 & 2) != 0) && ((DAT_0003fae0 != 0 || (iVar9 = FUN_00017880(), iVar9 != 0)))\n               ) {\n              piVar3[3] = piVar3[3] & 0xfffffffdU | 0x80;\n            }\n            if (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8) {\n              if (((uVar26 & 0x82) != 0) &&\n                 (((iVar9 = FUN_00017880(), iVar9 != 0 ||\n                   ((iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0)))) ||\n                  ((DAT_0003fb10 != 0 &&\n                   ((((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)\n                    ))))))) {\n                piVar3[3] = piVar3[3] & 0xffffff7dU | 1;\n              }\n              if (((uVar26 & 1) != 0) && (iVar9 = FUN_00017880(), iVar9 != 0)) {\n                piVar3[3] = piVar3[3] & 0xfffffffeU | 2;\n              }\n            }\n            piVar15[local_70] = (int)piVar3;\n            local_70 = local_70 + 1;\n          }\n        }\n        local_68 = local_68 + 1;\n      } while (piVar1 != local_68);\n    }" if (parenthesized_expression "(local_70 != 0)" ( (binary_expression "local_70 != 0" identifier != number_literal) )) (compound_statement "{\n      piVar1 = DAT_0003fb9c + local_70;\n      local_70 = 0;\n      puVar16 = PTR__bfd_std_section_0003efc8 + 0xa8;\n      do {\n        iVar9 = DAT_0003fae4;\n        piVar3 = (int *)*local_68;\n        uVar26 = piVar3[3];\n        piVar19 = (int *)piVar3[1];\n        puVar4 = (undefined *)piVar3[4];\n        if (((DAT_0003fae8 != (int *)0x0) && (0 < DAT_0003fae4)) &&\n           (pcVar22 = (char *)DAT_0003fae8[5], pcVar22 != (char *)0x0)) {\n          local_5c = (int *)0x0;\n          piVar31 = DAT_0003fae8;\n          while (iVar12 = strcmp(pcVar22,(char *)piVar19), iVar12 != 0) {\n            local_5c = (int *)((int)local_5c + 1);\n            piVar31 = (int *)*piVar31;\n            if ((local_5c == (int *)iVar9) || (pcVar22 = (char *)piVar31[5], pcVar22 == (char *)0x0)\n               ) goto LAB_00019180;\n          }\n          free(pcVar22);\n          piVar31[5] = (int)"";\n          piVar31 = piVar15 + local_70;\n          local_70 = local_70 + 1;\n          iVar9 = FUN_000177e0();\n          *piVar31 = iVar9;\n        }\nLAB_00019180:\n        iVar9 = htab_elements(DAT_0003faf0);\n        piVar31 = piVar19;\n        if ((iVar9 != 0) || (DAT_0003fba0 != (undefined4 *)0x0)) {\n          local_2c = 0;\n          local_30 = piVar19;\n          iVar9 = htab_find(DAT_0003faf0,&local_30);\n          if (((iVar9 == 0) || (piVar31 = *(int **)(iVar9 + 4), piVar19 == piVar31)) &&\n             (puVar33 = DAT_0003fba0, (uVar26 & 0x100) != 0)) {\n            for (; piVar31 = piVar19, puVar33 != (undefined4 *)0x0;\n                puVar33 = (undefined4 *)puVar33[3]) {\n              iVar9 = strcmp((char *)*puVar33,(char *)piVar19);\n              if (iVar9 == 0) {\n                piVar31 = (int *)puVar33[1];\n                break;\n              }\n            }\n          }\n          piVar3[1] = (int)piVar31;\n        }\n        pcVar22 = DAT_0003fad8;\n        if ((char)*piVar31 == *(char *)(param_1[1] + 0x18)) {\n          if (DAT_0003fb1c == 0) {\n            if ((DAT_0003fb18 == 0) ||\n               ((((uVar26 & 0x82) == 0 && (puVar4 != puVar16)) &&\n                ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)))) goto LAB_00019203;\nLAB_0001943c:\n            piVar31 = (int *)((int)piVar31 + 1);\n            piVar3[1] = (int)piVar31;\n            goto LAB_00019203;\n          }\n          if (*(char *)(param_2[1] + 0x18) == '\0') goto LAB_0001943c;\n          if (DAT_0003fad8 != (char *)0x0) {\n            piVar31 = (int *)((int)piVar31 + 1);\n            piVar3[1] = (int)piVar31;\n            goto LAB_0001945b;\n          }\n          *(char *)piVar31 = *(char *)(param_2[1] + 0x18);\n          piVar3[1] = (int)piVar31;\n        }\n        else {\n          if (((DAT_0003fb1c == 0) || (*(char *)(param_2[1] + 0x18) == '\0')) ||\n             (*(char *)(param_1[1] + 0x18) != '\0')) {\nLAB_00019203:\n            if (pcVar22 == (char *)0x0) goto LAB_0001926f;\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = piVar19;\n          }\n          else {\nLAB_0001945b:\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = (int *)((int)piVar19 + 1);\n            *(char *)piVar19 = *(char *)(param_2[1] + 0x18);\n          }\n          pcVar22 = DAT_0003fad8;\n          if (DAT_0003fad8 != (char *)0x0) {\n            strcpy((char *)local_5c,DAT_0003fad8);\n            sVar17 = strlen(pcVar22);\n            local_5c = (int *)((int)local_5c + sVar17);\n          }\n          strcpy((char *)local_5c,(char *)piVar31);\n          piVar3[1] = (int)piVar19;\n          piVar31 = piVar19;\n        }\nLAB_0001926f:\n        if (DAT_0003fb78 == 7) goto LAB_000192f8;\n        if ((uVar26 & 0x20) == 0) {\n          if (((uVar26 & 0x100) == 0) ||\n             ((*(byte *)(**(int **)(piVar3[4] + 0x9c) + 0xc) & 0x20) == 0)) {\n            if ((((uVar35 >> 5 & 0x42) == 0) &&\n                (((uVar26 & 0x82) != 0 || ((*(byte *)(piVar3[4] + 0x15) & 0x10) != 0)))) ||\n               (iVar9 = bfd_decode_symclass(piVar3), iVar9 == 0x49)) {\nLAB_00019528:\n              iVar9 = FUN_00017880();\n              if (iVar9 == 0) goto LAB_000192e0;\n            }\n            else if ((((uVar26 & 0x82) == 0) && (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8)) &&\n                    ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)) {\n              if ((uVar26 & 4) == 0) {\n                if (((*(int *)(param_1[1] + 4) != 2) ||\n                    (iVar9 = *(int *)(piVar3[4] + 0x8c), iVar9 == 0)) ||\n                   (*(int *)(iVar9 + 0x24) == 0)) {\n                  if ((DAT_0003fb78 == 3) || (DAT_0003fb74 == 2)) goto LAB_000192f8;\n                  if (DAT_0003fb74 == 1) {\n                    iVar9 = bfd_is_local_label(param_1,piVar3,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }\n                goto LAB_00019528;\n              }\n              iVar9 = DAT_0003fb28;\n              if (1 < DAT_0003fb78 - 2U) {\njoined_r0x0001a13f:\n                if (iVar9 == 0) goto LAB_00019528;\n              }\n            }\n            else if (DAT_0003fb78 != 3) goto LAB_00019528;\n          }\n          else {\n            iVar9 = FUN_00017880();\n            if (iVar9 != 0) {\n              uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",\n                                 5,iVar9);\n              FUN_0002b6d0(uVar10,piVar31);\n              DAT_0003fb88 = 1;\n            }\nLAB_000192e0:\n            iVar9 = FUN_00017880();\n            if (iVar9 == 0) goto LAB_0001931c;\n          }\nLAB_000192f8:\n          if (((DAT_0003fadc != 0) && ((uVar26 & 0x4000) != 0)) ||\n             (iVar9 = FUN_00017880(), iVar9 != 0)) goto LAB_0001931c;\n        }\n        else {\n          iVar9 = FUN_00017880();\n          if (iVar9 != 0) {\n            uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",5)\n            ;\n            FUN_0002b6d0(uVar10,piVar31);\n            DAT_0003fb88 = 1;\n          }\nLAB_0001931c:\n          iVar9 = FUN_000178f0();\n          if (iVar9 == 0) {\n            if (((uVar26 & 2) != 0) && ((DAT_0003fae0 != 0 || (iVar9 = FUN_00017880(), iVar9 != 0)))\n               ) {\n              piVar3[3] = piVar3[3] & 0xfffffffdU | 0x80;\n            }\n            if (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8) {\n              if (((uVar26 & 0x82) != 0) &&\n                 (((iVar9 = FUN_00017880(), iVar9 != 0 ||\n                   ((iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0)))) ||\n                  ((DAT_0003fb10 != 0 &&\n                   ((((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)\n                    ))))))) {\n                piVar3[3] = piVar3[3] & 0xffffff7dU | 1;\n              }\n              if (((uVar26 & 1) != 0) && (iVar9 = FUN_00017880(), iVar9 != 0)) {\n                piVar3[3] = piVar3[3] & 0xfffffffeU | 2;\n              }\n            }\n            piVar15[local_70] = (int)piVar3;\n            local_70 = local_70 + 1;\n          }\n        }\n        local_68 = local_68 + 1;\n      } while (piVar1 != local_68);\n    }" { (expression_statement "piVar1 = DAT_0003fb9c + local_70;" (assignment_expression "piVar1 = DAT_0003fb9c + local_70" identifier = (binary_expression "DAT_0003fb9c + local_70" identifier + identifier)) ;) (expression_statement "local_70 = 0;" (assignment_expression "local_70 = 0" identifier = number_literal) ;) (expression_statement "puVar16 = PTR__bfd_std_section_0003efc8 + 0xa8;" (assignment_expression "puVar16 = PTR__bfd_std_section_0003efc8 + 0xa8" identifier = (binary_expression "PTR__bfd_std_section_0003efc8 + 0xa8" identifier + number_literal)) ;) (do_statement "do {\n        iVar9 = DAT_0003fae4;\n        piVar3 = (int *)*local_68;\n        uVar26 = piVar3[3];\n        piVar19 = (int *)piVar3[1];\n        puVar4 = (undefined *)piVar3[4];\n        if (((DAT_0003fae8 != (int *)0x0) && (0 < DAT_0003fae4)) &&\n           (pcVar22 = (char *)DAT_0003fae8[5], pcVar22 != (char *)0x0)) {\n          local_5c = (int *)0x0;\n          piVar31 = DAT_0003fae8;\n          while (iVar12 = strcmp(pcVar22,(char *)piVar19), iVar12 != 0) {\n            local_5c = (int *)((int)local_5c + 1);\n            piVar31 = (int *)*piVar31;\n            if ((local_5c == (int *)iVar9) || (pcVar22 = (char *)piVar31[5], pcVar22 == (char *)0x0)\n               ) goto LAB_00019180;\n          }\n          free(pcVar22);\n          piVar31[5] = (int)"";\n          piVar31 = piVar15 + local_70;\n          local_70 = local_70 + 1;\n          iVar9 = FUN_000177e0();\n          *piVar31 = iVar9;\n        }\nLAB_00019180:\n        iVar9 = htab_elements(DAT_0003faf0);\n        piVar31 = piVar19;\n        if ((iVar9 != 0) || (DAT_0003fba0 != (undefined4 *)0x0)) {\n          local_2c = 0;\n          local_30 = piVar19;\n          iVar9 = htab_find(DAT_0003faf0,&local_30);\n          if (((iVar9 == 0) || (piVar31 = *(int **)(iVar9 + 4), piVar19 == piVar31)) &&\n             (puVar33 = DAT_0003fba0, (uVar26 & 0x100) != 0)) {\n            for (; piVar31 = piVar19, puVar33 != (undefined4 *)0x0;\n                puVar33 = (undefined4 *)puVar33[3]) {\n              iVar9 = strcmp((char *)*puVar33,(char *)piVar19);\n              if (iVar9 == 0) {\n                piVar31 = (int *)puVar33[1];\n                break;\n              }\n            }\n          }\n          piVar3[1] = (int)piVar31;\n        }\n        pcVar22 = DAT_0003fad8;\n        if ((char)*piVar31 == *(char *)(param_1[1] + 0x18)) {\n          if (DAT_0003fb1c == 0) {\n            if ((DAT_0003fb18 == 0) ||\n               ((((uVar26 & 0x82) == 0 && (puVar4 != puVar16)) &&\n                ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)))) goto LAB_00019203;\nLAB_0001943c:\n            piVar31 = (int *)((int)piVar31 + 1);\n            piVar3[1] = (int)piVar31;\n            goto LAB_00019203;\n          }\n          if (*(char *)(param_2[1] + 0x18) == '\0') goto LAB_0001943c;\n          if (DAT_0003fad8 != (char *)0x0) {\n            piVar31 = (int *)((int)piVar31 + 1);\n            piVar3[1] = (int)piVar31;\n            goto LAB_0001945b;\n          }\n          *(char *)piVar31 = *(char *)(param_2[1] + 0x18);\n          piVar3[1] = (int)piVar31;\n        }\n        else {\n          if (((DAT_0003fb1c == 0) || (*(char *)(param_2[1] + 0x18) == '\0')) ||\n             (*(char *)(param_1[1] + 0x18) != '\0')) {\nLAB_00019203:\n            if (pcVar22 == (char *)0x0) goto LAB_0001926f;\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = piVar19;\n          }\n          else {\nLAB_0001945b:\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = (int *)((int)piVar19 + 1);\n            *(char *)piVar19 = *(char *)(param_2[1] + 0x18);\n          }\n          pcVar22 = DAT_0003fad8;\n          if (DAT_0003fad8 != (char *)0x0) {\n            strcpy((char *)local_5c,DAT_0003fad8);\n            sVar17 = strlen(pcVar22);\n            local_5c = (int *)((int)local_5c + sVar17);\n          }\n          strcpy((char *)local_5c,(char *)piVar31);\n          piVar3[1] = (int)piVar19;\n          piVar31 = piVar19;\n        }\nLAB_0001926f:\n        if (DAT_0003fb78 == 7) goto LAB_000192f8;\n        if ((uVar26 & 0x20) == 0) {\n          if (((uVar26 & 0x100) == 0) ||\n             ((*(byte *)(**(int **)(piVar3[4] + 0x9c) + 0xc) & 0x20) == 0)) {\n            if ((((uVar35 >> 5 & 0x42) == 0) &&\n                (((uVar26 & 0x82) != 0 || ((*(byte *)(piVar3[4] + 0x15) & 0x10) != 0)))) ||\n               (iVar9 = bfd_decode_symclass(piVar3), iVar9 == 0x49)) {\nLAB_00019528:\n              iVar9 = FUN_00017880();\n              if (iVar9 == 0) goto LAB_000192e0;\n            }\n            else if ((((uVar26 & 0x82) == 0) && (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8)) &&\n                    ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)) {\n              if ((uVar26 & 4) == 0) {\n                if (((*(int *)(param_1[1] + 4) != 2) ||\n                    (iVar9 = *(int *)(piVar3[4] + 0x8c), iVar9 == 0)) ||\n                   (*(int *)(iVar9 + 0x24) == 0)) {\n                  if ((DAT_0003fb78 == 3) || (DAT_0003fb74 == 2)) goto LAB_000192f8;\n                  if (DAT_0003fb74 == 1) {\n                    iVar9 = bfd_is_local_label(param_1,piVar3,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }\n                goto LAB_00019528;\n              }\n              iVar9 = DAT_0003fb28;\n              if (1 < DAT_0003fb78 - 2U) {\njoined_r0x0001a13f:\n                if (iVar9 == 0) goto LAB_00019528;\n              }\n            }\n            else if (DAT_0003fb78 != 3) goto LAB_00019528;\n          }\n          else {\n            iVar9 = FUN_00017880();\n            if (iVar9 != 0) {\n              uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",\n                                 5,iVar9);\n              FUN_0002b6d0(uVar10,piVar31);\n              DAT_0003fb88 = 1;\n            }\nLAB_000192e0:\n            iVar9 = FUN_00017880();\n            if (iVar9 == 0) goto LAB_0001931c;\n          }\nLAB_000192f8:\n          if (((DAT_0003fadc != 0) && ((uVar26 & 0x4000) != 0)) ||\n             (iVar9 = FUN_00017880(), iVar9 != 0)) goto LAB_0001931c;\n        }\n        else {\n          iVar9 = FUN_00017880();\n          if (iVar9 != 0) {\n            uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",5)\n            ;\n            FUN_0002b6d0(uVar10,piVar31);\n            DAT_0003fb88 = 1;\n          }\nLAB_0001931c:\n          iVar9 = FUN_000178f0();\n          if (iVar9 == 0) {\n            if (((uVar26 & 2) != 0) && ((DAT_0003fae0 != 0 || (iVar9 = FUN_00017880(), iVar9 != 0)))\n               ) {\n              piVar3[3] = piVar3[3] & 0xfffffffdU | 0x80;\n            }\n            if (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8) {\n              if (((uVar26 & 0x82) != 0) &&\n                 (((iVar9 = FUN_00017880(), iVar9 != 0 ||\n                   ((iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0)))) ||\n                  ((DAT_0003fb10 != 0 &&\n                   ((((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)\n                    ))))))) {\n                piVar3[3] = piVar3[3] & 0xffffff7dU | 1;\n              }\n              if (((uVar26 & 1) != 0) && (iVar9 = FUN_00017880(), iVar9 != 0)) {\n                piVar3[3] = piVar3[3] & 0xfffffffeU | 2;\n              }\n            }\n            piVar15[local_70] = (int)piVar3;\n            local_70 = local_70 + 1;\n          }\n        }\n        local_68 = local_68 + 1;\n      } while (piVar1 != local_68);" do (compound_statement "{\n        iVar9 = DAT_0003fae4;\n        piVar3 = (int *)*local_68;\n        uVar26 = piVar3[3];\n        piVar19 = (int *)piVar3[1];\n        puVar4 = (undefined *)piVar3[4];\n        if (((DAT_0003fae8 != (int *)0x0) && (0 < DAT_0003fae4)) &&\n           (pcVar22 = (char *)DAT_0003fae8[5], pcVar22 != (char *)0x0)) {\n          local_5c = (int *)0x0;\n          piVar31 = DAT_0003fae8;\n          while (iVar12 = strcmp(pcVar22,(char *)piVar19), iVar12 != 0) {\n            local_5c = (int *)((int)local_5c + 1);\n            piVar31 = (int *)*piVar31;\n            if ((local_5c == (int *)iVar9) || (pcVar22 = (char *)piVar31[5], pcVar22 == (char *)0x0)\n               ) goto LAB_00019180;\n          }\n          free(pcVar22);\n          piVar31[5] = (int)"";\n          piVar31 = piVar15 + local_70;\n          local_70 = local_70 + 1;\n          iVar9 = FUN_000177e0();\n          *piVar31 = iVar9;\n        }\nLAB_00019180:\n        iVar9 = htab_elements(DAT_0003faf0);\n        piVar31 = piVar19;\n        if ((iVar9 != 0) || (DAT_0003fba0 != (undefined4 *)0x0)) {\n          local_2c = 0;\n          local_30 = piVar19;\n          iVar9 = htab_find(DAT_0003faf0,&local_30);\n          if (((iVar9 == 0) || (piVar31 = *(int **)(iVar9 + 4), piVar19 == piVar31)) &&\n             (puVar33 = DAT_0003fba0, (uVar26 & 0x100) != 0)) {\n            for (; piVar31 = piVar19, puVar33 != (undefined4 *)0x0;\n                puVar33 = (undefined4 *)puVar33[3]) {\n              iVar9 = strcmp((char *)*puVar33,(char *)piVar19);\n              if (iVar9 == 0) {\n                piVar31 = (int *)puVar33[1];\n                break;\n              }\n            }\n          }\n          piVar3[1] = (int)piVar31;\n        }\n        pcVar22 = DAT_0003fad8;\n        if ((char)*piVar31 == *(char *)(param_1[1] + 0x18)) {\n          if (DAT_0003fb1c == 0) {\n            if ((DAT_0003fb18 == 0) ||\n               ((((uVar26 & 0x82) == 0 && (puVar4 != puVar16)) &&\n                ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)))) goto LAB_00019203;\nLAB_0001943c:\n            piVar31 = (int *)((int)piVar31 + 1);\n            piVar3[1] = (int)piVar31;\n            goto LAB_00019203;\n          }\n          if (*(char *)(param_2[1] + 0x18) == '\0') goto LAB_0001943c;\n          if (DAT_0003fad8 != (char *)0x0) {\n            piVar31 = (int *)((int)piVar31 + 1);\n            piVar3[1] = (int)piVar31;\n            goto LAB_0001945b;\n          }\n          *(char *)piVar31 = *(char *)(param_2[1] + 0x18);\n          piVar3[1] = (int)piVar31;\n        }\n        else {\n          if (((DAT_0003fb1c == 0) || (*(char *)(param_2[1] + 0x18) == '\0')) ||\n             (*(char *)(param_1[1] + 0x18) != '\0')) {\nLAB_00019203:\n            if (pcVar22 == (char *)0x0) goto LAB_0001926f;\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = piVar19;\n          }\n          else {\nLAB_0001945b:\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = (int *)((int)piVar19 + 1);\n            *(char *)piVar19 = *(char *)(param_2[1] + 0x18);\n          }\n          pcVar22 = DAT_0003fad8;\n          if (DAT_0003fad8 != (char *)0x0) {\n            strcpy((char *)local_5c,DAT_0003fad8);\n            sVar17 = strlen(pcVar22);\n            local_5c = (int *)((int)local_5c + sVar17);\n          }\n          strcpy((char *)local_5c,(char *)piVar31);\n          piVar3[1] = (int)piVar19;\n          piVar31 = piVar19;\n        }\nLAB_0001926f:\n        if (DAT_0003fb78 == 7) goto LAB_000192f8;\n        if ((uVar26 & 0x20) == 0) {\n          if (((uVar26 & 0x100) == 0) ||\n             ((*(byte *)(**(int **)(piVar3[4] + 0x9c) + 0xc) & 0x20) == 0)) {\n            if ((((uVar35 >> 5 & 0x42) == 0) &&\n                (((uVar26 & 0x82) != 0 || ((*(byte *)(piVar3[4] + 0x15) & 0x10) != 0)))) ||\n               (iVar9 = bfd_decode_symclass(piVar3), iVar9 == 0x49)) {\nLAB_00019528:\n              iVar9 = FUN_00017880();\n              if (iVar9 == 0) goto LAB_000192e0;\n            }\n            else if ((((uVar26 & 0x82) == 0) && (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8)) &&\n                    ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)) {\n              if ((uVar26 & 4) == 0) {\n                if (((*(int *)(param_1[1] + 4) != 2) ||\n                    (iVar9 = *(int *)(piVar3[4] + 0x8c), iVar9 == 0)) ||\n                   (*(int *)(iVar9 + 0x24) == 0)) {\n                  if ((DAT_0003fb78 == 3) || (DAT_0003fb74 == 2)) goto LAB_000192f8;\n                  if (DAT_0003fb74 == 1) {\n                    iVar9 = bfd_is_local_label(param_1,piVar3,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }\n                goto LAB_00019528;\n              }\n              iVar9 = DAT_0003fb28;\n              if (1 < DAT_0003fb78 - 2U) {\njoined_r0x0001a13f:\n                if (iVar9 == 0) goto LAB_00019528;\n              }\n            }\n            else if (DAT_0003fb78 != 3) goto LAB_00019528;\n          }\n          else {\n            iVar9 = FUN_00017880();\n            if (iVar9 != 0) {\n              uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",\n                                 5,iVar9);\n              FUN_0002b6d0(uVar10,piVar31);\n              DAT_0003fb88 = 1;\n            }\nLAB_000192e0:\n            iVar9 = FUN_00017880();\n            if (iVar9 == 0) goto LAB_0001931c;\n          }\nLAB_000192f8:\n          if (((DAT_0003fadc != 0) && ((uVar26 & 0x4000) != 0)) ||\n             (iVar9 = FUN_00017880(), iVar9 != 0)) goto LAB_0001931c;\n        }\n        else {\n          iVar9 = FUN_00017880();\n          if (iVar9 != 0) {\n            uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",5)\n            ;\n            FUN_0002b6d0(uVar10,piVar31);\n            DAT_0003fb88 = 1;\n          }\nLAB_0001931c:\n          iVar9 = FUN_000178f0();\n          if (iVar9 == 0) {\n            if (((uVar26 & 2) != 0) && ((DAT_0003fae0 != 0 || (iVar9 = FUN_00017880(), iVar9 != 0)))\n               ) {\n              piVar3[3] = piVar3[3] & 0xfffffffdU | 0x80;\n            }\n            if (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8) {\n              if (((uVar26 & 0x82) != 0) &&\n                 (((iVar9 = FUN_00017880(), iVar9 != 0 ||\n                   ((iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0)))) ||\n                  ((DAT_0003fb10 != 0 &&\n                   ((((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)\n                    ))))))) {\n                piVar3[3] = piVar3[3] & 0xffffff7dU | 1;\n              }\n              if (((uVar26 & 1) != 0) && (iVar9 = FUN_00017880(), iVar9 != 0)) {\n                piVar3[3] = piVar3[3] & 0xfffffffeU | 2;\n              }\n            }\n            piVar15[local_70] = (int)piVar3;\n            local_70 = local_70 + 1;\n          }\n        }\n        local_68 = local_68 + 1;\n      }" { (expression_statement "iVar9 = DAT_0003fae4;" (assignment_expression "iVar9 = DAT_0003fae4" identifier = identifier) ;) (expression_statement "piVar3 = (int *)*local_68;" (assignment_expression "piVar3 = (int *)*local_68" identifier = (cast_expression "(int *)*local_68" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_68" * identifier))) ;) (expression_statement "uVar26 = piVar3[3];" (assignment_expression "uVar26 = piVar3[3]" identifier = (subscript_expression "piVar3[3]" identifier [ number_literal ])) ;) (expression_statement "piVar19 = (int *)piVar3[1];" (assignment_expression "piVar19 = (int *)piVar3[1]" identifier = (cast_expression "(int *)piVar3[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar3[1]" identifier [ number_literal ]))) ;) (expression_statement "puVar4 = (undefined *)piVar3[4];" (assignment_expression "puVar4 = (undefined *)piVar3[4]" identifier = (cast_expression "(undefined *)piVar3[4]" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar3[4]" identifier [ number_literal ]))) ;) (if_statement "if (((DAT_0003fae8 != (int *)0x0) && (0 < DAT_0003fae4)) &&\n           (pcVar22 = (char *)DAT_0003fae8[5], pcVar22 != (char *)0x0)) {\n          local_5c = (int *)0x0;\n          piVar31 = DAT_0003fae8;\n          while (iVar12 = strcmp(pcVar22,(char *)piVar19), iVar12 != 0) {\n            local_5c = (int *)((int)local_5c + 1);\n            piVar31 = (int *)*piVar31;\n            if ((local_5c == (int *)iVar9) || (pcVar22 = (char *)piVar31[5], pcVar22 == (char *)0x0)\n               ) goto LAB_00019180;\n          }\n          free(pcVar22);\n          piVar31[5] = (int)"";\n          piVar31 = piVar15 + local_70;\n          local_70 = local_70 + 1;\n          iVar9 = FUN_000177e0();\n          *piVar31 = iVar9;\n        }" if (parenthesized_expression "(((DAT_0003fae8 != (int *)0x0) && (0 < DAT_0003fae4)) &&\n           (pcVar22 = (char *)DAT_0003fae8[5], pcVar22 != (char *)0x0))" ( (binary_expression "((DAT_0003fae8 != (int *)0x0) && (0 < DAT_0003fae4)) &&\n           (pcVar22 = (char *)DAT_0003fae8[5], pcVar22 != (char *)0x0)" (parenthesized_expression "((DAT_0003fae8 != (int *)0x0) && (0 < DAT_0003fae4))" ( (binary_expression "(DAT_0003fae8 != (int *)0x0) && (0 < DAT_0003fae4)" (parenthesized_expression "(DAT_0003fae8 != (int *)0x0)" ( (binary_expression "DAT_0003fae8 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(0 < DAT_0003fae4)" ( (binary_expression "0 < DAT_0003fae4" number_literal < identifier) ))) )) && (parenthesized_expression "(pcVar22 = (char *)DAT_0003fae8[5], pcVar22 != (char *)0x0)" ( (comma_expression "pcVar22 = (char *)DAT_0003fae8[5], pcVar22 != (char *)0x0" (assignment_expression "pcVar22 = (char *)DAT_0003fae8[5]" identifier = (cast_expression "(char *)DAT_0003fae8[5]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "DAT_0003fae8[5]" identifier [ number_literal ]))) , (binary_expression "pcVar22 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n          local_5c = (int *)0x0;\n          piVar31 = DAT_0003fae8;\n          while (iVar12 = strcmp(pcVar22,(char *)piVar19), iVar12 != 0) {\n            local_5c = (int *)((int)local_5c + 1);\n            piVar31 = (int *)*piVar31;\n            if ((local_5c == (int *)iVar9) || (pcVar22 = (char *)piVar31[5], pcVar22 == (char *)0x0)\n               ) goto LAB_00019180;\n          }\n          free(pcVar22);\n          piVar31[5] = (int)"";\n          piVar31 = piVar15 + local_70;\n          local_70 = local_70 + 1;\n          iVar9 = FUN_000177e0();\n          *piVar31 = iVar9;\n        }" { (expression_statement "local_5c = (int *)0x0;" (assignment_expression "local_5c = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "piVar31 = DAT_0003fae8;" (assignment_expression "piVar31 = DAT_0003fae8" identifier = identifier) ;) (while_statement "while (iVar12 = strcmp(pcVar22,(char *)piVar19), iVar12 != 0) {\n            local_5c = (int *)((int)local_5c + 1);\n            piVar31 = (int *)*piVar31;\n            if ((local_5c == (int *)iVar9) || (pcVar22 = (char *)piVar31[5], pcVar22 == (char *)0x0)\n               ) goto LAB_00019180;\n          }" while (parenthesized_expression "(iVar12 = strcmp(pcVar22,(char *)piVar19), iVar12 != 0)" ( (comma_expression "iVar12 = strcmp(pcVar22,(char *)piVar19), iVar12 != 0" (assignment_expression "iVar12 = strcmp(pcVar22,(char *)piVar19)" identifier = (call_expression "strcmp(pcVar22,(char *)piVar19)" identifier (argument_list "(pcVar22,(char *)piVar19)" ( identifier , (cast_expression "(char *)piVar19" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) , (binary_expression "iVar12 != 0" identifier != number_literal)) )) (compound_statement "{\n            local_5c = (int *)((int)local_5c + 1);\n            piVar31 = (int *)*piVar31;\n            if ((local_5c == (int *)iVar9) || (pcVar22 = (char *)piVar31[5], pcVar22 == (char *)0x0)\n               ) goto LAB_00019180;\n          }" { (expression_statement "local_5c = (int *)((int)local_5c + 1);" (assignment_expression "local_5c = (int *)((int)local_5c + 1)" identifier = (cast_expression "(int *)((int)local_5c + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_5c + 1)" ( (binary_expression "(int)local_5c + 1" (cast_expression "(int)local_5c" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "piVar31 = (int *)*piVar31;" (assignment_expression "piVar31 = (int *)*piVar31" identifier = (cast_expression "(int *)*piVar31" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar31" * identifier))) ;) (if_statement "if ((local_5c == (int *)iVar9) || (pcVar22 = (char *)piVar31[5], pcVar22 == (char *)0x0)\n               ) goto LAB_00019180;" if (parenthesized_expression "((local_5c == (int *)iVar9) || (pcVar22 = (char *)piVar31[5], pcVar22 == (char *)0x0)\n               )" ( (binary_expression "(local_5c == (int *)iVar9) || (pcVar22 = (char *)piVar31[5], pcVar22 == (char *)0x0)" (parenthesized_expression "(local_5c == (int *)iVar9)" ( (binary_expression "local_5c == (int *)iVar9" identifier == (cast_expression "(int *)iVar9" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) )) || (parenthesized_expression "(pcVar22 = (char *)piVar31[5], pcVar22 == (char *)0x0)" ( (comma_expression "pcVar22 = (char *)piVar31[5], pcVar22 == (char *)0x0" (assignment_expression "pcVar22 = (char *)piVar31[5]" identifier = (cast_expression "(char *)piVar31[5]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar31[5]" identifier [ number_literal ]))) , (binary_expression "pcVar22 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (goto_statement "goto LAB_00019180;" goto statement_identifier ;)) })) (expression_statement "free(pcVar22);" (call_expression "free(pcVar22)" identifier (argument_list "(pcVar22)" ( identifier ))) ;) (expression_statement "piVar31[5] = (int)"";" (assignment_expression "piVar31[5] = (int)""" (subscript_expression "piVar31[5]" identifier [ number_literal ]) = (cast_expression "(int)""" ( (type_descriptor "int" primitive_type) ) (string_literal """" " "))) ;) (expression_statement "piVar31 = piVar15 + local_70;" (assignment_expression "piVar31 = piVar15 + local_70" identifier = (binary_expression "piVar15 + local_70" identifier + identifier)) ;) (expression_statement "local_70 = local_70 + 1;" (assignment_expression "local_70 = local_70 + 1" identifier = (binary_expression "local_70 + 1" identifier + number_literal)) ;) (expression_statement "iVar9 = FUN_000177e0();" (assignment_expression "iVar9 = FUN_000177e0()" identifier = (call_expression "FUN_000177e0()" identifier (argument_list "()" ( )))) ;) (expression_statement "*piVar31 = iVar9;" (assignment_expression "*piVar31 = iVar9" (pointer_expression "*piVar31" * identifier) = identifier) ;) })) (labeled_statement "LAB_00019180:\n        iVar9 = htab_elements(DAT_0003faf0);" statement_identifier : (expression_statement "iVar9 = htab_elements(DAT_0003faf0);" (assignment_expression "iVar9 = htab_elements(DAT_0003faf0)" identifier = (call_expression "htab_elements(DAT_0003faf0)" identifier (argument_list "(DAT_0003faf0)" ( identifier )))) ;)) (expression_statement "piVar31 = piVar19;" (assignment_expression "piVar31 = piVar19" identifier = identifier) ;) (if_statement "if ((iVar9 != 0) || (DAT_0003fba0 != (undefined4 *)0x0)) {\n          local_2c = 0;\n          local_30 = piVar19;\n          iVar9 = htab_find(DAT_0003faf0,&local_30);\n          if (((iVar9 == 0) || (piVar31 = *(int **)(iVar9 + 4), piVar19 == piVar31)) &&\n             (puVar33 = DAT_0003fba0, (uVar26 & 0x100) != 0)) {\n            for (; piVar31 = piVar19, puVar33 != (undefined4 *)0x0;\n                puVar33 = (undefined4 *)puVar33[3]) {\n              iVar9 = strcmp((char *)*puVar33,(char *)piVar19);\n              if (iVar9 == 0) {\n                piVar31 = (int *)puVar33[1];\n                break;\n              }\n            }\n          }\n          piVar3[1] = (int)piVar31;\n        }" if (parenthesized_expression "((iVar9 != 0) || (DAT_0003fba0 != (undefined4 *)0x0))" ( (binary_expression "(iVar9 != 0) || (DAT_0003fba0 != (undefined4 *)0x0)" (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) || (parenthesized_expression "(DAT_0003fba0 != (undefined4 *)0x0)" ( (binary_expression "DAT_0003fba0 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n          local_2c = 0;\n          local_30 = piVar19;\n          iVar9 = htab_find(DAT_0003faf0,&local_30);\n          if (((iVar9 == 0) || (piVar31 = *(int **)(iVar9 + 4), piVar19 == piVar31)) &&\n             (puVar33 = DAT_0003fba0, (uVar26 & 0x100) != 0)) {\n            for (; piVar31 = piVar19, puVar33 != (undefined4 *)0x0;\n                puVar33 = (undefined4 *)puVar33[3]) {\n              iVar9 = strcmp((char *)*puVar33,(char *)piVar19);\n              if (iVar9 == 0) {\n                piVar31 = (int *)puVar33[1];\n                break;\n              }\n            }\n          }\n          piVar3[1] = (int)piVar31;\n        }" { (expression_statement "local_2c = 0;" (assignment_expression "local_2c = 0" identifier = number_literal) ;) (expression_statement "local_30 = piVar19;" (assignment_expression "local_30 = piVar19" identifier = identifier) ;) (expression_statement "iVar9 = htab_find(DAT_0003faf0,&local_30);" (assignment_expression "iVar9 = htab_find(DAT_0003faf0,&local_30)" identifier = (call_expression "htab_find(DAT_0003faf0,&local_30)" identifier (argument_list "(DAT_0003faf0,&local_30)" ( identifier , (pointer_expression "&local_30" & identifier) )))) ;) (if_statement "if (((iVar9 == 0) || (piVar31 = *(int **)(iVar9 + 4), piVar19 == piVar31)) &&\n             (puVar33 = DAT_0003fba0, (uVar26 & 0x100) != 0)) {\n            for (; piVar31 = piVar19, puVar33 != (undefined4 *)0x0;\n                puVar33 = (undefined4 *)puVar33[3]) {\n              iVar9 = strcmp((char *)*puVar33,(char *)piVar19);\n              if (iVar9 == 0) {\n                piVar31 = (int *)puVar33[1];\n                break;\n              }\n            }\n          }" if (parenthesized_expression "(((iVar9 == 0) || (piVar31 = *(int **)(iVar9 + 4), piVar19 == piVar31)) &&\n             (puVar33 = DAT_0003fba0, (uVar26 & 0x100) != 0))" ( (binary_expression "((iVar9 == 0) || (piVar31 = *(int **)(iVar9 + 4), piVar19 == piVar31)) &&\n             (puVar33 = DAT_0003fba0, (uVar26 & 0x100) != 0)" (parenthesized_expression "((iVar9 == 0) || (piVar31 = *(int **)(iVar9 + 4), piVar19 == piVar31))" ( (binary_expression "(iVar9 == 0) || (piVar31 = *(int **)(iVar9 + 4), piVar19 == piVar31)" (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) || (parenthesized_expression "(piVar31 = *(int **)(iVar9 + 4), piVar19 == piVar31)" ( (comma_expression "piVar31 = *(int **)(iVar9 + 4), piVar19 == piVar31" (assignment_expression "piVar31 = *(int **)(iVar9 + 4)" identifier = (pointer_expression "*(int **)(iVar9 + 4)" * (cast_expression "(int **)(iVar9 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar9 + 4)" ( (binary_expression "iVar9 + 4" identifier + number_literal) ))))) , (binary_expression "piVar19 == piVar31" identifier == identifier)) ))) )) && (parenthesized_expression "(puVar33 = DAT_0003fba0, (uVar26 & 0x100) != 0)" ( (comma_expression "puVar33 = DAT_0003fba0, (uVar26 & 0x100) != 0" (assignment_expression "puVar33 = DAT_0003fba0" identifier = identifier) , (binary_expression "(uVar26 & 0x100) != 0" (parenthesized_expression "(uVar26 & 0x100)" ( (binary_expression "uVar26 & 0x100" identifier & number_literal) )) != number_literal)) ))) )) (compound_statement "{\n            for (; piVar31 = piVar19, puVar33 != (undefined4 *)0x0;\n                puVar33 = (undefined4 *)puVar33[3]) {\n              iVar9 = strcmp((char *)*puVar33,(char *)piVar19);\n              if (iVar9 == 0) {\n                piVar31 = (int *)puVar33[1];\n                break;\n              }\n            }\n          }" { (for_statement "for (; piVar31 = piVar19, puVar33 != (undefined4 *)0x0;\n                puVar33 = (undefined4 *)puVar33[3]) {\n              iVar9 = strcmp((char *)*puVar33,(char *)piVar19);\n              if (iVar9 == 0) {\n                piVar31 = (int *)puVar33[1];\n                break;\n              }\n            }" for ( ; (comma_expression "piVar31 = piVar19, puVar33 != (undefined4 *)0x0" (assignment_expression "piVar31 = piVar19" identifier = identifier) , (binary_expression "puVar33 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ; (assignment_expression "puVar33 = (undefined4 *)puVar33[3]" identifier = (cast_expression "(undefined4 *)puVar33[3]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar33[3]" identifier [ number_literal ]))) ) (compound_statement "{\n              iVar9 = strcmp((char *)*puVar33,(char *)piVar19);\n              if (iVar9 == 0) {\n                piVar31 = (int *)puVar33[1];\n                break;\n              }\n            }" { (expression_statement "iVar9 = strcmp((char *)*puVar33,(char *)piVar19);" (assignment_expression "iVar9 = strcmp((char *)*puVar33,(char *)piVar19)" identifier = (call_expression "strcmp((char *)*puVar33,(char *)piVar19)" identifier (argument_list "((char *)*puVar33,(char *)piVar19)" ( (cast_expression "(char *)*puVar33" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar33" * identifier)) , (cast_expression "(char *)piVar19" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (if_statement "if (iVar9 == 0) {\n                piVar31 = (int *)puVar33[1];\n                break;\n              }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n                piVar31 = (int *)puVar33[1];\n                break;\n              }" { (expression_statement "piVar31 = (int *)puVar33[1];" (assignment_expression "piVar31 = (int *)puVar33[1]" identifier = (cast_expression "(int *)puVar33[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar33[1]" identifier [ number_literal ]))) ;) (break_statement "break;" break ;) })) })) })) (expression_statement "piVar3[1] = (int)piVar31;" (assignment_expression "piVar3[1] = (int)piVar31" (subscript_expression "piVar3[1]" identifier [ number_literal ]) = (cast_expression "(int)piVar31" ( (type_descriptor "int" primitive_type) ) identifier)) ;) })) (expression_statement "pcVar22 = DAT_0003fad8;" (assignment_expression "pcVar22 = DAT_0003fad8" identifier = identifier) ;) (if_statement "if ((char)*piVar31 == *(char *)(param_1[1] + 0x18)) {\n          if (DAT_0003fb1c == 0) {\n            if ((DAT_0003fb18 == 0) ||\n               ((((uVar26 & 0x82) == 0 && (puVar4 != puVar16)) &&\n                ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)))) goto LAB_00019203;\nLAB_0001943c:\n            piVar31 = (int *)((int)piVar31 + 1);\n            piVar3[1] = (int)piVar31;\n            goto LAB_00019203;\n          }\n          if (*(char *)(param_2[1] + 0x18) == '\0') goto LAB_0001943c;\n          if (DAT_0003fad8 != (char *)0x0) {\n            piVar31 = (int *)((int)piVar31 + 1);\n            piVar3[1] = (int)piVar31;\n            goto LAB_0001945b;\n          }\n          *(char *)piVar31 = *(char *)(param_2[1] + 0x18);\n          piVar3[1] = (int)piVar31;\n        }\n        else {\n          if (((DAT_0003fb1c == 0) || (*(char *)(param_2[1] + 0x18) == '\0')) ||\n             (*(char *)(param_1[1] + 0x18) != '\0')) {\nLAB_00019203:\n            if (pcVar22 == (char *)0x0) goto LAB_0001926f;\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = piVar19;\n          }\n          else {\nLAB_0001945b:\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = (int *)((int)piVar19 + 1);\n            *(char *)piVar19 = *(char *)(param_2[1] + 0x18);\n          }\n          pcVar22 = DAT_0003fad8;\n          if (DAT_0003fad8 != (char *)0x0) {\n            strcpy((char *)local_5c,DAT_0003fad8);\n            sVar17 = strlen(pcVar22);\n            local_5c = (int *)((int)local_5c + sVar17);\n          }\n          strcpy((char *)local_5c,(char *)piVar31);\n          piVar3[1] = (int)piVar19;\n          piVar31 = piVar19;\n        }" if (parenthesized_expression "((char)*piVar31 == *(char *)(param_1[1] + 0x18))" ( (binary_expression "(char)*piVar31 == *(char *)(param_1[1] + 0x18)" (cast_expression "(char)*piVar31" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*piVar31" * identifier)) == (pointer_expression "*(char *)(param_1[1] + 0x18)" * (cast_expression "(char *)(param_1[1] + 0x18)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[1] + 0x18)" ( (binary_expression "param_1[1] + 0x18" (subscript_expression "param_1[1]" identifier [ number_literal ]) + number_literal) ))))) )) (compound_statement "{\n          if (DAT_0003fb1c == 0) {\n            if ((DAT_0003fb18 == 0) ||\n               ((((uVar26 & 0x82) == 0 && (puVar4 != puVar16)) &&\n                ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)))) goto LAB_00019203;\nLAB_0001943c:\n            piVar31 = (int *)((int)piVar31 + 1);\n            piVar3[1] = (int)piVar31;\n            goto LAB_00019203;\n          }\n          if (*(char *)(param_2[1] + 0x18) == '\0') goto LAB_0001943c;\n          if (DAT_0003fad8 != (char *)0x0) {\n            piVar31 = (int *)((int)piVar31 + 1);\n            piVar3[1] = (int)piVar31;\n            goto LAB_0001945b;\n          }\n          *(char *)piVar31 = *(char *)(param_2[1] + 0x18);\n          piVar3[1] = (int)piVar31;\n        }" { (if_statement "if (DAT_0003fb1c == 0) {\n            if ((DAT_0003fb18 == 0) ||\n               ((((uVar26 & 0x82) == 0 && (puVar4 != puVar16)) &&\n                ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)))) goto LAB_00019203;\nLAB_0001943c:\n            piVar31 = (int *)((int)piVar31 + 1);\n            piVar3[1] = (int)piVar31;\n            goto LAB_00019203;\n          }" if (parenthesized_expression "(DAT_0003fb1c == 0)" ( (binary_expression "DAT_0003fb1c == 0" identifier == number_literal) )) (compound_statement "{\n            if ((DAT_0003fb18 == 0) ||\n               ((((uVar26 & 0x82) == 0 && (puVar4 != puVar16)) &&\n                ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)))) goto LAB_00019203;\nLAB_0001943c:\n            piVar31 = (int *)((int)piVar31 + 1);\n            piVar3[1] = (int)piVar31;\n            goto LAB_00019203;\n          }" { (if_statement "if ((DAT_0003fb18 == 0) ||\n               ((((uVar26 & 0x82) == 0 && (puVar4 != puVar16)) &&\n                ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)))) goto LAB_00019203;" if (parenthesized_expression "((DAT_0003fb18 == 0) ||\n               ((((uVar26 & 0x82) == 0 && (puVar4 != puVar16)) &&\n                ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0))))" ( (binary_expression "(DAT_0003fb18 == 0) ||\n               ((((uVar26 & 0x82) == 0 && (puVar4 != puVar16)) &&\n                ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)))" (parenthesized_expression "(DAT_0003fb18 == 0)" ( (binary_expression "DAT_0003fb18 == 0" identifier == number_literal) )) || (parenthesized_expression "((((uVar26 & 0x82) == 0 && (puVar4 != puVar16)) &&\n                ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)))" ( (parenthesized_expression "(((uVar26 & 0x82) == 0 && (puVar4 != puVar16)) &&\n                ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0))" ( (binary_expression "((uVar26 & 0x82) == 0 && (puVar4 != puVar16)) &&\n                ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)" (parenthesized_expression "((uVar26 & 0x82) == 0 && (puVar4 != puVar16))" ( (binary_expression "(uVar26 & 0x82) == 0 && (puVar4 != puVar16)" (binary_expression "(uVar26 & 0x82) == 0" (parenthesized_expression "(uVar26 & 0x82)" ( (binary_expression "uVar26 & 0x82" identifier & number_literal) )) == number_literal) && (parenthesized_expression "(puVar4 != puVar16)" ( (binary_expression "puVar4 != puVar16" identifier != identifier) ))) )) && (parenthesized_expression "((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)" ( (binary_expression "(*(byte *)(piVar3[4] + 0x15) & 0x10) == 0" (parenthesized_expression "(*(byte *)(piVar3[4] + 0x15) & 0x10)" ( (binary_expression "*(byte *)(piVar3[4] + 0x15) & 0x10" (pointer_expression "*(byte *)(piVar3[4] + 0x15)" * (cast_expression "(byte *)(piVar3[4] + 0x15)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar3[4] + 0x15)" ( (binary_expression "piVar3[4] + 0x15" (subscript_expression "piVar3[4]" identifier [ number_literal ]) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) (goto_statement "goto LAB_00019203;" goto statement_identifier ;)) (labeled_statement "LAB_0001943c:\n            piVar31 = (int *)((int)piVar31 + 1);" statement_identifier : (expression_statement "piVar31 = (int *)((int)piVar31 + 1);" (assignment_expression "piVar31 = (int *)((int)piVar31 + 1)" identifier = (cast_expression "(int *)((int)piVar31 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar31 + 1)" ( (binary_expression "(int)piVar31 + 1" (cast_expression "(int)piVar31" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;)) (expression_statement "piVar3[1] = (int)piVar31;" (assignment_expression "piVar3[1] = (int)piVar31" (subscript_expression "piVar3[1]" identifier [ number_literal ]) = (cast_expression "(int)piVar31" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (goto_statement "goto LAB_00019203;" goto statement_identifier ;) })) (if_statement "if (*(char *)(param_2[1] + 0x18) == '\0') goto LAB_0001943c;" if (parenthesized_expression "(*(char *)(param_2[1] + 0x18) == '\0')" ( (binary_expression "*(char *)(param_2[1] + 0x18) == '\0'" (pointer_expression "*(char *)(param_2[1] + 0x18)" * (cast_expression "(char *)(param_2[1] + 0x18)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2[1] + 0x18)" ( (binary_expression "param_2[1] + 0x18" (subscript_expression "param_2[1]" identifier [ number_literal ]) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0001943c;" goto statement_identifier ;)) (if_statement "if (DAT_0003fad8 != (char *)0x0) {\n            piVar31 = (int *)((int)piVar31 + 1);\n            piVar3[1] = (int)piVar31;\n            goto LAB_0001945b;\n          }" if (parenthesized_expression "(DAT_0003fad8 != (char *)0x0)" ( (binary_expression "DAT_0003fad8 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            piVar31 = (int *)((int)piVar31 + 1);\n            piVar3[1] = (int)piVar31;\n            goto LAB_0001945b;\n          }" { (expression_statement "piVar31 = (int *)((int)piVar31 + 1);" (assignment_expression "piVar31 = (int *)((int)piVar31 + 1)" identifier = (cast_expression "(int *)((int)piVar31 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar31 + 1)" ( (binary_expression "(int)piVar31 + 1" (cast_expression "(int)piVar31" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "piVar3[1] = (int)piVar31;" (assignment_expression "piVar3[1] = (int)piVar31" (subscript_expression "piVar3[1]" identifier [ number_literal ]) = (cast_expression "(int)piVar31" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (goto_statement "goto LAB_0001945b;" goto statement_identifier ;) })) (expression_statement "*(char *)piVar31 = *(char *)(param_2[1] + 0x18);" (assignment_expression "*(char *)piVar31 = *(char *)(param_2[1] + 0x18)" (pointer_expression "*(char *)piVar31" * (cast_expression "(char *)piVar31" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = (pointer_expression "*(char *)(param_2[1] + 0x18)" * (cast_expression "(char *)(param_2[1] + 0x18)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2[1] + 0x18)" ( (binary_expression "param_2[1] + 0x18" (subscript_expression "param_2[1]" identifier [ number_literal ]) + number_literal) ))))) ;) (expression_statement "piVar3[1] = (int)piVar31;" (assignment_expression "piVar3[1] = (int)piVar31" (subscript_expression "piVar3[1]" identifier [ number_literal ]) = (cast_expression "(int)piVar31" ( (type_descriptor "int" primitive_type) ) identifier)) ;) }) (else_clause "else {\n          if (((DAT_0003fb1c == 0) || (*(char *)(param_2[1] + 0x18) == '\0')) ||\n             (*(char *)(param_1[1] + 0x18) != '\0')) {\nLAB_00019203:\n            if (pcVar22 == (char *)0x0) goto LAB_0001926f;\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = piVar19;\n          }\n          else {\nLAB_0001945b:\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = (int *)((int)piVar19 + 1);\n            *(char *)piVar19 = *(char *)(param_2[1] + 0x18);\n          }\n          pcVar22 = DAT_0003fad8;\n          if (DAT_0003fad8 != (char *)0x0) {\n            strcpy((char *)local_5c,DAT_0003fad8);\n            sVar17 = strlen(pcVar22);\n            local_5c = (int *)((int)local_5c + sVar17);\n          }\n          strcpy((char *)local_5c,(char *)piVar31);\n          piVar3[1] = (int)piVar19;\n          piVar31 = piVar19;\n        }" else (compound_statement "{\n          if (((DAT_0003fb1c == 0) || (*(char *)(param_2[1] + 0x18) == '\0')) ||\n             (*(char *)(param_1[1] + 0x18) != '\0')) {\nLAB_00019203:\n            if (pcVar22 == (char *)0x0) goto LAB_0001926f;\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = piVar19;\n          }\n          else {\nLAB_0001945b:\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = (int *)((int)piVar19 + 1);\n            *(char *)piVar19 = *(char *)(param_2[1] + 0x18);\n          }\n          pcVar22 = DAT_0003fad8;\n          if (DAT_0003fad8 != (char *)0x0) {\n            strcpy((char *)local_5c,DAT_0003fad8);\n            sVar17 = strlen(pcVar22);\n            local_5c = (int *)((int)local_5c + sVar17);\n          }\n          strcpy((char *)local_5c,(char *)piVar31);\n          piVar3[1] = (int)piVar19;\n          piVar31 = piVar19;\n        }" { (if_statement "if (((DAT_0003fb1c == 0) || (*(char *)(param_2[1] + 0x18) == '\0')) ||\n             (*(char *)(param_1[1] + 0x18) != '\0')) {\nLAB_00019203:\n            if (pcVar22 == (char *)0x0) goto LAB_0001926f;\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = piVar19;\n          }\n          else {\nLAB_0001945b:\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = (int *)((int)piVar19 + 1);\n            *(char *)piVar19 = *(char *)(param_2[1] + 0x18);\n          }" if (parenthesized_expression "(((DAT_0003fb1c == 0) || (*(char *)(param_2[1] + 0x18) == '\0')) ||\n             (*(char *)(param_1[1] + 0x18) != '\0'))" ( (binary_expression "((DAT_0003fb1c == 0) || (*(char *)(param_2[1] + 0x18) == '\0')) ||\n             (*(char *)(param_1[1] + 0x18) != '\0')" (parenthesized_expression "((DAT_0003fb1c == 0) || (*(char *)(param_2[1] + 0x18) == '\0'))" ( (binary_expression "(DAT_0003fb1c == 0) || (*(char *)(param_2[1] + 0x18) == '\0')" (parenthesized_expression "(DAT_0003fb1c == 0)" ( (binary_expression "DAT_0003fb1c == 0" identifier == number_literal) )) || (parenthesized_expression "(*(char *)(param_2[1] + 0x18) == '\0')" ( (binary_expression "*(char *)(param_2[1] + 0x18) == '\0'" (pointer_expression "*(char *)(param_2[1] + 0x18)" * (cast_expression "(char *)(param_2[1] + 0x18)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2[1] + 0x18)" ( (binary_expression "param_2[1] + 0x18" (subscript_expression "param_2[1]" identifier [ number_literal ]) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) ))) )) || (parenthesized_expression "(*(char *)(param_1[1] + 0x18) != '\0')" ( (binary_expression "*(char *)(param_1[1] + 0x18) != '\0'" (pointer_expression "*(char *)(param_1[1] + 0x18)" * (cast_expression "(char *)(param_1[1] + 0x18)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[1] + 0x18)" ( (binary_expression "param_1[1] + 0x18" (subscript_expression "param_1[1]" identifier [ number_literal ]) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\nLAB_00019203:\n            if (pcVar22 == (char *)0x0) goto LAB_0001926f;\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = piVar19;\n          }" { (labeled_statement "LAB_00019203:\n            if (pcVar22 == (char *)0x0) goto LAB_0001926f;" statement_identifier : (if_statement "if (pcVar22 == (char *)0x0) goto LAB_0001926f;" if (parenthesized_expression "(pcVar22 == (char *)0x0)" ( (binary_expression "pcVar22 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0001926f;" goto statement_identifier ;))) (expression_statement "sVar17 = strlen(pcVar22);" (assignment_expression "sVar17 = strlen(pcVar22)" identifier = (call_expression "strlen(pcVar22)" identifier (argument_list "(pcVar22)" ( identifier )))) ;) (expression_statement "sVar18 = strlen((char *)piVar31);" (assignment_expression "sVar18 = strlen((char *)piVar31)" identifier = (call_expression "strlen((char *)piVar31)" identifier (argument_list "((char *)piVar31)" ( (cast_expression "(char *)piVar31" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);" (assignment_expression "piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18)" identifier = (cast_expression "(int *)xmalloc(sVar17 + 2 + sVar18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(sVar17 + 2 + sVar18)" identifier (argument_list "(sVar17 + 2 + sVar18)" ( (binary_expression "sVar17 + 2 + sVar18" (binary_expression "sVar17 + 2" identifier + number_literal) + identifier) ))))) ;) (expression_statement "local_5c = piVar19;" (assignment_expression "local_5c = piVar19" identifier = identifier) ;) }) (else_clause "else {\nLAB_0001945b:\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = (int *)((int)piVar19 + 1);\n            *(char *)piVar19 = *(char *)(param_2[1] + 0x18);\n          }" else (compound_statement "{\nLAB_0001945b:\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = (int *)((int)piVar19 + 1);\n            *(char *)piVar19 = *(char *)(param_2[1] + 0x18);\n          }" { (labeled_statement "LAB_0001945b:\n            sVar17 = strlen(pcVar22);" statement_identifier : (expression_statement "sVar17 = strlen(pcVar22);" (assignment_expression "sVar17 = strlen(pcVar22)" identifier = (call_expression "strlen(pcVar22)" identifier (argument_list "(pcVar22)" ( identifier )))) ;)) (expression_statement "sVar18 = strlen((char *)piVar31);" (assignment_expression "sVar18 = strlen((char *)piVar31)" identifier = (call_expression "strlen((char *)piVar31)" identifier (argument_list "((char *)piVar31)" ( (cast_expression "(char *)piVar31" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);" (assignment_expression "piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18)" identifier = (cast_expression "(int *)xmalloc(sVar17 + 2 + sVar18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(sVar17 + 2 + sVar18)" identifier (argument_list "(sVar17 + 2 + sVar18)" ( (binary_expression "sVar17 + 2 + sVar18" (binary_expression "sVar17 + 2" identifier + number_literal) + identifier) ))))) ;) (expression_statement "local_5c = (int *)((int)piVar19 + 1);" (assignment_expression "local_5c = (int *)((int)piVar19 + 1)" identifier = (cast_expression "(int *)((int)piVar19 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar19 + 1)" ( (binary_expression "(int)piVar19 + 1" (cast_expression "(int)piVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(char *)piVar19 = *(char *)(param_2[1] + 0x18);" (assignment_expression "*(char *)piVar19 = *(char *)(param_2[1] + 0x18)" (pointer_expression "*(char *)piVar19" * (cast_expression "(char *)piVar19" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = (pointer_expression "*(char *)(param_2[1] + 0x18)" * (cast_expression "(char *)(param_2[1] + 0x18)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2[1] + 0x18)" ( (binary_expression "param_2[1] + 0x18" (subscript_expression "param_2[1]" identifier [ number_literal ]) + number_literal) ))))) ;) }))) (expression_statement "pcVar22 = DAT_0003fad8;" (assignment_expression "pcVar22 = DAT_0003fad8" identifier = identifier) ;) (if_statement "if (DAT_0003fad8 != (char *)0x0) {\n            strcpy((char *)local_5c,DAT_0003fad8);\n            sVar17 = strlen(pcVar22);\n            local_5c = (int *)((int)local_5c + sVar17);\n          }" if (parenthesized_expression "(DAT_0003fad8 != (char *)0x0)" ( (binary_expression "DAT_0003fad8 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            strcpy((char *)local_5c,DAT_0003fad8);\n            sVar17 = strlen(pcVar22);\n            local_5c = (int *)((int)local_5c + sVar17);\n          }" { (expression_statement "strcpy((char *)local_5c,DAT_0003fad8);" (call_expression "strcpy((char *)local_5c,DAT_0003fad8)" identifier (argument_list "((char *)local_5c,DAT_0003fad8)" ( (cast_expression "(char *)local_5c" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;) (expression_statement "sVar17 = strlen(pcVar22);" (assignment_expression "sVar17 = strlen(pcVar22)" identifier = (call_expression "strlen(pcVar22)" identifier (argument_list "(pcVar22)" ( identifier )))) ;) (expression_statement "local_5c = (int *)((int)local_5c + sVar17);" (assignment_expression "local_5c = (int *)((int)local_5c + sVar17)" identifier = (cast_expression "(int *)((int)local_5c + sVar17)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_5c + sVar17)" ( (binary_expression "(int)local_5c + sVar17" (cast_expression "(int)local_5c" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) })) (expression_statement "strcpy((char *)local_5c,(char *)piVar31);" (call_expression "strcpy((char *)local_5c,(char *)piVar31)" identifier (argument_list "((char *)local_5c,(char *)piVar31)" ( (cast_expression "(char *)local_5c" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(char *)piVar31" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (expression_statement "piVar3[1] = (int)piVar19;" (assignment_expression "piVar3[1] = (int)piVar19" (subscript_expression "piVar3[1]" identifier [ number_literal ]) = (cast_expression "(int)piVar19" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar31 = piVar19;" (assignment_expression "piVar31 = piVar19" identifier = identifier) ;) }))) (labeled_statement "LAB_0001926f:\n        if (DAT_0003fb78 == 7) goto LAB_000192f8;" statement_identifier : (if_statement "if (DAT_0003fb78 == 7) goto LAB_000192f8;" if (parenthesized_expression "(DAT_0003fb78 == 7)" ( (binary_expression "DAT_0003fb78 == 7" identifier == number_literal) )) (goto_statement "goto LAB_000192f8;" goto statement_identifier ;))) (if_statement "if ((uVar26 & 0x20) == 0) {\n          if (((uVar26 & 0x100) == 0) ||\n             ((*(byte *)(**(int **)(piVar3[4] + 0x9c) + 0xc) & 0x20) == 0)) {\n            if ((((uVar35 >> 5 & 0x42) == 0) &&\n                (((uVar26 & 0x82) != 0 || ((*(byte *)(piVar3[4] + 0x15) & 0x10) != 0)))) ||\n               (iVar9 = bfd_decode_symclass(piVar3), iVar9 == 0x49)) {\nLAB_00019528:\n              iVar9 = FUN_00017880();\n              if (iVar9 == 0) goto LAB_000192e0;\n            }\n            else if ((((uVar26 & 0x82) == 0) && (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8)) &&\n                    ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)) {\n              if ((uVar26 & 4) == 0) {\n                if (((*(int *)(param_1[1] + 4) != 2) ||\n                    (iVar9 = *(int *)(piVar3[4] + 0x8c), iVar9 == 0)) ||\n                   (*(int *)(iVar9 + 0x24) == 0)) {\n                  if ((DAT_0003fb78 == 3) || (DAT_0003fb74 == 2)) goto LAB_000192f8;\n                  if (DAT_0003fb74 == 1) {\n                    iVar9 = bfd_is_local_label(param_1,piVar3,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }\n                goto LAB_00019528;\n              }\n              iVar9 = DAT_0003fb28;\n              if (1 < DAT_0003fb78 - 2U) {\njoined_r0x0001a13f:\n                if (iVar9 == 0) goto LAB_00019528;\n              }\n            }\n            else if (DAT_0003fb78 != 3) goto LAB_00019528;\n          }\n          else {\n            iVar9 = FUN_00017880();\n            if (iVar9 != 0) {\n              uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",\n                                 5,iVar9);\n              FUN_0002b6d0(uVar10,piVar31);\n              DAT_0003fb88 = 1;\n            }\nLAB_000192e0:\n            iVar9 = FUN_00017880();\n            if (iVar9 == 0) goto LAB_0001931c;\n          }\nLAB_000192f8:\n          if (((DAT_0003fadc != 0) && ((uVar26 & 0x4000) != 0)) ||\n             (iVar9 = FUN_00017880(), iVar9 != 0)) goto LAB_0001931c;\n        }\n        else {\n          iVar9 = FUN_00017880();\n          if (iVar9 != 0) {\n            uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",5)\n            ;\n            FUN_0002b6d0(uVar10,piVar31);\n            DAT_0003fb88 = 1;\n          }\nLAB_0001931c:\n          iVar9 = FUN_000178f0();\n          if (iVar9 == 0) {\n            if (((uVar26 & 2) != 0) && ((DAT_0003fae0 != 0 || (iVar9 = FUN_00017880(), iVar9 != 0)))\n               ) {\n              piVar3[3] = piVar3[3] & 0xfffffffdU | 0x80;\n            }\n            if (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8) {\n              if (((uVar26 & 0x82) != 0) &&\n                 (((iVar9 = FUN_00017880(), iVar9 != 0 ||\n                   ((iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0)))) ||\n                  ((DAT_0003fb10 != 0 &&\n                   ((((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)\n                    ))))))) {\n                piVar3[3] = piVar3[3] & 0xffffff7dU | 1;\n              }\n              if (((uVar26 & 1) != 0) && (iVar9 = FUN_00017880(), iVar9 != 0)) {\n                piVar3[3] = piVar3[3] & 0xfffffffeU | 2;\n              }\n            }\n            piVar15[local_70] = (int)piVar3;\n            local_70 = local_70 + 1;\n          }\n        }" if (parenthesized_expression "((uVar26 & 0x20) == 0)" ( (binary_expression "(uVar26 & 0x20) == 0" (parenthesized_expression "(uVar26 & 0x20)" ( (binary_expression "uVar26 & 0x20" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n          if (((uVar26 & 0x100) == 0) ||\n             ((*(byte *)(**(int **)(piVar3[4] + 0x9c) + 0xc) & 0x20) == 0)) {\n            if ((((uVar35 >> 5 & 0x42) == 0) &&\n                (((uVar26 & 0x82) != 0 || ((*(byte *)(piVar3[4] + 0x15) & 0x10) != 0)))) ||\n               (iVar9 = bfd_decode_symclass(piVar3), iVar9 == 0x49)) {\nLAB_00019528:\n              iVar9 = FUN_00017880();\n              if (iVar9 == 0) goto LAB_000192e0;\n            }\n            else if ((((uVar26 & 0x82) == 0) && (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8)) &&\n                    ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)) {\n              if ((uVar26 & 4) == 0) {\n                if (((*(int *)(param_1[1] + 4) != 2) ||\n                    (iVar9 = *(int *)(piVar3[4] + 0x8c), iVar9 == 0)) ||\n                   (*(int *)(iVar9 + 0x24) == 0)) {\n                  if ((DAT_0003fb78 == 3) || (DAT_0003fb74 == 2)) goto LAB_000192f8;\n                  if (DAT_0003fb74 == 1) {\n                    iVar9 = bfd_is_local_label(param_1,piVar3,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }\n                goto LAB_00019528;\n              }\n              iVar9 = DAT_0003fb28;\n              if (1 < DAT_0003fb78 - 2U) {\njoined_r0x0001a13f:\n                if (iVar9 == 0) goto LAB_00019528;\n              }\n            }\n            else if (DAT_0003fb78 != 3) goto LAB_00019528;\n          }\n          else {\n            iVar9 = FUN_00017880();\n            if (iVar9 != 0) {\n              uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",\n                                 5,iVar9);\n              FUN_0002b6d0(uVar10,piVar31);\n              DAT_0003fb88 = 1;\n            }\nLAB_000192e0:\n            iVar9 = FUN_00017880();\n            if (iVar9 == 0) goto LAB_0001931c;\n          }\nLAB_000192f8:\n          if (((DAT_0003fadc != 0) && ((uVar26 & 0x4000) != 0)) ||\n             (iVar9 = FUN_00017880(), iVar9 != 0)) goto LAB_0001931c;\n        }" { (if_statement "if (((uVar26 & 0x100) == 0) ||\n             ((*(byte *)(**(int **)(piVar3[4] + 0x9c) + 0xc) & 0x20) == 0)) {\n            if ((((uVar35 >> 5 & 0x42) == 0) &&\n                (((uVar26 & 0x82) != 0 || ((*(byte *)(piVar3[4] + 0x15) & 0x10) != 0)))) ||\n               (iVar9 = bfd_decode_symclass(piVar3), iVar9 == 0x49)) {\nLAB_00019528:\n              iVar9 = FUN_00017880();\n              if (iVar9 == 0) goto LAB_000192e0;\n            }\n            else if ((((uVar26 & 0x82) == 0) && (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8)) &&\n                    ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)) {\n              if ((uVar26 & 4) == 0) {\n                if (((*(int *)(param_1[1] + 4) != 2) ||\n                    (iVar9 = *(int *)(piVar3[4] + 0x8c), iVar9 == 0)) ||\n                   (*(int *)(iVar9 + 0x24) == 0)) {\n                  if ((DAT_0003fb78 == 3) || (DAT_0003fb74 == 2)) goto LAB_000192f8;\n                  if (DAT_0003fb74 == 1) {\n                    iVar9 = bfd_is_local_label(param_1,piVar3,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }\n                goto LAB_00019528;\n              }\n              iVar9 = DAT_0003fb28;\n              if (1 < DAT_0003fb78 - 2U) {\njoined_r0x0001a13f:\n                if (iVar9 == 0) goto LAB_00019528;\n              }\n            }\n            else if (DAT_0003fb78 != 3) goto LAB_00019528;\n          }\n          else {\n            iVar9 = FUN_00017880();\n            if (iVar9 != 0) {\n              uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",\n                                 5,iVar9);\n              FUN_0002b6d0(uVar10,piVar31);\n              DAT_0003fb88 = 1;\n            }\nLAB_000192e0:\n            iVar9 = FUN_00017880();\n            if (iVar9 == 0) goto LAB_0001931c;\n          }" if (parenthesized_expression "(((uVar26 & 0x100) == 0) ||\n             ((*(byte *)(**(int **)(piVar3[4] + 0x9c) + 0xc) & 0x20) == 0))" ( (binary_expression "((uVar26 & 0x100) == 0) ||\n             ((*(byte *)(**(int **)(piVar3[4] + 0x9c) + 0xc) & 0x20) == 0)" (parenthesized_expression "((uVar26 & 0x100) == 0)" ( (binary_expression "(uVar26 & 0x100) == 0" (parenthesized_expression "(uVar26 & 0x100)" ( (binary_expression "uVar26 & 0x100" identifier & number_literal) )) == number_literal) )) || (parenthesized_expression "((*(byte *)(**(int **)(piVar3[4] + 0x9c) + 0xc) & 0x20) == 0)" ( (binary_expression "(*(byte *)(**(int **)(piVar3[4] + 0x9c) + 0xc) & 0x20) == 0" (parenthesized_expression "(*(byte *)(**(int **)(piVar3[4] + 0x9c) + 0xc) & 0x20)" ( (binary_expression "*(byte *)(**(int **)(piVar3[4] + 0x9c) + 0xc) & 0x20" (pointer_expression "*(byte *)(**(int **)(piVar3[4] + 0x9c) + 0xc)" * (cast_expression "(byte *)(**(int **)(piVar3[4] + 0x9c) + 0xc)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(**(int **)(piVar3[4] + 0x9c) + 0xc)" ( (binary_expression "**(int **)(piVar3[4] + 0x9c) + 0xc" (pointer_expression "**(int **)(piVar3[4] + 0x9c)" * (pointer_expression "*(int **)(piVar3[4] + 0x9c)" * (cast_expression "(int **)(piVar3[4] + 0x9c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar3[4] + 0x9c)" ( (binary_expression "piVar3[4] + 0x9c" (subscript_expression "piVar3[4]" identifier [ number_literal ]) + number_literal) ))))) + number_literal) )))) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n            if ((((uVar35 >> 5 & 0x42) == 0) &&\n                (((uVar26 & 0x82) != 0 || ((*(byte *)(piVar3[4] + 0x15) & 0x10) != 0)))) ||\n               (iVar9 = bfd_decode_symclass(piVar3), iVar9 == 0x49)) {\nLAB_00019528:\n              iVar9 = FUN_00017880();\n              if (iVar9 == 0) goto LAB_000192e0;\n            }\n            else if ((((uVar26 & 0x82) == 0) && (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8)) &&\n                    ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)) {\n              if ((uVar26 & 4) == 0) {\n                if (((*(int *)(param_1[1] + 4) != 2) ||\n                    (iVar9 = *(int *)(piVar3[4] + 0x8c), iVar9 == 0)) ||\n                   (*(int *)(iVar9 + 0x24) == 0)) {\n                  if ((DAT_0003fb78 == 3) || (DAT_0003fb74 == 2)) goto LAB_000192f8;\n                  if (DAT_0003fb74 == 1) {\n                    iVar9 = bfd_is_local_label(param_1,piVar3,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }\n                goto LAB_00019528;\n              }\n              iVar9 = DAT_0003fb28;\n              if (1 < DAT_0003fb78 - 2U) {\njoined_r0x0001a13f:\n                if (iVar9 == 0) goto LAB_00019528;\n              }\n            }\n            else if (DAT_0003fb78 != 3) goto LAB_00019528;\n          }" { (if_statement "if ((((uVar35 >> 5 & 0x42) == 0) &&\n                (((uVar26 & 0x82) != 0 || ((*(byte *)(piVar3[4] + 0x15) & 0x10) != 0)))) ||\n               (iVar9 = bfd_decode_symclass(piVar3), iVar9 == 0x49)) {\nLAB_00019528:\n              iVar9 = FUN_00017880();\n              if (iVar9 == 0) goto LAB_000192e0;\n            }\n            else if ((((uVar26 & 0x82) == 0) && (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8)) &&\n                    ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)) {\n              if ((uVar26 & 4) == 0) {\n                if (((*(int *)(param_1[1] + 4) != 2) ||\n                    (iVar9 = *(int *)(piVar3[4] + 0x8c), iVar9 == 0)) ||\n                   (*(int *)(iVar9 + 0x24) == 0)) {\n                  if ((DAT_0003fb78 == 3) || (DAT_0003fb74 == 2)) goto LAB_000192f8;\n                  if (DAT_0003fb74 == 1) {\n                    iVar9 = bfd_is_local_label(param_1,piVar3,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }\n                goto LAB_00019528;\n              }\n              iVar9 = DAT_0003fb28;\n              if (1 < DAT_0003fb78 - 2U) {\njoined_r0x0001a13f:\n                if (iVar9 == 0) goto LAB_00019528;\n              }\n            }\n            else if (DAT_0003fb78 != 3) goto LAB_00019528;" if (parenthesized_expression "((((uVar35 >> 5 & 0x42) == 0) &&\n                (((uVar26 & 0x82) != 0 || ((*(byte *)(piVar3[4] + 0x15) & 0x10) != 0)))) ||\n               (iVar9 = bfd_decode_symclass(piVar3), iVar9 == 0x49))" ( (binary_expression "(((uVar35 >> 5 & 0x42) == 0) &&\n                (((uVar26 & 0x82) != 0 || ((*(byte *)(piVar3[4] + 0x15) & 0x10) != 0)))) ||\n               (iVar9 = bfd_decode_symclass(piVar3), iVar9 == 0x49)" (parenthesized_expression "(((uVar35 >> 5 & 0x42) == 0) &&\n                (((uVar26 & 0x82) != 0 || ((*(byte *)(piVar3[4] + 0x15) & 0x10) != 0))))" ( (binary_expression "((uVar35 >> 5 & 0x42) == 0) &&\n                (((uVar26 & 0x82) != 0 || ((*(byte *)(piVar3[4] + 0x15) & 0x10) != 0)))" (parenthesized_expression "((uVar35 >> 5 & 0x42) == 0)" ( (binary_expression "(uVar35 >> 5 & 0x42) == 0" (parenthesized_expression "(uVar35 >> 5 & 0x42)" ( (binary_expression "uVar35 >> 5 & 0x42" (binary_expression "uVar35 >> 5" identifier >> number_literal) & number_literal) )) == number_literal) )) && (parenthesized_expression "(((uVar26 & 0x82) != 0 || ((*(byte *)(piVar3[4] + 0x15) & 0x10) != 0)))" ( (parenthesized_expression "((uVar26 & 0x82) != 0 || ((*(byte *)(piVar3[4] + 0x15) & 0x10) != 0))" ( (binary_expression "(uVar26 & 0x82) != 0 || ((*(byte *)(piVar3[4] + 0x15) & 0x10) != 0)" (binary_expression "(uVar26 & 0x82) != 0" (parenthesized_expression "(uVar26 & 0x82)" ( (binary_expression "uVar26 & 0x82" identifier & number_literal) )) != number_literal) || (parenthesized_expression "((*(byte *)(piVar3[4] + 0x15) & 0x10) != 0)" ( (binary_expression "(*(byte *)(piVar3[4] + 0x15) & 0x10) != 0" (parenthesized_expression "(*(byte *)(piVar3[4] + 0x15) & 0x10)" ( (binary_expression "*(byte *)(piVar3[4] + 0x15) & 0x10" (pointer_expression "*(byte *)(piVar3[4] + 0x15)" * (cast_expression "(byte *)(piVar3[4] + 0x15)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar3[4] + 0x15)" ( (binary_expression "piVar3[4] + 0x15" (subscript_expression "piVar3[4]" identifier [ number_literal ]) + number_literal) )))) & number_literal) )) != number_literal) ))) )) ))) )) || (parenthesized_expression "(iVar9 = bfd_decode_symclass(piVar3), iVar9 == 0x49)" ( (comma_expression "iVar9 = bfd_decode_symclass(piVar3), iVar9 == 0x49" (assignment_expression "iVar9 = bfd_decode_symclass(piVar3)" identifier = (call_expression "bfd_decode_symclass(piVar3)" identifier (argument_list "(piVar3)" ( identifier )))) , (binary_expression "iVar9 == 0x49" identifier == number_literal)) ))) )) (compound_statement "{\nLAB_00019528:\n              iVar9 = FUN_00017880();\n              if (iVar9 == 0) goto LAB_000192e0;\n            }" { (labeled_statement "LAB_00019528:\n              iVar9 = FUN_00017880();" statement_identifier : (expression_statement "iVar9 = FUN_00017880();" (assignment_expression "iVar9 = FUN_00017880()" identifier = (call_expression "FUN_00017880()" identifier (argument_list "()" ( )))) ;)) (if_statement "if (iVar9 == 0) goto LAB_000192e0;" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000192e0;" goto statement_identifier ;)) }) (else_clause "else if ((((uVar26 & 0x82) == 0) && (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8)) &&\n                    ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)) {\n              if ((uVar26 & 4) == 0) {\n                if (((*(int *)(param_1[1] + 4) != 2) ||\n                    (iVar9 = *(int *)(piVar3[4] + 0x8c), iVar9 == 0)) ||\n                   (*(int *)(iVar9 + 0x24) == 0)) {\n                  if ((DAT_0003fb78 == 3) || (DAT_0003fb74 == 2)) goto LAB_000192f8;\n                  if (DAT_0003fb74 == 1) {\n                    iVar9 = bfd_is_local_label(param_1,piVar3,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }\n                goto LAB_00019528;\n              }\n              iVar9 = DAT_0003fb28;\n              if (1 < DAT_0003fb78 - 2U) {\njoined_r0x0001a13f:\n                if (iVar9 == 0) goto LAB_00019528;\n              }\n            }\n            else if (DAT_0003fb78 != 3) goto LAB_00019528;" else (if_statement "if ((((uVar26 & 0x82) == 0) && (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8)) &&\n                    ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)) {\n              if ((uVar26 & 4) == 0) {\n                if (((*(int *)(param_1[1] + 4) != 2) ||\n                    (iVar9 = *(int *)(piVar3[4] + 0x8c), iVar9 == 0)) ||\n                   (*(int *)(iVar9 + 0x24) == 0)) {\n                  if ((DAT_0003fb78 == 3) || (DAT_0003fb74 == 2)) goto LAB_000192f8;\n                  if (DAT_0003fb74 == 1) {\n                    iVar9 = bfd_is_local_label(param_1,piVar3,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }\n                goto LAB_00019528;\n              }\n              iVar9 = DAT_0003fb28;\n              if (1 < DAT_0003fb78 - 2U) {\njoined_r0x0001a13f:\n                if (iVar9 == 0) goto LAB_00019528;\n              }\n            }\n            else if (DAT_0003fb78 != 3) goto LAB_00019528;" if (parenthesized_expression "((((uVar26 & 0x82) == 0) && (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8)) &&\n                    ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0))" ( (binary_expression "(((uVar26 & 0x82) == 0) && (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8)) &&\n                    ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)" (parenthesized_expression "(((uVar26 & 0x82) == 0) && (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8))" ( (binary_expression "((uVar26 & 0x82) == 0) && (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8)" (parenthesized_expression "((uVar26 & 0x82) == 0)" ( (binary_expression "(uVar26 & 0x82) == 0" (parenthesized_expression "(uVar26 & 0x82)" ( (binary_expression "uVar26 & 0x82" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "(puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8)" ( (binary_expression "puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8" identifier != (binary_expression "PTR__bfd_std_section_0003efc8 + 0xa8" identifier + number_literal)) ))) )) && (parenthesized_expression "((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)" ( (binary_expression "(*(byte *)(piVar3[4] + 0x15) & 0x10) == 0" (parenthesized_expression "(*(byte *)(piVar3[4] + 0x15) & 0x10)" ( (binary_expression "*(byte *)(piVar3[4] + 0x15) & 0x10" (pointer_expression "*(byte *)(piVar3[4] + 0x15)" * (cast_expression "(byte *)(piVar3[4] + 0x15)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar3[4] + 0x15)" ( (binary_expression "piVar3[4] + 0x15" (subscript_expression "piVar3[4]" identifier [ number_literal ]) + number_literal) )))) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n              if ((uVar26 & 4) == 0) {\n                if (((*(int *)(param_1[1] + 4) != 2) ||\n                    (iVar9 = *(int *)(piVar3[4] + 0x8c), iVar9 == 0)) ||\n                   (*(int *)(iVar9 + 0x24) == 0)) {\n                  if ((DAT_0003fb78 == 3) || (DAT_0003fb74 == 2)) goto LAB_000192f8;\n                  if (DAT_0003fb74 == 1) {\n                    iVar9 = bfd_is_local_label(param_1,piVar3,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }\n                goto LAB_00019528;\n              }\n              iVar9 = DAT_0003fb28;\n              if (1 < DAT_0003fb78 - 2U) {\njoined_r0x0001a13f:\n                if (iVar9 == 0) goto LAB_00019528;\n              }\n            }" { (if_statement "if ((uVar26 & 4) == 0) {\n                if (((*(int *)(param_1[1] + 4) != 2) ||\n                    (iVar9 = *(int *)(piVar3[4] + 0x8c), iVar9 == 0)) ||\n                   (*(int *)(iVar9 + 0x24) == 0)) {\n                  if ((DAT_0003fb78 == 3) || (DAT_0003fb74 == 2)) goto LAB_000192f8;\n                  if (DAT_0003fb74 == 1) {\n                    iVar9 = bfd_is_local_label(param_1,piVar3,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }\n                goto LAB_00019528;\n              }" if (parenthesized_expression "((uVar26 & 4) == 0)" ( (binary_expression "(uVar26 & 4) == 0" (parenthesized_expression "(uVar26 & 4)" ( (binary_expression "uVar26 & 4" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                if (((*(int *)(param_1[1] + 4) != 2) ||\n                    (iVar9 = *(int *)(piVar3[4] + 0x8c), iVar9 == 0)) ||\n                   (*(int *)(iVar9 + 0x24) == 0)) {\n                  if ((DAT_0003fb78 == 3) || (DAT_0003fb74 == 2)) goto LAB_000192f8;\n                  if (DAT_0003fb74 == 1) {\n                    iVar9 = bfd_is_local_label(param_1,piVar3,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }\n                goto LAB_00019528;\n              }" { (if_statement "if (((*(int *)(param_1[1] + 4) != 2) ||\n                    (iVar9 = *(int *)(piVar3[4] + 0x8c), iVar9 == 0)) ||\n                   (*(int *)(iVar9 + 0x24) == 0)) {\n                  if ((DAT_0003fb78 == 3) || (DAT_0003fb74 == 2)) goto LAB_000192f8;\n                  if (DAT_0003fb74 == 1) {\n                    iVar9 = bfd_is_local_label(param_1,piVar3,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }" if (parenthesized_expression "(((*(int *)(param_1[1] + 4) != 2) ||\n                    (iVar9 = *(int *)(piVar3[4] + 0x8c), iVar9 == 0)) ||\n                   (*(int *)(iVar9 + 0x24) == 0))" ( (binary_expression "((*(int *)(param_1[1] + 4) != 2) ||\n                    (iVar9 = *(int *)(piVar3[4] + 0x8c), iVar9 == 0)) ||\n                   (*(int *)(iVar9 + 0x24) == 0)" (parenthesized_expression "((*(int *)(param_1[1] + 4) != 2) ||\n                    (iVar9 = *(int *)(piVar3[4] + 0x8c), iVar9 == 0))" ( (binary_expression "(*(int *)(param_1[1] + 4) != 2) ||\n                    (iVar9 = *(int *)(piVar3[4] + 0x8c), iVar9 == 0)" (parenthesized_expression "(*(int *)(param_1[1] + 4) != 2)" ( (binary_expression "*(int *)(param_1[1] + 4) != 2" (pointer_expression "*(int *)(param_1[1] + 4)" * (cast_expression "(int *)(param_1[1] + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[1] + 4)" ( (binary_expression "param_1[1] + 4" (subscript_expression "param_1[1]" identifier [ number_literal ]) + number_literal) )))) != number_literal) )) || (parenthesized_expression "(iVar9 = *(int *)(piVar3[4] + 0x8c), iVar9 == 0)" ( (comma_expression "iVar9 = *(int *)(piVar3[4] + 0x8c), iVar9 == 0" (assignment_expression "iVar9 = *(int *)(piVar3[4] + 0x8c)" identifier = (pointer_expression "*(int *)(piVar3[4] + 0x8c)" * (cast_expression "(int *)(piVar3[4] + 0x8c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar3[4] + 0x8c)" ( (binary_expression "piVar3[4] + 0x8c" (subscript_expression "piVar3[4]" identifier [ number_literal ]) + number_literal) ))))) , (binary_expression "iVar9 == 0" identifier == number_literal)) ))) )) || (parenthesized_expression "(*(int *)(iVar9 + 0x24) == 0)" ( (binary_expression "*(int *)(iVar9 + 0x24) == 0" (pointer_expression "*(int *)(iVar9 + 0x24)" * (cast_expression "(int *)(iVar9 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x24)" ( (binary_expression "iVar9 + 0x24" identifier + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n                  if ((DAT_0003fb78 == 3) || (DAT_0003fb74 == 2)) goto LAB_000192f8;\n                  if (DAT_0003fb74 == 1) {\n                    iVar9 = bfd_is_local_label(param_1,piVar3,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }" { (if_statement "if ((DAT_0003fb78 == 3) || (DAT_0003fb74 == 2)) goto LAB_000192f8;" if (parenthesized_expression "((DAT_0003fb78 == 3) || (DAT_0003fb74 == 2))" ( (binary_expression "(DAT_0003fb78 == 3) || (DAT_0003fb74 == 2)" (parenthesized_expression "(DAT_0003fb78 == 3)" ( (binary_expression "DAT_0003fb78 == 3" identifier == number_literal) )) || (parenthesized_expression "(DAT_0003fb74 == 2)" ( (binary_expression "DAT_0003fb74 == 2" identifier == number_literal) ))) )) (goto_statement "goto LAB_000192f8;" goto statement_identifier ;)) (if_statement "if (DAT_0003fb74 == 1) {\n                    iVar9 = bfd_is_local_label(param_1,piVar3,0,0);\n                    goto joined_r0x0001a13f;\n                  }" if (parenthesized_expression "(DAT_0003fb74 == 1)" ( (binary_expression "DAT_0003fb74 == 1" identifier == number_literal) )) (compound_statement "{\n                    iVar9 = bfd_is_local_label(param_1,piVar3,0,0);\n                    goto joined_r0x0001a13f;\n                  }" { (expression_statement "iVar9 = bfd_is_local_label(param_1,piVar3,0,0);" (assignment_expression "iVar9 = bfd_is_local_label(param_1,piVar3,0,0)" identifier = (call_expression "bfd_is_local_label(param_1,piVar3,0,0)" identifier (argument_list "(param_1,piVar3,0,0)" ( identifier , identifier , number_literal , number_literal )))) ;) (goto_statement "goto joined_r0x0001a13f;" goto statement_identifier ;) })) })) (goto_statement "goto LAB_00019528;" goto statement_identifier ;) })) (expression_statement "iVar9 = DAT_0003fb28;" (assignment_expression "iVar9 = DAT_0003fb28" identifier = identifier) ;) (if_statement "if (1 < DAT_0003fb78 - 2U) {\njoined_r0x0001a13f:\n                if (iVar9 == 0) goto LAB_00019528;\n              }" if (parenthesized_expression "(1 < DAT_0003fb78 - 2U)" ( (binary_expression "1 < DAT_0003fb78 - 2U" number_literal < (binary_expression "DAT_0003fb78 - 2U" identifier - number_literal)) )) (compound_statement "{\njoined_r0x0001a13f:\n                if (iVar9 == 0) goto LAB_00019528;\n              }" { (labeled_statement "joined_r0x0001a13f:\n                if (iVar9 == 0) goto LAB_00019528;" statement_identifier : (if_statement "if (iVar9 == 0) goto LAB_00019528;" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00019528;" goto statement_identifier ;))) })) }) (else_clause "else if (DAT_0003fb78 != 3) goto LAB_00019528;" else (if_statement "if (DAT_0003fb78 != 3) goto LAB_00019528;" if (parenthesized_expression "(DAT_0003fb78 != 3)" ( (binary_expression "DAT_0003fb78 != 3" identifier != number_literal) )) (goto_statement "goto LAB_00019528;" goto statement_identifier ;)))))) }) (else_clause "else {\n            iVar9 = FUN_00017880();\n            if (iVar9 != 0) {\n              uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",\n                                 5,iVar9);\n              FUN_0002b6d0(uVar10,piVar31);\n              DAT_0003fb88 = 1;\n            }\nLAB_000192e0:\n            iVar9 = FUN_00017880();\n            if (iVar9 == 0) goto LAB_0001931c;\n          }" else (compound_statement "{\n            iVar9 = FUN_00017880();\n            if (iVar9 != 0) {\n              uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",\n                                 5,iVar9);\n              FUN_0002b6d0(uVar10,piVar31);\n              DAT_0003fb88 = 1;\n            }\nLAB_000192e0:\n            iVar9 = FUN_00017880();\n            if (iVar9 == 0) goto LAB_0001931c;\n          }" { (expression_statement "iVar9 = FUN_00017880();" (assignment_expression "iVar9 = FUN_00017880()" identifier = (call_expression "FUN_00017880()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar9 != 0) {\n              uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",\n                                 5,iVar9);\n              FUN_0002b6d0(uVar10,piVar31);\n              DAT_0003fb88 = 1;\n            }" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (compound_statement "{\n              uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",\n                                 5,iVar9);\n              FUN_0002b6d0(uVar10,piVar31);\n              DAT_0003fb88 = 1;\n            }" { (expression_statement "uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",\n                                 5,iVar9);" (assignment_expression "uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",\n                                 5,iVar9)" identifier = (call_expression "dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",\n                                 5,iVar9)" identifier (argument_list "(0,"not stripping symbol `%s\' because it is named in a relocation",\n                                 5,iVar9)" ( number_literal , (string_literal ""not stripping symbol `%s\' because it is named in a relocation"" " string_content escape_sequence string_content ") , number_literal , identifier )))) ;) (expression_statement "FUN_0002b6d0(uVar10,piVar31);" (call_expression "FUN_0002b6d0(uVar10,piVar31)" identifier (argument_list "(uVar10,piVar31)" ( identifier , identifier ))) ;) (expression_statement "DAT_0003fb88 = 1;" (assignment_expression "DAT_0003fb88 = 1" identifier = number_literal) ;) })) (labeled_statement "LAB_000192e0:\n            iVar9 = FUN_00017880();" statement_identifier : (expression_statement "iVar9 = FUN_00017880();" (assignment_expression "iVar9 = FUN_00017880()" identifier = (call_expression "FUN_00017880()" identifier (argument_list "()" ( )))) ;)) (if_statement "if (iVar9 == 0) goto LAB_0001931c;" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001931c;" goto statement_identifier ;)) }))) (labeled_statement "LAB_000192f8:\n          if (((DAT_0003fadc != 0) && ((uVar26 & 0x4000) != 0)) ||\n             (iVar9 = FUN_00017880(), iVar9 != 0)) goto LAB_0001931c;" statement_identifier : (if_statement "if (((DAT_0003fadc != 0) && ((uVar26 & 0x4000) != 0)) ||\n             (iVar9 = FUN_00017880(), iVar9 != 0)) goto LAB_0001931c;" if (parenthesized_expression "(((DAT_0003fadc != 0) && ((uVar26 & 0x4000) != 0)) ||\n             (iVar9 = FUN_00017880(), iVar9 != 0))" ( (binary_expression "((DAT_0003fadc != 0) && ((uVar26 & 0x4000) != 0)) ||\n             (iVar9 = FUN_00017880(), iVar9 != 0)" (parenthesized_expression "((DAT_0003fadc != 0) && ((uVar26 & 0x4000) != 0))" ( (binary_expression "(DAT_0003fadc != 0) && ((uVar26 & 0x4000) != 0)" (parenthesized_expression "(DAT_0003fadc != 0)" ( (binary_expression "DAT_0003fadc != 0" identifier != number_literal) )) && (parenthesized_expression "((uVar26 & 0x4000) != 0)" ( (binary_expression "(uVar26 & 0x4000) != 0" (parenthesized_expression "(uVar26 & 0x4000)" ( (binary_expression "uVar26 & 0x4000" identifier & number_literal) )) != number_literal) ))) )) || (parenthesized_expression "(iVar9 = FUN_00017880(), iVar9 != 0)" ( (comma_expression "iVar9 = FUN_00017880(), iVar9 != 0" (assignment_expression "iVar9 = FUN_00017880()" identifier = (call_expression "FUN_00017880()" identifier (argument_list "()" ( )))) , (binary_expression "iVar9 != 0" identifier != number_literal)) ))) )) (goto_statement "goto LAB_0001931c;" goto statement_identifier ;))) }) (else_clause "else {\n          iVar9 = FUN_00017880();\n          if (iVar9 != 0) {\n            uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",5)\n            ;\n            FUN_0002b6d0(uVar10,piVar31);\n            DAT_0003fb88 = 1;\n          }\nLAB_0001931c:\n          iVar9 = FUN_000178f0();\n          if (iVar9 == 0) {\n            if (((uVar26 & 2) != 0) && ((DAT_0003fae0 != 0 || (iVar9 = FUN_00017880(), iVar9 != 0)))\n               ) {\n              piVar3[3] = piVar3[3] & 0xfffffffdU | 0x80;\n            }\n            if (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8) {\n              if (((uVar26 & 0x82) != 0) &&\n                 (((iVar9 = FUN_00017880(), iVar9 != 0 ||\n                   ((iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0)))) ||\n                  ((DAT_0003fb10 != 0 &&\n                   ((((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)\n                    ))))))) {\n                piVar3[3] = piVar3[3] & 0xffffff7dU | 1;\n              }\n              if (((uVar26 & 1) != 0) && (iVar9 = FUN_00017880(), iVar9 != 0)) {\n                piVar3[3] = piVar3[3] & 0xfffffffeU | 2;\n              }\n            }\n            piVar15[local_70] = (int)piVar3;\n            local_70 = local_70 + 1;\n          }\n        }" else (compound_statement "{\n          iVar9 = FUN_00017880();\n          if (iVar9 != 0) {\n            uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",5)\n            ;\n            FUN_0002b6d0(uVar10,piVar31);\n            DAT_0003fb88 = 1;\n          }\nLAB_0001931c:\n          iVar9 = FUN_000178f0();\n          if (iVar9 == 0) {\n            if (((uVar26 & 2) != 0) && ((DAT_0003fae0 != 0 || (iVar9 = FUN_00017880(), iVar9 != 0)))\n               ) {\n              piVar3[3] = piVar3[3] & 0xfffffffdU | 0x80;\n            }\n            if (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8) {\n              if (((uVar26 & 0x82) != 0) &&\n                 (((iVar9 = FUN_00017880(), iVar9 != 0 ||\n                   ((iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0)))) ||\n                  ((DAT_0003fb10 != 0 &&\n                   ((((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)\n                    ))))))) {\n                piVar3[3] = piVar3[3] & 0xffffff7dU | 1;\n              }\n              if (((uVar26 & 1) != 0) && (iVar9 = FUN_00017880(), iVar9 != 0)) {\n                piVar3[3] = piVar3[3] & 0xfffffffeU | 2;\n              }\n            }\n            piVar15[local_70] = (int)piVar3;\n            local_70 = local_70 + 1;\n          }\n        }" { (expression_statement "iVar9 = FUN_00017880();" (assignment_expression "iVar9 = FUN_00017880()" identifier = (call_expression "FUN_00017880()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar9 != 0) {\n            uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",5)\n            ;\n            FUN_0002b6d0(uVar10,piVar31);\n            DAT_0003fb88 = 1;\n          }" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (compound_statement "{\n            uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",5)\n            ;\n            FUN_0002b6d0(uVar10,piVar31);\n            DAT_0003fb88 = 1;\n          }" { (expression_statement "uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",5)\n            ;" (assignment_expression "uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",5)" identifier = (call_expression "dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",5)" identifier (argument_list "(0,"not stripping symbol `%s\' because it is named in a relocation",5)" ( number_literal , (string_literal ""not stripping symbol `%s\' because it is named in a relocation"" " string_content escape_sequence string_content ") , number_literal )))) ;) (expression_statement "FUN_0002b6d0(uVar10,piVar31);" (call_expression "FUN_0002b6d0(uVar10,piVar31)" identifier (argument_list "(uVar10,piVar31)" ( identifier , identifier ))) ;) (expression_statement "DAT_0003fb88 = 1;" (assignment_expression "DAT_0003fb88 = 1" identifier = number_literal) ;) })) (labeled_statement "LAB_0001931c:\n          iVar9 = FUN_000178f0();" statement_identifier : (expression_statement "iVar9 = FUN_000178f0();" (assignment_expression "iVar9 = FUN_000178f0()" identifier = (call_expression "FUN_000178f0()" identifier (argument_list "()" ( )))) ;)) (if_statement "if (iVar9 == 0) {\n            if (((uVar26 & 2) != 0) && ((DAT_0003fae0 != 0 || (iVar9 = FUN_00017880(), iVar9 != 0)))\n               ) {\n              piVar3[3] = piVar3[3] & 0xfffffffdU | 0x80;\n            }\n            if (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8) {\n              if (((uVar26 & 0x82) != 0) &&\n                 (((iVar9 = FUN_00017880(), iVar9 != 0 ||\n                   ((iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0)))) ||\n                  ((DAT_0003fb10 != 0 &&\n                   ((((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)\n                    ))))))) {\n                piVar3[3] = piVar3[3] & 0xffffff7dU | 1;\n              }\n              if (((uVar26 & 1) != 0) && (iVar9 = FUN_00017880(), iVar9 != 0)) {\n                piVar3[3] = piVar3[3] & 0xfffffffeU | 2;\n              }\n            }\n            piVar15[local_70] = (int)piVar3;\n            local_70 = local_70 + 1;\n          }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n            if (((uVar26 & 2) != 0) && ((DAT_0003fae0 != 0 || (iVar9 = FUN_00017880(), iVar9 != 0)))\n               ) {\n              piVar3[3] = piVar3[3] & 0xfffffffdU | 0x80;\n            }\n            if (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8) {\n              if (((uVar26 & 0x82) != 0) &&\n                 (((iVar9 = FUN_00017880(), iVar9 != 0 ||\n                   ((iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0)))) ||\n                  ((DAT_0003fb10 != 0 &&\n                   ((((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)\n                    ))))))) {\n                piVar3[3] = piVar3[3] & 0xffffff7dU | 1;\n              }\n              if (((uVar26 & 1) != 0) && (iVar9 = FUN_00017880(), iVar9 != 0)) {\n                piVar3[3] = piVar3[3] & 0xfffffffeU | 2;\n              }\n            }\n            piVar15[local_70] = (int)piVar3;\n            local_70 = local_70 + 1;\n          }" { (if_statement "if (((uVar26 & 2) != 0) && ((DAT_0003fae0 != 0 || (iVar9 = FUN_00017880(), iVar9 != 0)))\n               ) {\n              piVar3[3] = piVar3[3] & 0xfffffffdU | 0x80;\n            }" if (parenthesized_expression "(((uVar26 & 2) != 0) && ((DAT_0003fae0 != 0 || (iVar9 = FUN_00017880(), iVar9 != 0)))\n               )" ( (binary_expression "((uVar26 & 2) != 0) && ((DAT_0003fae0 != 0 || (iVar9 = FUN_00017880(), iVar9 != 0)))" (parenthesized_expression "((uVar26 & 2) != 0)" ( (binary_expression "(uVar26 & 2) != 0" (parenthesized_expression "(uVar26 & 2)" ( (binary_expression "uVar26 & 2" identifier & number_literal) )) != number_literal) )) && (parenthesized_expression "((DAT_0003fae0 != 0 || (iVar9 = FUN_00017880(), iVar9 != 0)))" ( (parenthesized_expression "(DAT_0003fae0 != 0 || (iVar9 = FUN_00017880(), iVar9 != 0))" ( (binary_expression "DAT_0003fae0 != 0 || (iVar9 = FUN_00017880(), iVar9 != 0)" (binary_expression "DAT_0003fae0 != 0" identifier != number_literal) || (parenthesized_expression "(iVar9 = FUN_00017880(), iVar9 != 0)" ( (comma_expression "iVar9 = FUN_00017880(), iVar9 != 0" (assignment_expression "iVar9 = FUN_00017880()" identifier = (call_expression "FUN_00017880()" identifier (argument_list "()" ( )))) , (binary_expression "iVar9 != 0" identifier != number_literal)) ))) )) ))) )) (compound_statement "{\n              piVar3[3] = piVar3[3] & 0xfffffffdU | 0x80;\n            }" { (expression_statement "piVar3[3] = piVar3[3] & 0xfffffffdU | 0x80;" (assignment_expression "piVar3[3] = piVar3[3] & 0xfffffffdU | 0x80" (subscript_expression "piVar3[3]" identifier [ number_literal ]) = (binary_expression "piVar3[3] & 0xfffffffdU | 0x80" (binary_expression "piVar3[3] & 0xfffffffdU" (subscript_expression "piVar3[3]" identifier [ number_literal ]) & number_literal) | number_literal)) ;) })) (if_statement "if (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8) {\n              if (((uVar26 & 0x82) != 0) &&\n                 (((iVar9 = FUN_00017880(), iVar9 != 0 ||\n                   ((iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0)))) ||\n                  ((DAT_0003fb10 != 0 &&\n                   ((((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)\n                    ))))))) {\n                piVar3[3] = piVar3[3] & 0xffffff7dU | 1;\n              }\n              if (((uVar26 & 1) != 0) && (iVar9 = FUN_00017880(), iVar9 != 0)) {\n                piVar3[3] = piVar3[3] & 0xfffffffeU | 2;\n              }\n            }" if (parenthesized_expression "(puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8)" ( (binary_expression "puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8" identifier != (binary_expression "PTR__bfd_std_section_0003efc8 + 0xa8" identifier + number_literal)) )) (compound_statement "{\n              if (((uVar26 & 0x82) != 0) &&\n                 (((iVar9 = FUN_00017880(), iVar9 != 0 ||\n                   ((iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0)))) ||\n                  ((DAT_0003fb10 != 0 &&\n                   ((((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)\n                    ))))))) {\n                piVar3[3] = piVar3[3] & 0xffffff7dU | 1;\n              }\n              if (((uVar26 & 1) != 0) && (iVar9 = FUN_00017880(), iVar9 != 0)) {\n                piVar3[3] = piVar3[3] & 0xfffffffeU | 2;\n              }\n            }" { (if_statement "if (((uVar26 & 0x82) != 0) &&\n                 (((iVar9 = FUN_00017880(), iVar9 != 0 ||\n                   ((iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0)))) ||\n                  ((DAT_0003fb10 != 0 &&\n                   ((((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)\n                    ))))))) {\n                piVar3[3] = piVar3[3] & 0xffffff7dU | 1;\n              }" if (parenthesized_expression "(((uVar26 & 0x82) != 0) &&\n                 (((iVar9 = FUN_00017880(), iVar9 != 0 ||\n                   ((iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0)))) ||\n                  ((DAT_0003fb10 != 0 &&\n                   ((((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)\n                    )))))))" ( (binary_expression "((uVar26 & 0x82) != 0) &&\n                 (((iVar9 = FUN_00017880(), iVar9 != 0 ||\n                   ((iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0)))) ||\n                  ((DAT_0003fb10 != 0 &&\n                   ((((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)\n                    ))))))" (parenthesized_expression "((uVar26 & 0x82) != 0)" ( (binary_expression "(uVar26 & 0x82) != 0" (parenthesized_expression "(uVar26 & 0x82)" ( (binary_expression "uVar26 & 0x82" identifier & number_literal) )) != number_literal) )) && (parenthesized_expression "(((iVar9 = FUN_00017880(), iVar9 != 0 ||\n                   ((iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0)))) ||\n                  ((DAT_0003fb10 != 0 &&\n                   ((((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)\n                    ))))))" ( (parenthesized_expression "((iVar9 = FUN_00017880(), iVar9 != 0 ||\n                   ((iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0)))) ||\n                  ((DAT_0003fb10 != 0 &&\n                   ((((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)\n                    )))))" ( (binary_expression "(iVar9 = FUN_00017880(), iVar9 != 0 ||\n                   ((iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0)))) ||\n                  ((DAT_0003fb10 != 0 &&\n                   ((((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)\n                    ))))" (parenthesized_expression "(iVar9 = FUN_00017880(), iVar9 != 0 ||\n                   ((iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0))))" ( (comma_expression "iVar9 = FUN_00017880(), iVar9 != 0 ||\n                   ((iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0)))" (assignment_expression "iVar9 = FUN_00017880()" identifier = (call_expression "FUN_00017880()" identifier (argument_list "()" ( )))) , (binary_expression "iVar9 != 0 ||\n                   ((iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0)))" (binary_expression "iVar9 != 0" identifier != number_literal) || (parenthesized_expression "((iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0)))" ( (parenthesized_expression "(iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0))" ( (comma_expression "iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0)" (assignment_expression "iVar9 = htab_elements(DAT_0003faf8)" identifier = (call_expression "htab_elements(DAT_0003faf8)" identifier (argument_list "(DAT_0003faf8)" ( identifier )))) , (binary_expression "iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0)" (binary_expression "iVar9 != 0" identifier != number_literal) && (parenthesized_expression "(iVar9 = FUN_00017880(), iVar9 == 0)" ( (comma_expression "iVar9 = FUN_00017880(), iVar9 == 0" (assignment_expression "iVar9 = FUN_00017880()" identifier = (call_expression "FUN_00017880()" identifier (argument_list "()" ( )))) , (binary_expression "iVar9 == 0" identifier == number_literal)) )))) )) )))) )) || (parenthesized_expression "((DAT_0003fb10 != 0 &&\n                   ((((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)\n                    ))))" ( (parenthesized_expression "(DAT_0003fb10 != 0 &&\n                   ((((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)\n                    )))" ( (binary_expression "DAT_0003fb10 != 0 &&\n                   ((((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)\n                    ))" (binary_expression "DAT_0003fb10 != 0" identifier != number_literal) && (parenthesized_expression "((((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)\n                    ))" ( (parenthesized_expression "(((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)\n                    )" ( (binary_expression "((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)" (parenthesized_expression "((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0))" ( (binary_expression "(iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)" (parenthesized_expression "(iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5))" ( (comma_expression "iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)" (assignment_expression "iVar9 = *piVar3" identifier = (pointer_expression "*piVar3" * identifier)) , (binary_expression "iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)" (binary_expression "iVar9 != 0" identifier != number_literal) && (parenthesized_expression "(*(int *)(*(int *)(iVar9 + 4) + 4) == 5)" ( (binary_expression "*(int *)(*(int *)(iVar9 + 4) + 4) == 5" (pointer_expression "*(int *)(*(int *)(iVar9 + 4) + 4)" * (cast_expression "(int *)(*(int *)(iVar9 + 4) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar9 + 4) + 4)" ( (binary_expression "*(int *)(iVar9 + 4) + 4" (pointer_expression "*(int *)(iVar9 + 4)" * (cast_expression "(int *)(iVar9 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 4)" ( (binary_expression "iVar9 + 4" identifier + number_literal) )))) + number_literal) )))) == number_literal) )))) )) && (parenthesized_expression "(*(int *)(iVar9 + 0x9c) != 0)" ( (binary_expression "*(int *)(iVar9 + 0x9c) != 0" (pointer_expression "*(int *)(iVar9 + 0x9c)" * (cast_expression "(int *)(iVar9 + 0x9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x9c)" ( (binary_expression "iVar9 + 0x9c" identifier + number_literal) )))) != number_literal) ))) )) && (parenthesized_expression "((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)" ( (binary_expression "(*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2" (binary_expression "(*(byte *)((int)piVar3 + 0x25) & 3) - 1" (parenthesized_expression "(*(byte *)((int)piVar3 + 0x25) & 3)" ( (binary_expression "*(byte *)((int)piVar3 + 0x25) & 3" (pointer_expression "*(byte *)((int)piVar3 + 0x25)" * (cast_expression "(byte *)((int)piVar3 + 0x25)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar3 + 0x25)" ( (binary_expression "(int)piVar3 + 0x25" (cast_expression "(int)piVar3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) - number_literal) < number_literal) ))) )) ))) )) ))) )) ))) )) (compound_statement "{\n                piVar3[3] = piVar3[3] & 0xffffff7dU | 1;\n              }" { (expression_statement "piVar3[3] = piVar3[3] & 0xffffff7dU | 1;" (assignment_expression "piVar3[3] = piVar3[3] & 0xffffff7dU | 1" (subscript_expression "piVar3[3]" identifier [ number_literal ]) = (binary_expression "piVar3[3] & 0xffffff7dU | 1" (binary_expression "piVar3[3] & 0xffffff7dU" (subscript_expression "piVar3[3]" identifier [ number_literal ]) & number_literal) | number_literal)) ;) })) (if_statement "if (((uVar26 & 1) != 0) && (iVar9 = FUN_00017880(), iVar9 != 0)) {\n                piVar3[3] = piVar3[3] & 0xfffffffeU | 2;\n              }" if (parenthesized_expression "(((uVar26 & 1) != 0) && (iVar9 = FUN_00017880(), iVar9 != 0))" ( (binary_expression "((uVar26 & 1) != 0) && (iVar9 = FUN_00017880(), iVar9 != 0)" (parenthesized_expression "((uVar26 & 1) != 0)" ( (binary_expression "(uVar26 & 1) != 0" (parenthesized_expression "(uVar26 & 1)" ( (binary_expression "uVar26 & 1" identifier & number_literal) )) != number_literal) )) && (parenthesized_expression "(iVar9 = FUN_00017880(), iVar9 != 0)" ( (comma_expression "iVar9 = FUN_00017880(), iVar9 != 0" (assignment_expression "iVar9 = FUN_00017880()" identifier = (call_expression "FUN_00017880()" identifier (argument_list "()" ( )))) , (binary_expression "iVar9 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n                piVar3[3] = piVar3[3] & 0xfffffffeU | 2;\n              }" { (expression_statement "piVar3[3] = piVar3[3] & 0xfffffffeU | 2;" (assignment_expression "piVar3[3] = piVar3[3] & 0xfffffffeU | 2" (subscript_expression "piVar3[3]" identifier [ number_literal ]) = (binary_expression "piVar3[3] & 0xfffffffeU | 2" (binary_expression "piVar3[3] & 0xfffffffeU" (subscript_expression "piVar3[3]" identifier [ number_literal ]) & number_literal) | number_literal)) ;) })) })) (expression_statement "piVar15[local_70] = (int)piVar3;" (assignment_expression "piVar15[local_70] = (int)piVar3" (subscript_expression "piVar15[local_70]" identifier [ identifier ]) = (cast_expression "(int)piVar3" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "local_70 = local_70 + 1;" (assignment_expression "local_70 = local_70 + 1" identifier = (binary_expression "local_70 + 1" identifier + number_literal)) ;) })) }))) (expression_statement "local_68 = local_68 + 1;" (assignment_expression "local_68 = local_68 + 1" identifier = (binary_expression "local_68 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar1 != local_68)" ( (binary_expression "piVar1 != local_68" identifier != identifier) )) ;) })) (expression_statement "local_5c = DAT_0003fae8;" (assignment_expression "local_5c = DAT_0003fae8" identifier = identifier) ;) (if_statement "if ((DAT_0003fae8 != (int *)0x0) && (0 < DAT_0003fae4)) {\n      iVar9 = 0;\n      do {\n        pcVar22 = (char *)local_5c[5];\n        if (pcVar22 == (char *)0x0) {\n          iVar12 = FUN_000177e0();\n          piVar15[local_70] = iVar12;\n          local_70 = local_70 + 1;\n        }\n        else if (*pcVar22 != '\0') {\n          uVar10 = dcgettext(0,"\'before=%s\' not found",5,local_70);\n                    \n          FUN_0002b6a0(uVar10,pcVar22);\n        }\n        iVar9 = iVar9 + 1;\n        local_5c = (int *)*local_5c;\n      } while (iVar9 < DAT_0003fae4);\n    }" if (parenthesized_expression "((DAT_0003fae8 != (int *)0x0) && (0 < DAT_0003fae4))" ( (binary_expression "(DAT_0003fae8 != (int *)0x0) && (0 < DAT_0003fae4)" (parenthesized_expression "(DAT_0003fae8 != (int *)0x0)" ( (binary_expression "DAT_0003fae8 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(0 < DAT_0003fae4)" ( (binary_expression "0 < DAT_0003fae4" number_literal < identifier) ))) )) (compound_statement "{\n      iVar9 = 0;\n      do {\n        pcVar22 = (char *)local_5c[5];\n        if (pcVar22 == (char *)0x0) {\n          iVar12 = FUN_000177e0();\n          piVar15[local_70] = iVar12;\n          local_70 = local_70 + 1;\n        }\n        else if (*pcVar22 != '\0') {\n          uVar10 = dcgettext(0,"\'before=%s\' not found",5,local_70);\n                    \n          FUN_0002b6a0(uVar10,pcVar22);\n        }\n        iVar9 = iVar9 + 1;\n        local_5c = (int *)*local_5c;\n      } while (iVar9 < DAT_0003fae4);\n    }" { (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" identifier = number_literal) ;) (do_statement "do {\n        pcVar22 = (char *)local_5c[5];\n        if (pcVar22 == (char *)0x0) {\n          iVar12 = FUN_000177e0();\n          piVar15[local_70] = iVar12;\n          local_70 = local_70 + 1;\n        }\n        else if (*pcVar22 != '\0') {\n          uVar10 = dcgettext(0,"\'before=%s\' not found",5,local_70);\n                    \n          FUN_0002b6a0(uVar10,pcVar22);\n        }\n        iVar9 = iVar9 + 1;\n        local_5c = (int *)*local_5c;\n      } while (iVar9 < DAT_0003fae4);" do (compound_statement "{\n        pcVar22 = (char *)local_5c[5];\n        if (pcVar22 == (char *)0x0) {\n          iVar12 = FUN_000177e0();\n          piVar15[local_70] = iVar12;\n          local_70 = local_70 + 1;\n        }\n        else if (*pcVar22 != '\0') {\n          uVar10 = dcgettext(0,"\'before=%s\' not found",5,local_70);\n                    \n          FUN_0002b6a0(uVar10,pcVar22);\n        }\n        iVar9 = iVar9 + 1;\n        local_5c = (int *)*local_5c;\n      }" { (expression_statement "pcVar22 = (char *)local_5c[5];" (assignment_expression "pcVar22 = (char *)local_5c[5]" identifier = (cast_expression "(char *)local_5c[5]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_5c[5]" identifier [ number_literal ]))) ;) (if_statement "if (pcVar22 == (char *)0x0) {\n          iVar12 = FUN_000177e0();\n          piVar15[local_70] = iVar12;\n          local_70 = local_70 + 1;\n        }\n        else if (*pcVar22 != '\0') {\n          uVar10 = dcgettext(0,"\'before=%s\' not found",5,local_70);\n                    \n          FUN_0002b6a0(uVar10,pcVar22);\n        }" if (parenthesized_expression "(pcVar22 == (char *)0x0)" ( (binary_expression "pcVar22 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          iVar12 = FUN_000177e0();\n          piVar15[local_70] = iVar12;\n          local_70 = local_70 + 1;\n        }" { (expression_statement "iVar12 = FUN_000177e0();" (assignment_expression "iVar12 = FUN_000177e0()" identifier = (call_expression "FUN_000177e0()" identifier (argument_list "()" ( )))) ;) (expression_statement "piVar15[local_70] = iVar12;" (assignment_expression "piVar15[local_70] = iVar12" (subscript_expression "piVar15[local_70]" identifier [ identifier ]) = identifier) ;) (expression_statement "local_70 = local_70 + 1;" (assignment_expression "local_70 = local_70 + 1" identifier = (binary_expression "local_70 + 1" identifier + number_literal)) ;) }) (else_clause "else if (*pcVar22 != '\0') {\n          uVar10 = dcgettext(0,"\'before=%s\' not found",5,local_70);\n                    \n          FUN_0002b6a0(uVar10,pcVar22);\n        }" else (if_statement "if (*pcVar22 != '\0') {\n          uVar10 = dcgettext(0,"\'before=%s\' not found",5,local_70);\n                    \n          FUN_0002b6a0(uVar10,pcVar22);\n        }" if (parenthesized_expression "(*pcVar22 != '\0')" ( (binary_expression "*pcVar22 != '\0'" (pointer_expression "*pcVar22" * identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          uVar10 = dcgettext(0,"\'before=%s\' not found",5,local_70);\n                    \n          FUN_0002b6a0(uVar10,pcVar22);\n        }" { (expression_statement "uVar10 = dcgettext(0,"\'before=%s\' not found",5,local_70);" (assignment_expression "uVar10 = dcgettext(0,"\'before=%s\' not found",5,local_70)" identifier = (call_expression "dcgettext(0,"\'before=%s\' not found",5,local_70)" identifier (argument_list "(0,"\'before=%s\' not found",5,local_70)" ( number_literal , (string_literal ""\'before=%s\' not found"" " escape_sequence string_content escape_sequence string_content ") , number_literal , identifier )))) ;) (expression_statement "FUN_0002b6a0(uVar10,pcVar22);" (call_expression "FUN_0002b6a0(uVar10,pcVar22)" identifier (argument_list "(uVar10,pcVar22)" ( identifier , identifier ))) ;) })))) (expression_statement "iVar9 = iVar9 + 1;" (assignment_expression "iVar9 = iVar9 + 1" identifier = (binary_expression "iVar9 + 1" identifier + number_literal)) ;) (expression_statement "local_5c = (int *)*local_5c;" (assignment_expression "local_5c = (int *)*local_5c" identifier = (cast_expression "(int *)*local_5c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_5c" * identifier))) ;) }) while (parenthesized_expression "(iVar9 < DAT_0003fae4)" ( (binary_expression "iVar9 < DAT_0003fae4" identifier < identifier) )) ;) })) (expression_statement "piVar15[local_70] = 0;" (assignment_expression "piVar15[local_70] = 0" (subscript_expression "piVar15[local_70]" identifier [ identifier ]) = number_literal) ;) (if_statement "if ((DAT_0003fb28 != 0) && (local_94 != 0)) {\n      iVar9 = ((undefined4 *)param_2[1])[1];\n      if ((iVar9 != 2) && (iVar9 != 5)) {\n        uVar10 = *(undefined4 *)param_2[1];\n        uVar11 = dcgettext(0,"don\'t know how to write debugging information for %s",5);\n        FUN_0002c160(0,param_2,0,uVar11,uVar10);\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n      iVar9 = FUN_0002b050(param_2,local_94,&local_4c,local_44,&local_48,&local_30);\n      if (iVar9 == 0) {\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n      iVar9 = bfd_make_section_with_flags(param_2,".stab",0x2108);\n      iVar12 = bfd_make_section_with_flags(param_2,".stabstr",0x2108);\n      if ((((iVar9 == 0) || (iVar12 == 0)) ||\n          (iVar21 = bfd_set_section_size(param_2,iVar9,local_44[0],iVar12), iVar21 == 0)) ||\n         (iVar21 = bfd_set_section_size(param_2,iVar12,local_30,iVar21), iVar21 == 0)) {\n        pcVar22 = "can\'t create debugging section";\nLAB_00019fcf:\n        uVar10 = dcgettext(0,pcVar22,5,iVar9);\n        FUN_0002c160(0,param_2,0,uVar10);\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n      *(undefined4 *)(iVar9 + 0x40) = 2;\n      *(undefined4 *)(iVar12 + 0x40) = 0;\n      iVar9 = bfd_set_section_contents(param_2,iVar9,local_4c,0,0,local_44[0],iVar21,iVar21);\n      if ((iVar9 == 0) ||\n         (iVar9 = bfd_set_section_contents\n                            (param_2,iVar12,local_48,0,0,local_30,extraout_ECX,extraout_ECX),\n         iVar9 == 0)) {\n        pcVar22 = "can\'t set debugging section contents";\n        iVar9 = iVar12;\n        goto LAB_00019fcf;\n      }\n    }" if (parenthesized_expression "((DAT_0003fb28 != 0) && (local_94 != 0))" ( (binary_expression "(DAT_0003fb28 != 0) && (local_94 != 0)" (parenthesized_expression "(DAT_0003fb28 != 0)" ( (binary_expression "DAT_0003fb28 != 0" identifier != number_literal) )) && (parenthesized_expression "(local_94 != 0)" ( (binary_expression "local_94 != 0" identifier != number_literal) ))) )) (compound_statement "{\n      iVar9 = ((undefined4 *)param_2[1])[1];\n      if ((iVar9 != 2) && (iVar9 != 5)) {\n        uVar10 = *(undefined4 *)param_2[1];\n        uVar11 = dcgettext(0,"don\'t know how to write debugging information for %s",5);\n        FUN_0002c160(0,param_2,0,uVar11,uVar10);\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n      iVar9 = FUN_0002b050(param_2,local_94,&local_4c,local_44,&local_48,&local_30);\n      if (iVar9 == 0) {\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n      iVar9 = bfd_make_section_with_flags(param_2,".stab",0x2108);\n      iVar12 = bfd_make_section_with_flags(param_2,".stabstr",0x2108);\n      if ((((iVar9 == 0) || (iVar12 == 0)) ||\n          (iVar21 = bfd_set_section_size(param_2,iVar9,local_44[0],iVar12), iVar21 == 0)) ||\n         (iVar21 = bfd_set_section_size(param_2,iVar12,local_30,iVar21), iVar21 == 0)) {\n        pcVar22 = "can\'t create debugging section";\nLAB_00019fcf:\n        uVar10 = dcgettext(0,pcVar22,5,iVar9);\n        FUN_0002c160(0,param_2,0,uVar10);\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n      *(undefined4 *)(iVar9 + 0x40) = 2;\n      *(undefined4 *)(iVar12 + 0x40) = 0;\n      iVar9 = bfd_set_section_contents(param_2,iVar9,local_4c,0,0,local_44[0],iVar21,iVar21);\n      if ((iVar9 == 0) ||\n         (iVar9 = bfd_set_section_contents\n                            (param_2,iVar12,local_48,0,0,local_30,extraout_ECX,extraout_ECX),\n         iVar9 == 0)) {\n        pcVar22 = "can\'t set debugging section contents";\n        iVar9 = iVar12;\n        goto LAB_00019fcf;\n      }\n    }" { (expression_statement "iVar9 = ((undefined4 *)param_2[1])[1];" (assignment_expression "iVar9 = ((undefined4 *)param_2[1])[1]" identifier = (subscript_expression "((undefined4 *)param_2[1])[1]" (parenthesized_expression "((undefined4 *)param_2[1])" ( (cast_expression "(undefined4 *)param_2[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[1]" identifier [ number_literal ])) )) [ number_literal ])) ;) (if_statement "if ((iVar9 != 2) && (iVar9 != 5)) {\n        uVar10 = *(undefined4 *)param_2[1];\n        uVar11 = dcgettext(0,"don\'t know how to write debugging information for %s",5);\n        FUN_0002c160(0,param_2,0,uVar11,uVar10);\n        DAT_0003fb88 = 1;\n        return 0;\n      }" if (parenthesized_expression "((iVar9 != 2) && (iVar9 != 5))" ( (binary_expression "(iVar9 != 2) && (iVar9 != 5)" (parenthesized_expression "(iVar9 != 2)" ( (binary_expression "iVar9 != 2" identifier != number_literal) )) && (parenthesized_expression "(iVar9 != 5)" ( (binary_expression "iVar9 != 5" identifier != number_literal) ))) )) (compound_statement "{\n        uVar10 = *(undefined4 *)param_2[1];\n        uVar11 = dcgettext(0,"don\'t know how to write debugging information for %s",5);\n        FUN_0002c160(0,param_2,0,uVar11,uVar10);\n        DAT_0003fb88 = 1;\n        return 0;\n      }" { (expression_statement "uVar10 = *(undefined4 *)param_2[1];" (assignment_expression "uVar10 = *(undefined4 *)param_2[1]" identifier = (pointer_expression "*(undefined4 *)param_2[1]" * (cast_expression "(undefined4 *)param_2[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[1]" identifier [ number_literal ])))) ;) (expression_statement "uVar11 = dcgettext(0,"don\'t know how to write debugging information for %s",5);" (assignment_expression "uVar11 = dcgettext(0,"don\'t know how to write debugging information for %s",5)" identifier = (call_expression "dcgettext(0,"don\'t know how to write debugging information for %s",5)" identifier (argument_list "(0,"don\'t know how to write debugging information for %s",5)" ( number_literal , (string_literal ""don\'t know how to write debugging information for %s"" " string_content escape_sequence string_content ") , number_literal )))) ;) (expression_statement "FUN_0002c160(0,param_2,0,uVar11,uVar10);" (call_expression "FUN_0002c160(0,param_2,0,uVar11,uVar10)" identifier (argument_list "(0,param_2,0,uVar11,uVar10)" ( number_literal , identifier , number_literal , identifier , identifier ))) ;) (expression_statement "DAT_0003fb88 = 1;" (assignment_expression "DAT_0003fb88 = 1" identifier = number_literal) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "iVar9 = FUN_0002b050(param_2,local_94,&local_4c,local_44,&local_48,&local_30);" (assignment_expression "iVar9 = FUN_0002b050(param_2,local_94,&local_4c,local_44,&local_48,&local_30)" identifier = (call_expression "FUN_0002b050(param_2,local_94,&local_4c,local_44,&local_48,&local_30)" identifier (argument_list "(param_2,local_94,&local_4c,local_44,&local_48,&local_30)" ( identifier , identifier , (pointer_expression "&local_4c" & identifier) , identifier , (pointer_expression "&local_48" & identifier) , (pointer_expression "&local_30" & identifier) )))) ;) (if_statement "if (iVar9 == 0) {\n        DAT_0003fb88 = 1;\n        return 0;\n      }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n        DAT_0003fb88 = 1;\n        return 0;\n      }" { (expression_statement "DAT_0003fb88 = 1;" (assignment_expression "DAT_0003fb88 = 1" identifier = number_literal) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "iVar9 = bfd_make_section_with_flags(param_2,".stab",0x2108);" (assignment_expression "iVar9 = bfd_make_section_with_flags(param_2,".stab",0x2108)" identifier = (call_expression "bfd_make_section_with_flags(param_2,".stab",0x2108)" identifier (argument_list "(param_2,".stab",0x2108)" ( identifier , (string_literal "".stab"" " string_content ") , number_literal )))) ;) (expression_statement "iVar12 = bfd_make_section_with_flags(param_2,".stabstr",0x2108);" (assignment_expression "iVar12 = bfd_make_section_with_flags(param_2,".stabstr",0x2108)" identifier = (call_expression "bfd_make_section_with_flags(param_2,".stabstr",0x2108)" identifier (argument_list "(param_2,".stabstr",0x2108)" ( identifier , (string_literal "".stabstr"" " string_content ") , number_literal )))) ;) (if_statement "if ((((iVar9 == 0) || (iVar12 == 0)) ||\n          (iVar21 = bfd_set_section_size(param_2,iVar9,local_44[0],iVar12), iVar21 == 0)) ||\n         (iVar21 = bfd_set_section_size(param_2,iVar12,local_30,iVar21), iVar21 == 0)) {\n        pcVar22 = "can\'t create debugging section";\nLAB_00019fcf:\n        uVar10 = dcgettext(0,pcVar22,5,iVar9);\n        FUN_0002c160(0,param_2,0,uVar10);\n        DAT_0003fb88 = 1;\n        return 0;\n      }" if (parenthesized_expression "((((iVar9 == 0) || (iVar12 == 0)) ||\n          (iVar21 = bfd_set_section_size(param_2,iVar9,local_44[0],iVar12), iVar21 == 0)) ||\n         (iVar21 = bfd_set_section_size(param_2,iVar12,local_30,iVar21), iVar21 == 0))" ( (binary_expression "(((iVar9 == 0) || (iVar12 == 0)) ||\n          (iVar21 = bfd_set_section_size(param_2,iVar9,local_44[0],iVar12), iVar21 == 0)) ||\n         (iVar21 = bfd_set_section_size(param_2,iVar12,local_30,iVar21), iVar21 == 0)" (parenthesized_expression "(((iVar9 == 0) || (iVar12 == 0)) ||\n          (iVar21 = bfd_set_section_size(param_2,iVar9,local_44[0],iVar12), iVar21 == 0))" ( (binary_expression "((iVar9 == 0) || (iVar12 == 0)) ||\n          (iVar21 = bfd_set_section_size(param_2,iVar9,local_44[0],iVar12), iVar21 == 0)" (parenthesized_expression "((iVar9 == 0) || (iVar12 == 0))" ( (binary_expression "(iVar9 == 0) || (iVar12 == 0)" (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) ))) )) || (parenthesized_expression "(iVar21 = bfd_set_section_size(param_2,iVar9,local_44[0],iVar12), iVar21 == 0)" ( (comma_expression "iVar21 = bfd_set_section_size(param_2,iVar9,local_44[0],iVar12), iVar21 == 0" (assignment_expression "iVar21 = bfd_set_section_size(param_2,iVar9,local_44[0],iVar12)" identifier = (call_expression "bfd_set_section_size(param_2,iVar9,local_44[0],iVar12)" identifier (argument_list "(param_2,iVar9,local_44[0],iVar12)" ( identifier , identifier , (subscript_expression "local_44[0]" identifier [ number_literal ]) , identifier )))) , (binary_expression "iVar21 == 0" identifier == number_literal)) ))) )) || (parenthesized_expression "(iVar21 = bfd_set_section_size(param_2,iVar12,local_30,iVar21), iVar21 == 0)" ( (comma_expression "iVar21 = bfd_set_section_size(param_2,iVar12,local_30,iVar21), iVar21 == 0" (assignment_expression "iVar21 = bfd_set_section_size(param_2,iVar12,local_30,iVar21)" identifier = (call_expression "bfd_set_section_size(param_2,iVar12,local_30,iVar21)" identifier (argument_list "(param_2,iVar12,local_30,iVar21)" ( identifier , identifier , identifier , identifier )))) , (binary_expression "iVar21 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n        pcVar22 = "can\'t create debugging section";\nLAB_00019fcf:\n        uVar10 = dcgettext(0,pcVar22,5,iVar9);\n        FUN_0002c160(0,param_2,0,uVar10);\n        DAT_0003fb88 = 1;\n        return 0;\n      }" { (expression_statement "pcVar22 = "can\'t create debugging section";" (assignment_expression "pcVar22 = "can\'t create debugging section"" identifier = (string_literal ""can\'t create debugging section"" " string_content escape_sequence string_content ")) ;) (labeled_statement "LAB_00019fcf:\n        uVar10 = dcgettext(0,pcVar22,5,iVar9);" statement_identifier : (expression_statement "uVar10 = dcgettext(0,pcVar22,5,iVar9);" (assignment_expression "uVar10 = dcgettext(0,pcVar22,5,iVar9)" identifier = (call_expression "dcgettext(0,pcVar22,5,iVar9)" identifier (argument_list "(0,pcVar22,5,iVar9)" ( number_literal , identifier , number_literal , identifier )))) ;)) (expression_statement "FUN_0002c160(0,param_2,0,uVar10);" (call_expression "FUN_0002c160(0,param_2,0,uVar10)" identifier (argument_list "(0,param_2,0,uVar10)" ( number_literal , identifier , number_literal , identifier ))) ;) (expression_statement "DAT_0003fb88 = 1;" (assignment_expression "DAT_0003fb88 = 1" identifier = number_literal) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "*(undefined4 *)(iVar9 + 0x40) = 2;" (assignment_expression "*(undefined4 *)(iVar9 + 0x40) = 2" (pointer_expression "*(undefined4 *)(iVar9 + 0x40)" * (cast_expression "(undefined4 *)(iVar9 + 0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x40)" ( (binary_expression "iVar9 + 0x40" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(iVar12 + 0x40) = 0;" (assignment_expression "*(undefined4 *)(iVar12 + 0x40) = 0" (pointer_expression "*(undefined4 *)(iVar12 + 0x40)" * (cast_expression "(undefined4 *)(iVar12 + 0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x40)" ( (binary_expression "iVar12 + 0x40" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar9 = bfd_set_section_contents(param_2,iVar9,local_4c,0,0,local_44[0],iVar21,iVar21);" (assignment_expression "iVar9 = bfd_set_section_contents(param_2,iVar9,local_4c,0,0,local_44[0],iVar21,iVar21)" identifier = (call_expression "bfd_set_section_contents(param_2,iVar9,local_4c,0,0,local_44[0],iVar21,iVar21)" identifier (argument_list "(param_2,iVar9,local_4c,0,0,local_44[0],iVar21,iVar21)" ( identifier , identifier , identifier , number_literal , number_literal , (subscript_expression "local_44[0]" identifier [ number_literal ]) , identifier , identifier )))) ;) (if_statement "if ((iVar9 == 0) ||\n         (iVar9 = bfd_set_section_contents\n                            (param_2,iVar12,local_48,0,0,local_30,extraout_ECX,extraout_ECX),\n         iVar9 == 0)) {\n        pcVar22 = "can\'t set debugging section contents";\n        iVar9 = iVar12;\n        goto LAB_00019fcf;\n      }" if (parenthesized_expression "((iVar9 == 0) ||\n         (iVar9 = bfd_set_section_contents\n                            (param_2,iVar12,local_48,0,0,local_30,extraout_ECX,extraout_ECX),\n         iVar9 == 0))" ( (binary_expression "(iVar9 == 0) ||\n         (iVar9 = bfd_set_section_contents\n                            (param_2,iVar12,local_48,0,0,local_30,extraout_ECX,extraout_ECX),\n         iVar9 == 0)" (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar9 = bfd_set_section_contents\n                            (param_2,iVar12,local_48,0,0,local_30,extraout_ECX,extraout_ECX),\n         iVar9 == 0)" ( (comma_expression "iVar9 = bfd_set_section_contents\n                            (param_2,iVar12,local_48,0,0,local_30,extraout_ECX,extraout_ECX),\n         iVar9 == 0" (assignment_expression "iVar9 = bfd_set_section_contents\n                            (param_2,iVar12,local_48,0,0,local_30,extraout_ECX,extraout_ECX)" identifier = (call_expression "bfd_set_section_contents\n                            (param_2,iVar12,local_48,0,0,local_30,extraout_ECX,extraout_ECX)" identifier (argument_list "(param_2,iVar12,local_48,0,0,local_30,extraout_ECX,extraout_ECX)" ( identifier , identifier , identifier , number_literal , number_literal , identifier , identifier , identifier )))) , (binary_expression "iVar9 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n        pcVar22 = "can\'t set debugging section contents";\n        iVar9 = iVar12;\n        goto LAB_00019fcf;\n      }" { (expression_statement "pcVar22 = "can\'t set debugging section contents";" (assignment_expression "pcVar22 = "can\'t set debugging section contents"" identifier = (string_literal ""can\'t set debugging section contents"" " string_content escape_sequence string_content ")) ;) (expression_statement "iVar9 = iVar12;" (assignment_expression "iVar9 = iVar12" identifier = identifier) ;) (goto_statement "goto LAB_00019fcf;" goto statement_identifier ;) })) })) }) (else_clause "else {\n    if (DAT_0003fb10 != 0 || DAT_0003fb74 != 0) goto LAB_00019037;\n    iVar9 = htab_elements(DAT_0003fb0c);\n    if (((iVar9 != 0) || (iVar9 = htab_elements(DAT_0003fb04), iVar9 != 0)) ||\n       ((iVar9 = htab_elements(DAT_0003fb00), iVar9 != 0 ||\n        (((((iVar9 = htab_elements(DAT_0003fafc), iVar9 != 0 ||\n            (iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0)) ||\n           (iVar9 = htab_elements(DAT_0003faf4), iVar9 != 0)) ||\n          ((iVar9 = htab_elements(DAT_0003faf0), DAT_0003fad8 != (char *)0x0 ||\n           (DAT_0003fba0 != (undefined4 *)0x0)))) ||\n         (((((((DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0) || DAT_0003fb1c != 0)\n            || DAT_0003fb18 != 0) || DAT_0003fae0 != 0) || DAT_0003fae4 != 0) || iVar9 != 0))))))\n    goto LAB_00019032;\n  }" else (compound_statement "{\n    if (DAT_0003fb10 != 0 || DAT_0003fb74 != 0) goto LAB_00019037;\n    iVar9 = htab_elements(DAT_0003fb0c);\n    if (((iVar9 != 0) || (iVar9 = htab_elements(DAT_0003fb04), iVar9 != 0)) ||\n       ((iVar9 = htab_elements(DAT_0003fb00), iVar9 != 0 ||\n        (((((iVar9 = htab_elements(DAT_0003fafc), iVar9 != 0 ||\n            (iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0)) ||\n           (iVar9 = htab_elements(DAT_0003faf4), iVar9 != 0)) ||\n          ((iVar9 = htab_elements(DAT_0003faf0), DAT_0003fad8 != (char *)0x0 ||\n           (DAT_0003fba0 != (undefined4 *)0x0)))) ||\n         (((((((DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0) || DAT_0003fb1c != 0)\n            || DAT_0003fb18 != 0) || DAT_0003fae0 != 0) || DAT_0003fae4 != 0) || iVar9 != 0))))))\n    goto LAB_00019032;\n  }" { (if_statement "if (DAT_0003fb10 != 0 || DAT_0003fb74 != 0) goto LAB_00019037;" if (parenthesized_expression "(DAT_0003fb10 != 0 || DAT_0003fb74 != 0)" ( (binary_expression "DAT_0003fb10 != 0 || DAT_0003fb74 != 0" (binary_expression "DAT_0003fb10 != 0" identifier != number_literal) || (binary_expression "DAT_0003fb74 != 0" identifier != number_literal)) )) (goto_statement "goto LAB_00019037;" goto statement_identifier ;)) (expression_statement "iVar9 = htab_elements(DAT_0003fb0c);" (assignment_expression "iVar9 = htab_elements(DAT_0003fb0c)" identifier = (call_expression "htab_elements(DAT_0003fb0c)" identifier (argument_list "(DAT_0003fb0c)" ( identifier )))) ;) (if_statement "if (((iVar9 != 0) || (iVar9 = htab_elements(DAT_0003fb04), iVar9 != 0)) ||\n       ((iVar9 = htab_elements(DAT_0003fb00), iVar9 != 0 ||\n        (((((iVar9 = htab_elements(DAT_0003fafc), iVar9 != 0 ||\n            (iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0)) ||\n           (iVar9 = htab_elements(DAT_0003faf4), iVar9 != 0)) ||\n          ((iVar9 = htab_elements(DAT_0003faf0), DAT_0003fad8 != (char *)0x0 ||\n           (DAT_0003fba0 != (undefined4 *)0x0)))) ||\n         (((((((DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0) || DAT_0003fb1c != 0)\n            || DAT_0003fb18 != 0) || DAT_0003fae0 != 0) || DAT_0003fae4 != 0) || iVar9 != 0))))))\n    goto LAB_00019032;" if (parenthesized_expression "(((iVar9 != 0) || (iVar9 = htab_elements(DAT_0003fb04), iVar9 != 0)) ||\n       ((iVar9 = htab_elements(DAT_0003fb00), iVar9 != 0 ||\n        (((((iVar9 = htab_elements(DAT_0003fafc), iVar9 != 0 ||\n            (iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0)) ||\n           (iVar9 = htab_elements(DAT_0003faf4), iVar9 != 0)) ||\n          ((iVar9 = htab_elements(DAT_0003faf0), DAT_0003fad8 != (char *)0x0 ||\n           (DAT_0003fba0 != (undefined4 *)0x0)))) ||\n         (((((((DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0) || DAT_0003fb1c != 0)\n            || DAT_0003fb18 != 0) || DAT_0003fae0 != 0) || DAT_0003fae4 != 0) || iVar9 != 0))))))" ( (binary_expression "((iVar9 != 0) || (iVar9 = htab_elements(DAT_0003fb04), iVar9 != 0)) ||\n       ((iVar9 = htab_elements(DAT_0003fb00), iVar9 != 0 ||\n        (((((iVar9 = htab_elements(DAT_0003fafc), iVar9 != 0 ||\n            (iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0)) ||\n           (iVar9 = htab_elements(DAT_0003faf4), iVar9 != 0)) ||\n          ((iVar9 = htab_elements(DAT_0003faf0), DAT_0003fad8 != (char *)0x0 ||\n           (DAT_0003fba0 != (undefined4 *)0x0)))) ||\n         (((((((DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0) || DAT_0003fb1c != 0)\n            || DAT_0003fb18 != 0) || DAT_0003fae0 != 0) || DAT_0003fae4 != 0) || iVar9 != 0)))))" (parenthesized_expression "((iVar9 != 0) || (iVar9 = htab_elements(DAT_0003fb04), iVar9 != 0))" ( (binary_expression "(iVar9 != 0) || (iVar9 = htab_elements(DAT_0003fb04), iVar9 != 0)" (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) || (parenthesized_expression "(iVar9 = htab_elements(DAT_0003fb04), iVar9 != 0)" ( (comma_expression "iVar9 = htab_elements(DAT_0003fb04), iVar9 != 0" (assignment_expression "iVar9 = htab_elements(DAT_0003fb04)" identifier = (call_expression "htab_elements(DAT_0003fb04)" identifier (argument_list "(DAT_0003fb04)" ( identifier )))) , (binary_expression "iVar9 != 0" identifier != number_literal)) ))) )) || (parenthesized_expression "((iVar9 = htab_elements(DAT_0003fb00), iVar9 != 0 ||\n        (((((iVar9 = htab_elements(DAT_0003fafc), iVar9 != 0 ||\n            (iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0)) ||\n           (iVar9 = htab_elements(DAT_0003faf4), iVar9 != 0)) ||\n          ((iVar9 = htab_elements(DAT_0003faf0), DAT_0003fad8 != (char *)0x0 ||\n           (DAT_0003fba0 != (undefined4 *)0x0)))) ||\n         (((((((DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0) || DAT_0003fb1c != 0)\n            || DAT_0003fb18 != 0) || DAT_0003fae0 != 0) || DAT_0003fae4 != 0) || iVar9 != 0)))))" ( (parenthesized_expression "(iVar9 = htab_elements(DAT_0003fb00), iVar9 != 0 ||\n        (((((iVar9 = htab_elements(DAT_0003fafc), iVar9 != 0 ||\n            (iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0)) ||\n           (iVar9 = htab_elements(DAT_0003faf4), iVar9 != 0)) ||\n          ((iVar9 = htab_elements(DAT_0003faf0), DAT_0003fad8 != (char *)0x0 ||\n           (DAT_0003fba0 != (undefined4 *)0x0)))) ||\n         (((((((DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0) || DAT_0003fb1c != 0)\n            || DAT_0003fb18 != 0) || DAT_0003fae0 != 0) || DAT_0003fae4 != 0) || iVar9 != 0))))" ( (comma_expression "iVar9 = htab_elements(DAT_0003fb00), iVar9 != 0 ||\n        (((((iVar9 = htab_elements(DAT_0003fafc), iVar9 != 0 ||\n            (iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0)) ||\n           (iVar9 = htab_elements(DAT_0003faf4), iVar9 != 0)) ||\n          ((iVar9 = htab_elements(DAT_0003faf0), DAT_0003fad8 != (char *)0x0 ||\n           (DAT_0003fba0 != (undefined4 *)0x0)))) ||\n         (((((((DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0) || DAT_0003fb1c != 0)\n            || DAT_0003fb18 != 0) || DAT_0003fae0 != 0) || DAT_0003fae4 != 0) || iVar9 != 0)))" (assignment_expression "iVar9 = htab_elements(DAT_0003fb00)" identifier = (call_expression "htab_elements(DAT_0003fb00)" identifier (argument_list "(DAT_0003fb00)" ( identifier )))) , (binary_expression "iVar9 != 0 ||\n        (((((iVar9 = htab_elements(DAT_0003fafc), iVar9 != 0 ||\n            (iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0)) ||\n           (iVar9 = htab_elements(DAT_0003faf4), iVar9 != 0)) ||\n          ((iVar9 = htab_elements(DAT_0003faf0), DAT_0003fad8 != (char *)0x0 ||\n           (DAT_0003fba0 != (undefined4 *)0x0)))) ||\n         (((((((DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0) || DAT_0003fb1c != 0)\n            || DAT_0003fb18 != 0) || DAT_0003fae0 != 0) || DAT_0003fae4 != 0) || iVar9 != 0)))" (binary_expression "iVar9 != 0" identifier != number_literal) || (parenthesized_expression "(((((iVar9 = htab_elements(DAT_0003fafc), iVar9 != 0 ||\n            (iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0)) ||\n           (iVar9 = htab_elements(DAT_0003faf4), iVar9 != 0)) ||\n          ((iVar9 = htab_elements(DAT_0003faf0), DAT_0003fad8 != (char *)0x0 ||\n           (DAT_0003fba0 != (undefined4 *)0x0)))) ||\n         (((((((DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0) || DAT_0003fb1c != 0)\n            || DAT_0003fb18 != 0) || DAT_0003fae0 != 0) || DAT_0003fae4 != 0) || iVar9 != 0)))" ( (parenthesized_expression "((((iVar9 = htab_elements(DAT_0003fafc), iVar9 != 0 ||\n            (iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0)) ||\n           (iVar9 = htab_elements(DAT_0003faf4), iVar9 != 0)) ||\n          ((iVar9 = htab_elements(DAT_0003faf0), DAT_0003fad8 != (char *)0x0 ||\n           (DAT_0003fba0 != (undefined4 *)0x0)))) ||\n         (((((((DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0) || DAT_0003fb1c != 0)\n            || DAT_0003fb18 != 0) || DAT_0003fae0 != 0) || DAT_0003fae4 != 0) || iVar9 != 0))" ( (binary_expression "(((iVar9 = htab_elements(DAT_0003fafc), iVar9 != 0 ||\n            (iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0)) ||\n           (iVar9 = htab_elements(DAT_0003faf4), iVar9 != 0)) ||\n          ((iVar9 = htab_elements(DAT_0003faf0), DAT_0003fad8 != (char *)0x0 ||\n           (DAT_0003fba0 != (undefined4 *)0x0)))) ||\n         (((((((DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0) || DAT_0003fb1c != 0)\n            || DAT_0003fb18 != 0) || DAT_0003fae0 != 0) || DAT_0003fae4 != 0) || iVar9 != 0)" (parenthesized_expression "(((iVar9 = htab_elements(DAT_0003fafc), iVar9 != 0 ||\n            (iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0)) ||\n           (iVar9 = htab_elements(DAT_0003faf4), iVar9 != 0)) ||\n          ((iVar9 = htab_elements(DAT_0003faf0), DAT_0003fad8 != (char *)0x0 ||\n           (DAT_0003fba0 != (undefined4 *)0x0))))" ( (binary_expression "((iVar9 = htab_elements(DAT_0003fafc), iVar9 != 0 ||\n            (iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0)) ||\n           (iVar9 = htab_elements(DAT_0003faf4), iVar9 != 0)) ||\n          ((iVar9 = htab_elements(DAT_0003faf0), DAT_0003fad8 != (char *)0x0 ||\n           (DAT_0003fba0 != (undefined4 *)0x0)))" (parenthesized_expression "((iVar9 = htab_elements(DAT_0003fafc), iVar9 != 0 ||\n            (iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0)) ||\n           (iVar9 = htab_elements(DAT_0003faf4), iVar9 != 0))" ( (binary_expression "(iVar9 = htab_elements(DAT_0003fafc), iVar9 != 0 ||\n            (iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0)) ||\n           (iVar9 = htab_elements(DAT_0003faf4), iVar9 != 0)" (parenthesized_expression "(iVar9 = htab_elements(DAT_0003fafc), iVar9 != 0 ||\n            (iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0))" ( (comma_expression "iVar9 = htab_elements(DAT_0003fafc), iVar9 != 0 ||\n            (iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0)" (assignment_expression "iVar9 = htab_elements(DAT_0003fafc)" identifier = (call_expression "htab_elements(DAT_0003fafc)" identifier (argument_list "(DAT_0003fafc)" ( identifier )))) , (binary_expression "iVar9 != 0 ||\n            (iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0)" (binary_expression "iVar9 != 0" identifier != number_literal) || (parenthesized_expression "(iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0)" ( (comma_expression "iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0" (assignment_expression "iVar9 = htab_elements(DAT_0003faf8)" identifier = (call_expression "htab_elements(DAT_0003faf8)" identifier (argument_list "(DAT_0003faf8)" ( identifier )))) , (binary_expression "iVar9 != 0" identifier != number_literal)) )))) )) || (parenthesized_expression "(iVar9 = htab_elements(DAT_0003faf4), iVar9 != 0)" ( (comma_expression "iVar9 = htab_elements(DAT_0003faf4), iVar9 != 0" (assignment_expression "iVar9 = htab_elements(DAT_0003faf4)" identifier = (call_expression "htab_elements(DAT_0003faf4)" identifier (argument_list "(DAT_0003faf4)" ( identifier )))) , (binary_expression "iVar9 != 0" identifier != number_literal)) ))) )) || (parenthesized_expression "((iVar9 = htab_elements(DAT_0003faf0), DAT_0003fad8 != (char *)0x0 ||\n           (DAT_0003fba0 != (undefined4 *)0x0)))" ( (parenthesized_expression "(iVar9 = htab_elements(DAT_0003faf0), DAT_0003fad8 != (char *)0x0 ||\n           (DAT_0003fba0 != (undefined4 *)0x0))" ( (comma_expression "iVar9 = htab_elements(DAT_0003faf0), DAT_0003fad8 != (char *)0x0 ||\n           (DAT_0003fba0 != (undefined4 *)0x0)" (assignment_expression "iVar9 = htab_elements(DAT_0003faf0)" identifier = (call_expression "htab_elements(DAT_0003faf0)" identifier (argument_list "(DAT_0003faf0)" ( identifier )))) , (binary_expression "DAT_0003fad8 != (char *)0x0 ||\n           (DAT_0003fba0 != (undefined4 *)0x0)" (binary_expression "DAT_0003fad8 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) || (parenthesized_expression "(DAT_0003fba0 != (undefined4 *)0x0)" ( (binary_expression "DAT_0003fba0 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )))) )) ))) )) || (parenthesized_expression "(((((((DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0) || DAT_0003fb1c != 0)\n            || DAT_0003fb18 != 0) || DAT_0003fae0 != 0) || DAT_0003fae4 != 0) || iVar9 != 0)" ( (binary_expression "((((((DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0) || DAT_0003fb1c != 0)\n            || DAT_0003fb18 != 0) || DAT_0003fae0 != 0) || DAT_0003fae4 != 0) || iVar9 != 0" (parenthesized_expression "((((((DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0) || DAT_0003fb1c != 0)\n            || DAT_0003fb18 != 0) || DAT_0003fae0 != 0) || DAT_0003fae4 != 0)" ( (binary_expression "(((((DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0) || DAT_0003fb1c != 0)\n            || DAT_0003fb18 != 0) || DAT_0003fae0 != 0) || DAT_0003fae4 != 0" (parenthesized_expression "(((((DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0) || DAT_0003fb1c != 0)\n            || DAT_0003fb18 != 0) || DAT_0003fae0 != 0)" ( (binary_expression "((((DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0) || DAT_0003fb1c != 0)\n            || DAT_0003fb18 != 0) || DAT_0003fae0 != 0" (parenthesized_expression "((((DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0) || DAT_0003fb1c != 0)\n            || DAT_0003fb18 != 0)" ( (binary_expression "(((DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0) || DAT_0003fb1c != 0)\n            || DAT_0003fb18 != 0" (parenthesized_expression "(((DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0) || DAT_0003fb1c != 0)" ( (binary_expression "((DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0) || DAT_0003fb1c != 0" (parenthesized_expression "((DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0)" ( (binary_expression "(DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0" (parenthesized_expression "(DAT_0003fb6c != 0 || DAT_0003fb68 != 0)" ( (binary_expression "DAT_0003fb6c != 0 || DAT_0003fb68 != 0" (binary_expression "DAT_0003fb6c != 0" identifier != number_literal) || (binary_expression "DAT_0003fb68 != 0" identifier != number_literal)) )) || (binary_expression "DAT_0003fb28 != 0" identifier != number_literal)) )) || (binary_expression "DAT_0003fb1c != 0" identifier != number_literal)) )) || (binary_expression "DAT_0003fb18 != 0" identifier != number_literal)) )) || (binary_expression "DAT_0003fae0 != 0" identifier != number_literal)) )) || (binary_expression "DAT_0003fae4 != 0" identifier != number_literal)) )) || (binary_expression "iVar9 != 0" identifier != number_literal)) ))) )) )))) )) ))) )) (goto_statement "goto LAB_00019032;" goto statement_identifier ;)) }))) (expression_statement "bfd_set_symtab(param_2,DAT_0003fb98,local_70);" (call_expression "bfd_set_symtab(param_2,DAT_0003fb98,local_70)" identifier (argument_list "(param_2,DAT_0003fb98,local_70)" ( identifier , identifier , identifier ))) ;) (expression_statement "bfd_map_over_sections(param_1,FUN_000181d0,param_2);" (call_expression "bfd_map_over_sections(param_1,FUN_000181d0,param_2)" identifier (argument_list "(param_1,FUN_000181d0,param_2)" ( identifier , identifier , identifier ))) ;) (expression_statement "bfd_map_over_sections(param_1,FUN_00017e40,param_2);" (call_expression "bfd_map_over_sections(param_1,FUN_00017e40,param_2)" identifier (argument_list "(param_1,FUN_00017e40,param_2)" ( identifier , identifier , identifier ))) ;) (expression_statement "psVar38 = param_1;" (assignment_expression "psVar38 = param_1" identifier = identifier) ;) (for_statement "for (puVar33 = DAT_0003fb38; puVar37 = DAT_0003fb34, puVar33 != (undefined4 *)0x0;\n      puVar33 = (undefined4 *)*puVar33) {\n    iVar9 = bfd_set_section_contents(param_2,puVar33[5],puVar33[4],0,0,puVar33[3]);\n    if (iVar9 == 0) {\n      psVar38 = (size_t *)puVar33[5];\n      local_50 = 0;\n      goto LAB_00019763;\n    }\n    psVar38 = param_2;\n  }" for ( (assignment_expression "puVar33 = DAT_0003fb38" identifier = identifier) ; (comma_expression "puVar37 = DAT_0003fb34, puVar33 != (undefined4 *)0x0" (assignment_expression "puVar37 = DAT_0003fb34" identifier = identifier) , (binary_expression "puVar33 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ; (assignment_expression "puVar33 = (undefined4 *)*puVar33" identifier = (cast_expression "(undefined4 *)*puVar33" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar33" * identifier))) ) (compound_statement "{\n    iVar9 = bfd_set_section_contents(param_2,puVar33[5],puVar33[4],0,0,puVar33[3]);\n    if (iVar9 == 0) {\n      psVar38 = (size_t *)puVar33[5];\n      local_50 = 0;\n      goto LAB_00019763;\n    }\n    psVar38 = param_2;\n  }" { (expression_statement "iVar9 = bfd_set_section_contents(param_2,puVar33[5],puVar33[4],0,0,puVar33[3]);" (assignment_expression "iVar9 = bfd_set_section_contents(param_2,puVar33[5],puVar33[4],0,0,puVar33[3])" identifier = (call_expression "bfd_set_section_contents(param_2,puVar33[5],puVar33[4],0,0,puVar33[3])" identifier (argument_list "(param_2,puVar33[5],puVar33[4],0,0,puVar33[3])" ( identifier , (subscript_expression "puVar33[5]" identifier [ number_literal ]) , (subscript_expression "puVar33[4]" identifier [ number_literal ]) , number_literal , number_literal , (subscript_expression "puVar33[3]" identifier [ number_literal ]) )))) ;) (if_statement "if (iVar9 == 0) {\n      psVar38 = (size_t *)puVar33[5];\n      local_50 = 0;\n      goto LAB_00019763;\n    }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n      psVar38 = (size_t *)puVar33[5];\n      local_50 = 0;\n      goto LAB_00019763;\n    }" { (expression_statement "psVar38 = (size_t *)puVar33[5];" (assignment_expression "psVar38 = (size_t *)puVar33[5]" identifier = (cast_expression "(size_t *)puVar33[5]" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar33[5]" identifier [ number_literal ]))) ;) (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_00019763;" goto statement_identifier ;) })) (expression_statement "psVar38 = param_2;" (assignment_expression "psVar38 = param_2" identifier = identifier) ;) })) (for_statement "for (; puVar37 != (undefined4 *)0x0; puVar37 = (undefined4 *)*puVar37) {\n    psVar38 = *(size_t **)(puVar37[5] + 0x3c);\n    local_50 = bfd_set_section_contents(param_2,psVar38,puVar37[4],0,0,puVar37[3]);\n    if (local_50 == 0) {\nLAB_00019763:\n      FUN_0002c160(0,param_2,psVar38,0);\n      return local_50;\n    }\n  }" for ( ; (binary_expression "puVar37 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "puVar37 = (undefined4 *)*puVar37" identifier = (cast_expression "(undefined4 *)*puVar37" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar37" * identifier))) ) (compound_statement "{\n    psVar38 = *(size_t **)(puVar37[5] + 0x3c);\n    local_50 = bfd_set_section_contents(param_2,psVar38,puVar37[4],0,0,puVar37[3]);\n    if (local_50 == 0) {\nLAB_00019763:\n      FUN_0002c160(0,param_2,psVar38,0);\n      return local_50;\n    }\n  }" { (expression_statement "psVar38 = *(size_t **)(puVar37[5] + 0x3c);" (assignment_expression "psVar38 = *(size_t **)(puVar37[5] + 0x3c)" identifier = (pointer_expression "*(size_t **)(puVar37[5] + 0x3c)" * (cast_expression "(size_t **)(puVar37[5] + 0x3c)" ( (type_descriptor "size_t **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar37[5] + 0x3c)" ( (binary_expression "puVar37[5] + 0x3c" (subscript_expression "puVar37[5]" identifier [ number_literal ]) + number_literal) ))))) ;) (expression_statement "local_50 = bfd_set_section_contents(param_2,psVar38,puVar37[4],0,0,puVar37[3]);" (assignment_expression "local_50 = bfd_set_section_contents(param_2,psVar38,puVar37[4],0,0,puVar37[3])" identifier = (call_expression "bfd_set_section_contents(param_2,psVar38,puVar37[4],0,0,puVar37[3])" identifier (argument_list "(param_2,psVar38,puVar37[4],0,0,puVar37[3])" ( identifier , identifier , (subscript_expression "puVar37[4]" identifier [ number_literal ]) , number_literal , number_literal , (subscript_expression "puVar37[3]" identifier [ number_literal ]) )))) ;) (if_statement "if (local_50 == 0) {\nLAB_00019763:\n      FUN_0002c160(0,param_2,psVar38,0);\n      return local_50;\n    }" if (parenthesized_expression "(local_50 == 0)" ( (binary_expression "local_50 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00019763:\n      FUN_0002c160(0,param_2,psVar38,0);\n      return local_50;\n    }" { (labeled_statement "LAB_00019763:\n      FUN_0002c160(0,param_2,psVar38,0);" statement_identifier : (expression_statement "FUN_0002c160(0,param_2,psVar38,0);" (call_expression "FUN_0002c160(0,param_2,psVar38,0)" identifier (argument_list "(0,param_2,psVar38,0)" ( number_literal , identifier , identifier , number_literal ))) ;)) (return_statement "return local_50;" return identifier ;) })) })) (expression_statement "uVar35 = 0;" (assignment_expression "uVar35 = 0" identifier = number_literal) ;) (if_statement "if (DAT_0003fb84 != 0) {\n    uVar35 = bfd_get_section_by_name(param_2,".gnu.build.attributes");\n    if (((uVar35 == 0) || (DAT_0003fb84 == 0)) ||\n       ((*(int *)(param_2[1] + 4) != 5 || (iVar9 = FUN_00017590(), iVar9 == 0)))) {\n      if (DAT_0003fba4 == 0) {\n        uVar10 = dcgettext(0,"could not find any mergeable note sections",5,0);\n        FUN_0002c160(0,param_2,uVar35,uVar10);\n      }\n    }\n    else {\n      iVar9 = bfd_set_section_contents(param_2,uVar35,DAT_0003fb80,0,0,DAT_0003fb7c,iVar9,iVar9);\n      if (iVar9 == 0) {\n        uVar10 = dcgettext(0,"error: failed to copy merged notes into output",5,0);\n        goto LAB_0001a2cd;\n      }\n    }\n    free(DAT_0003fb80);\n    DAT_0003fb80 = (size_t *)0x0;\n    DAT_0003fb84 = 0;\n    psVar38 = param_2;\n  }" if (parenthesized_expression "(DAT_0003fb84 != 0)" ( (binary_expression "DAT_0003fb84 != 0" identifier != number_literal) )) (compound_statement "{\n    uVar35 = bfd_get_section_by_name(param_2,".gnu.build.attributes");\n    if (((uVar35 == 0) || (DAT_0003fb84 == 0)) ||\n       ((*(int *)(param_2[1] + 4) != 5 || (iVar9 = FUN_00017590(), iVar9 == 0)))) {\n      if (DAT_0003fba4 == 0) {\n        uVar10 = dcgettext(0,"could not find any mergeable note sections",5,0);\n        FUN_0002c160(0,param_2,uVar35,uVar10);\n      }\n    }\n    else {\n      iVar9 = bfd_set_section_contents(param_2,uVar35,DAT_0003fb80,0,0,DAT_0003fb7c,iVar9,iVar9);\n      if (iVar9 == 0) {\n        uVar10 = dcgettext(0,"error: failed to copy merged notes into output",5,0);\n        goto LAB_0001a2cd;\n      }\n    }\n    free(DAT_0003fb80);\n    DAT_0003fb80 = (size_t *)0x0;\n    DAT_0003fb84 = 0;\n    psVar38 = param_2;\n  }" { (expression_statement "uVar35 = bfd_get_section_by_name(param_2,".gnu.build.attributes");" (assignment_expression "uVar35 = bfd_get_section_by_name(param_2,".gnu.build.attributes")" identifier = (call_expression "bfd_get_section_by_name(param_2,".gnu.build.attributes")" identifier (argument_list "(param_2,".gnu.build.attributes")" ( identifier , (string_literal "".gnu.build.attributes"" " string_content ") )))) ;) (if_statement "if (((uVar35 == 0) || (DAT_0003fb84 == 0)) ||\n       ((*(int *)(param_2[1] + 4) != 5 || (iVar9 = FUN_00017590(), iVar9 == 0)))) {\n      if (DAT_0003fba4 == 0) {\n        uVar10 = dcgettext(0,"could not find any mergeable note sections",5,0);\n        FUN_0002c160(0,param_2,uVar35,uVar10);\n      }\n    }\n    else {\n      iVar9 = bfd_set_section_contents(param_2,uVar35,DAT_0003fb80,0,0,DAT_0003fb7c,iVar9,iVar9);\n      if (iVar9 == 0) {\n        uVar10 = dcgettext(0,"error: failed to copy merged notes into output",5,0);\n        goto LAB_0001a2cd;\n      }\n    }" if (parenthesized_expression "(((uVar35 == 0) || (DAT_0003fb84 == 0)) ||\n       ((*(int *)(param_2[1] + 4) != 5 || (iVar9 = FUN_00017590(), iVar9 == 0))))" ( (binary_expression "((uVar35 == 0) || (DAT_0003fb84 == 0)) ||\n       ((*(int *)(param_2[1] + 4) != 5 || (iVar9 = FUN_00017590(), iVar9 == 0)))" (parenthesized_expression "((uVar35 == 0) || (DAT_0003fb84 == 0))" ( (binary_expression "(uVar35 == 0) || (DAT_0003fb84 == 0)" (parenthesized_expression "(uVar35 == 0)" ( (binary_expression "uVar35 == 0" identifier == number_literal) )) || (parenthesized_expression "(DAT_0003fb84 == 0)" ( (binary_expression "DAT_0003fb84 == 0" identifier == number_literal) ))) )) || (parenthesized_expression "((*(int *)(param_2[1] + 4) != 5 || (iVar9 = FUN_00017590(), iVar9 == 0)))" ( (parenthesized_expression "(*(int *)(param_2[1] + 4) != 5 || (iVar9 = FUN_00017590(), iVar9 == 0))" ( (binary_expression "*(int *)(param_2[1] + 4) != 5 || (iVar9 = FUN_00017590(), iVar9 == 0)" (binary_expression "*(int *)(param_2[1] + 4) != 5" (pointer_expression "*(int *)(param_2[1] + 4)" * (cast_expression "(int *)(param_2[1] + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2[1] + 4)" ( (binary_expression "param_2[1] + 4" (subscript_expression "param_2[1]" identifier [ number_literal ]) + number_literal) )))) != number_literal) || (parenthesized_expression "(iVar9 = FUN_00017590(), iVar9 == 0)" ( (comma_expression "iVar9 = FUN_00017590(), iVar9 == 0" (assignment_expression "iVar9 = FUN_00017590()" identifier = (call_expression "FUN_00017590()" identifier (argument_list "()" ( )))) , (binary_expression "iVar9 == 0" identifier == number_literal)) ))) )) ))) )) (compound_statement "{\n      if (DAT_0003fba4 == 0) {\n        uVar10 = dcgettext(0,"could not find any mergeable note sections",5,0);\n        FUN_0002c160(0,param_2,uVar35,uVar10);\n      }\n    }" { (if_statement "if (DAT_0003fba4 == 0) {\n        uVar10 = dcgettext(0,"could not find any mergeable note sections",5,0);\n        FUN_0002c160(0,param_2,uVar35,uVar10);\n      }" if (parenthesized_expression "(DAT_0003fba4 == 0)" ( (binary_expression "DAT_0003fba4 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar10 = dcgettext(0,"could not find any mergeable note sections",5,0);\n        FUN_0002c160(0,param_2,uVar35,uVar10);\n      }" { (expression_statement "uVar10 = dcgettext(0,"could not find any mergeable note sections",5,0);" (assignment_expression "uVar10 = dcgettext(0,"could not find any mergeable note sections",5,0)" identifier = (call_expression "dcgettext(0,"could not find any mergeable note sections",5,0)" identifier (argument_list "(0,"could not find any mergeable note sections",5,0)" ( number_literal , (string_literal ""could not find any mergeable note sections"" " string_content ") , number_literal , number_literal )))) ;) (expression_statement "FUN_0002c160(0,param_2,uVar35,uVar10);" (call_expression "FUN_0002c160(0,param_2,uVar35,uVar10)" identifier (argument_list "(0,param_2,uVar35,uVar10)" ( number_literal , identifier , identifier , identifier ))) ;) })) }) (else_clause "else {\n      iVar9 = bfd_set_section_contents(param_2,uVar35,DAT_0003fb80,0,0,DAT_0003fb7c,iVar9,iVar9);\n      if (iVar9 == 0) {\n        uVar10 = dcgettext(0,"error: failed to copy merged notes into output",5,0);\n        goto LAB_0001a2cd;\n      }\n    }" else (compound_statement "{\n      iVar9 = bfd_set_section_contents(param_2,uVar35,DAT_0003fb80,0,0,DAT_0003fb7c,iVar9,iVar9);\n      if (iVar9 == 0) {\n        uVar10 = dcgettext(0,"error: failed to copy merged notes into output",5,0);\n        goto LAB_0001a2cd;\n      }\n    }" { (expression_statement "iVar9 = bfd_set_section_contents(param_2,uVar35,DAT_0003fb80,0,0,DAT_0003fb7c,iVar9,iVar9);" (assignment_expression "iVar9 = bfd_set_section_contents(param_2,uVar35,DAT_0003fb80,0,0,DAT_0003fb7c,iVar9,iVar9)" identifier = (call_expression "bfd_set_section_contents(param_2,uVar35,DAT_0003fb80,0,0,DAT_0003fb7c,iVar9,iVar9)" identifier (argument_list "(param_2,uVar35,DAT_0003fb80,0,0,DAT_0003fb7c,iVar9,iVar9)" ( identifier , identifier , identifier , number_literal , number_literal , identifier , identifier , identifier )))) ;) (if_statement "if (iVar9 == 0) {\n        uVar10 = dcgettext(0,"error: failed to copy merged notes into output",5,0);\n        goto LAB_0001a2cd;\n      }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar10 = dcgettext(0,"error: failed to copy merged notes into output",5,0);\n        goto LAB_0001a2cd;\n      }" { (expression_statement "uVar10 = dcgettext(0,"error: failed to copy merged notes into output",5,0);" (assignment_expression "uVar10 = dcgettext(0,"error: failed to copy merged notes into output",5,0)" identifier = (call_expression "dcgettext(0,"error: failed to copy merged notes into output",5,0)" identifier (argument_list "(0,"error: failed to copy merged notes into output",5,0)" ( number_literal , (string_literal ""error: failed to copy merged notes into output"" " string_content ") , number_literal , number_literal )))) ;) (goto_statement "goto LAB_0001a2cd;" goto statement_identifier ;) })) }))) (expression_statement "free(DAT_0003fb80);" (call_expression "free(DAT_0003fb80)" identifier (argument_list "(DAT_0003fb80)" ( identifier ))) ;) (expression_statement "DAT_0003fb80 = (size_t *)0x0;" (assignment_expression "DAT_0003fb80 = (size_t *)0x0" identifier = (cast_expression "(size_t *)0x0" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "DAT_0003fb84 = 0;" (assignment_expression "DAT_0003fb84 = 0" identifier = number_literal) ;) (expression_statement "psVar38 = param_2;" (assignment_expression "psVar38 = param_2" identifier = identifier) ;) })) (if_statement "if ((DAT_0003fb2c != 0) &&\n     (iVar12 = bfd_fill_in_gnu_debuglink_section(param_2,local_98,DAT_0003fb2c),\n     iVar9 = DAT_0003fb2c, iVar12 == 0)) {\n    uVar10 = dcgettext(0,"cannot fill debug link section `%s\'",5,0);\n    FUN_0002c160(0,param_2,0,uVar10,iVar9);\n    return 0;\n  }" if (parenthesized_expression "((DAT_0003fb2c != 0) &&\n     (iVar12 = bfd_fill_in_gnu_debuglink_section(param_2,local_98,DAT_0003fb2c),\n     iVar9 = DAT_0003fb2c, iVar12 == 0))" ( (binary_expression "(DAT_0003fb2c != 0) &&\n     (iVar12 = bfd_fill_in_gnu_debuglink_section(param_2,local_98,DAT_0003fb2c),\n     iVar9 = DAT_0003fb2c, iVar12 == 0)" (parenthesized_expression "(DAT_0003fb2c != 0)" ( (binary_expression "DAT_0003fb2c != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar12 = bfd_fill_in_gnu_debuglink_section(param_2,local_98,DAT_0003fb2c),\n     iVar9 = DAT_0003fb2c, iVar12 == 0)" ( (comma_expression "iVar12 = bfd_fill_in_gnu_debuglink_section(param_2,local_98,DAT_0003fb2c),\n     iVar9 = DAT_0003fb2c, iVar12 == 0" (assignment_expression "iVar12 = bfd_fill_in_gnu_debuglink_section(param_2,local_98,DAT_0003fb2c)" identifier = (call_expression "bfd_fill_in_gnu_debuglink_section(param_2,local_98,DAT_0003fb2c)" identifier (argument_list "(param_2,local_98,DAT_0003fb2c)" ( identifier , identifier , identifier )))) , (comma_expression "iVar9 = DAT_0003fb2c, iVar12 == 0" (assignment_expression "iVar9 = DAT_0003fb2c" identifier = identifier) , (binary_expression "iVar12 == 0" identifier == number_literal))) ))) )) (compound_statement "{\n    uVar10 = dcgettext(0,"cannot fill debug link section `%s\'",5,0);\n    FUN_0002c160(0,param_2,0,uVar10,iVar9);\n    return 0;\n  }" { (expression_statement "uVar10 = dcgettext(0,"cannot fill debug link section `%s\'",5,0);" (assignment_expression "uVar10 = dcgettext(0,"cannot fill debug link section `%s\'",5,0)" identifier = (call_expression "dcgettext(0,"cannot fill debug link section `%s\'",5,0)" identifier (argument_list "(0,"cannot fill debug link section `%s\'",5,0)" ( number_literal , (string_literal ""cannot fill debug link section `%s\'"" " string_content escape_sequence ") , number_literal , number_literal )))) ;) (expression_statement "FUN_0002c160(0,param_2,0,uVar10,iVar9);" (call_expression "FUN_0002c160(0,param_2,0,uVar10,iVar9)" identifier (argument_list "(0,param_2,0,uVar10,iVar9)" ( number_literal , identifier , number_literal , identifier , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (if_statement "if (DAT_0003fb54 != 0 || DAT_0003fb4c != 0) {\n    uVar35 = 0x2000;\n    if (local_8c < 0x2001) {\n      uVar35 = local_8c;\n    }\n    psVar20 = (size_t *)xmalloc(uVar35);\n    sVar17 = (uint)DAT_0003fb50 * 0x1010101;\n    if (uVar35 < 4) {\n      if ((uVar35 != 0) && (*(char *)psVar20 = (char)sVar17, (uVar35 & 2) != 0)) {\n        *(short *)((int)psVar20 + (uVar35 - 2)) = (short)sVar17;\n      }\n    }\n    else {\n      *psVar20 = sVar17;\n      *(size_t *)((int)(psVar20 + -1) + uVar35) = sVar17;\n      psVar38 = (size_t *)((uint)(psVar20 + 1) & 0xfffffffc);\n      for (uVar26 = (int)psVar20 + (uVar35 - (int)((uint)(psVar20 + 1) & 0xfffffffc)) >> 2;\n          uVar26 != 0; uVar26 = uVar26 - 1) {\n        *psVar38 = sVar17;\n        psVar38 = psVar38 + (uint)bVar42 * -2 + 1;\n      }\n    }\n    psVar25 = (size_t *)param_2[0x1a];\n    if (psVar25 != (size_t *)0x0) {\n      psVar38 = (size_t *)0x0;\n      do {\n        uVar35 = *(uint *)((int)local_90 + (int)psVar38 * 4);\n        if (uVar35 != 0) {\n          iVar9 = local_84[(int)psVar38];\n          local_58 = 0;\n          local_5c = (int *)(*(int *)(iVar9 + 0x24) - uVar35);\n          while( true ) {\n            uVar26 = 0x2000;\n            if (uVar35 < 0x2001) {\n              uVar26 = uVar35;\n            }\n            iVar9 = bfd_set_section_contents(param_2,iVar9,psVar20,local_5c,local_58,uVar26);\n            if (iVar9 == 0) {\n              psVar38 = (size_t *)local_84[(int)psVar38];\n              local_50 = 0;\n              goto LAB_00019763;\n            }\n            bVar40 = CARRY4((uint)local_5c,uVar26);\n            local_5c = (int *)((int)local_5c + uVar26);\n            local_58 = local_58 + (uint)bVar40;\n            uVar35 = uVar35 - uVar26;\n            if (uVar35 == 0) break;\n            iVar9 = local_84[(int)psVar38];\n          }\n        }\n        psVar38 = (size_t *)((int)psVar38 + 1);\n      } while (psVar25 != psVar38);\n    }\n  }" if (parenthesized_expression "(DAT_0003fb54 != 0 || DAT_0003fb4c != 0)" ( (binary_expression "DAT_0003fb54 != 0 || DAT_0003fb4c != 0" (binary_expression "DAT_0003fb54 != 0" identifier != number_literal) || (binary_expression "DAT_0003fb4c != 0" identifier != number_literal)) )) (compound_statement "{\n    uVar35 = 0x2000;\n    if (local_8c < 0x2001) {\n      uVar35 = local_8c;\n    }\n    psVar20 = (size_t *)xmalloc(uVar35);\n    sVar17 = (uint)DAT_0003fb50 * 0x1010101;\n    if (uVar35 < 4) {\n      if ((uVar35 != 0) && (*(char *)psVar20 = (char)sVar17, (uVar35 & 2) != 0)) {\n        *(short *)((int)psVar20 + (uVar35 - 2)) = (short)sVar17;\n      }\n    }\n    else {\n      *psVar20 = sVar17;\n      *(size_t *)((int)(psVar20 + -1) + uVar35) = sVar17;\n      psVar38 = (size_t *)((uint)(psVar20 + 1) & 0xfffffffc);\n      for (uVar26 = (int)psVar20 + (uVar35 - (int)((uint)(psVar20 + 1) & 0xfffffffc)) >> 2;\n          uVar26 != 0; uVar26 = uVar26 - 1) {\n        *psVar38 = sVar17;\n        psVar38 = psVar38 + (uint)bVar42 * -2 + 1;\n      }\n    }\n    psVar25 = (size_t *)param_2[0x1a];\n    if (psVar25 != (size_t *)0x0) {\n      psVar38 = (size_t *)0x0;\n      do {\n        uVar35 = *(uint *)((int)local_90 + (int)psVar38 * 4);\n        if (uVar35 != 0) {\n          iVar9 = local_84[(int)psVar38];\n          local_58 = 0;\n          local_5c = (int *)(*(int *)(iVar9 + 0x24) - uVar35);\n          while( true ) {\n            uVar26 = 0x2000;\n            if (uVar35 < 0x2001) {\n              uVar26 = uVar35;\n            }\n            iVar9 = bfd_set_section_contents(param_2,iVar9,psVar20,local_5c,local_58,uVar26);\n            if (iVar9 == 0) {\n              psVar38 = (size_t *)local_84[(int)psVar38];\n              local_50 = 0;\n              goto LAB_00019763;\n            }\n            bVar40 = CARRY4((uint)local_5c,uVar26);\n            local_5c = (int *)((int)local_5c + uVar26);\n            local_58 = local_58 + (uint)bVar40;\n            uVar35 = uVar35 - uVar26;\n            if (uVar35 == 0) break;\n            iVar9 = local_84[(int)psVar38];\n          }\n        }\n        psVar38 = (size_t *)((int)psVar38 + 1);\n      } while (psVar25 != psVar38);\n    }\n  }" { (expression_statement "uVar35 = 0x2000;" (assignment_expression "uVar35 = 0x2000" identifier = number_literal) ;) (if_statement "if (local_8c < 0x2001) {\n      uVar35 = local_8c;\n    }" if (parenthesized_expression "(local_8c < 0x2001)" ( (binary_expression "local_8c < 0x2001" identifier < number_literal) )) (compound_statement "{\n      uVar35 = local_8c;\n    }" { (expression_statement "uVar35 = local_8c;" (assignment_expression "uVar35 = local_8c" identifier = identifier) ;) })) (expression_statement "psVar20 = (size_t *)xmalloc(uVar35);" (assignment_expression "psVar20 = (size_t *)xmalloc(uVar35)" identifier = (cast_expression "(size_t *)xmalloc(uVar35)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(uVar35)" identifier (argument_list "(uVar35)" ( identifier ))))) ;) (expression_statement "sVar17 = (uint)DAT_0003fb50 * 0x1010101;" (assignment_expression "sVar17 = (uint)DAT_0003fb50 * 0x1010101" identifier = (binary_expression "(uint)DAT_0003fb50 * 0x1010101" (cast_expression "(uint)DAT_0003fb50" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) ;) (if_statement "if (uVar35 < 4) {\n      if ((uVar35 != 0) && (*(char *)psVar20 = (char)sVar17, (uVar35 & 2) != 0)) {\n        *(short *)((int)psVar20 + (uVar35 - 2)) = (short)sVar17;\n      }\n    }\n    else {\n      *psVar20 = sVar17;\n      *(size_t *)((int)(psVar20 + -1) + uVar35) = sVar17;\n      psVar38 = (size_t *)((uint)(psVar20 + 1) & 0xfffffffc);\n      for (uVar26 = (int)psVar20 + (uVar35 - (int)((uint)(psVar20 + 1) & 0xfffffffc)) >> 2;\n          uVar26 != 0; uVar26 = uVar26 - 1) {\n        *psVar38 = sVar17;\n        psVar38 = psVar38 + (uint)bVar42 * -2 + 1;\n      }\n    }" if (parenthesized_expression "(uVar35 < 4)" ( (binary_expression "uVar35 < 4" identifier < number_literal) )) (compound_statement "{\n      if ((uVar35 != 0) && (*(char *)psVar20 = (char)sVar17, (uVar35 & 2) != 0)) {\n        *(short *)((int)psVar20 + (uVar35 - 2)) = (short)sVar17;\n      }\n    }" { (if_statement "if ((uVar35 != 0) && (*(char *)psVar20 = (char)sVar17, (uVar35 & 2) != 0)) {\n        *(short *)((int)psVar20 + (uVar35 - 2)) = (short)sVar17;\n      }" if (parenthesized_expression "((uVar35 != 0) && (*(char *)psVar20 = (char)sVar17, (uVar35 & 2) != 0))" ( (binary_expression "(uVar35 != 0) && (*(char *)psVar20 = (char)sVar17, (uVar35 & 2) != 0)" (parenthesized_expression "(uVar35 != 0)" ( (binary_expression "uVar35 != 0" identifier != number_literal) )) && (parenthesized_expression "(*(char *)psVar20 = (char)sVar17, (uVar35 & 2) != 0)" ( (comma_expression "*(char *)psVar20 = (char)sVar17, (uVar35 & 2) != 0" (assignment_expression "*(char *)psVar20 = (char)sVar17" (pointer_expression "*(char *)psVar20" * (cast_expression "(char *)psVar20" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = (cast_expression "(char)sVar17" ( (type_descriptor "char" primitive_type) ) identifier)) , (binary_expression "(uVar35 & 2) != 0" (parenthesized_expression "(uVar35 & 2)" ( (binary_expression "uVar35 & 2" identifier & number_literal) )) != number_literal)) ))) )) (compound_statement "{\n        *(short *)((int)psVar20 + (uVar35 - 2)) = (short)sVar17;\n      }" { (expression_statement "*(short *)((int)psVar20 + (uVar35 - 2)) = (short)sVar17;" (assignment_expression "*(short *)((int)psVar20 + (uVar35 - 2)) = (short)sVar17" (pointer_expression "*(short *)((int)psVar20 + (uVar35 - 2))" * (cast_expression "(short *)((int)psVar20 + (uVar35 - 2))" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psVar20 + (uVar35 - 2))" ( (binary_expression "(int)psVar20 + (uVar35 - 2)" (cast_expression "(int)psVar20" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(uVar35 - 2)" ( (binary_expression "uVar35 - 2" identifier - number_literal) ))) )))) = (cast_expression "(short)sVar17" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier)) ;) })) }) (else_clause "else {\n      *psVar20 = sVar17;\n      *(size_t *)((int)(psVar20 + -1) + uVar35) = sVar17;\n      psVar38 = (size_t *)((uint)(psVar20 + 1) & 0xfffffffc);\n      for (uVar26 = (int)psVar20 + (uVar35 - (int)((uint)(psVar20 + 1) & 0xfffffffc)) >> 2;\n          uVar26 != 0; uVar26 = uVar26 - 1) {\n        *psVar38 = sVar17;\n        psVar38 = psVar38 + (uint)bVar42 * -2 + 1;\n      }\n    }" else (compound_statement "{\n      *psVar20 = sVar17;\n      *(size_t *)((int)(psVar20 + -1) + uVar35) = sVar17;\n      psVar38 = (size_t *)((uint)(psVar20 + 1) & 0xfffffffc);\n      for (uVar26 = (int)psVar20 + (uVar35 - (int)((uint)(psVar20 + 1) & 0xfffffffc)) >> 2;\n          uVar26 != 0; uVar26 = uVar26 - 1) {\n        *psVar38 = sVar17;\n        psVar38 = psVar38 + (uint)bVar42 * -2 + 1;\n      }\n    }" { (expression_statement "*psVar20 = sVar17;" (assignment_expression "*psVar20 = sVar17" (pointer_expression "*psVar20" * identifier) = identifier) ;) (expression_statement "*(size_t *)((int)(psVar20 + -1) + uVar35) = sVar17;" (assignment_expression "*(size_t *)((int)(psVar20 + -1) + uVar35) = sVar17" (pointer_expression "*(size_t *)((int)(psVar20 + -1) + uVar35)" * (cast_expression "(size_t *)((int)(psVar20 + -1) + uVar35)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)(psVar20 + -1) + uVar35)" ( (binary_expression "(int)(psVar20 + -1) + uVar35" (cast_expression "(int)(psVar20 + -1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(psVar20 + -1)" ( (binary_expression "psVar20 + -1" identifier + number_literal) ))) + identifier) )))) = identifier) ;) (expression_statement "psVar38 = (size_t *)((uint)(psVar20 + 1) & 0xfffffffc);" (assignment_expression "psVar38 = (size_t *)((uint)(psVar20 + 1) & 0xfffffffc)" identifier = (cast_expression "(size_t *)((uint)(psVar20 + 1) & 0xfffffffc)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)(psVar20 + 1) & 0xfffffffc)" ( (binary_expression "(uint)(psVar20 + 1) & 0xfffffffc" (call_expression "(uint)(psVar20 + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(psVar20 + 1)" ( (binary_expression "psVar20 + 1" identifier + number_literal) ))) & number_literal) )))) ;) (for_statement "for (uVar26 = (int)psVar20 + (uVar35 - (int)((uint)(psVar20 + 1) & 0xfffffffc)) >> 2;\n          uVar26 != 0; uVar26 = uVar26 - 1) {\n        *psVar38 = sVar17;\n        psVar38 = psVar38 + (uint)bVar42 * -2 + 1;\n      }" for ( (assignment_expression "uVar26 = (int)psVar20 + (uVar35 - (int)((uint)(psVar20 + 1) & 0xfffffffc)) >> 2" identifier = (binary_expression "(int)psVar20 + (uVar35 - (int)((uint)(psVar20 + 1) & 0xfffffffc)) >> 2" (binary_expression "(int)psVar20 + (uVar35 - (int)((uint)(psVar20 + 1) & 0xfffffffc))" (cast_expression "(int)psVar20" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(uVar35 - (int)((uint)(psVar20 + 1) & 0xfffffffc))" ( (binary_expression "uVar35 - (int)((uint)(psVar20 + 1) & 0xfffffffc)" identifier - (cast_expression "(int)((uint)(psVar20 + 1) & 0xfffffffc)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((uint)(psVar20 + 1) & 0xfffffffc)" ( (binary_expression "(uint)(psVar20 + 1) & 0xfffffffc" (call_expression "(uint)(psVar20 + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(psVar20 + 1)" ( (binary_expression "psVar20 + 1" identifier + number_literal) ))) & number_literal) )))) ))) >> number_literal)) ; (binary_expression "uVar26 != 0" identifier != number_literal) ; (assignment_expression "uVar26 = uVar26 - 1" identifier = (binary_expression "uVar26 - 1" identifier - number_literal)) ) (compound_statement "{\n        *psVar38 = sVar17;\n        psVar38 = psVar38 + (uint)bVar42 * -2 + 1;\n      }" { (expression_statement "*psVar38 = sVar17;" (assignment_expression "*psVar38 = sVar17" (pointer_expression "*psVar38" * identifier) = identifier) ;) (expression_statement "psVar38 = psVar38 + (uint)bVar42 * -2 + 1;" (assignment_expression "psVar38 = psVar38 + (uint)bVar42 * -2 + 1" identifier = (binary_expression "psVar38 + (uint)bVar42 * -2 + 1" (binary_expression "psVar38 + (uint)bVar42 * -2" identifier + (binary_expression "(uint)bVar42 * -2" (cast_expression "(uint)bVar42" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) }))) (expression_statement "psVar25 = (size_t *)param_2[0x1a];" (assignment_expression "psVar25 = (size_t *)param_2[0x1a]" identifier = (cast_expression "(size_t *)param_2[0x1a]" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[0x1a]" identifier [ number_literal ]))) ;) (if_statement "if (psVar25 != (size_t *)0x0) {\n      psVar38 = (size_t *)0x0;\n      do {\n        uVar35 = *(uint *)((int)local_90 + (int)psVar38 * 4);\n        if (uVar35 != 0) {\n          iVar9 = local_84[(int)psVar38];\n          local_58 = 0;\n          local_5c = (int *)(*(int *)(iVar9 + 0x24) - uVar35);\n          while( true ) {\n            uVar26 = 0x2000;\n            if (uVar35 < 0x2001) {\n              uVar26 = uVar35;\n            }\n            iVar9 = bfd_set_section_contents(param_2,iVar9,psVar20,local_5c,local_58,uVar26);\n            if (iVar9 == 0) {\n              psVar38 = (size_t *)local_84[(int)psVar38];\n              local_50 = 0;\n              goto LAB_00019763;\n            }\n            bVar40 = CARRY4((uint)local_5c,uVar26);\n            local_5c = (int *)((int)local_5c + uVar26);\n            local_58 = local_58 + (uint)bVar40;\n            uVar35 = uVar35 - uVar26;\n            if (uVar35 == 0) break;\n            iVar9 = local_84[(int)psVar38];\n          }\n        }\n        psVar38 = (size_t *)((int)psVar38 + 1);\n      } while (psVar25 != psVar38);\n    }" if (parenthesized_expression "(psVar25 != (size_t *)0x0)" ( (binary_expression "psVar25 != (size_t *)0x0" identifier != (cast_expression "(size_t *)0x0" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      psVar38 = (size_t *)0x0;\n      do {\n        uVar35 = *(uint *)((int)local_90 + (int)psVar38 * 4);\n        if (uVar35 != 0) {\n          iVar9 = local_84[(int)psVar38];\n          local_58 = 0;\n          local_5c = (int *)(*(int *)(iVar9 + 0x24) - uVar35);\n          while( true ) {\n            uVar26 = 0x2000;\n            if (uVar35 < 0x2001) {\n              uVar26 = uVar35;\n            }\n            iVar9 = bfd_set_section_contents(param_2,iVar9,psVar20,local_5c,local_58,uVar26);\n            if (iVar9 == 0) {\n              psVar38 = (size_t *)local_84[(int)psVar38];\n              local_50 = 0;\n              goto LAB_00019763;\n            }\n            bVar40 = CARRY4((uint)local_5c,uVar26);\n            local_5c = (int *)((int)local_5c + uVar26);\n            local_58 = local_58 + (uint)bVar40;\n            uVar35 = uVar35 - uVar26;\n            if (uVar35 == 0) break;\n            iVar9 = local_84[(int)psVar38];\n          }\n        }\n        psVar38 = (size_t *)((int)psVar38 + 1);\n      } while (psVar25 != psVar38);\n    }" { (expression_statement "psVar38 = (size_t *)0x0;" (assignment_expression "psVar38 = (size_t *)0x0" identifier = (cast_expression "(size_t *)0x0" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n        uVar35 = *(uint *)((int)local_90 + (int)psVar38 * 4);\n        if (uVar35 != 0) {\n          iVar9 = local_84[(int)psVar38];\n          local_58 = 0;\n          local_5c = (int *)(*(int *)(iVar9 + 0x24) - uVar35);\n          while( true ) {\n            uVar26 = 0x2000;\n            if (uVar35 < 0x2001) {\n              uVar26 = uVar35;\n            }\n            iVar9 = bfd_set_section_contents(param_2,iVar9,psVar20,local_5c,local_58,uVar26);\n            if (iVar9 == 0) {\n              psVar38 = (size_t *)local_84[(int)psVar38];\n              local_50 = 0;\n              goto LAB_00019763;\n            }\n            bVar40 = CARRY4((uint)local_5c,uVar26);\n            local_5c = (int *)((int)local_5c + uVar26);\n            local_58 = local_58 + (uint)bVar40;\n            uVar35 = uVar35 - uVar26;\n            if (uVar35 == 0) break;\n            iVar9 = local_84[(int)psVar38];\n          }\n        }\n        psVar38 = (size_t *)((int)psVar38 + 1);\n      } while (psVar25 != psVar38);" do (compound_statement "{\n        uVar35 = *(uint *)((int)local_90 + (int)psVar38 * 4);\n        if (uVar35 != 0) {\n          iVar9 = local_84[(int)psVar38];\n          local_58 = 0;\n          local_5c = (int *)(*(int *)(iVar9 + 0x24) - uVar35);\n          while( true ) {\n            uVar26 = 0x2000;\n            if (uVar35 < 0x2001) {\n              uVar26 = uVar35;\n            }\n            iVar9 = bfd_set_section_contents(param_2,iVar9,psVar20,local_5c,local_58,uVar26);\n            if (iVar9 == 0) {\n              psVar38 = (size_t *)local_84[(int)psVar38];\n              local_50 = 0;\n              goto LAB_00019763;\n            }\n            bVar40 = CARRY4((uint)local_5c,uVar26);\n            local_5c = (int *)((int)local_5c + uVar26);\n            local_58 = local_58 + (uint)bVar40;\n            uVar35 = uVar35 - uVar26;\n            if (uVar35 == 0) break;\n            iVar9 = local_84[(int)psVar38];\n          }\n        }\n        psVar38 = (size_t *)((int)psVar38 + 1);\n      }" { (expression_statement "uVar35 = *(uint *)((int)local_90 + (int)psVar38 * 4);" (assignment_expression "uVar35 = *(uint *)((int)local_90 + (int)psVar38 * 4)" identifier = (pointer_expression "*(uint *)((int)local_90 + (int)psVar38 * 4)" * (cast_expression "(uint *)((int)local_90 + (int)psVar38 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_90 + (int)psVar38 * 4)" ( (binary_expression "(int)local_90 + (int)psVar38 * 4" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(int)psVar38 * 4" (cast_expression "(int)psVar38" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ))))) ;) (if_statement "if (uVar35 != 0) {\n          iVar9 = local_84[(int)psVar38];\n          local_58 = 0;\n          local_5c = (int *)(*(int *)(iVar9 + 0x24) - uVar35);\n          while( true ) {\n            uVar26 = 0x2000;\n            if (uVar35 < 0x2001) {\n              uVar26 = uVar35;\n            }\n            iVar9 = bfd_set_section_contents(param_2,iVar9,psVar20,local_5c,local_58,uVar26);\n            if (iVar9 == 0) {\n              psVar38 = (size_t *)local_84[(int)psVar38];\n              local_50 = 0;\n              goto LAB_00019763;\n            }\n            bVar40 = CARRY4((uint)local_5c,uVar26);\n            local_5c = (int *)((int)local_5c + uVar26);\n            local_58 = local_58 + (uint)bVar40;\n            uVar35 = uVar35 - uVar26;\n            if (uVar35 == 0) break;\n            iVar9 = local_84[(int)psVar38];\n          }\n        }" if (parenthesized_expression "(uVar35 != 0)" ( (binary_expression "uVar35 != 0" identifier != number_literal) )) (compound_statement "{\n          iVar9 = local_84[(int)psVar38];\n          local_58 = 0;\n          local_5c = (int *)(*(int *)(iVar9 + 0x24) - uVar35);\n          while( true ) {\n            uVar26 = 0x2000;\n            if (uVar35 < 0x2001) {\n              uVar26 = uVar35;\n            }\n            iVar9 = bfd_set_section_contents(param_2,iVar9,psVar20,local_5c,local_58,uVar26);\n            if (iVar9 == 0) {\n              psVar38 = (size_t *)local_84[(int)psVar38];\n              local_50 = 0;\n              goto LAB_00019763;\n            }\n            bVar40 = CARRY4((uint)local_5c,uVar26);\n            local_5c = (int *)((int)local_5c + uVar26);\n            local_58 = local_58 + (uint)bVar40;\n            uVar35 = uVar35 - uVar26;\n            if (uVar35 == 0) break;\n            iVar9 = local_84[(int)psVar38];\n          }\n        }" { (expression_statement "iVar9 = local_84[(int)psVar38];" (assignment_expression "iVar9 = local_84[(int)psVar38]" identifier = (subscript_expression "local_84[(int)psVar38]" identifier [ (cast_expression "(int)psVar38" ( (type_descriptor "int" primitive_type) ) identifier) ])) ;) (expression_statement "local_58 = 0;" (assignment_expression "local_58 = 0" identifier = number_literal) ;) (expression_statement "local_5c = (int *)(*(int *)(iVar9 + 0x24) - uVar35);" (assignment_expression "local_5c = (int *)(*(int *)(iVar9 + 0x24) - uVar35)" identifier = (cast_expression "(int *)(*(int *)(iVar9 + 0x24) - uVar35)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar9 + 0x24) - uVar35)" ( (binary_expression "*(int *)(iVar9 + 0x24) - uVar35" (pointer_expression "*(int *)(iVar9 + 0x24)" * (cast_expression "(int *)(iVar9 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x24)" ( (binary_expression "iVar9 + 0x24" identifier + number_literal) )))) - identifier) )))) ;) (while_statement "while( true ) {\n            uVar26 = 0x2000;\n            if (uVar35 < 0x2001) {\n              uVar26 = uVar35;\n            }\n            iVar9 = bfd_set_section_contents(param_2,iVar9,psVar20,local_5c,local_58,uVar26);\n            if (iVar9 == 0) {\n              psVar38 = (size_t *)local_84[(int)psVar38];\n              local_50 = 0;\n              goto LAB_00019763;\n            }\n            bVar40 = CARRY4((uint)local_5c,uVar26);\n            local_5c = (int *)((int)local_5c + uVar26);\n            local_58 = local_58 + (uint)bVar40;\n            uVar35 = uVar35 - uVar26;\n            if (uVar35 == 0) break;\n            iVar9 = local_84[(int)psVar38];\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            uVar26 = 0x2000;\n            if (uVar35 < 0x2001) {\n              uVar26 = uVar35;\n            }\n            iVar9 = bfd_set_section_contents(param_2,iVar9,psVar20,local_5c,local_58,uVar26);\n            if (iVar9 == 0) {\n              psVar38 = (size_t *)local_84[(int)psVar38];\n              local_50 = 0;\n              goto LAB_00019763;\n            }\n            bVar40 = CARRY4((uint)local_5c,uVar26);\n            local_5c = (int *)((int)local_5c + uVar26);\n            local_58 = local_58 + (uint)bVar40;\n            uVar35 = uVar35 - uVar26;\n            if (uVar35 == 0) break;\n            iVar9 = local_84[(int)psVar38];\n          }" { (expression_statement "uVar26 = 0x2000;" (assignment_expression "uVar26 = 0x2000" identifier = number_literal) ;) (if_statement "if (uVar35 < 0x2001) {\n              uVar26 = uVar35;\n            }" if (parenthesized_expression "(uVar35 < 0x2001)" ( (binary_expression "uVar35 < 0x2001" identifier < number_literal) )) (compound_statement "{\n              uVar26 = uVar35;\n            }" { (expression_statement "uVar26 = uVar35;" (assignment_expression "uVar26 = uVar35" identifier = identifier) ;) })) (expression_statement "iVar9 = bfd_set_section_contents(param_2,iVar9,psVar20,local_5c,local_58,uVar26);" (assignment_expression "iVar9 = bfd_set_section_contents(param_2,iVar9,psVar20,local_5c,local_58,uVar26)" identifier = (call_expression "bfd_set_section_contents(param_2,iVar9,psVar20,local_5c,local_58,uVar26)" identifier (argument_list "(param_2,iVar9,psVar20,local_5c,local_58,uVar26)" ( identifier , identifier , identifier , identifier , identifier , identifier )))) ;) (if_statement "if (iVar9 == 0) {\n              psVar38 = (size_t *)local_84[(int)psVar38];\n              local_50 = 0;\n              goto LAB_00019763;\n            }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n              psVar38 = (size_t *)local_84[(int)psVar38];\n              local_50 = 0;\n              goto LAB_00019763;\n            }" { (expression_statement "psVar38 = (size_t *)local_84[(int)psVar38];" (assignment_expression "psVar38 = (size_t *)local_84[(int)psVar38]" identifier = (cast_expression "(size_t *)local_84[(int)psVar38]" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_84[(int)psVar38]" identifier [ (cast_expression "(int)psVar38" ( (type_descriptor "int" primitive_type) ) identifier) ]))) ;) (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_00019763;" goto statement_identifier ;) })) (expression_statement "bVar40 = CARRY4((uint)local_5c,uVar26);" (assignment_expression "bVar40 = CARRY4((uint)local_5c,uVar26)" identifier = (call_expression "CARRY4((uint)local_5c,uVar26)" identifier (argument_list "((uint)local_5c,uVar26)" ( (cast_expression "(uint)local_5c" ( (type_descriptor "uint" type_identifier) ) identifier) , identifier )))) ;) (expression_statement "local_5c = (int *)((int)local_5c + uVar26);" (assignment_expression "local_5c = (int *)((int)local_5c + uVar26)" identifier = (cast_expression "(int *)((int)local_5c + uVar26)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_5c + uVar26)" ( (binary_expression "(int)local_5c + uVar26" (cast_expression "(int)local_5c" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "local_58 = local_58 + (uint)bVar40;" (assignment_expression "local_58 = local_58 + (uint)bVar40" identifier = (binary_expression "local_58 + (uint)bVar40" identifier + (cast_expression "(uint)bVar40" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "uVar35 = uVar35 - uVar26;" (assignment_expression "uVar35 = uVar35 - uVar26" identifier = (binary_expression "uVar35 - uVar26" identifier - identifier)) ;) (if_statement "if (uVar35 == 0) break;" if (parenthesized_expression "(uVar35 == 0)" ( (binary_expression "uVar35 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar9 = local_84[(int)psVar38];" (assignment_expression "iVar9 = local_84[(int)psVar38]" identifier = (subscript_expression "local_84[(int)psVar38]" identifier [ (cast_expression "(int)psVar38" ( (type_descriptor "int" primitive_type) ) identifier) ])) ;) })) })) (expression_statement "psVar38 = (size_t *)((int)psVar38 + 1);" (assignment_expression "psVar38 = (size_t *)((int)psVar38 + 1)" identifier = (cast_expression "(size_t *)((int)psVar38 + 1)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psVar38 + 1)" ( (binary_expression "(int)psVar38 + 1" (cast_expression "(int)psVar38" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "(psVar25 != psVar38)" ( (binary_expression "psVar25 != psVar38" identifier != identifier) )) ;) })) })) (expression_statement "iVar9 = (**(code **)(param_2[1] + 0xa8))(param_1,param_2);" (assignment_expression "iVar9 = (**(code **)(param_2[1] + 0xa8))(param_1,param_2)" identifier = (call_expression "(**(code **)(param_2[1] + 0xa8))(param_1,param_2)" (parenthesized_expression "(**(code **)(param_2[1] + 0xa8))" ( (pointer_expression "**(code **)(param_2[1] + 0xa8)" * (pointer_expression "*(code **)(param_2[1] + 0xa8)" * (cast_expression "(code **)(param_2[1] + 0xa8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2[1] + 0xa8)" ( (binary_expression "param_2[1] + 0xa8" (subscript_expression "param_2[1]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(param_1,param_2)" ( identifier , identifier )))) ;) (if_statement "if (iVar9 != 0) {\n    if ((DAT_0003fb44 != 0) &&\n       (iVar12 = bfd_alt_mach_code(param_2,DAT_0003fb44,uVar35,uVar35), iVar9 = DAT_0003fb44,\n       iVar12 == 0)) {\n      uVar10 = dcgettext(0,"this target does not support %lu alternative machine codes",5,psVar38);\n      FUN_0002b6d0(uVar10,iVar9);\n      if (*(int *)(param_2[1] + 4) != 5) {\n        uVar10 = dcgettext(0,"ignoring the alternative value",5,extraout_ECX_00);\n        FUN_0002b6d0(uVar10);\n        return 1;\n      }\n      uVar10 = dcgettext(0,"treating that number as an absolute e_machine value instead",5,iVar9);\n      FUN_0002b6d0(uVar10);\n      *(short *)(param_2[0x27] + 0x26) = (short)DAT_0003fb44;\n    }\n    return 1;\n  }" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (compound_statement "{\n    if ((DAT_0003fb44 != 0) &&\n       (iVar12 = bfd_alt_mach_code(param_2,DAT_0003fb44,uVar35,uVar35), iVar9 = DAT_0003fb44,\n       iVar12 == 0)) {\n      uVar10 = dcgettext(0,"this target does not support %lu alternative machine codes",5,psVar38);\n      FUN_0002b6d0(uVar10,iVar9);\n      if (*(int *)(param_2[1] + 4) != 5) {\n        uVar10 = dcgettext(0,"ignoring the alternative value",5,extraout_ECX_00);\n        FUN_0002b6d0(uVar10);\n        return 1;\n      }\n      uVar10 = dcgettext(0,"treating that number as an absolute e_machine value instead",5,iVar9);\n      FUN_0002b6d0(uVar10);\n      *(short *)(param_2[0x27] + 0x26) = (short)DAT_0003fb44;\n    }\n    return 1;\n  }" { (if_statement "if ((DAT_0003fb44 != 0) &&\n       (iVar12 = bfd_alt_mach_code(param_2,DAT_0003fb44,uVar35,uVar35), iVar9 = DAT_0003fb44,\n       iVar12 == 0)) {\n      uVar10 = dcgettext(0,"this target does not support %lu alternative machine codes",5,psVar38);\n      FUN_0002b6d0(uVar10,iVar9);\n      if (*(int *)(param_2[1] + 4) != 5) {\n        uVar10 = dcgettext(0,"ignoring the alternative value",5,extraout_ECX_00);\n        FUN_0002b6d0(uVar10);\n        return 1;\n      }\n      uVar10 = dcgettext(0,"treating that number as an absolute e_machine value instead",5,iVar9);\n      FUN_0002b6d0(uVar10);\n      *(short *)(param_2[0x27] + 0x26) = (short)DAT_0003fb44;\n    }" if (parenthesized_expression "((DAT_0003fb44 != 0) &&\n       (iVar12 = bfd_alt_mach_code(param_2,DAT_0003fb44,uVar35,uVar35), iVar9 = DAT_0003fb44,\n       iVar12 == 0))" ( (binary_expression "(DAT_0003fb44 != 0) &&\n       (iVar12 = bfd_alt_mach_code(param_2,DAT_0003fb44,uVar35,uVar35), iVar9 = DAT_0003fb44,\n       iVar12 == 0)" (parenthesized_expression "(DAT_0003fb44 != 0)" ( (binary_expression "DAT_0003fb44 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar12 = bfd_alt_mach_code(param_2,DAT_0003fb44,uVar35,uVar35), iVar9 = DAT_0003fb44,\n       iVar12 == 0)" ( (comma_expression "iVar12 = bfd_alt_mach_code(param_2,DAT_0003fb44,uVar35,uVar35), iVar9 = DAT_0003fb44,\n       iVar12 == 0" (assignment_expression "iVar12 = bfd_alt_mach_code(param_2,DAT_0003fb44,uVar35,uVar35)" identifier = (call_expression "bfd_alt_mach_code(param_2,DAT_0003fb44,uVar35,uVar35)" identifier (argument_list "(param_2,DAT_0003fb44,uVar35,uVar35)" ( identifier , identifier , identifier , identifier )))) , (comma_expression "iVar9 = DAT_0003fb44,\n       iVar12 == 0" (assignment_expression "iVar9 = DAT_0003fb44" identifier = identifier) , (binary_expression "iVar12 == 0" identifier == number_literal))) ))) )) (compound_statement "{\n      uVar10 = dcgettext(0,"this target does not support %lu alternative machine codes",5,psVar38);\n      FUN_0002b6d0(uVar10,iVar9);\n      if (*(int *)(param_2[1] + 4) != 5) {\n        uVar10 = dcgettext(0,"ignoring the alternative value",5,extraout_ECX_00);\n        FUN_0002b6d0(uVar10);\n        return 1;\n      }\n      uVar10 = dcgettext(0,"treating that number as an absolute e_machine value instead",5,iVar9);\n      FUN_0002b6d0(uVar10);\n      *(short *)(param_2[0x27] + 0x26) = (short)DAT_0003fb44;\n    }" { (expression_statement "uVar10 = dcgettext(0,"this target does not support %lu alternative machine codes",5,psVar38);" (assignment_expression "uVar10 = dcgettext(0,"this target does not support %lu alternative machine codes",5,psVar38)" identifier = (call_expression "dcgettext(0,"this target does not support %lu alternative machine codes",5,psVar38)" identifier (argument_list "(0,"this target does not support %lu alternative machine codes",5,psVar38)" ( number_literal , (string_literal ""this target does not support %lu alternative machine codes"" " string_content ") , number_literal , identifier )))) ;) (expression_statement "FUN_0002b6d0(uVar10,iVar9);" (call_expression "FUN_0002b6d0(uVar10,iVar9)" identifier (argument_list "(uVar10,iVar9)" ( identifier , identifier ))) ;) (if_statement "if (*(int *)(param_2[1] + 4) != 5) {\n        uVar10 = dcgettext(0,"ignoring the alternative value",5,extraout_ECX_00);\n        FUN_0002b6d0(uVar10);\n        return 1;\n      }" if (parenthesized_expression "(*(int *)(param_2[1] + 4) != 5)" ( (binary_expression "*(int *)(param_2[1] + 4) != 5" (pointer_expression "*(int *)(param_2[1] + 4)" * (cast_expression "(int *)(param_2[1] + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2[1] + 4)" ( (binary_expression "param_2[1] + 4" (subscript_expression "param_2[1]" identifier [ number_literal ]) + number_literal) )))) != number_literal) )) (compound_statement "{\n        uVar10 = dcgettext(0,"ignoring the alternative value",5,extraout_ECX_00);\n        FUN_0002b6d0(uVar10);\n        return 1;\n      }" { (expression_statement "uVar10 = dcgettext(0,"ignoring the alternative value",5,extraout_ECX_00);" (assignment_expression "uVar10 = dcgettext(0,"ignoring the alternative value",5,extraout_ECX_00)" identifier = (call_expression "dcgettext(0,"ignoring the alternative value",5,extraout_ECX_00)" identifier (argument_list "(0,"ignoring the alternative value",5,extraout_ECX_00)" ( number_literal , (string_literal ""ignoring the alternative value"" " string_content ") , number_literal , identifier )))) ;) (expression_statement "FUN_0002b6d0(uVar10);" (call_expression "FUN_0002b6d0(uVar10)" identifier (argument_list "(uVar10)" ( identifier ))) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "uVar10 = dcgettext(0,"treating that number as an absolute e_machine value instead",5,iVar9);" (assignment_expression "uVar10 = dcgettext(0,"treating that number as an absolute e_machine value instead",5,iVar9)" identifier = (call_expression "dcgettext(0,"treating that number as an absolute e_machine value instead",5,iVar9)" identifier (argument_list "(0,"treating that number as an absolute e_machine value instead",5,iVar9)" ( number_literal , (string_literal ""treating that number as an absolute e_machine value instead"" " string_content ") , number_literal , identifier )))) ;) (expression_statement "FUN_0002b6d0(uVar10);" (call_expression "FUN_0002b6d0(uVar10)" identifier (argument_list "(uVar10)" ( identifier ))) ;) (expression_statement "*(short *)(param_2[0x27] + 0x26) = (short)DAT_0003fb44;" (assignment_expression "*(short *)(param_2[0x27] + 0x26) = (short)DAT_0003fb44" (pointer_expression "*(short *)(param_2[0x27] + 0x26)" * (cast_expression "(short *)(param_2[0x27] + 0x26)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2[0x27] + 0x26)" ( (binary_expression "param_2[0x27] + 0x26" (subscript_expression "param_2[0x27]" identifier [ number_literal ]) + number_literal) )))) = (cast_expression "(short)DAT_0003fb44" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier)) ;) })) (return_statement "return 1;" return number_literal ;) })) (expression_statement "uVar10 = dcgettext(0,"error copying private BFD data",5,psVar38);" (assignment_expression "uVar10 = dcgettext(0,"error copying private BFD data",5,psVar38)" identifier = (call_expression "dcgettext(0,"error copying private BFD data",5,psVar38)" identifier (argument_list "(0,"error copying private BFD data",5,psVar38)" ( number_literal , (string_literal ""error copying private BFD data"" " string_content ") , number_literal , identifier )))) ;) (expression_statement "uVar35 = 0;" (assignment_expression "uVar35 = 0" identifier = number_literal) ;) (labeled_statement "LAB_0001a2cd:\n  FUN_0002c160(0,param_2,uVar35,uVar10);" statement_identifier : (expression_statement "FUN_0002c160(0,param_2,uVar35,uVar10);" (call_expression "FUN_0002c160(0,param_2,uVar35,uVar10)" identifier (argument_list "(0,param_2,uVar35,uVar10)" ( number_literal , identifier , identifier , identifier ))) ;)) (return_statement "return 0;" return number_literal ;) })))
(translation_unit (function_definition TYPE (ERROR IDENT) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE 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 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 (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 IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE 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 (pointer_declarator * 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 (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) && (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) != LIT)) )) && (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 ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) & LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT , LIT , LIT ))) ;) (return_statement return LIT ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence string_content escape_sequence string_content ")) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) )) [ LIT ]) != LIT) )) (compound_statement { (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 { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , IDENT , LIT )))) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (return_statement return LIT ;) })) (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 = (string_literal " string_content escape_sequence ")) ;) (goto_statement goto statement_identifier ;) })) })) (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 *)) ) (subscript_expression IDENT [ LIT ])))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (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 ( LIT , (string_literal " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (unary_expression ~ IDENT) & (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) & (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) >> LIT) & LIT) | IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) , (binary_expression IDENT == LIT)) ))) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (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 = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) , (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 IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) }))) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) )) (argument_list ( IDENT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )) != LIT) )) (compound_statement { (labeled_statement statement_identifier : (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 = (call_expression IDENT (argument_list ( IDENT )))) ;) (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 )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (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 , IDENT ))) ;) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) & LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT , LIT , LIT ))) ;)) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) )) [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT < LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == LIT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (subscript_expression IDENT [ LIT ])))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) )) [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT < LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == LIT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (subscript_expression IDENT [ LIT ])))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) ;) (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) ; (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 IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (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 (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (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 (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (string_literal " string_content ") , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT)) , (string_literal " string_content ") , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (pointer_expression & IDENT) ))) ;) })) })) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) )) (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) )) (argument_list ( IDENT , IDENT )))) , (comma_expression (assignment_expression IDENT = IDENT) , (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 ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT , LIT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (for_statement for ( ; (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ; (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) | LIT)) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (subscript_expression IDENT [ LIT ]) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence string_content escape_sequence string_content escape_sequence ")) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , IDENT , LIT )))) ;)) (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT , LIT , IDENT , IDENT ))) ;) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (subscript_expression IDENT [ LIT ]) , (binary_expression IDENT | LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence string_content escape_sequence ")) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , (subscript_expression IDENT [ LIT ]) )))) ;) (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 IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (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) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) })) (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 *)) ) (pointer_expression * IDENT))) ) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (subscript_expression IDENT [ LIT ]) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence string_content ")) ;) (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 = (call_expression IDENT (argument_list ( IDENT , IDENT , (subscript_expression IDENT [ LIT ]) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") )))) , (binary_expression IDENT != LIT)) ))) )) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) == LIT) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) , (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 = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , (pointer_expression & IDENT) , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT , IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (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 IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (binary_expression IDENT / LIT) , LIT , IDENT , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (while_statement while (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + LIT) & LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) )) (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + LIT) & LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (binary_expression IDENT - LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT , IDENT )))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (binary_expression IDENT + LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT , IDENT )))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT , IDENT )))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression LIT - IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) == (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) == (char_literal ' character ')) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < IDENT) )) && (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) ))) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) == (char_literal ' character ')) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) == (char_literal ' character ')) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) == (char_literal ' escape_sequence ')) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT , IDENT )))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }))) })))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT , IDENT )))) ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_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 ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) == (char_literal ' escape_sequence ')) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) )) (argument_list ( (binary_expression IDENT + LIT) ))))) ;) }))) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) )) (argument_list ( (binary_expression IDENT + LIT) ))))) ;) }))) }))))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (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 (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) - LIT) )) + (pointer_expression * IDENT)) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT , (pointer_expression * IDENT) )))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) | IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) && (binary_expression IDENT == LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT , IDENT )))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT , IDENT )))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) || (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) )) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (unary_expression - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )))) & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + IDENT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT , IDENT )))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression (subscript_expression IDENT [ LIT ]) == LIT)) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) ))))) || (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )))) )) ))) )) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , (cast_expression ( (type_descriptor TYPE) ) IDENT) )))) , (comma_expression (assignment_expression IDENT = IDENT) , (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT == LIT))))) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) , (binary_expression (binary_expression IDENT != LIT) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) , (binary_expression IDENT != LIT)) )))) )) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression LIT < IDENT) || (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) <= (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) & LIT) ))) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) })) (expression_statement (assignment_expression IDENT = BOOL) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) && (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ))) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) }))))) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT)) - IDENT) != IDENT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT | (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + IDENT) )))) << (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * (char_literal ' escape_sequence ')) & LIT) ))))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression (binary_expression IDENT - IDENT) != IDENT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) | (binary_expression (subscript_expression (call_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) ))) ))) [ IDENT ]) << (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * (char_literal ' escape_sequence ')) & LIT) )))) )))) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT)) ;) (for_statement for ( (assignment_expression IDENT = IDENT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) }) while (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) ;) (while_statement while (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) })) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (for_statement for ( (assignment_expression IDENT = IDENT) ; (binary_expression IDENT < IDENT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) + IDENT) + LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == IDENT) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == IDENT) ))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) )) (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) )) (argument_list ( LIT , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) )) (argument_list ( IDENT , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) , IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) )) (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (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 = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) == (char_literal ' escape_sequence ')) )) * (char_literal ' escape_sequence ')) + (char_literal ' escape_sequence '))) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) )) (argument_list ( IDENT , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) , IDENT , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) )) (argument_list ( IDENT , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) == (char_literal ' escape_sequence '))) ))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , IDENT , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , LIT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) }))) }))) }))) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + 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 IDENT + LIT) )))) , IDENT , IDENT )))) , (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT != LIT))) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT , IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT , IDENT , IDENT ))) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT , IDENT )))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;)) }))) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) }))) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (for_statement for ( (assignment_expression IDENT = IDENT) ; (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ; (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (subscript_expression IDENT [ LIT ]) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT , LIT , IDENT , IDENT ))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence string_content ")) ;) }) (else_clause else (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 = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) , (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , LIT , LIT , IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , 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 ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT , IDENT , IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (return_statement return LIT ;) })) }))) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) }))) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence string_content ")) ;) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , IDENT , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT , IDENT , IDENT ))) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT , IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT , LIT , IDENT , IDENT ))) ;) (return_statement return LIT ;) })) (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 = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) }) (else_clause else (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT != LIT)) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ))) )) (compound_statement { (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 = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_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) ;) (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)) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) && (binary_expression IDENT == LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * 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 = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (pointer_expression & IDENT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) - IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , (binary_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 (cast_expression ( (type_descriptor TYPE) ) IDENT) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence string_content ") , LIT , (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) )))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT , (pointer_expression * IDENT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) })) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) != IDENT) )) ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ (binary_expression IDENT - LIT) ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , (binary_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 = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence string_content ") , LIT , IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT , (subscript_expression IDENT [ (binary_expression IDENT - LIT) ]) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (parenthesized_expression ( (binary_expression IDENT - LIT) ))) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) }))) })) })) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , LIT )))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < LIT) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (return_statement return LIT ;) })) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT + IDENT) )) * LIT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (subscript_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 = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (do_statement do (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 = (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (binary_expression LIT < IDENT) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) , (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 *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )))) , (binary_expression IDENT != LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) , (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ))) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (string_literal " "))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) || (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == 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 == IDENT)) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT)) ))) )) (compound_statement { (for_statement for ( ; (comma_expression (assignment_expression IDENT = IDENT) , (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 { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 IDENT [ LIT ]))) ;) (break_statement break ;) })) })) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT)) == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) && (parenthesized_expression ( (binary_expression IDENT != IDENT) ))) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) & LIT) )) == LIT) ))) )) ))) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (goto_statement goto statement_identifier ;) })) (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) )))) == (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (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 (subscript_expression IDENT [ LIT ]) + LIT) )))) == (char_literal ' escape_sequence ')) ))) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) != (char_literal ' escape_sequence ')) ))) )) (compound_statement { (labeled_statement 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 = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (binary_expression (binary_expression IDENT + LIT) + IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (binary_expression (binary_expression IDENT + LIT) + IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + 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 { (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) ;) })) (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) || (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 *))) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) + LIT) )))) & LIT) )) == LIT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) & LIT) )) == LIT) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) & LIT) )) != LIT) ))) )) ))) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) && (parenthesized_expression ( (binary_expression IDENT != (binary_expression IDENT + LIT)) ))) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) & LIT) )) == LIT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) != LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ 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) )))) == LIT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , LIT )))) ;) (goto_statement goto statement_identifier ;) })) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (binary_expression IDENT - LIT)) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;))) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)))))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence string_content ") , LIT , IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) ))) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) , (binary_expression IDENT != LIT)) ))) )) (goto_statement goto statement_identifier ;))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT != LIT) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) , (binary_expression IDENT != LIT)) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) | LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (binary_expression IDENT + LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) , (binary_expression (binary_expression IDENT != LIT) || (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) , (binary_expression (binary_expression IDENT != LIT) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) , (binary_expression IDENT == LIT)) )))) )) )))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT != LIT) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * IDENT)) , (binary_expression (binary_expression IDENT != LIT) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) == LIT) )))) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) ))) )) && (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )) - LIT) < LIT) ))) )) ))) )) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) | LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) | LIT)) ;) })) })) (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (binary_expression LIT < IDENT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (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 = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " escape_sequence string_content escape_sequence string_content ") , LIT , IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , 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 IDENT < IDENT) )) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) )) [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT , LIT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , (pointer_expression & IDENT) , IDENT , (pointer_expression & IDENT) , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , (subscript_expression IDENT [ LIT ]) , IDENT )))) , (binary_expression IDENT == LIT)) ))) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT )))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence string_content ")) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , IDENT , LIT , IDENT )))) ;)) (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT , LIT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (return_statement return LIT ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , LIT , LIT , (subscript_expression IDENT [ LIT ]) , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , LIT , LIT , IDENT , IDENT , IDENT )))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence string_content ")) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT != LIT) || (binary_expression IDENT != LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) , (binary_expression IDENT != LIT)) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) , (binary_expression (binary_expression IDENT != LIT) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) , (binary_expression (binary_expression IDENT != LIT) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) , (binary_expression IDENT != LIT)) )))) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) , (binary_expression IDENT != LIT)) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) , (binary_expression (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) || (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )))) )) ))) )) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT != LIT) || (binary_expression IDENT != LIT)) )) || (binary_expression IDENT != LIT)) )) || (binary_expression IDENT != LIT)) )) || (binary_expression IDENT != LIT)) )) || (binary_expression IDENT != LIT)) )) || (binary_expression IDENT != LIT)) )) || (binary_expression IDENT != LIT)) ))) )) )))) )) ))) )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (for_statement for ( (assignment_expression IDENT = IDENT) ; (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ; (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) , LIT , LIT , (subscript_expression IDENT [ LIT ]) )))) ;) (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 IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (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 *)) ) (pointer_expression * IDENT))) ) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , (subscript_expression IDENT [ LIT ]) , LIT , LIT , (subscript_expression IDENT [ LIT ]) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT , IDENT , LIT ))) ;)) (return_statement return IDENT ;) })) })) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) != LIT) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) , (binary_expression IDENT == LIT)) ))) )) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT , IDENT , IDENT ))) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , LIT , LIT , IDENT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT , LIT )))) ;) (goto_statement goto statement_identifier ;) })) }))) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) , (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT == LIT))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT , LIT , IDENT , IDENT ))) ;) (return_statement return LIT ;) })) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT != LIT) || (binary_expression IDENT != LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) , (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (parenthesized_expression ( (binary_expression IDENT - LIT) ))) )))) = (cast_expression ( (type_descriptor (sized_type_specifier short)) ) IDENT)) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))) + IDENT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) ))) & LIT) )))) ;) (for_statement for ( (assignment_expression IDENT = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (parenthesized_expression ( (binary_expression IDENT - (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) ))) & LIT) )))) ))) >> LIT)) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT - LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = 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 = (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ (cast_expression ( (type_descriptor TYPE) ) IDENT) ])) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - IDENT) )))) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , 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 IDENT [ (cast_expression ( (type_descriptor TYPE) ) IDENT) ]))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) IDENT) , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ (cast_expression ( (type_descriptor TYPE) ) IDENT) ])) ;) })) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) )) (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT )))) , (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT == LIT))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT , IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (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 ( LIT , (string_literal " string_content ") , LIT , IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT , IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) = (cast_expression ( (type_descriptor (sized_type_specifier short)) ) IDENT)) ;) })) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT , IDENT , IDENT ))) ;)) (return_statement return LIT ;) })))
(function_definition "int __regparm3 FUN_000185f0(size_t *param_1,size_t *param_2,int param_3)\n\n{\n  void *__dest;\n  int *piVar1;\n  size_t sVar2;\n  int *piVar3;\n  undefined *puVar4;\n  size_t sVar5;\n  size_t *psVar6;\n  size_t *psVar7;\n  char cVar8;\n  int iVar9;\n  undefined4 uVar10;\n  undefined4 uVar11;\n  int iVar12;\n  FILE *__s;\n  undefined4 uVar13;\n  undefined4 uVar14;\n  int *piVar15;\n  undefined *puVar16;\n  size_t sVar17;\n  size_t sVar18;\n  int *piVar19;\n  size_t *psVar20;\n  int iVar21;\n  char *pcVar22;\n  size_t sVar23;\n  void *pvVar24;\n  size_t *psVar25;\n  undefined4 extraout_ECX;\n  uint uVar26;\n  undefined4 extraout_ECX_00;\n  undefined4 extraout_ECX_01;\n  uint uVar27;\n  undefined4 extraout_ECX_02;\n  undefined4 extraout_ECX_03;\n  uint uVar28;\n  undefined1 *puVar29;\n  void *pvVar30;\n  size_t __n;\n  undefined4 extraout_EDX;\n  int *piVar31;\n  byte *pbVar32;\n  undefined4 *puVar33;\n  size_t *psVar34;\n  uint uVar35;\n  byte *pbVar36;\n  undefined4 *puVar37;\n  size_t *psVar38;\n  uint uVar39;\n  bool bVar40;\n  bool bVar41;\n  byte bVar42;\n  undefined8 uVar43;\n  void *pvVar44;\n  size_t *psVar45;\n  size_t *psVar46;\n  size_t local_98;\n  size_t local_94;\n  void *local_90;\n  size_t local_8c;\n  int *local_84;\n  size_t *local_80;\n  size_t *local_7c;\n  uint local_74;\n  int local_70;\n  uint local_6c;\n  int *local_68;\n  size_t *local_64;\n  size_t *local_60;\n  int *local_5c;\n  int local_58;\n  int local_50;\n  undefined4 local_4c;\n  undefined4 local_48;\n  undefined4 local_44 [5];\n  int *local_30;\n  undefined4 local_2c;\n  undefined4 uStack_14;\n  \n  bVar42 = 0;\n  uStack_14 = 0x185fd;\n  if ((*(int *)(param_1[1] + 8) != *(int *)(param_2[1] + 8) && *(int *)(param_1[1] + 8) != 2) &&\n     (*(int *)(param_2[1] + 8) != 2)) {\n    uVar10 = dcgettext(0,"Unable to change endianness of input file(s)",5);\n    FUN_0002b6d0(uVar10);\n    return 0;\n  }\n  iVar9 = bfd_set_format(param_2,(byte)param_1[10] & 7);\n  if (iVar9 == 0) {\n    FUN_0002c160(0,param_2,0,0);\n    return 0;\n  }\n  if (param_1[0x18] == 0) {\n    uVar10 = FUN_0002c060(param_1);\n    pcVar22 = "error: the input file \'%s\' has no sections";\n    goto LAB_00018bc8;\n  }\n  if (((undefined4 *)param_1[1])[1] != 5) {\n    if ((DAT_0003fb24 != 1) && ((DAT_0003fb24 & 1) != 0)) {\n      uVar10 = FUN_0002c060(param_1);\n      pcVar22 = "--compress-debug-sections=[zlib|zlib-gnu|zlib-gabi] is unsupported on `%s\'";\nLAB_00018bc8:\n      uVar11 = dcgettext(0,pcVar22,5);\n      FUN_0002b6d0(uVar11,uVar10);\n      return 0;\n    }\n    if (DAT_0003fb20 != 0) {\n      uVar10 = FUN_0002c060(param_1);\n      pcVar22 = "--elf-stt-common=[yes|no] is unsupported on `%s\'";\n      goto LAB_00018bc8;\n    }\n  }\n  if (DAT_0003fb90 != 0) {\n    uVar10 = *(undefined4 *)param_1[1];\n    uVar11 = *(undefined4 *)param_2[1];\n    sVar17 = *param_2;\n    uVar13 = FUN_0002c060(param_1);\n    pcVar22 = (char *)dcgettext(0,"copy from `%s\' [%s] to `%s\' [%s]\n",5);\n    printf(pcVar22,uVar13,uVar10,sVar17,uVar11);\n  }\n  iVar9 = 0;\n  if (DAT_0003facc == 0) {\n    sVar17 = DAT_0003fb5c;\n    if (DAT_0003fb60 == 0) {\n      sVar17 = param_1[0x1c];\n    }\n    iVar9 = sVar17 + DAT_0003fb64;\n  }\n  if ((param_2[10] & 7) != 3) {\n    uVar35 = ~DAT_0003fb3c & *(uint *)(param_2[1] + 0x10) &\n             (param_1[10] >> 5 & 0xfffff | DAT_0003fb40);\n    if (DAT_0003fb78 == 7) {\n      uVar35 = uVar35 & 0xfffffffe;\n    }\n    iVar9 = bfd_set_start_address(param_2,iVar9);\n    if ((iVar9 == 0) || (iVar9 = bfd_set_file_flags(param_2,uVar35), iVar9 == 0)) goto LAB_00018840;\n  }\n  uVar10 = bfd_get_arch(param_1);\n  uVar11 = bfd_get_mach(param_1);\n  if (param_3 != 0) {\n    iVar9 = bfd_get_arch_info(param_1);\n    if ((iVar9 == 0) || (iVar9 = bfd_get_arch_info(param_1), *(int *)(iVar9 + 0xc) == 0)) {\n      uVar10 = *(undefined4 *)(param_3 + 0xc);\n      uVar11 = *(undefined4 *)(param_3 + 0x10);\n    }\n    else {\n      uVar13 = FUN_0002c060(param_1);\n      uVar14 = dcgettext(0,"Input file `%s\' ignores binary architecture parameter.",5);\n      FUN_0002b6d0(uVar14,uVar13);\n    }\n  }\n  iVar9 = (**(code **)(param_2[1] + 0x154))(param_2,uVar10,uVar11);\n  if (iVar9 == 0) {\n    if ((*(byte *)((int)param_1 + 0x2b) & 4) != 0) {\nLAB_000187e7:\n      iVar9 = bfd_get_arch(param_1);\n      if (iVar9 == 0) {\n        uVar10 = FUN_0002c060(param_1);\n        pcVar22 = "Unable to recognise the format of the input file `%s\'";\n      }\n      else {\n        uVar10 = bfd_get_mach(param_1);\n        uVar11 = bfd_get_arch(param_1);\n        uVar10 = bfd_printable_arch_mach(uVar11,uVar10);\n        pcVar22 = "Output file cannot represent architecture `%s\'";\n      }\n      uVar11 = dcgettext(0,pcVar22,5);\n      FUN_0002b6d0(uVar11,uVar10);\n      return 0;\n    }\n    iVar9 = bfd_get_arch(param_1);\n    iVar12 = bfd_get_arch(param_2);\n    if (iVar9 != iVar12) goto LAB_000187e7;\n  }\n  iVar9 = bfd_set_format(param_2,(byte)param_1[10] & 7);\n  if (iVar9 == 0) {\nLAB_00018840:\n    FUN_0002c160(0,param_1,0,0);\n    return 0;\n  }\n  uVar35 = ((undefined4 *)param_2[1])[1];\n  bVar40 = uVar35 < 2;\n  bVar41 = uVar35 == 2;\n  if (bVar41) {\n    iVar9 = 4;\n    pbVar32 = *(byte **)param_2[1];\n    pbVar36 = &DAT_0002e16a;\n    do {\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar40 = *pbVar32 < *pbVar36;\n      bVar41 = *pbVar32 == *pbVar36;\n      pbVar32 = pbVar32 + (uint)bVar42 * -2 + 1;\n      pbVar36 = pbVar36 + (uint)bVar42 * -2 + 1;\n    } while (bVar41);\n    if ((!bVar40 && !bVar41) == bVar40) {\n      sVar17 = param_2[0x27];\n      uVar35 = ((undefined4 *)param_1[1])[1];\n      bVar40 = uVar35 < 2;\n      bVar41 = uVar35 == 2;\n      if (bVar41) {\n        iVar9 = 4;\n        pbVar32 = *(byte **)param_1[1];\n        pbVar36 = &DAT_0002e16a;\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar40 = *pbVar32 < *pbVar36;\n          bVar41 = *pbVar32 == *pbVar36;\n          pbVar32 = pbVar32 + (uint)bVar42 * -2 + 1;\n          pbVar36 = pbVar36 + (uint)bVar42 * -2 + 1;\n        } while (bVar41);\n        if ((!bVar40 && !bVar41) == bVar40) {\n          puVar33 = (undefined4 *)(param_1[0x27] + 0x78);\n          puVar37 = (undefined4 *)(sVar17 + 0x78);\n          for (iVar9 = 0x38; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar37 = *puVar33;\n            puVar33 = puVar33 + (uint)bVar42 * -2 + 1;\n            puVar37 = puVar37 + (uint)bVar42 * -2 + 1;\n          }\n        }\n      }\n      uVar35 = DAT_0003f298;\n      if (DAT_0003f298 == 0xffffffff) {\n        DAT_0003f298 = 0x200;\n        uVar35 = 0x200;\n      }\n      else {\n        *(uint *)(sVar17 + 0x9c) = DAT_0003f298;\n      }\n      if (DAT_0003f294 != -1) {\n        *(int *)(sVar17 + 0xcc) = DAT_0003f294;\n      }\n      if (DAT_0003f290 != -1) {\n        *(int *)(sVar17 + 0xcc) = DAT_0003f290;\n      }\n      if (DAT_0003f28c != -1) {\n        *(int *)(sVar17 + 0x94) = DAT_0003f28c;\n      }\n      uVar26 = DAT_0003f288;\n      if (DAT_0003f288 == 0xffffffff) {\n        DAT_0003f288 = 0x1000;\n        uVar26 = 0x1000;\n      }\n      else {\n        *(uint *)(sVar17 + 0x98) = DAT_0003f288;\n      }\n      if (DAT_0003f284 != -1) {\n        *(int *)(sVar17 + 0xc4) = DAT_0003f284;\n      }\n      if (DAT_0003f280 != -1) {\n        *(int *)(sVar17 + 0xc4) = DAT_0003f280;\n      }\n      if (DAT_0003f27c != -1) {\n        *(short *)(sVar17 + 0xbc) = DAT_0003f27c;\n      }\n      if (DAT_0003f27a != -1) {\n        *(short *)(sVar17 + 0xa8) = DAT_0003f27a;\n      }\n      if (DAT_0003f278 != -1) {\n        *(short *)(sVar17 + 0xaa) = DAT_0003f278;\n      }\n      if (uVar26 < uVar35) {\n        sprintf((char *)local_44,"%08lx",uVar35);\n        sprintf((char *)&local_30,"%08lx",DAT_0003f288);\n        uVar10 = dcgettext(0,"warning: file alignment (0x%s) > section alignment (0x%s)",5);\n        FUN_0002b6d0(uVar10,local_44,&local_30);\n      }\n    }\n  }\n  piVar15 = DAT_0003fb9c;\n  if (DAT_0003fb9c != (int *)0x0) {\n    free(DAT_0003fb9c);\n  }\n  if (piVar15 != DAT_0003fb98) {\n    free(DAT_0003fb98);\n  }\n  DAT_0003fb9c = (int *)0x0;\n  DAT_0003fb98 = (int *)0x0;\n  iVar9 = (**(code **)(param_1[1] + 0x104))(param_1);\n  if (iVar9 < 0) goto LAB_00018840;\n  DAT_0003fb98 = (int *)xmalloc(iVar9);\n  DAT_0003fb9c = DAT_0003fb98;\n  local_70 = (**(code **)(param_1[1] + 0x108))(param_1,DAT_0003fb98);\n  if (local_70 < 0) goto LAB_00018840;\n  if (local_70 == 0) {\n    free(DAT_0003fb9c);\n    DAT_0003fb9c = (int *)0x0;\n    DAT_0003fb98 = (int *)0x0;\n  }\n  bfd_map_over_sections(param_1,FUN_000179b0,param_2);\n  puVar33 = DAT_0003fb38;\n  if ((DAT_0003facc == 0) &&\n     (iVar9 = (**(code **)(param_2[1] + 0xbc))(param_1,param_2), puVar33 = DAT_0003fb38, iVar9 == 0)\n     ) {\n    DAT_0003fb88 = 1;\n    uVar10 = dcgettext(0,"error in private header data",5);\n    FUN_0002c160(0,param_1,0,uVar10);\n    puVar33 = DAT_0003fb38;\n  }\n  for (; puVar37 = DAT_0003fb34, puVar33 != (undefined4 *)0x0; puVar33 = (undefined4 *)*puVar33) {\n    uVar35 = 0x128;\n    iVar9 = FUN_00016910();\n    if (iVar9 != 0) {\n      uVar35 = *(uint *)(iVar9 + 0x18) | 0x100;\n    }\n    iVar9 = bfd_get_section_by_name(param_2,puVar33[1]);\n    if (iVar9 != 0) {\n      uVar10 = puVar33[1];\n      pcVar22 = "can\'t add section \'%s\'";\nLAB_00019719:\n      uVar11 = dcgettext(0,pcVar22,5);\n      FUN_0002c160(0,param_2,0,uVar11,uVar10);\n      return 0;\n    }\n    iVar9 = bfd_make_section_with_flags(param_2,puVar33[1],uVar35 | 0x100000);\n    puVar33[5] = iVar9;\n    if (iVar9 == 0) {\n      uVar10 = puVar33[1];\n      pcVar22 = "can\'t create section `%s\'";\n      goto LAB_00019719;\n    }\n    iVar9 = bfd_set_section_size(param_2,iVar9,puVar33[3]);\n    if (iVar9 == 0) {\n      psVar38 = (size_t *)puVar33[5];\n      local_50 = 0;\n      goto LAB_00019763;\n    }\n    iVar9 = FUN_00016910();\n    if (iVar9 != 0) {\n      uVar10 = *(undefined4 *)(iVar9 + 0x10);\n      iVar9 = puVar33[5];\n      *(byte *)(iVar9 + 0x18) = *(byte *)(iVar9 + 0x18) | 1;\n      *(undefined4 *)(iVar9 + 0x20) = uVar10;\n      *(undefined4 *)(iVar9 + 0x1c) = uVar10;\n    }\n    iVar9 = FUN_00016910();\n    if (iVar9 != 0) {\n      *(undefined4 *)(puVar33[5] + 0x20) = *(undefined4 *)(iVar9 + 0x14);\n    }\n  }\n  for (; puVar37 != (undefined4 *)0x0; puVar37 = (undefined4 *)*puVar37) {\n    iVar9 = bfd_get_section_by_name(param_1,puVar37[1]);\n    puVar37[5] = iVar9;\n    if (iVar9 == 0) {\n      uVar10 = puVar37[1];\n      pcVar22 = "error: %s not found, can\'t be updated";\n      goto LAB_00018bc8;\n    }\n    psVar38 = *(size_t **)(iVar9 + 0x3c);\n    local_50 = bfd_set_section_size(param_2,psVar38,puVar37[3]);\n    if (local_50 == 0) goto LAB_00019763;\n  }\n  if ((((DAT_0003fb84 != 0) &&\n       (sVar17 = bfd_get_section_by_name(param_1,".gnu.build.attributes"), sVar17 != 0)) &&\n      (DAT_0003fb84 != 0)) &&\n     ((*(int *)(param_1[1] + 4) == 5 && (iVar9 = FUN_00017590(), iVar9 != 0)))) {\n    uVar35 = *(uint *)(sVar17 + 0x24);\n    if (uVar35 == 0) {\n      uVar10 = dcgettext(0,"warning: note section is empty",5,0);\n      FUN_0002c160(0,param_1,sVar17,uVar10);\n      DAT_0003fb84 = 0;\n    }\n    else {\n      iVar9 = bfd_get_full_section_contents(param_1,sVar17,&DAT_0003fb80,uVar35);\n      psVar38 = DAT_0003fb80;\n      if (iVar9 == 0) {\n        uVar10 = dcgettext(0,"warning: could not load note section",5,0);\n        FUN_0002c160(0,param_1,sVar17,uVar10);\n        free(DAT_0003fb80);\n        DAT_0003fb80 = (size_t *)0x0;\n        DAT_0003fb84 = 0;\n      }\n      else {\n        iVar9 = bfd_get_reloc_upper_bound(param_1,sVar17,sVar17,sVar17);\n        psVar20 = param_1;\n        sVar18 = sVar17;\n        if (0 < iVar9) {\n          psVar20 = (size_t *)xmalloc(iVar9);\n          sVar18 = bfd_canonicalize_reloc(param_1,sVar17,psVar20,DAT_0003fb9c);\n          free(psVar20);\n          if (sVar18 == 0) goto LAB_0001a478;\n          local_60 = (size_t *)0x0;\n          goto LAB_0001a75c;\n        }\nLAB_0001a478:\n        pvVar44 = (void *)0x24;\n        psVar46 = psVar20;\n        local_60 = (size_t *)xcalloc(uVar35 / 0xc,0x24,psVar20,psVar20);\n        local_90 = (void *)0x0;\n        local_98 = 0;\n        local_8c = 0;\n        local_94 = 0;\n        local_6c = 0;\n        local_84 = (int *)0x0;\n        local_80 = (size_t *)0x0;\n        psVar25 = psVar38;\n        psVar34 = psVar38;\n        local_74 = uVar35;\n        local_64 = local_60;\n        while (0xb < local_74) {\n          iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25);\n          uVar26 = iVar9 + 3U & 0xfffffffc;\n          *local_64 = uVar26;\n          iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25 + 1);\n          uVar39 = iVar9 + 3U & 0xfffffffc;\n          sVar18 = param_1[1];\n          local_64[1] = uVar39;\n          sVar23 = (**(code **)(sVar18 + 0x28))(psVar25 + 2);\n          local_64[2] = sVar23;\n          if (1 < sVar23 - 0x100) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: wrong note type",5,\n                              extraout_ECX_01);\n            goto LAB_0001a72d;\n          }\n          iVar9 = uVar26 + uVar39;\n          if (local_74 < iVar9 + 0xcU) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: note too big",5,psVar25);\n            goto LAB_0001a72d;\n          }\n          if (uVar26 < 2) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name too small",5,iVar9);\n            goto LAB_0001a72d;\n          }\n          local_64[3] = (size_t)(psVar25 + 3);\n          sVar2 = (int)psVar25 + uVar26 + 0xc;\n          local_64[4] = sVar2;\n          psVar34 = (size_t *)(-0xc - iVar9);\n          local_74 = local_74 + (int)psVar34;\n          cVar8 = (char)psVar25[3];\n          if (cVar8 == '$') {\n            if ((*(char *)((int)psVar25 + 0xd) == '\x01') && (*(char *)((int)psVar25 + 0xe) == '1'))\n            {\n              local_80 = (size_t *)((int)local_80 + 1);\n            }\n          }\n          else if ((((4 < uVar26) && (cVar8 == 'G')) && (*(char *)((int)psVar25 + 0xd) == 'A')) &&\n                  ((*(char *)((int)psVar25 + 0xe) == '$' &&\n                   (*(char *)((int)psVar25 + 0xf) == '\x01')))) {\n            cVar8 = (char)psVar25[4];\n            if (cVar8 == '2') {\n              local_84 = (int *)((int)local_84 + 1);\n            }\n            else {\n              if (cVar8 != '3') {\n                iVar9 = dcgettext(0,"corrupt GNU build attribute note: unsupported version",5,cVar8)\n                ;\n                goto LAB_0001a72d;\n              }\n              local_6c = local_6c + 1;\n            }\n          }\n          if (uVar39 == 4) {\n            sVar18 = (**(code **)(param_1[1] + 0x28))(sVar2);\n            pvVar24 = (void *)0xffffffff;\n          }\n          else if (uVar39 < 5) {\n            if (uVar39 != 0) {\nLAB_0001a7ea:\n              iVar9 = dcgettext(0,"corrupt GNU build attribute note: bad description size",5,cVar8);\n              goto LAB_0001a72d;\n            }\n            pvVar24 = (void *)0x0;\n            sVar18 = 0;\n          }\n          else {\n            psVar34 = param_1;\n            if (uVar39 == 8) {\n              sVar18 = param_1[1];\n              if ((*(int *)(sVar18 + 4) == 5) && (*(char *)(param_1[0x27] + 4) == '\x02')) {\n                sVar18 = (**(code **)(sVar18 + 0x1c))(sVar2);\n                pvVar24 = (void *)0xffffffff;\n              }\n              else {\n                sVar18 = (**(code **)(sVar18 + 0x28))(sVar2);\n                pvVar24 = (void *)(**(code **)(param_1[1] + 0x28))(sVar2 + 4);\n              }\n            }\n            else {\n              if (uVar39 != 0x10) goto LAB_0001a7ea;\n              sVar18 = (**(code **)(param_1[1] + 0x1c))(sVar2);\n              pvVar24 = (void *)(**(code **)(param_1[1] + 0x1c))(sVar2 + 8);\n            }\n          }\n          if (sVar23 == 0x100) {\n            if (sVar18 == 0) {\n              sVar18 = local_8c;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = local_90;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_90 = pvVar24;\n            local_8c = sVar18;\n          }\n          else {\n            if (sVar18 == 0) {\n              sVar18 = local_94;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = (void *)local_98;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_98 = (size_t)pvVar24;\n            local_94 = sVar18;\n          }\n          if (*(char *)((local_64[3] - 1) + *local_64) != '\0') {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name not NUL terminated",5,\n                              *local_64);\n            goto LAB_0001a72d;\n          }\n          local_64 = local_64 + 9;\n          psVar25 = (size_t *)(iVar9 + 0xcU + (int)psVar25);\n        }\n        if (local_74 == 0) {\n          uVar26 = (uint)local_84 | local_6c;\n          if (local_80 == (size_t *)0x0 && uVar26 == 0) {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: no known versions detected",5,uVar26\n                             );\n            goto LAB_0001a72d;\n          }\n          if (((local_80 != (size_t *)0x0) && (uVar26 != 0)) ||\n             ((local_84 != (int *)0x0 && (local_6c != 0)))) {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: multiple different versions",5,\n                              sVar18);\n            goto LAB_0001a72d;\n          }\n          if ((local_80 == (size_t *)0x1 || local_84 == (int *)0x1) || (local_6c == 1))\n          goto LAB_0001a75c;\n          uVar26 = -(uint)(local_80 == (size_t *)0x0) & 2;\n          iVar9 = uVar26 + 1;\n          if (*(char *)(local_60[3] + iVar9) != '\x01') {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: first note not version note",5,\n                              psVar34);\n            goto LAB_0001a72d;\n          }\n          bVar40 = false;\n          iVar12 = uVar26 + 2;\n          psVar25 = local_60;\nLAB_0001a954:\n          psVar34 = psVar25;\n          psVar25 = psVar34 + 9;\n          if (psVar25 < local_64) {\n            if (psVar34[0xb] == 0x100) {\n              pvVar24 = (void *)psVar34[0xc];\n              local_7c = (size_t *)0x0;\n              psVar45 = psVar25;\n              do {\n                do {\n                  psVar6 = psVar45;\n                  psVar45 = psVar6 + -9;\n                  if (psVar45 < local_60) goto LAB_0001a954;\n                  pvVar30 = (void *)psVar6[-6];\n                  psVar7 = local_7c;\n                } while ((((local_7c == (size_t *)0x0) && (psVar6[-8] != 0)) &&\n                         (psVar7 = psVar45, psVar6[-7] == 0x101)) ||\n                        ((local_7c = psVar7,\n                         *(char *)((int)pvVar24 + iVar9) != *(char *)((int)pvVar30 + iVar9) ||\n                         (psVar6[-7] != 0x100))));\n                if (*(char *)((int)pvVar30 + iVar9) != '\x04') {\n                  psVar45 = (size_t *)*psVar45;\n                  if ((((psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)) &&\n                      ((uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0))))\n                     && ((0xfffffff0 < uVar26 || (psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0))))) {\n                    psVar34[0xb] = 0;\n                    if (uVar26 < uVar39) {\n                      psVar6[-2] = uVar39;\n                    }\n                    bVar40 = true;\n                    if (local_6c != 0) {\n                      psVar6[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0)) {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    psVar34[0x11] = 1;\n                    psVar34[0xb] = 0x101;\n                    psVar6[-1] = 1;\n                    psVar6[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }\n                uVar26 = 0;\n                for (iVar21 = 0; (int)*psVar25 - iVar12 != iVar21; iVar21 = iVar21 + 1) {\n                  uVar26 = uVar26 | (uint)*(byte *)((int)pvVar24 + iVar21 + iVar12) <<\n                                    ((char)iVar21 * '\b' & 0x1fU);\n                }\n                sVar18 = *psVar45;\n                local_5c = (int *)0x0;\n                for (uVar39 = 0; sVar18 - iVar12 != uVar39; uVar39 = uVar39 + 1) {\n                  local_5c = (int *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39] <<\n                                    ((char)uVar39 * '\b' & 0x1fU));\n                }\n                uVar28 = 0;\n                uVar26 = (int)local_5c + uVar26;\n                for (uVar27 = uVar26; uVar27 != 0; uVar27 = uVar27 >> 8) {\n                  uVar28 = uVar28 + 1;\n                }\n              } while (uVar39 <= uVar28);\n              puVar29 = (undefined1 *)((int)pvVar30 + iVar12);\n              while (puVar29 < (undefined1 *)((int)pvVar30 + sVar18)) {\n                *puVar29 = (char)uVar26;\n                if (uVar26 == 0) break;\n                uVar26 = uVar26 >> 8;\n                puVar29 = puVar29 + 1;\n              }\n              psVar34[0xb] = 0;\n              bVar40 = true;\n            }\n            goto LAB_0001a954;\n          }\n          if (!bVar40) goto LAB_0001a75c;\n          pvVar24 = (void *)xmalloc(uVar35,pvVar44,psVar20,psVar46);\n          sVar18 = 0;\n          pvVar44 = pvVar24;\n          local_80 = psVar38;\n          for (psVar20 = local_60; psVar20 < local_64; psVar20 = psVar20 + 9) {\n            sVar23 = *psVar20;\n            __n = psVar20[1] + sVar23 + 0xc;\n            sVar2 = psVar20[2];\n            pvVar30 = pvVar44;\n            if (sVar2 != 0) {\n              if (psVar20[8] == 0) {\n                memcpy(pvVar44,local_80,__n);\n                pvVar30 = (void *)((int)pvVar44 + __n);\n              }\n              else {\n                sVar5 = psVar20[6];\n                __dest = (void *)((int)pvVar44 + 0xc);\n                pvVar30 = (void *)((int)__dest + sVar23);\n                if ((sVar5 == local_74) && (psVar20[7] == sVar18)) {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar5,sVar5);\n                  (**(code **)(param_1[1] + 0x30))(0,(int)pvVar44 + 4);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                }\n                else {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar18,sVar18);\n                  cVar8 = '\b';\n                  if (*(int *)(param_1[1] + 4) == 5) {\n                    cVar8 = (*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b';\n                  }\n                  (**(code **)(param_1[1] + 0x30))(cVar8,(int)pvVar44 + 4,sVar23,sVar23);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                  sVar18 = param_1[1];\n                  psVar25 = param_1;\n                  if ((*(int *)(sVar18 + 4) == 5) &&\n                     (psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02')) {\n                    (**(code **)(sVar18 + 0x24))(sVar5,0,pvVar30,psVar25);\n                    (**(code **)(param_1[1] + 0x24))(psVar20[7],0,(void *)((int)pvVar30 + 8));\n                    pvVar30 = (void *)((int)pvVar30 + 0x10);\n                  }\n                  else {\n                    (**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25);\n                    (**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4);\n                    pvVar30 = (void *)((int)pvVar30 + 8);\n                  }\n                }\n              }\n              local_74 = psVar20[6];\n              sVar18 = psVar20[7];\n            }\n            local_80 = (size_t *)((int)local_80 + __n);\n            pvVar44 = pvVar30;\n          }\n          sVar18 = (int)pvVar44 - (int)pvVar24;\n          memcpy(psVar38,pvVar24,sVar18);\n          free(pvVar24);\n          free(local_60);\n          DAT_0003fb7c = sVar18;\n          if (uVar35 != sVar18) {\n            uVar10 = extraout_ECX_02;\n            if ((*(int *)(sVar17 + 0x3c) != 0) &&\n               (iVar9 = bfd_set_section_size(param_2,*(int *)(sVar17 + 0x3c),sVar18,extraout_EDX),\n               uVar10 = extraout_ECX_03, iVar9 != 0)) goto LAB_00018aad;\n            uVar10 = dcgettext(0,"warning: failed to set merged notes size",5,uVar10);\n            FUN_0002c160(0,param_2,sVar17,uVar10);\n          }\n        }\n        else {\n          iVar9 = dcgettext(0,"corrupt GNU build attribute notes: excess data at end",5,local_64);\nLAB_0001a72d:\n          if (iVar9 != 0) {\n            bfd_set_error(0x11);\n            FUN_0002c160(0,param_1,sVar17,iVar9);\n            DAT_0003fb88 = 1;\n          }\nLAB_0001a75c:\n          free(local_60);\n        }\n        free(DAT_0003fb80);\n        DAT_0003fb80 = (size_t *)0x0;\n        DAT_0003fb84 = 0;\n        DAT_0003fb7c = 0;\n      }\n    }\n  }\nLAB_00018aad:\n  local_98 = DAT_0003fb2c;\n  for (puVar33 = DAT_0003fb30; DAT_0003fb2c = local_98, puVar33 != (undefined4 *)0x0;\n      puVar33 = (undefined4 *)*puVar33) {\n    iVar9 = bfd_get_section_by_name(param_1,puVar33[1]);\n    if (iVar9 == 0) {\n      uVar10 = puVar33[1];\n      uVar11 = dcgettext(0,"can\'t dump section \'%s\' - it does not exist",5);\n      FUN_0002c160(0,param_1,0,uVar11,uVar10);\n    }\n    else {\n      if ((*(byte *)(iVar9 + 0x15) & 1) == 0) {\n        pcVar22 = "can\'t dump section - it has no contents";\n      }\n      else {\n        sVar17 = *(size_t *)(iVar9 + 0x24);\n        if (sVar17 != 0) {\n          __s = fopen64((char *)puVar33[2],"w");\n          if (__s == (FILE *)0x0) {\n            uVar10 = dcgettext(0,"could not open section dump file",5);\n            FUN_0002c160(puVar33[2],0,0,uVar10);\n          }\n          else {\n            iVar12 = bfd_malloc_and_get_section(param_1,iVar9,&local_30);\n            if (iVar12 == 0) {\n              uVar10 = dcgettext(0,"could not retrieve section contents",5);\n              FUN_0002c160(0,param_1,iVar9,uVar10);\n            }\n            else {\n              sVar18 = fwrite(local_30,1,sVar17,__s);\n              if (sVar17 != sVar18) {\n                piVar15 = __errno_location();\n                pcVar22 = strerror(*piVar15);\n                uVar10 = puVar33[2];\n                uVar11 = dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                FUN_0002b6d0(uVar11,uVar10,pcVar22);\n                free(local_30);\n                return 0;\n              }\n            }\n            fclose(__s);\n            free(local_30);\n          }\n          goto LAB_00018b49;\n        }\n        pcVar22 = "can\'t dump section - it is empty";\n      }\n      uVar10 = dcgettext(0,pcVar22,5);\n      FUN_0002c160(0,param_1,iVar9,uVar10);\n    }\nLAB_00018b49:\n    local_98 = DAT_0003fb2c;\n  }\n  if (local_98 != 0) {\n    iVar9 = bfd_get_section_by_name(param_2,".gnu_debuglink");\n    if (iVar9 == 0) {\n      local_98 = bfd_create_gnu_debuglink_section(param_2,DAT_0003fb2c);\n      iVar9 = DAT_0003fb2c;\n      if (local_98 == 0) {\n        uVar10 = dcgettext(0,"cannot create debug link section `%s\'",5,param_2);\n        FUN_0002c160(0,param_2,0,uVar10,iVar9);\n        return 0;\n      }\n      if (*(int *)(param_2[1] + 4) == 2) {\n        sVar17 = param_2[0x18];\n        sVar18 = 0;\n        if (sVar17 == 0) {\nLAB_0001a360:\n          uVar26 = 0x1000;\n        }\n        else {\n          do {\n            sVar23 = sVar18;\n            if (((*(uint *)(sVar17 + 0x1c) != 0) && (sVar23 = sVar17, sVar18 != 0)) &&\n               (sVar23 = sVar18, *(uint *)(sVar18 + 0x1c) < *(uint *)(sVar17 + 0x1c))) {\n              sVar23 = sVar17;\n            }\n            sVar17 = *(size_t *)(sVar17 + 0xc);\n            sVar18 = sVar23;\n          } while (sVar17 != 0);\n          if (sVar23 == 0) goto LAB_0001a360;\n          uVar35 = *(int *)(sVar23 + 0x24) + *(int *)(sVar23 + 0x1c);\n          uVar26 = 0xffffffff;\n          if (uVar35 < 0xfffff001) {\n            uVar26 = uVar35 + 0xfff & 0xfffff000;\n          }\n        }\n        *(uint *)(local_98 + 0x20) = uVar26;\n        *(uint *)(local_98 + 0x1c) = uVar26;\n        *(byte *)(local_98 + 0x18) = *(byte *)(local_98 + 0x18) | 1;\n      }\n    }\n    else {\n      sVar17 = *param_2;\n      uVar10 = dcgettext(0,"%s: debuglink section already exists",5);\n      FUN_0002b6d0(uVar10,sVar17);\n      DAT_0003fb2c = 0;\n      local_98 = 0;\n    }\n  }\n  sVar17 = param_2[0x1a];\n  local_8c = sVar17;\n  if (sVar17 == 0) {\nLAB_00018ff7:\n    local_90 = (void *)0x0;\n    local_84 = (int *)0x0;\n    sVar18 = local_8c;\n  }\n  else {\n    if (DAT_0003fb54 == 0 && DAT_0003fb4c == 0) {\n      local_8c = 0;\n      goto LAB_00018ff7;\n    }\n    sVar23 = sVar17 * 4;\n    local_84 = (int *)xmalloc(sVar23);\n    local_30 = local_84;\n    bfd_map_over_sections(param_2,FUN_00016710,&local_30);\n    qsort(local_84,sVar17,4,FUN_00016730);\n    local_90 = (void *)xmalloc(sVar23);\n    memset(local_90,0,sVar23);\n    if ((DAT_0003fb54 == 0) || (sVar17 == 1)) {\n      local_8c = 0;\n    }\n    else {\n      iVar9 = 0;\n      local_8c = 0;\n      piVar15 = local_84;\n      do {\n        iVar12 = *piVar15;\n        iVar9 = iVar9 + 1;\n        sVar18 = local_8c;\n        if ((*(uint *)(iVar12 + 0x14) & 0x102) == 0x102) {\n          uVar35 = *(int *)(iVar12 + 0x20) + *(int *)(iVar12 + 0x24);\n          if (uVar35 < *(uint *)(piVar15[1] + 0x20)) {\n            sVar18 = *(uint *)(piVar15[1] + 0x20) - uVar35;\n            uVar43 = bfd_set_section_size(param_2,iVar12,*(int *)(iVar12 + 0x24) + sVar18);\n            if ((int)uVar43 == 0) {\n              uVar10 = dcgettext(0,"Can\'t fill gap after section",5,\n                                 (int)((ulonglong)uVar43 >> 0x20));\n              FUN_0002c160(0,param_2,*piVar15,uVar10);\n              DAT_0003fb88 = 1;\n              break;\n            }\n            *(size_t *)((int)local_90 + iVar9 * 4 + -4) = sVar18;\n            if (sVar18 <= local_8c) {\n              sVar18 = local_8c;\n            }\n          }\n        }\n        local_8c = sVar18;\n        piVar15 = piVar15 + 1;\n      } while (sVar17 - 1 != iVar9);\n    }\n    sVar18 = local_8c;\n    if (DAT_0003fb4c != 0) {\n      iVar9 = local_84[sVar17 - 1];\n      uVar35 = *(int *)(iVar9 + 0x24) + *(int *)(iVar9 + 0x20);\n      if (uVar35 < DAT_0003fb48) {\n        iVar9 = bfd_set_section_size(param_2,iVar9,DAT_0003fb48 - *(int *)(iVar9 + 0x20));\n        if (iVar9 == 0) {\n          uVar10 = dcgettext(0,"can\'t add padding",5,uVar35);\n          FUN_0002c160(0,param_2,local_84[sVar17 - 1],uVar10);\n          DAT_0003fb88 = 1;\n        }\n        else {\n          sVar18 = DAT_0003fb48 - uVar35;\n          *(size_t *)((int)local_90 + (sVar23 - 4)) = sVar18;\n          if (sVar18 <= local_8c) {\n            sVar18 = local_8c;\n          }\n        }\n      }\n    }\n  }\n  local_8c = sVar18;\n  local_94 = 0;\n  if (DAT_0003fb28 != 0) {\n    local_94 = FUN_0001c0f0(param_1,DAT_0003fb9c,local_70,0);\n  }\n  if (DAT_0003fb78 - 2U < 6) {\nLAB_00019032:\n    if (DAT_0003fb78 != 7) {\nLAB_00019037:\n      bfd_set_error(0);\n      bfd_map_over_sections(param_1,FUN_00018470,DAT_0003fb9c);\n      iVar9 = bfd_get_error();\n      if (iVar9 != 0) {\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n    }\n    piVar15 = (int *)xmalloc((DAT_0003fae4 + local_70) * 4 + 4);\n    local_68 = DAT_0003fb9c;\n    uVar35 = param_1[10];\n    DAT_0003fb98 = piVar15;\n    if (local_70 != 0) {\n      piVar1 = DAT_0003fb9c + local_70;\n      local_70 = 0;\n      puVar16 = PTR__bfd_std_section_0003efc8 + 0xa8;\n      do {\n        iVar9 = DAT_0003fae4;\n        piVar3 = (int *)*local_68;\n        uVar26 = piVar3[3];\n        piVar19 = (int *)piVar3[1];\n        puVar4 = (undefined *)piVar3[4];\n        if (((DAT_0003fae8 != (int *)0x0) && (0 < DAT_0003fae4)) &&\n           (pcVar22 = (char *)DAT_0003fae8[5], pcVar22 != (char *)0x0)) {\n          local_5c = (int *)0x0;\n          piVar31 = DAT_0003fae8;\n          while (iVar12 = strcmp(pcVar22,(char *)piVar19), iVar12 != 0) {\n            local_5c = (int *)((int)local_5c + 1);\n            piVar31 = (int *)*piVar31;\n            if ((local_5c == (int *)iVar9) || (pcVar22 = (char *)piVar31[5], pcVar22 == (char *)0x0)\n               ) goto LAB_00019180;\n          }\n          free(pcVar22);\n          piVar31[5] = (int)"";\n          piVar31 = piVar15 + local_70;\n          local_70 = local_70 + 1;\n          iVar9 = FUN_000177e0();\n          *piVar31 = iVar9;\n        }\nLAB_00019180:\n        iVar9 = htab_elements(DAT_0003faf0);\n        piVar31 = piVar19;\n        if ((iVar9 != 0) || (DAT_0003fba0 != (undefined4 *)0x0)) {\n          local_2c = 0;\n          local_30 = piVar19;\n          iVar9 = htab_find(DAT_0003faf0,&local_30);\n          if (((iVar9 == 0) || (piVar31 = *(int **)(iVar9 + 4), piVar19 == piVar31)) &&\n             (puVar33 = DAT_0003fba0, (uVar26 & 0x100) != 0)) {\n            for (; piVar31 = piVar19, puVar33 != (undefined4 *)0x0;\n                puVar33 = (undefined4 *)puVar33[3]) {\n              iVar9 = strcmp((char *)*puVar33,(char *)piVar19);\n              if (iVar9 == 0) {\n                piVar31 = (int *)puVar33[1];\n                break;\n              }\n            }\n          }\n          piVar3[1] = (int)piVar31;\n        }\n        pcVar22 = DAT_0003fad8;\n        if ((char)*piVar31 == *(char *)(param_1[1] + 0x18)) {\n          if (DAT_0003fb1c == 0) {\n            if ((DAT_0003fb18 == 0) ||\n               ((((uVar26 & 0x82) == 0 && (puVar4 != puVar16)) &&\n                ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)))) goto LAB_00019203;\nLAB_0001943c:\n            piVar31 = (int *)((int)piVar31 + 1);\n            piVar3[1] = (int)piVar31;\n            goto LAB_00019203;\n          }\n          if (*(char *)(param_2[1] + 0x18) == '\0') goto LAB_0001943c;\n          if (DAT_0003fad8 != (char *)0x0) {\n            piVar31 = (int *)((int)piVar31 + 1);\n            piVar3[1] = (int)piVar31;\n            goto LAB_0001945b;\n          }\n          *(char *)piVar31 = *(char *)(param_2[1] + 0x18);\n          piVar3[1] = (int)piVar31;\n        }\n        else {\n          if (((DAT_0003fb1c == 0) || (*(char *)(param_2[1] + 0x18) == '\0')) ||\n             (*(char *)(param_1[1] + 0x18) != '\0')) {\nLAB_00019203:\n            if (pcVar22 == (char *)0x0) goto LAB_0001926f;\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = piVar19;\n          }\n          else {\nLAB_0001945b:\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = (int *)((int)piVar19 + 1);\n            *(char *)piVar19 = *(char *)(param_2[1] + 0x18);\n          }\n          pcVar22 = DAT_0003fad8;\n          if (DAT_0003fad8 != (char *)0x0) {\n            strcpy((char *)local_5c,DAT_0003fad8);\n            sVar17 = strlen(pcVar22);\n            local_5c = (int *)((int)local_5c + sVar17);\n          }\n          strcpy((char *)local_5c,(char *)piVar31);\n          piVar3[1] = (int)piVar19;\n          piVar31 = piVar19;\n        }\nLAB_0001926f:\n        if (DAT_0003fb78 == 7) goto LAB_000192f8;\n        if ((uVar26 & 0x20) == 0) {\n          if (((uVar26 & 0x100) == 0) ||\n             ((*(byte *)(**(int **)(piVar3[4] + 0x9c) + 0xc) & 0x20) == 0)) {\n            if ((((uVar35 >> 5 & 0x42) == 0) &&\n                (((uVar26 & 0x82) != 0 || ((*(byte *)(piVar3[4] + 0x15) & 0x10) != 0)))) ||\n               (iVar9 = bfd_decode_symclass(piVar3), iVar9 == 0x49)) {\nLAB_00019528:\n              iVar9 = FUN_00017880();\n              if (iVar9 == 0) goto LAB_000192e0;\n            }\n            else if ((((uVar26 & 0x82) == 0) && (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8)) &&\n                    ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)) {\n              if ((uVar26 & 4) == 0) {\n                if (((*(int *)(param_1[1] + 4) != 2) ||\n                    (iVar9 = *(int *)(piVar3[4] + 0x8c), iVar9 == 0)) ||\n                   (*(int *)(iVar9 + 0x24) == 0)) {\n                  if ((DAT_0003fb78 == 3) || (DAT_0003fb74 == 2)) goto LAB_000192f8;\n                  if (DAT_0003fb74 == 1) {\n                    iVar9 = bfd_is_local_label(param_1,piVar3,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }\n                goto LAB_00019528;\n              }\n              iVar9 = DAT_0003fb28;\n              if (1 < DAT_0003fb78 - 2U) {\njoined_r0x0001a13f:\n                if (iVar9 == 0) goto LAB_00019528;\n              }\n            }\n            else if (DAT_0003fb78 != 3) goto LAB_00019528;\n          }\n          else {\n            iVar9 = FUN_00017880();\n            if (iVar9 != 0) {\n              uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",\n                                 5,iVar9);\n              FUN_0002b6d0(uVar10,piVar31);\n              DAT_0003fb88 = 1;\n            }\nLAB_000192e0:\n            iVar9 = FUN_00017880();\n            if (iVar9 == 0) goto LAB_0001931c;\n          }\nLAB_000192f8:\n          if (((DAT_0003fadc != 0) && ((uVar26 & 0x4000) != 0)) ||\n             (iVar9 = FUN_00017880(), iVar9 != 0)) goto LAB_0001931c;\n        }\n        else {\n          iVar9 = FUN_00017880();\n          if (iVar9 != 0) {\n            uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",5)\n            ;\n            FUN_0002b6d0(uVar10,piVar31);\n            DAT_0003fb88 = 1;\n          }\nLAB_0001931c:\n          iVar9 = FUN_000178f0();\n          if (iVar9 == 0) {\n            if (((uVar26 & 2) != 0) && ((DAT_0003fae0 != 0 || (iVar9 = FUN_00017880(), iVar9 != 0)))\n               ) {\n              piVar3[3] = piVar3[3] & 0xfffffffdU | 0x80;\n            }\n            if (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8) {\n              if (((uVar26 & 0x82) != 0) &&\n                 (((iVar9 = FUN_00017880(), iVar9 != 0 ||\n                   ((iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0)))) ||\n                  ((DAT_0003fb10 != 0 &&\n                   ((((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)\n                    ))))))) {\n                piVar3[3] = piVar3[3] & 0xffffff7dU | 1;\n              }\n              if (((uVar26 & 1) != 0) && (iVar9 = FUN_00017880(), iVar9 != 0)) {\n                piVar3[3] = piVar3[3] & 0xfffffffeU | 2;\n              }\n            }\n            piVar15[local_70] = (int)piVar3;\n            local_70 = local_70 + 1;\n          }\n        }\n        local_68 = local_68 + 1;\n      } while (piVar1 != local_68);\n    }\n    local_5c = DAT_0003fae8;\n    if ((DAT_0003fae8 != (int *)0x0) && (0 < DAT_0003fae4)) {\n      iVar9 = 0;\n      do {\n        pcVar22 = (char *)local_5c[5];\n        if (pcVar22 == (char *)0x0) {\n          iVar12 = FUN_000177e0();\n          piVar15[local_70] = iVar12;\n          local_70 = local_70 + 1;\n        }\n        else if (*pcVar22 != '\0') {\n          uVar10 = dcgettext(0,"\'before=%s\' not found",5,local_70);\n                    \n          FUN_0002b6a0(uVar10,pcVar22);\n        }\n        iVar9 = iVar9 + 1;\n        local_5c = (int *)*local_5c;\n      } while (iVar9 < DAT_0003fae4);\n    }\n    piVar15[local_70] = 0;\n    if ((DAT_0003fb28 != 0) && (local_94 != 0)) {\n      iVar9 = ((undefined4 *)param_2[1])[1];\n      if ((iVar9 != 2) && (iVar9 != 5)) {\n        uVar10 = *(undefined4 *)param_2[1];\n        uVar11 = dcgettext(0,"don\'t know how to write debugging information for %s",5);\n        FUN_0002c160(0,param_2,0,uVar11,uVar10);\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n      iVar9 = FUN_0002b050(param_2,local_94,&local_4c,local_44,&local_48,&local_30);\n      if (iVar9 == 0) {\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n      iVar9 = bfd_make_section_with_flags(param_2,".stab",0x2108);\n      iVar12 = bfd_make_section_with_flags(param_2,".stabstr",0x2108);\n      if ((((iVar9 == 0) || (iVar12 == 0)) ||\n          (iVar21 = bfd_set_section_size(param_2,iVar9,local_44[0],iVar12), iVar21 == 0)) ||\n         (iVar21 = bfd_set_section_size(param_2,iVar12,local_30,iVar21), iVar21 == 0)) {\n        pcVar22 = "can\'t create debugging section";\nLAB_00019fcf:\n        uVar10 = dcgettext(0,pcVar22,5,iVar9);\n        FUN_0002c160(0,param_2,0,uVar10);\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n      *(undefined4 *)(iVar9 + 0x40) = 2;\n      *(undefined4 *)(iVar12 + 0x40) = 0;\n      iVar9 = bfd_set_section_contents(param_2,iVar9,local_4c,0,0,local_44[0],iVar21,iVar21);\n      if ((iVar9 == 0) ||\n         (iVar9 = bfd_set_section_contents\n                            (param_2,iVar12,local_48,0,0,local_30,extraout_ECX,extraout_ECX),\n         iVar9 == 0)) {\n        pcVar22 = "can\'t set debugging section contents";\n        iVar9 = iVar12;\n        goto LAB_00019fcf;\n      }\n    }\n  }\n  else {\n    if (DAT_0003fb10 != 0 || DAT_0003fb74 != 0) goto LAB_00019037;\n    iVar9 = htab_elements(DAT_0003fb0c);\n    if (((iVar9 != 0) || (iVar9 = htab_elements(DAT_0003fb04), iVar9 != 0)) ||\n       ((iVar9 = htab_elements(DAT_0003fb00), iVar9 != 0 ||\n        (((((iVar9 = htab_elements(DAT_0003fafc), iVar9 != 0 ||\n            (iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0)) ||\n           (iVar9 = htab_elements(DAT_0003faf4), iVar9 != 0)) ||\n          ((iVar9 = htab_elements(DAT_0003faf0), DAT_0003fad8 != (char *)0x0 ||\n           (DAT_0003fba0 != (undefined4 *)0x0)))) ||\n         (((((((DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0) || DAT_0003fb1c != 0)\n            || DAT_0003fb18 != 0) || DAT_0003fae0 != 0) || DAT_0003fae4 != 0) || iVar9 != 0))))))\n    goto LAB_00019032;\n  }\n  bfd_set_symtab(param_2,DAT_0003fb98,local_70);\n  bfd_map_over_sections(param_1,FUN_000181d0,param_2);\n  bfd_map_over_sections(param_1,FUN_00017e40,param_2);\n  psVar38 = param_1;\n  for (puVar33 = DAT_0003fb38; puVar37 = DAT_0003fb34, puVar33 != (undefined4 *)0x0;\n      puVar33 = (undefined4 *)*puVar33) {\n    iVar9 = bfd_set_section_contents(param_2,puVar33[5],puVar33[4],0,0,puVar33[3]);\n    if (iVar9 == 0) {\n      psVar38 = (size_t *)puVar33[5];\n      local_50 = 0;\n      goto LAB_00019763;\n    }\n    psVar38 = param_2;\n  }\n  for (; puVar37 != (undefined4 *)0x0; puVar37 = (undefined4 *)*puVar37) {\n    psVar38 = *(size_t **)(puVar37[5] + 0x3c);\n    local_50 = bfd_set_section_contents(param_2,psVar38,puVar37[4],0,0,puVar37[3]);\n    if (local_50 == 0) {\nLAB_00019763:\n      FUN_0002c160(0,param_2,psVar38,0);\n      return local_50;\n    }\n  }\n  uVar35 = 0;\n  if (DAT_0003fb84 != 0) {\n    uVar35 = bfd_get_section_by_name(param_2,".gnu.build.attributes");\n    if (((uVar35 == 0) || (DAT_0003fb84 == 0)) ||\n       ((*(int *)(param_2[1] + 4) != 5 || (iVar9 = FUN_00017590(), iVar9 == 0)))) {\n      if (DAT_0003fba4 == 0) {\n        uVar10 = dcgettext(0,"could not find any mergeable note sections",5,0);\n        FUN_0002c160(0,param_2,uVar35,uVar10);\n      }\n    }\n    else {\n      iVar9 = bfd_set_section_contents(param_2,uVar35,DAT_0003fb80,0,0,DAT_0003fb7c,iVar9,iVar9);\n      if (iVar9 == 0) {\n        uVar10 = dcgettext(0,"error: failed to copy merged notes into output",5,0);\n        goto LAB_0001a2cd;\n      }\n    }\n    free(DAT_0003fb80);\n    DAT_0003fb80 = (size_t *)0x0;\n    DAT_0003fb84 = 0;\n    psVar38 = param_2;\n  }\n  if ((DAT_0003fb2c != 0) &&\n     (iVar12 = bfd_fill_in_gnu_debuglink_section(param_2,local_98,DAT_0003fb2c),\n     iVar9 = DAT_0003fb2c, iVar12 == 0)) {\n    uVar10 = dcgettext(0,"cannot fill debug link section `%s\'",5,0);\n    FUN_0002c160(0,param_2,0,uVar10,iVar9);\n    return 0;\n  }\n  if (DAT_0003fb54 != 0 || DAT_0003fb4c != 0) {\n    uVar35 = 0x2000;\n    if (local_8c < 0x2001) {\n      uVar35 = local_8c;\n    }\n    psVar20 = (size_t *)xmalloc(uVar35);\n    sVar17 = (uint)DAT_0003fb50 * 0x1010101;\n    if (uVar35 < 4) {\n      if ((uVar35 != 0) && (*(char *)psVar20 = (char)sVar17, (uVar35 & 2) != 0)) {\n        *(short *)((int)psVar20 + (uVar35 - 2)) = (short)sVar17;\n      }\n    }\n    else {\n      *psVar20 = sVar17;\n      *(size_t *)((int)(psVar20 + -1) + uVar35) = sVar17;\n      psVar38 = (size_t *)((uint)(psVar20 + 1) & 0xfffffffc);\n      for (uVar26 = (int)psVar20 + (uVar35 - (int)((uint)(psVar20 + 1) & 0xfffffffc)) >> 2;\n          uVar26 != 0; uVar26 = uVar26 - 1) {\n        *psVar38 = sVar17;\n        psVar38 = psVar38 + (uint)bVar42 * -2 + 1;\n      }\n    }\n    psVar25 = (size_t *)param_2[0x1a];\n    if (psVar25 != (size_t *)0x0) {\n      psVar38 = (size_t *)0x0;\n      do {\n        uVar35 = *(uint *)((int)local_90 + (int)psVar38 * 4);\n        if (uVar35 != 0) {\n          iVar9 = local_84[(int)psVar38];\n          local_58 = 0;\n          local_5c = (int *)(*(int *)(iVar9 + 0x24) - uVar35);\n          while( true ) {\n            uVar26 = 0x2000;\n            if (uVar35 < 0x2001) {\n              uVar26 = uVar35;\n            }\n            iVar9 = bfd_set_section_contents(param_2,iVar9,psVar20,local_5c,local_58,uVar26);\n            if (iVar9 == 0) {\n              psVar38 = (size_t *)local_84[(int)psVar38];\n              local_50 = 0;\n              goto LAB_00019763;\n            }\n            bVar40 = CARRY4((uint)local_5c,uVar26);\n            local_5c = (int *)((int)local_5c + uVar26);\n            local_58 = local_58 + (uint)bVar40;\n            uVar35 = uVar35 - uVar26;\n            if (uVar35 == 0) break;\n            iVar9 = local_84[(int)psVar38];\n          }\n        }\n        psVar38 = (size_t *)((int)psVar38 + 1);\n      } while (psVar25 != psVar38);\n    }\n  }\n  iVar9 = (**(code **)(param_2[1] + 0xa8))(param_1,param_2);\n  if (iVar9 != 0) {\n    if ((DAT_0003fb44 != 0) &&\n       (iVar12 = bfd_alt_mach_code(param_2,DAT_0003fb44,uVar35,uVar35), iVar9 = DAT_0003fb44,\n       iVar12 == 0)) {\n      uVar10 = dcgettext(0,"this target does not support %lu alternative machine codes",5,psVar38);\n      FUN_0002b6d0(uVar10,iVar9);\n      if (*(int *)(param_2[1] + 4) != 5) {\n        uVar10 = dcgettext(0,"ignoring the alternative value",5,extraout_ECX_00);\n        FUN_0002b6d0(uVar10);\n        return 1;\n      }\n      uVar10 = dcgettext(0,"treating that number as an absolute e_machine value instead",5,iVar9);\n      FUN_0002b6d0(uVar10);\n      *(short *)(param_2[0x27] + 0x26) = (short)DAT_0003fb44;\n    }\n    return 1;\n  }\n  uVar10 = dcgettext(0,"error copying private BFD data",5,psVar38);\n  uVar35 = 0;\nLAB_0001a2cd:\n  FUN_0002c160(0,param_2,uVar35,uVar10);\n  return 0;\n}" (primitive_type "int") (ERROR "__regparm3" (identifier "__regparm3")) (function_declarator "FUN_000185f0(size_t *param_1,size_t *param_2,int param_3)" (identifier "FUN_000185f0") (parameter_list "(size_t *param_1,size_t *param_2,int param_3)" (( "(") (parameter_declaration "size_t *param_1" (primitive_type "size_t") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "size_t *param_2" (primitive_type "size_t") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "int param_3" (primitive_type "int") (identifier "param_3")) () ")"))) (compound_statement "{\n  void *__dest;\n  int *piVar1;\n  size_t sVar2;\n  int *piVar3;\n  undefined *puVar4;\n  size_t sVar5;\n  size_t *psVar6;\n  size_t *psVar7;\n  char cVar8;\n  int iVar9;\n  undefined4 uVar10;\n  undefined4 uVar11;\n  int iVar12;\n  FILE *__s;\n  undefined4 uVar13;\n  undefined4 uVar14;\n  int *piVar15;\n  undefined *puVar16;\n  size_t sVar17;\n  size_t sVar18;\n  int *piVar19;\n  size_t *psVar20;\n  int iVar21;\n  char *pcVar22;\n  size_t sVar23;\n  void *pvVar24;\n  size_t *psVar25;\n  undefined4 extraout_ECX;\n  uint uVar26;\n  undefined4 extraout_ECX_00;\n  undefined4 extraout_ECX_01;\n  uint uVar27;\n  undefined4 extraout_ECX_02;\n  undefined4 extraout_ECX_03;\n  uint uVar28;\n  undefined1 *puVar29;\n  void *pvVar30;\n  size_t __n;\n  undefined4 extraout_EDX;\n  int *piVar31;\n  byte *pbVar32;\n  undefined4 *puVar33;\n  size_t *psVar34;\n  uint uVar35;\n  byte *pbVar36;\n  undefined4 *puVar37;\n  size_t *psVar38;\n  uint uVar39;\n  bool bVar40;\n  bool bVar41;\n  byte bVar42;\n  undefined8 uVar43;\n  void *pvVar44;\n  size_t *psVar45;\n  size_t *psVar46;\n  size_t local_98;\n  size_t local_94;\n  void *local_90;\n  size_t local_8c;\n  int *local_84;\n  size_t *local_80;\n  size_t *local_7c;\n  uint local_74;\n  int local_70;\n  uint local_6c;\n  int *local_68;\n  size_t *local_64;\n  size_t *local_60;\n  int *local_5c;\n  int local_58;\n  int local_50;\n  undefined4 local_4c;\n  undefined4 local_48;\n  undefined4 local_44 [5];\n  int *local_30;\n  undefined4 local_2c;\n  undefined4 uStack_14;\n  \n  bVar42 = 0;\n  uStack_14 = 0x185fd;\n  if ((*(int *)(param_1[1] + 8) != *(int *)(param_2[1] + 8) && *(int *)(param_1[1] + 8) != 2) &&\n     (*(int *)(param_2[1] + 8) != 2)) {\n    uVar10 = dcgettext(0,"Unable to change endianness of input file(s)",5);\n    FUN_0002b6d0(uVar10);\n    return 0;\n  }\n  iVar9 = bfd_set_format(param_2,(byte)param_1[10] & 7);\n  if (iVar9 == 0) {\n    FUN_0002c160(0,param_2,0,0);\n    return 0;\n  }\n  if (param_1[0x18] == 0) {\n    uVar10 = FUN_0002c060(param_1);\n    pcVar22 = "error: the input file \'%s\' has no sections";\n    goto LAB_00018bc8;\n  }\n  if (((undefined4 *)param_1[1])[1] != 5) {\n    if ((DAT_0003fb24 != 1) && ((DAT_0003fb24 & 1) != 0)) {\n      uVar10 = FUN_0002c060(param_1);\n      pcVar22 = "--compress-debug-sections=[zlib|zlib-gnu|zlib-gabi] is unsupported on `%s\'";\nLAB_00018bc8:\n      uVar11 = dcgettext(0,pcVar22,5);\n      FUN_0002b6d0(uVar11,uVar10);\n      return 0;\n    }\n    if (DAT_0003fb20 != 0) {\n      uVar10 = FUN_0002c060(param_1);\n      pcVar22 = "--elf-stt-common=[yes|no] is unsupported on `%s\'";\n      goto LAB_00018bc8;\n    }\n  }\n  if (DAT_0003fb90 != 0) {\n    uVar10 = *(undefined4 *)param_1[1];\n    uVar11 = *(undefined4 *)param_2[1];\n    sVar17 = *param_2;\n    uVar13 = FUN_0002c060(param_1);\n    pcVar22 = (char *)dcgettext(0,"copy from `%s\' [%s] to `%s\' [%s]\n",5);\n    printf(pcVar22,uVar13,uVar10,sVar17,uVar11);\n  }\n  iVar9 = 0;\n  if (DAT_0003facc == 0) {\n    sVar17 = DAT_0003fb5c;\n    if (DAT_0003fb60 == 0) {\n      sVar17 = param_1[0x1c];\n    }\n    iVar9 = sVar17 + DAT_0003fb64;\n  }\n  if ((param_2[10] & 7) != 3) {\n    uVar35 = ~DAT_0003fb3c & *(uint *)(param_2[1] + 0x10) &\n             (param_1[10] >> 5 & 0xfffff | DAT_0003fb40);\n    if (DAT_0003fb78 == 7) {\n      uVar35 = uVar35 & 0xfffffffe;\n    }\n    iVar9 = bfd_set_start_address(param_2,iVar9);\n    if ((iVar9 == 0) || (iVar9 = bfd_set_file_flags(param_2,uVar35), iVar9 == 0)) goto LAB_00018840;\n  }\n  uVar10 = bfd_get_arch(param_1);\n  uVar11 = bfd_get_mach(param_1);\n  if (param_3 != 0) {\n    iVar9 = bfd_get_arch_info(param_1);\n    if ((iVar9 == 0) || (iVar9 = bfd_get_arch_info(param_1), *(int *)(iVar9 + 0xc) == 0)) {\n      uVar10 = *(undefined4 *)(param_3 + 0xc);\n      uVar11 = *(undefined4 *)(param_3 + 0x10);\n    }\n    else {\n      uVar13 = FUN_0002c060(param_1);\n      uVar14 = dcgettext(0,"Input file `%s\' ignores binary architecture parameter.",5);\n      FUN_0002b6d0(uVar14,uVar13);\n    }\n  }\n  iVar9 = (**(code **)(param_2[1] + 0x154))(param_2,uVar10,uVar11);\n  if (iVar9 == 0) {\n    if ((*(byte *)((int)param_1 + 0x2b) & 4) != 0) {\nLAB_000187e7:\n      iVar9 = bfd_get_arch(param_1);\n      if (iVar9 == 0) {\n        uVar10 = FUN_0002c060(param_1);\n        pcVar22 = "Unable to recognise the format of the input file `%s\'";\n      }\n      else {\n        uVar10 = bfd_get_mach(param_1);\n        uVar11 = bfd_get_arch(param_1);\n        uVar10 = bfd_printable_arch_mach(uVar11,uVar10);\n        pcVar22 = "Output file cannot represent architecture `%s\'";\n      }\n      uVar11 = dcgettext(0,pcVar22,5);\n      FUN_0002b6d0(uVar11,uVar10);\n      return 0;\n    }\n    iVar9 = bfd_get_arch(param_1);\n    iVar12 = bfd_get_arch(param_2);\n    if (iVar9 != iVar12) goto LAB_000187e7;\n  }\n  iVar9 = bfd_set_format(param_2,(byte)param_1[10] & 7);\n  if (iVar9 == 0) {\nLAB_00018840:\n    FUN_0002c160(0,param_1,0,0);\n    return 0;\n  }\n  uVar35 = ((undefined4 *)param_2[1])[1];\n  bVar40 = uVar35 < 2;\n  bVar41 = uVar35 == 2;\n  if (bVar41) {\n    iVar9 = 4;\n    pbVar32 = *(byte **)param_2[1];\n    pbVar36 = &DAT_0002e16a;\n    do {\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar40 = *pbVar32 < *pbVar36;\n      bVar41 = *pbVar32 == *pbVar36;\n      pbVar32 = pbVar32 + (uint)bVar42 * -2 + 1;\n      pbVar36 = pbVar36 + (uint)bVar42 * -2 + 1;\n    } while (bVar41);\n    if ((!bVar40 && !bVar41) == bVar40) {\n      sVar17 = param_2[0x27];\n      uVar35 = ((undefined4 *)param_1[1])[1];\n      bVar40 = uVar35 < 2;\n      bVar41 = uVar35 == 2;\n      if (bVar41) {\n        iVar9 = 4;\n        pbVar32 = *(byte **)param_1[1];\n        pbVar36 = &DAT_0002e16a;\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar40 = *pbVar32 < *pbVar36;\n          bVar41 = *pbVar32 == *pbVar36;\n          pbVar32 = pbVar32 + (uint)bVar42 * -2 + 1;\n          pbVar36 = pbVar36 + (uint)bVar42 * -2 + 1;\n        } while (bVar41);\n        if ((!bVar40 && !bVar41) == bVar40) {\n          puVar33 = (undefined4 *)(param_1[0x27] + 0x78);\n          puVar37 = (undefined4 *)(sVar17 + 0x78);\n          for (iVar9 = 0x38; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar37 = *puVar33;\n            puVar33 = puVar33 + (uint)bVar42 * -2 + 1;\n            puVar37 = puVar37 + (uint)bVar42 * -2 + 1;\n          }\n        }\n      }\n      uVar35 = DAT_0003f298;\n      if (DAT_0003f298 == 0xffffffff) {\n        DAT_0003f298 = 0x200;\n        uVar35 = 0x200;\n      }\n      else {\n        *(uint *)(sVar17 + 0x9c) = DAT_0003f298;\n      }\n      if (DAT_0003f294 != -1) {\n        *(int *)(sVar17 + 0xcc) = DAT_0003f294;\n      }\n      if (DAT_0003f290 != -1) {\n        *(int *)(sVar17 + 0xcc) = DAT_0003f290;\n      }\n      if (DAT_0003f28c != -1) {\n        *(int *)(sVar17 + 0x94) = DAT_0003f28c;\n      }\n      uVar26 = DAT_0003f288;\n      if (DAT_0003f288 == 0xffffffff) {\n        DAT_0003f288 = 0x1000;\n        uVar26 = 0x1000;\n      }\n      else {\n        *(uint *)(sVar17 + 0x98) = DAT_0003f288;\n      }\n      if (DAT_0003f284 != -1) {\n        *(int *)(sVar17 + 0xc4) = DAT_0003f284;\n      }\n      if (DAT_0003f280 != -1) {\n        *(int *)(sVar17 + 0xc4) = DAT_0003f280;\n      }\n      if (DAT_0003f27c != -1) {\n        *(short *)(sVar17 + 0xbc) = DAT_0003f27c;\n      }\n      if (DAT_0003f27a != -1) {\n        *(short *)(sVar17 + 0xa8) = DAT_0003f27a;\n      }\n      if (DAT_0003f278 != -1) {\n        *(short *)(sVar17 + 0xaa) = DAT_0003f278;\n      }\n      if (uVar26 < uVar35) {\n        sprintf((char *)local_44,"%08lx",uVar35);\n        sprintf((char *)&local_30,"%08lx",DAT_0003f288);\n        uVar10 = dcgettext(0,"warning: file alignment (0x%s) > section alignment (0x%s)",5);\n        FUN_0002b6d0(uVar10,local_44,&local_30);\n      }\n    }\n  }\n  piVar15 = DAT_0003fb9c;\n  if (DAT_0003fb9c != (int *)0x0) {\n    free(DAT_0003fb9c);\n  }\n  if (piVar15 != DAT_0003fb98) {\n    free(DAT_0003fb98);\n  }\n  DAT_0003fb9c = (int *)0x0;\n  DAT_0003fb98 = (int *)0x0;\n  iVar9 = (**(code **)(param_1[1] + 0x104))(param_1);\n  if (iVar9 < 0) goto LAB_00018840;\n  DAT_0003fb98 = (int *)xmalloc(iVar9);\n  DAT_0003fb9c = DAT_0003fb98;\n  local_70 = (**(code **)(param_1[1] + 0x108))(param_1,DAT_0003fb98);\n  if (local_70 < 0) goto LAB_00018840;\n  if (local_70 == 0) {\n    free(DAT_0003fb9c);\n    DAT_0003fb9c = (int *)0x0;\n    DAT_0003fb98 = (int *)0x0;\n  }\n  bfd_map_over_sections(param_1,FUN_000179b0,param_2);\n  puVar33 = DAT_0003fb38;\n  if ((DAT_0003facc == 0) &&\n     (iVar9 = (**(code **)(param_2[1] + 0xbc))(param_1,param_2), puVar33 = DAT_0003fb38, iVar9 == 0)\n     ) {\n    DAT_0003fb88 = 1;\n    uVar10 = dcgettext(0,"error in private header data",5);\n    FUN_0002c160(0,param_1,0,uVar10);\n    puVar33 = DAT_0003fb38;\n  }\n  for (; puVar37 = DAT_0003fb34, puVar33 != (undefined4 *)0x0; puVar33 = (undefined4 *)*puVar33) {\n    uVar35 = 0x128;\n    iVar9 = FUN_00016910();\n    if (iVar9 != 0) {\n      uVar35 = *(uint *)(iVar9 + 0x18) | 0x100;\n    }\n    iVar9 = bfd_get_section_by_name(param_2,puVar33[1]);\n    if (iVar9 != 0) {\n      uVar10 = puVar33[1];\n      pcVar22 = "can\'t add section \'%s\'";\nLAB_00019719:\n      uVar11 = dcgettext(0,pcVar22,5);\n      FUN_0002c160(0,param_2,0,uVar11,uVar10);\n      return 0;\n    }\n    iVar9 = bfd_make_section_with_flags(param_2,puVar33[1],uVar35 | 0x100000);\n    puVar33[5] = iVar9;\n    if (iVar9 == 0) {\n      uVar10 = puVar33[1];\n      pcVar22 = "can\'t create section `%s\'";\n      goto LAB_00019719;\n    }\n    iVar9 = bfd_set_section_size(param_2,iVar9,puVar33[3]);\n    if (iVar9 == 0) {\n      psVar38 = (size_t *)puVar33[5];\n      local_50 = 0;\n      goto LAB_00019763;\n    }\n    iVar9 = FUN_00016910();\n    if (iVar9 != 0) {\n      uVar10 = *(undefined4 *)(iVar9 + 0x10);\n      iVar9 = puVar33[5];\n      *(byte *)(iVar9 + 0x18) = *(byte *)(iVar9 + 0x18) | 1;\n      *(undefined4 *)(iVar9 + 0x20) = uVar10;\n      *(undefined4 *)(iVar9 + 0x1c) = uVar10;\n    }\n    iVar9 = FUN_00016910();\n    if (iVar9 != 0) {\n      *(undefined4 *)(puVar33[5] + 0x20) = *(undefined4 *)(iVar9 + 0x14);\n    }\n  }\n  for (; puVar37 != (undefined4 *)0x0; puVar37 = (undefined4 *)*puVar37) {\n    iVar9 = bfd_get_section_by_name(param_1,puVar37[1]);\n    puVar37[5] = iVar9;\n    if (iVar9 == 0) {\n      uVar10 = puVar37[1];\n      pcVar22 = "error: %s not found, can\'t be updated";\n      goto LAB_00018bc8;\n    }\n    psVar38 = *(size_t **)(iVar9 + 0x3c);\n    local_50 = bfd_set_section_size(param_2,psVar38,puVar37[3]);\n    if (local_50 == 0) goto LAB_00019763;\n  }\n  if ((((DAT_0003fb84 != 0) &&\n       (sVar17 = bfd_get_section_by_name(param_1,".gnu.build.attributes"), sVar17 != 0)) &&\n      (DAT_0003fb84 != 0)) &&\n     ((*(int *)(param_1[1] + 4) == 5 && (iVar9 = FUN_00017590(), iVar9 != 0)))) {\n    uVar35 = *(uint *)(sVar17 + 0x24);\n    if (uVar35 == 0) {\n      uVar10 = dcgettext(0,"warning: note section is empty",5,0);\n      FUN_0002c160(0,param_1,sVar17,uVar10);\n      DAT_0003fb84 = 0;\n    }\n    else {\n      iVar9 = bfd_get_full_section_contents(param_1,sVar17,&DAT_0003fb80,uVar35);\n      psVar38 = DAT_0003fb80;\n      if (iVar9 == 0) {\n        uVar10 = dcgettext(0,"warning: could not load note section",5,0);\n        FUN_0002c160(0,param_1,sVar17,uVar10);\n        free(DAT_0003fb80);\n        DAT_0003fb80 = (size_t *)0x0;\n        DAT_0003fb84 = 0;\n      }\n      else {\n        iVar9 = bfd_get_reloc_upper_bound(param_1,sVar17,sVar17,sVar17);\n        psVar20 = param_1;\n        sVar18 = sVar17;\n        if (0 < iVar9) {\n          psVar20 = (size_t *)xmalloc(iVar9);\n          sVar18 = bfd_canonicalize_reloc(param_1,sVar17,psVar20,DAT_0003fb9c);\n          free(psVar20);\n          if (sVar18 == 0) goto LAB_0001a478;\n          local_60 = (size_t *)0x0;\n          goto LAB_0001a75c;\n        }\nLAB_0001a478:\n        pvVar44 = (void *)0x24;\n        psVar46 = psVar20;\n        local_60 = (size_t *)xcalloc(uVar35 / 0xc,0x24,psVar20,psVar20);\n        local_90 = (void *)0x0;\n        local_98 = 0;\n        local_8c = 0;\n        local_94 = 0;\n        local_6c = 0;\n        local_84 = (int *)0x0;\n        local_80 = (size_t *)0x0;\n        psVar25 = psVar38;\n        psVar34 = psVar38;\n        local_74 = uVar35;\n        local_64 = local_60;\n        while (0xb < local_74) {\n          iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25);\n          uVar26 = iVar9 + 3U & 0xfffffffc;\n          *local_64 = uVar26;\n          iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25 + 1);\n          uVar39 = iVar9 + 3U & 0xfffffffc;\n          sVar18 = param_1[1];\n          local_64[1] = uVar39;\n          sVar23 = (**(code **)(sVar18 + 0x28))(psVar25 + 2);\n          local_64[2] = sVar23;\n          if (1 < sVar23 - 0x100) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: wrong note type",5,\n                              extraout_ECX_01);\n            goto LAB_0001a72d;\n          }\n          iVar9 = uVar26 + uVar39;\n          if (local_74 < iVar9 + 0xcU) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: note too big",5,psVar25);\n            goto LAB_0001a72d;\n          }\n          if (uVar26 < 2) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name too small",5,iVar9);\n            goto LAB_0001a72d;\n          }\n          local_64[3] = (size_t)(psVar25 + 3);\n          sVar2 = (int)psVar25 + uVar26 + 0xc;\n          local_64[4] = sVar2;\n          psVar34 = (size_t *)(-0xc - iVar9);\n          local_74 = local_74 + (int)psVar34;\n          cVar8 = (char)psVar25[3];\n          if (cVar8 == '$') {\n            if ((*(char *)((int)psVar25 + 0xd) == '\x01') && (*(char *)((int)psVar25 + 0xe) == '1'))\n            {\n              local_80 = (size_t *)((int)local_80 + 1);\n            }\n          }\n          else if ((((4 < uVar26) && (cVar8 == 'G')) && (*(char *)((int)psVar25 + 0xd) == 'A')) &&\n                  ((*(char *)((int)psVar25 + 0xe) == '$' &&\n                   (*(char *)((int)psVar25 + 0xf) == '\x01')))) {\n            cVar8 = (char)psVar25[4];\n            if (cVar8 == '2') {\n              local_84 = (int *)((int)local_84 + 1);\n            }\n            else {\n              if (cVar8 != '3') {\n                iVar9 = dcgettext(0,"corrupt GNU build attribute note: unsupported version",5,cVar8)\n                ;\n                goto LAB_0001a72d;\n              }\n              local_6c = local_6c + 1;\n            }\n          }\n          if (uVar39 == 4) {\n            sVar18 = (**(code **)(param_1[1] + 0x28))(sVar2);\n            pvVar24 = (void *)0xffffffff;\n          }\n          else if (uVar39 < 5) {\n            if (uVar39 != 0) {\nLAB_0001a7ea:\n              iVar9 = dcgettext(0,"corrupt GNU build attribute note: bad description size",5,cVar8);\n              goto LAB_0001a72d;\n            }\n            pvVar24 = (void *)0x0;\n            sVar18 = 0;\n          }\n          else {\n            psVar34 = param_1;\n            if (uVar39 == 8) {\n              sVar18 = param_1[1];\n              if ((*(int *)(sVar18 + 4) == 5) && (*(char *)(param_1[0x27] + 4) == '\x02')) {\n                sVar18 = (**(code **)(sVar18 + 0x1c))(sVar2);\n                pvVar24 = (void *)0xffffffff;\n              }\n              else {\n                sVar18 = (**(code **)(sVar18 + 0x28))(sVar2);\n                pvVar24 = (void *)(**(code **)(param_1[1] + 0x28))(sVar2 + 4);\n              }\n            }\n            else {\n              if (uVar39 != 0x10) goto LAB_0001a7ea;\n              sVar18 = (**(code **)(param_1[1] + 0x1c))(sVar2);\n              pvVar24 = (void *)(**(code **)(param_1[1] + 0x1c))(sVar2 + 8);\n            }\n          }\n          if (sVar23 == 0x100) {\n            if (sVar18 == 0) {\n              sVar18 = local_8c;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = local_90;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_90 = pvVar24;\n            local_8c = sVar18;\n          }\n          else {\n            if (sVar18 == 0) {\n              sVar18 = local_94;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = (void *)local_98;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_98 = (size_t)pvVar24;\n            local_94 = sVar18;\n          }\n          if (*(char *)((local_64[3] - 1) + *local_64) != '\0') {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name not NUL terminated",5,\n                              *local_64);\n            goto LAB_0001a72d;\n          }\n          local_64 = local_64 + 9;\n          psVar25 = (size_t *)(iVar9 + 0xcU + (int)psVar25);\n        }\n        if (local_74 == 0) {\n          uVar26 = (uint)local_84 | local_6c;\n          if (local_80 == (size_t *)0x0 && uVar26 == 0) {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: no known versions detected",5,uVar26\n                             );\n            goto LAB_0001a72d;\n          }\n          if (((local_80 != (size_t *)0x0) && (uVar26 != 0)) ||\n             ((local_84 != (int *)0x0 && (local_6c != 0)))) {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: multiple different versions",5,\n                              sVar18);\n            goto LAB_0001a72d;\n          }\n          if ((local_80 == (size_t *)0x1 || local_84 == (int *)0x1) || (local_6c == 1))\n          goto LAB_0001a75c;\n          uVar26 = -(uint)(local_80 == (size_t *)0x0) & 2;\n          iVar9 = uVar26 + 1;\n          if (*(char *)(local_60[3] + iVar9) != '\x01') {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: first note not version note",5,\n                              psVar34);\n            goto LAB_0001a72d;\n          }\n          bVar40 = false;\n          iVar12 = uVar26 + 2;\n          psVar25 = local_60;\nLAB_0001a954:\n          psVar34 = psVar25;\n          psVar25 = psVar34 + 9;\n          if (psVar25 < local_64) {\n            if (psVar34[0xb] == 0x100) {\n              pvVar24 = (void *)psVar34[0xc];\n              local_7c = (size_t *)0x0;\n              psVar45 = psVar25;\n              do {\n                do {\n                  psVar6 = psVar45;\n                  psVar45 = psVar6 + -9;\n                  if (psVar45 < local_60) goto LAB_0001a954;\n                  pvVar30 = (void *)psVar6[-6];\n                  psVar7 = local_7c;\n                } while ((((local_7c == (size_t *)0x0) && (psVar6[-8] != 0)) &&\n                         (psVar7 = psVar45, psVar6[-7] == 0x101)) ||\n                        ((local_7c = psVar7,\n                         *(char *)((int)pvVar24 + iVar9) != *(char *)((int)pvVar30 + iVar9) ||\n                         (psVar6[-7] != 0x100))));\n                if (*(char *)((int)pvVar30 + iVar9) != '\x04') {\n                  psVar45 = (size_t *)*psVar45;\n                  if ((((psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)) &&\n                      ((uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0))))\n                     && ((0xfffffff0 < uVar26 || (psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0))))) {\n                    psVar34[0xb] = 0;\n                    if (uVar26 < uVar39) {\n                      psVar6[-2] = uVar39;\n                    }\n                    bVar40 = true;\n                    if (local_6c != 0) {\n                      psVar6[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0)) {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    psVar34[0x11] = 1;\n                    psVar34[0xb] = 0x101;\n                    psVar6[-1] = 1;\n                    psVar6[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }\n                uVar26 = 0;\n                for (iVar21 = 0; (int)*psVar25 - iVar12 != iVar21; iVar21 = iVar21 + 1) {\n                  uVar26 = uVar26 | (uint)*(byte *)((int)pvVar24 + iVar21 + iVar12) <<\n                                    ((char)iVar21 * '\b' & 0x1fU);\n                }\n                sVar18 = *psVar45;\n                local_5c = (int *)0x0;\n                for (uVar39 = 0; sVar18 - iVar12 != uVar39; uVar39 = uVar39 + 1) {\n                  local_5c = (int *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39] <<\n                                    ((char)uVar39 * '\b' & 0x1fU));\n                }\n                uVar28 = 0;\n                uVar26 = (int)local_5c + uVar26;\n                for (uVar27 = uVar26; uVar27 != 0; uVar27 = uVar27 >> 8) {\n                  uVar28 = uVar28 + 1;\n                }\n              } while (uVar39 <= uVar28);\n              puVar29 = (undefined1 *)((int)pvVar30 + iVar12);\n              while (puVar29 < (undefined1 *)((int)pvVar30 + sVar18)) {\n                *puVar29 = (char)uVar26;\n                if (uVar26 == 0) break;\n                uVar26 = uVar26 >> 8;\n                puVar29 = puVar29 + 1;\n              }\n              psVar34[0xb] = 0;\n              bVar40 = true;\n            }\n            goto LAB_0001a954;\n          }\n          if (!bVar40) goto LAB_0001a75c;\n          pvVar24 = (void *)xmalloc(uVar35,pvVar44,psVar20,psVar46);\n          sVar18 = 0;\n          pvVar44 = pvVar24;\n          local_80 = psVar38;\n          for (psVar20 = local_60; psVar20 < local_64; psVar20 = psVar20 + 9) {\n            sVar23 = *psVar20;\n            __n = psVar20[1] + sVar23 + 0xc;\n            sVar2 = psVar20[2];\n            pvVar30 = pvVar44;\n            if (sVar2 != 0) {\n              if (psVar20[8] == 0) {\n                memcpy(pvVar44,local_80,__n);\n                pvVar30 = (void *)((int)pvVar44 + __n);\n              }\n              else {\n                sVar5 = psVar20[6];\n                __dest = (void *)((int)pvVar44 + 0xc);\n                pvVar30 = (void *)((int)__dest + sVar23);\n                if ((sVar5 == local_74) && (psVar20[7] == sVar18)) {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar5,sVar5);\n                  (**(code **)(param_1[1] + 0x30))(0,(int)pvVar44 + 4);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                }\n                else {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar18,sVar18);\n                  cVar8 = '\b';\n                  if (*(int *)(param_1[1] + 4) == 5) {\n                    cVar8 = (*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b';\n                  }\n                  (**(code **)(param_1[1] + 0x30))(cVar8,(int)pvVar44 + 4,sVar23,sVar23);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                  sVar18 = param_1[1];\n                  psVar25 = param_1;\n                  if ((*(int *)(sVar18 + 4) == 5) &&\n                     (psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02')) {\n                    (**(code **)(sVar18 + 0x24))(sVar5,0,pvVar30,psVar25);\n                    (**(code **)(param_1[1] + 0x24))(psVar20[7],0,(void *)((int)pvVar30 + 8));\n                    pvVar30 = (void *)((int)pvVar30 + 0x10);\n                  }\n                  else {\n                    (**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25);\n                    (**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4);\n                    pvVar30 = (void *)((int)pvVar30 + 8);\n                  }\n                }\n              }\n              local_74 = psVar20[6];\n              sVar18 = psVar20[7];\n            }\n            local_80 = (size_t *)((int)local_80 + __n);\n            pvVar44 = pvVar30;\n          }\n          sVar18 = (int)pvVar44 - (int)pvVar24;\n          memcpy(psVar38,pvVar24,sVar18);\n          free(pvVar24);\n          free(local_60);\n          DAT_0003fb7c = sVar18;\n          if (uVar35 != sVar18) {\n            uVar10 = extraout_ECX_02;\n            if ((*(int *)(sVar17 + 0x3c) != 0) &&\n               (iVar9 = bfd_set_section_size(param_2,*(int *)(sVar17 + 0x3c),sVar18,extraout_EDX),\n               uVar10 = extraout_ECX_03, iVar9 != 0)) goto LAB_00018aad;\n            uVar10 = dcgettext(0,"warning: failed to set merged notes size",5,uVar10);\n            FUN_0002c160(0,param_2,sVar17,uVar10);\n          }\n        }\n        else {\n          iVar9 = dcgettext(0,"corrupt GNU build attribute notes: excess data at end",5,local_64);\nLAB_0001a72d:\n          if (iVar9 != 0) {\n            bfd_set_error(0x11);\n            FUN_0002c160(0,param_1,sVar17,iVar9);\n            DAT_0003fb88 = 1;\n          }\nLAB_0001a75c:\n          free(local_60);\n        }\n        free(DAT_0003fb80);\n        DAT_0003fb80 = (size_t *)0x0;\n        DAT_0003fb84 = 0;\n        DAT_0003fb7c = 0;\n      }\n    }\n  }\nLAB_00018aad:\n  local_98 = DAT_0003fb2c;\n  for (puVar33 = DAT_0003fb30; DAT_0003fb2c = local_98, puVar33 != (undefined4 *)0x0;\n      puVar33 = (undefined4 *)*puVar33) {\n    iVar9 = bfd_get_section_by_name(param_1,puVar33[1]);\n    if (iVar9 == 0) {\n      uVar10 = puVar33[1];\n      uVar11 = dcgettext(0,"can\'t dump section \'%s\' - it does not exist",5);\n      FUN_0002c160(0,param_1,0,uVar11,uVar10);\n    }\n    else {\n      if ((*(byte *)(iVar9 + 0x15) & 1) == 0) {\n        pcVar22 = "can\'t dump section - it has no contents";\n      }\n      else {\n        sVar17 = *(size_t *)(iVar9 + 0x24);\n        if (sVar17 != 0) {\n          __s = fopen64((char *)puVar33[2],"w");\n          if (__s == (FILE *)0x0) {\n            uVar10 = dcgettext(0,"could not open section dump file",5);\n            FUN_0002c160(puVar33[2],0,0,uVar10);\n          }\n          else {\n            iVar12 = bfd_malloc_and_get_section(param_1,iVar9,&local_30);\n            if (iVar12 == 0) {\n              uVar10 = dcgettext(0,"could not retrieve section contents",5);\n              FUN_0002c160(0,param_1,iVar9,uVar10);\n            }\n            else {\n              sVar18 = fwrite(local_30,1,sVar17,__s);\n              if (sVar17 != sVar18) {\n                piVar15 = __errno_location();\n                pcVar22 = strerror(*piVar15);\n                uVar10 = puVar33[2];\n                uVar11 = dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                FUN_0002b6d0(uVar11,uVar10,pcVar22);\n                free(local_30);\n                return 0;\n              }\n            }\n            fclose(__s);\n            free(local_30);\n          }\n          goto LAB_00018b49;\n        }\n        pcVar22 = "can\'t dump section - it is empty";\n      }\n      uVar10 = dcgettext(0,pcVar22,5);\n      FUN_0002c160(0,param_1,iVar9,uVar10);\n    }\nLAB_00018b49:\n    local_98 = DAT_0003fb2c;\n  }\n  if (local_98 != 0) {\n    iVar9 = bfd_get_section_by_name(param_2,".gnu_debuglink");\n    if (iVar9 == 0) {\n      local_98 = bfd_create_gnu_debuglink_section(param_2,DAT_0003fb2c);\n      iVar9 = DAT_0003fb2c;\n      if (local_98 == 0) {\n        uVar10 = dcgettext(0,"cannot create debug link section `%s\'",5,param_2);\n        FUN_0002c160(0,param_2,0,uVar10,iVar9);\n        return 0;\n      }\n      if (*(int *)(param_2[1] + 4) == 2) {\n        sVar17 = param_2[0x18];\n        sVar18 = 0;\n        if (sVar17 == 0) {\nLAB_0001a360:\n          uVar26 = 0x1000;\n        }\n        else {\n          do {\n            sVar23 = sVar18;\n            if (((*(uint *)(sVar17 + 0x1c) != 0) && (sVar23 = sVar17, sVar18 != 0)) &&\n               (sVar23 = sVar18, *(uint *)(sVar18 + 0x1c) < *(uint *)(sVar17 + 0x1c))) {\n              sVar23 = sVar17;\n            }\n            sVar17 = *(size_t *)(sVar17 + 0xc);\n            sVar18 = sVar23;\n          } while (sVar17 != 0);\n          if (sVar23 == 0) goto LAB_0001a360;\n          uVar35 = *(int *)(sVar23 + 0x24) + *(int *)(sVar23 + 0x1c);\n          uVar26 = 0xffffffff;\n          if (uVar35 < 0xfffff001) {\n            uVar26 = uVar35 + 0xfff & 0xfffff000;\n          }\n        }\n        *(uint *)(local_98 + 0x20) = uVar26;\n        *(uint *)(local_98 + 0x1c) = uVar26;\n        *(byte *)(local_98 + 0x18) = *(byte *)(local_98 + 0x18) | 1;\n      }\n    }\n    else {\n      sVar17 = *param_2;\n      uVar10 = dcgettext(0,"%s: debuglink section already exists",5);\n      FUN_0002b6d0(uVar10,sVar17);\n      DAT_0003fb2c = 0;\n      local_98 = 0;\n    }\n  }\n  sVar17 = param_2[0x1a];\n  local_8c = sVar17;\n  if (sVar17 == 0) {\nLAB_00018ff7:\n    local_90 = (void *)0x0;\n    local_84 = (int *)0x0;\n    sVar18 = local_8c;\n  }\n  else {\n    if (DAT_0003fb54 == 0 && DAT_0003fb4c == 0) {\n      local_8c = 0;\n      goto LAB_00018ff7;\n    }\n    sVar23 = sVar17 * 4;\n    local_84 = (int *)xmalloc(sVar23);\n    local_30 = local_84;\n    bfd_map_over_sections(param_2,FUN_00016710,&local_30);\n    qsort(local_84,sVar17,4,FUN_00016730);\n    local_90 = (void *)xmalloc(sVar23);\n    memset(local_90,0,sVar23);\n    if ((DAT_0003fb54 == 0) || (sVar17 == 1)) {\n      local_8c = 0;\n    }\n    else {\n      iVar9 = 0;\n      local_8c = 0;\n      piVar15 = local_84;\n      do {\n        iVar12 = *piVar15;\n        iVar9 = iVar9 + 1;\n        sVar18 = local_8c;\n        if ((*(uint *)(iVar12 + 0x14) & 0x102) == 0x102) {\n          uVar35 = *(int *)(iVar12 + 0x20) + *(int *)(iVar12 + 0x24);\n          if (uVar35 < *(uint *)(piVar15[1] + 0x20)) {\n            sVar18 = *(uint *)(piVar15[1] + 0x20) - uVar35;\n            uVar43 = bfd_set_section_size(param_2,iVar12,*(int *)(iVar12 + 0x24) + sVar18);\n            if ((int)uVar43 == 0) {\n              uVar10 = dcgettext(0,"Can\'t fill gap after section",5,\n                                 (int)((ulonglong)uVar43 >> 0x20));\n              FUN_0002c160(0,param_2,*piVar15,uVar10);\n              DAT_0003fb88 = 1;\n              break;\n            }\n            *(size_t *)((int)local_90 + iVar9 * 4 + -4) = sVar18;\n            if (sVar18 <= local_8c) {\n              sVar18 = local_8c;\n            }\n          }\n        }\n        local_8c = sVar18;\n        piVar15 = piVar15 + 1;\n      } while (sVar17 - 1 != iVar9);\n    }\n    sVar18 = local_8c;\n    if (DAT_0003fb4c != 0) {\n      iVar9 = local_84[sVar17 - 1];\n      uVar35 = *(int *)(iVar9 + 0x24) + *(int *)(iVar9 + 0x20);\n      if (uVar35 < DAT_0003fb48) {\n        iVar9 = bfd_set_section_size(param_2,iVar9,DAT_0003fb48 - *(int *)(iVar9 + 0x20));\n        if (iVar9 == 0) {\n          uVar10 = dcgettext(0,"can\'t add padding",5,uVar35);\n          FUN_0002c160(0,param_2,local_84[sVar17 - 1],uVar10);\n          DAT_0003fb88 = 1;\n        }\n        else {\n          sVar18 = DAT_0003fb48 - uVar35;\n          *(size_t *)((int)local_90 + (sVar23 - 4)) = sVar18;\n          if (sVar18 <= local_8c) {\n            sVar18 = local_8c;\n          }\n        }\n      }\n    }\n  }\n  local_8c = sVar18;\n  local_94 = 0;\n  if (DAT_0003fb28 != 0) {\n    local_94 = FUN_0001c0f0(param_1,DAT_0003fb9c,local_70,0);\n  }\n  if (DAT_0003fb78 - 2U < 6) {\nLAB_00019032:\n    if (DAT_0003fb78 != 7) {\nLAB_00019037:\n      bfd_set_error(0);\n      bfd_map_over_sections(param_1,FUN_00018470,DAT_0003fb9c);\n      iVar9 = bfd_get_error();\n      if (iVar9 != 0) {\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n    }\n    piVar15 = (int *)xmalloc((DAT_0003fae4 + local_70) * 4 + 4);\n    local_68 = DAT_0003fb9c;\n    uVar35 = param_1[10];\n    DAT_0003fb98 = piVar15;\n    if (local_70 != 0) {\n      piVar1 = DAT_0003fb9c + local_70;\n      local_70 = 0;\n      puVar16 = PTR__bfd_std_section_0003efc8 + 0xa8;\n      do {\n        iVar9 = DAT_0003fae4;\n        piVar3 = (int *)*local_68;\n        uVar26 = piVar3[3];\n        piVar19 = (int *)piVar3[1];\n        puVar4 = (undefined *)piVar3[4];\n        if (((DAT_0003fae8 != (int *)0x0) && (0 < DAT_0003fae4)) &&\n           (pcVar22 = (char *)DAT_0003fae8[5], pcVar22 != (char *)0x0)) {\n          local_5c = (int *)0x0;\n          piVar31 = DAT_0003fae8;\n          while (iVar12 = strcmp(pcVar22,(char *)piVar19), iVar12 != 0) {\n            local_5c = (int *)((int)local_5c + 1);\n            piVar31 = (int *)*piVar31;\n            if ((local_5c == (int *)iVar9) || (pcVar22 = (char *)piVar31[5], pcVar22 == (char *)0x0)\n               ) goto LAB_00019180;\n          }\n          free(pcVar22);\n          piVar31[5] = (int)"";\n          piVar31 = piVar15 + local_70;\n          local_70 = local_70 + 1;\n          iVar9 = FUN_000177e0();\n          *piVar31 = iVar9;\n        }\nLAB_00019180:\n        iVar9 = htab_elements(DAT_0003faf0);\n        piVar31 = piVar19;\n        if ((iVar9 != 0) || (DAT_0003fba0 != (undefined4 *)0x0)) {\n          local_2c = 0;\n          local_30 = piVar19;\n          iVar9 = htab_find(DAT_0003faf0,&local_30);\n          if (((iVar9 == 0) || (piVar31 = *(int **)(iVar9 + 4), piVar19 == piVar31)) &&\n             (puVar33 = DAT_0003fba0, (uVar26 & 0x100) != 0)) {\n            for (; piVar31 = piVar19, puVar33 != (undefined4 *)0x0;\n                puVar33 = (undefined4 *)puVar33[3]) {\n              iVar9 = strcmp((char *)*puVar33,(char *)piVar19);\n              if (iVar9 == 0) {\n                piVar31 = (int *)puVar33[1];\n                break;\n              }\n            }\n          }\n          piVar3[1] = (int)piVar31;\n        }\n        pcVar22 = DAT_0003fad8;\n        if ((char)*piVar31 == *(char *)(param_1[1] + 0x18)) {\n          if (DAT_0003fb1c == 0) {\n            if ((DAT_0003fb18 == 0) ||\n               ((((uVar26 & 0x82) == 0 && (puVar4 != puVar16)) &&\n                ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)))) goto LAB_00019203;\nLAB_0001943c:\n            piVar31 = (int *)((int)piVar31 + 1);\n            piVar3[1] = (int)piVar31;\n            goto LAB_00019203;\n          }\n          if (*(char *)(param_2[1] + 0x18) == '\0') goto LAB_0001943c;\n          if (DAT_0003fad8 != (char *)0x0) {\n            piVar31 = (int *)((int)piVar31 + 1);\n            piVar3[1] = (int)piVar31;\n            goto LAB_0001945b;\n          }\n          *(char *)piVar31 = *(char *)(param_2[1] + 0x18);\n          piVar3[1] = (int)piVar31;\n        }\n        else {\n          if (((DAT_0003fb1c == 0) || (*(char *)(param_2[1] + 0x18) == '\0')) ||\n             (*(char *)(param_1[1] + 0x18) != '\0')) {\nLAB_00019203:\n            if (pcVar22 == (char *)0x0) goto LAB_0001926f;\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = piVar19;\n          }\n          else {\nLAB_0001945b:\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = (int *)((int)piVar19 + 1);\n            *(char *)piVar19 = *(char *)(param_2[1] + 0x18);\n          }\n          pcVar22 = DAT_0003fad8;\n          if (DAT_0003fad8 != (char *)0x0) {\n            strcpy((char *)local_5c,DAT_0003fad8);\n            sVar17 = strlen(pcVar22);\n            local_5c = (int *)((int)local_5c + sVar17);\n          }\n          strcpy((char *)local_5c,(char *)piVar31);\n          piVar3[1] = (int)piVar19;\n          piVar31 = piVar19;\n        }\nLAB_0001926f:\n        if (DAT_0003fb78 == 7) goto LAB_000192f8;\n        if ((uVar26 & 0x20) == 0) {\n          if (((uVar26 & 0x100) == 0) ||\n             ((*(byte *)(**(int **)(piVar3[4] + 0x9c) + 0xc) & 0x20) == 0)) {\n            if ((((uVar35 >> 5 & 0x42) == 0) &&\n                (((uVar26 & 0x82) != 0 || ((*(byte *)(piVar3[4] + 0x15) & 0x10) != 0)))) ||\n               (iVar9 = bfd_decode_symclass(piVar3), iVar9 == 0x49)) {\nLAB_00019528:\n              iVar9 = FUN_00017880();\n              if (iVar9 == 0) goto LAB_000192e0;\n            }\n            else if ((((uVar26 & 0x82) == 0) && (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8)) &&\n                    ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)) {\n              if ((uVar26 & 4) == 0) {\n                if (((*(int *)(param_1[1] + 4) != 2) ||\n                    (iVar9 = *(int *)(piVar3[4] + 0x8c), iVar9 == 0)) ||\n                   (*(int *)(iVar9 + 0x24) == 0)) {\n                  if ((DAT_0003fb78 == 3) || (DAT_0003fb74 == 2)) goto LAB_000192f8;\n                  if (DAT_0003fb74 == 1) {\n                    iVar9 = bfd_is_local_label(param_1,piVar3,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }\n                goto LAB_00019528;\n              }\n              iVar9 = DAT_0003fb28;\n              if (1 < DAT_0003fb78 - 2U) {\njoined_r0x0001a13f:\n                if (iVar9 == 0) goto LAB_00019528;\n              }\n            }\n            else if (DAT_0003fb78 != 3) goto LAB_00019528;\n          }\n          else {\n            iVar9 = FUN_00017880();\n            if (iVar9 != 0) {\n              uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",\n                                 5,iVar9);\n              FUN_0002b6d0(uVar10,piVar31);\n              DAT_0003fb88 = 1;\n            }\nLAB_000192e0:\n            iVar9 = FUN_00017880();\n            if (iVar9 == 0) goto LAB_0001931c;\n          }\nLAB_000192f8:\n          if (((DAT_0003fadc != 0) && ((uVar26 & 0x4000) != 0)) ||\n             (iVar9 = FUN_00017880(), iVar9 != 0)) goto LAB_0001931c;\n        }\n        else {\n          iVar9 = FUN_00017880();\n          if (iVar9 != 0) {\n            uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",5)\n            ;\n            FUN_0002b6d0(uVar10,piVar31);\n            DAT_0003fb88 = 1;\n          }\nLAB_0001931c:\n          iVar9 = FUN_000178f0();\n          if (iVar9 == 0) {\n            if (((uVar26 & 2) != 0) && ((DAT_0003fae0 != 0 || (iVar9 = FUN_00017880(), iVar9 != 0)))\n               ) {\n              piVar3[3] = piVar3[3] & 0xfffffffdU | 0x80;\n            }\n            if (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8) {\n              if (((uVar26 & 0x82) != 0) &&\n                 (((iVar9 = FUN_00017880(), iVar9 != 0 ||\n                   ((iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0)))) ||\n                  ((DAT_0003fb10 != 0 &&\n                   ((((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)\n                    ))))))) {\n                piVar3[3] = piVar3[3] & 0xffffff7dU | 1;\n              }\n              if (((uVar26 & 1) != 0) && (iVar9 = FUN_00017880(), iVar9 != 0)) {\n                piVar3[3] = piVar3[3] & 0xfffffffeU | 2;\n              }\n            }\n            piVar15[local_70] = (int)piVar3;\n            local_70 = local_70 + 1;\n          }\n        }\n        local_68 = local_68 + 1;\n      } while (piVar1 != local_68);\n    }\n    local_5c = DAT_0003fae8;\n    if ((DAT_0003fae8 != (int *)0x0) && (0 < DAT_0003fae4)) {\n      iVar9 = 0;\n      do {\n        pcVar22 = (char *)local_5c[5];\n        if (pcVar22 == (char *)0x0) {\n          iVar12 = FUN_000177e0();\n          piVar15[local_70] = iVar12;\n          local_70 = local_70 + 1;\n        }\n        else if (*pcVar22 != '\0') {\n          uVar10 = dcgettext(0,"\'before=%s\' not found",5,local_70);\n                    \n          FUN_0002b6a0(uVar10,pcVar22);\n        }\n        iVar9 = iVar9 + 1;\n        local_5c = (int *)*local_5c;\n      } while (iVar9 < DAT_0003fae4);\n    }\n    piVar15[local_70] = 0;\n    if ((DAT_0003fb28 != 0) && (local_94 != 0)) {\n      iVar9 = ((undefined4 *)param_2[1])[1];\n      if ((iVar9 != 2) && (iVar9 != 5)) {\n        uVar10 = *(undefined4 *)param_2[1];\n        uVar11 = dcgettext(0,"don\'t know how to write debugging information for %s",5);\n        FUN_0002c160(0,param_2,0,uVar11,uVar10);\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n      iVar9 = FUN_0002b050(param_2,local_94,&local_4c,local_44,&local_48,&local_30);\n      if (iVar9 == 0) {\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n      iVar9 = bfd_make_section_with_flags(param_2,".stab",0x2108);\n      iVar12 = bfd_make_section_with_flags(param_2,".stabstr",0x2108);\n      if ((((iVar9 == 0) || (iVar12 == 0)) ||\n          (iVar21 = bfd_set_section_size(param_2,iVar9,local_44[0],iVar12), iVar21 == 0)) ||\n         (iVar21 = bfd_set_section_size(param_2,iVar12,local_30,iVar21), iVar21 == 0)) {\n        pcVar22 = "can\'t create debugging section";\nLAB_00019fcf:\n        uVar10 = dcgettext(0,pcVar22,5,iVar9);\n        FUN_0002c160(0,param_2,0,uVar10);\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n      *(undefined4 *)(iVar9 + 0x40) = 2;\n      *(undefined4 *)(iVar12 + 0x40) = 0;\n      iVar9 = bfd_set_section_contents(param_2,iVar9,local_4c,0,0,local_44[0],iVar21,iVar21);\n      if ((iVar9 == 0) ||\n         (iVar9 = bfd_set_section_contents\n                            (param_2,iVar12,local_48,0,0,local_30,extraout_ECX,extraout_ECX),\n         iVar9 == 0)) {\n        pcVar22 = "can\'t set debugging section contents";\n        iVar9 = iVar12;\n        goto LAB_00019fcf;\n      }\n    }\n  }\n  else {\n    if (DAT_0003fb10 != 0 || DAT_0003fb74 != 0) goto LAB_00019037;\n    iVar9 = htab_elements(DAT_0003fb0c);\n    if (((iVar9 != 0) || (iVar9 = htab_elements(DAT_0003fb04), iVar9 != 0)) ||\n       ((iVar9 = htab_elements(DAT_0003fb00), iVar9 != 0 ||\n        (((((iVar9 = htab_elements(DAT_0003fafc), iVar9 != 0 ||\n            (iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0)) ||\n           (iVar9 = htab_elements(DAT_0003faf4), iVar9 != 0)) ||\n          ((iVar9 = htab_elements(DAT_0003faf0), DAT_0003fad8 != (char *)0x0 ||\n           (DAT_0003fba0 != (undefined4 *)0x0)))) ||\n         (((((((DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0) || DAT_0003fb1c != 0)\n            || DAT_0003fb18 != 0) || DAT_0003fae0 != 0) || DAT_0003fae4 != 0) || iVar9 != 0))))))\n    goto LAB_00019032;\n  }\n  bfd_set_symtab(param_2,DAT_0003fb98,local_70);\n  bfd_map_over_sections(param_1,FUN_000181d0,param_2);\n  bfd_map_over_sections(param_1,FUN_00017e40,param_2);\n  psVar38 = param_1;\n  for (puVar33 = DAT_0003fb38; puVar37 = DAT_0003fb34, puVar33 != (undefined4 *)0x0;\n      puVar33 = (undefined4 *)*puVar33) {\n    iVar9 = bfd_set_section_contents(param_2,puVar33[5],puVar33[4],0,0,puVar33[3]);\n    if (iVar9 == 0) {\n      psVar38 = (size_t *)puVar33[5];\n      local_50 = 0;\n      goto LAB_00019763;\n    }\n    psVar38 = param_2;\n  }\n  for (; puVar37 != (undefined4 *)0x0; puVar37 = (undefined4 *)*puVar37) {\n    psVar38 = *(size_t **)(puVar37[5] + 0x3c);\n    local_50 = bfd_set_section_contents(param_2,psVar38,puVar37[4],0,0,puVar37[3]);\n    if (local_50 == 0) {\nLAB_00019763:\n      FUN_0002c160(0,param_2,psVar38,0);\n      return local_50;\n    }\n  }\n  uVar35 = 0;\n  if (DAT_0003fb84 != 0) {\n    uVar35 = bfd_get_section_by_name(param_2,".gnu.build.attributes");\n    if (((uVar35 == 0) || (DAT_0003fb84 == 0)) ||\n       ((*(int *)(param_2[1] + 4) != 5 || (iVar9 = FUN_00017590(), iVar9 == 0)))) {\n      if (DAT_0003fba4 == 0) {\n        uVar10 = dcgettext(0,"could not find any mergeable note sections",5,0);\n        FUN_0002c160(0,param_2,uVar35,uVar10);\n      }\n    }\n    else {\n      iVar9 = bfd_set_section_contents(param_2,uVar35,DAT_0003fb80,0,0,DAT_0003fb7c,iVar9,iVar9);\n      if (iVar9 == 0) {\n        uVar10 = dcgettext(0,"error: failed to copy merged notes into output",5,0);\n        goto LAB_0001a2cd;\n      }\n    }\n    free(DAT_0003fb80);\n    DAT_0003fb80 = (size_t *)0x0;\n    DAT_0003fb84 = 0;\n    psVar38 = param_2;\n  }\n  if ((DAT_0003fb2c != 0) &&\n     (iVar12 = bfd_fill_in_gnu_debuglink_section(param_2,local_98,DAT_0003fb2c),\n     iVar9 = DAT_0003fb2c, iVar12 == 0)) {\n    uVar10 = dcgettext(0,"cannot fill debug link section `%s\'",5,0);\n    FUN_0002c160(0,param_2,0,uVar10,iVar9);\n    return 0;\n  }\n  if (DAT_0003fb54 != 0 || DAT_0003fb4c != 0) {\n    uVar35 = 0x2000;\n    if (local_8c < 0x2001) {\n      uVar35 = local_8c;\n    }\n    psVar20 = (size_t *)xmalloc(uVar35);\n    sVar17 = (uint)DAT_0003fb50 * 0x1010101;\n    if (uVar35 < 4) {\n      if ((uVar35 != 0) && (*(char *)psVar20 = (char)sVar17, (uVar35 & 2) != 0)) {\n        *(short *)((int)psVar20 + (uVar35 - 2)) = (short)sVar17;\n      }\n    }\n    else {\n      *psVar20 = sVar17;\n      *(size_t *)((int)(psVar20 + -1) + uVar35) = sVar17;\n      psVar38 = (size_t *)((uint)(psVar20 + 1) & 0xfffffffc);\n      for (uVar26 = (int)psVar20 + (uVar35 - (int)((uint)(psVar20 + 1) & 0xfffffffc)) >> 2;\n          uVar26 != 0; uVar26 = uVar26 - 1) {\n        *psVar38 = sVar17;\n        psVar38 = psVar38 + (uint)bVar42 * -2 + 1;\n      }\n    }\n    psVar25 = (size_t *)param_2[0x1a];\n    if (psVar25 != (size_t *)0x0) {\n      psVar38 = (size_t *)0x0;\n      do {\n        uVar35 = *(uint *)((int)local_90 + (int)psVar38 * 4);\n        if (uVar35 != 0) {\n          iVar9 = local_84[(int)psVar38];\n          local_58 = 0;\n          local_5c = (int *)(*(int *)(iVar9 + 0x24) - uVar35);\n          while( true ) {\n            uVar26 = 0x2000;\n            if (uVar35 < 0x2001) {\n              uVar26 = uVar35;\n            }\n            iVar9 = bfd_set_section_contents(param_2,iVar9,psVar20,local_5c,local_58,uVar26);\n            if (iVar9 == 0) {\n              psVar38 = (size_t *)local_84[(int)psVar38];\n              local_50 = 0;\n              goto LAB_00019763;\n            }\n            bVar40 = CARRY4((uint)local_5c,uVar26);\n            local_5c = (int *)((int)local_5c + uVar26);\n            local_58 = local_58 + (uint)bVar40;\n            uVar35 = uVar35 - uVar26;\n            if (uVar35 == 0) break;\n            iVar9 = local_84[(int)psVar38];\n          }\n        }\n        psVar38 = (size_t *)((int)psVar38 + 1);\n      } while (psVar25 != psVar38);\n    }\n  }\n  iVar9 = (**(code **)(param_2[1] + 0xa8))(param_1,param_2);\n  if (iVar9 != 0) {\n    if ((DAT_0003fb44 != 0) &&\n       (iVar12 = bfd_alt_mach_code(param_2,DAT_0003fb44,uVar35,uVar35), iVar9 = DAT_0003fb44,\n       iVar12 == 0)) {\n      uVar10 = dcgettext(0,"this target does not support %lu alternative machine codes",5,psVar38);\n      FUN_0002b6d0(uVar10,iVar9);\n      if (*(int *)(param_2[1] + 4) != 5) {\n        uVar10 = dcgettext(0,"ignoring the alternative value",5,extraout_ECX_00);\n        FUN_0002b6d0(uVar10);\n        return 1;\n      }\n      uVar10 = dcgettext(0,"treating that number as an absolute e_machine value instead",5,iVar9);\n      FUN_0002b6d0(uVar10);\n      *(short *)(param_2[0x27] + 0x26) = (short)DAT_0003fb44;\n    }\n    return 1;\n  }\n  uVar10 = dcgettext(0,"error copying private BFD data",5,psVar38);\n  uVar35 = 0;\nLAB_0001a2cd:\n  FUN_0002c160(0,param_2,uVar35,uVar10);\n  return 0;\n}" ({ "{") (declaration "void *__dest;" (primitive_type "void") (pointer_declarator "*__dest" (* "*") (identifier "__dest")) (; ";")) (declaration "int *piVar1;" (primitive_type "int") (pointer_declarator "*piVar1" (* "*") (identifier "piVar1")) (; ";")) (declaration "size_t sVar2;" (primitive_type "size_t") (identifier "sVar2") (; ";")) (declaration "int *piVar3;" (primitive_type "int") (pointer_declarator "*piVar3" (* "*") (identifier "piVar3")) (; ";")) (declaration "undefined *puVar4;" (type_identifier "undefined") (pointer_declarator "*puVar4" (* "*") (identifier "puVar4")) (; ";")) (declaration "size_t sVar5;" (primitive_type "size_t") (identifier "sVar5") (; ";")) (declaration "size_t *psVar6;" (primitive_type "size_t") (pointer_declarator "*psVar6" (* "*") (identifier "psVar6")) (; ";")) (declaration "size_t *psVar7;" (primitive_type "size_t") (pointer_declarator "*psVar7" (* "*") (identifier "psVar7")) (; ";")) (declaration "char cVar8;" (primitive_type "char") (identifier "cVar8") (; ";")) (declaration "int iVar9;" (primitive_type "int") (identifier "iVar9") (; ";")) (declaration "undefined4 uVar10;" (type_identifier "undefined4") (identifier "uVar10") (; ";")) (declaration "undefined4 uVar11;" (type_identifier "undefined4") (identifier "uVar11") (; ";")) (declaration "int iVar12;" (primitive_type "int") (identifier "iVar12") (; ";")) (declaration "FILE *__s;" (type_identifier "FILE") (pointer_declarator "*__s" (* "*") (identifier "__s")) (; ";")) (declaration "undefined4 uVar13;" (type_identifier "undefined4") (identifier "uVar13") (; ";")) (declaration "undefined4 uVar14;" (type_identifier "undefined4") (identifier "uVar14") (; ";")) (declaration "int *piVar15;" (primitive_type "int") (pointer_declarator "*piVar15" (* "*") (identifier "piVar15")) (; ";")) (declaration "undefined *puVar16;" (type_identifier "undefined") (pointer_declarator "*puVar16" (* "*") (identifier "puVar16")) (; ";")) (declaration "size_t sVar17;" (primitive_type "size_t") (identifier "sVar17") (; ";")) (declaration "size_t sVar18;" (primitive_type "size_t") (identifier "sVar18") (; ";")) (declaration "int *piVar19;" (primitive_type "int") (pointer_declarator "*piVar19" (* "*") (identifier "piVar19")) (; ";")) (declaration "size_t *psVar20;" (primitive_type "size_t") (pointer_declarator "*psVar20" (* "*") (identifier "psVar20")) (; ";")) (declaration "int iVar21;" (primitive_type "int") (identifier "iVar21") (; ";")) (declaration "char *pcVar22;" (primitive_type "char") (pointer_declarator "*pcVar22" (* "*") (identifier "pcVar22")) (; ";")) (declaration "size_t sVar23;" (primitive_type "size_t") (identifier "sVar23") (; ";")) (declaration "void *pvVar24;" (primitive_type "void") (pointer_declarator "*pvVar24" (* "*") (identifier "pvVar24")) (; ";")) (declaration "size_t *psVar25;" (primitive_type "size_t") (pointer_declarator "*psVar25" (* "*") (identifier "psVar25")) (; ";")) (declaration "undefined4 extraout_ECX;" (type_identifier "undefined4") (identifier "extraout_ECX") (; ";")) (declaration "uint uVar26;" (type_identifier "uint") (identifier "uVar26") (; ";")) (declaration "undefined4 extraout_ECX_00;" (type_identifier "undefined4") (identifier "extraout_ECX_00") (; ";")) (declaration "undefined4 extraout_ECX_01;" (type_identifier "undefined4") (identifier "extraout_ECX_01") (; ";")) (declaration "uint uVar27;" (type_identifier "uint") (identifier "uVar27") (; ";")) (declaration "undefined4 extraout_ECX_02;" (type_identifier "undefined4") (identifier "extraout_ECX_02") (; ";")) (declaration "undefined4 extraout_ECX_03;" (type_identifier "undefined4") (identifier "extraout_ECX_03") (; ";")) (declaration "uint uVar28;" (type_identifier "uint") (identifier "uVar28") (; ";")) (declaration "undefined1 *puVar29;" (type_identifier "undefined1") (pointer_declarator "*puVar29" (* "*") (identifier "puVar29")) (; ";")) (declaration "void *pvVar30;" (primitive_type "void") (pointer_declarator "*pvVar30" (* "*") (identifier "pvVar30")) (; ";")) (declaration "size_t __n;" (primitive_type "size_t") (identifier "__n") (; ";")) (declaration "undefined4 extraout_EDX;" (type_identifier "undefined4") (identifier "extraout_EDX") (; ";")) (declaration "int *piVar31;" (primitive_type "int") (pointer_declarator "*piVar31" (* "*") (identifier "piVar31")) (; ";")) (declaration "byte *pbVar32;" (type_identifier "byte") (pointer_declarator "*pbVar32" (* "*") (identifier "pbVar32")) (; ";")) (declaration "undefined4 *puVar33;" (type_identifier "undefined4") (pointer_declarator "*puVar33" (* "*") (identifier "puVar33")) (; ";")) (declaration "size_t *psVar34;" (primitive_type "size_t") (pointer_declarator "*psVar34" (* "*") (identifier "psVar34")) (; ";")) (declaration "uint uVar35;" (type_identifier "uint") (identifier "uVar35") (; ";")) (declaration "byte *pbVar36;" (type_identifier "byte") (pointer_declarator "*pbVar36" (* "*") (identifier "pbVar36")) (; ";")) (declaration "undefined4 *puVar37;" (type_identifier "undefined4") (pointer_declarator "*puVar37" (* "*") (identifier "puVar37")) (; ";")) (declaration "size_t *psVar38;" (primitive_type "size_t") (pointer_declarator "*psVar38" (* "*") (identifier "psVar38")) (; ";")) (declaration "uint uVar39;" (type_identifier "uint") (identifier "uVar39") (; ";")) (declaration "bool bVar40;" (primitive_type "bool") (identifier "bVar40") (; ";")) (declaration "bool bVar41;" (primitive_type "bool") (identifier "bVar41") (; ";")) (declaration "byte bVar42;" (type_identifier "byte") (identifier "bVar42") (; ";")) (declaration "undefined8 uVar43;" (type_identifier "undefined8") (identifier "uVar43") (; ";")) (declaration "void *pvVar44;" (primitive_type "void") (pointer_declarator "*pvVar44" (* "*") (identifier "pvVar44")) (; ";")) (declaration "size_t *psVar45;" (primitive_type "size_t") (pointer_declarator "*psVar45" (* "*") (identifier "psVar45")) (; ";")) (declaration "size_t *psVar46;" (primitive_type "size_t") (pointer_declarator "*psVar46" (* "*") (identifier "psVar46")) (; ";")) (declaration "size_t local_98;" (primitive_type "size_t") (identifier "local_98") (; ";")) (declaration "size_t local_94;" (primitive_type "size_t") (identifier "local_94") (; ";")) (declaration "void *local_90;" (primitive_type "void") (pointer_declarator "*local_90" (* "*") (identifier "local_90")) (; ";")) (declaration "size_t local_8c;" (primitive_type "size_t") (identifier "local_8c") (; ";")) (declaration "int *local_84;" (primitive_type "int") (pointer_declarator "*local_84" (* "*") (identifier "local_84")) (; ";")) (declaration "size_t *local_80;" (primitive_type "size_t") (pointer_declarator "*local_80" (* "*") (identifier "local_80")) (; ";")) (declaration "size_t *local_7c;" (primitive_type "size_t") (pointer_declarator "*local_7c" (* "*") (identifier "local_7c")) (; ";")) (declaration "uint local_74;" (type_identifier "uint") (identifier "local_74") (; ";")) (declaration "int local_70;" (primitive_type "int") (identifier "local_70") (; ";")) (declaration "uint local_6c;" (type_identifier "uint") (identifier "local_6c") (; ";")) (declaration "int *local_68;" (primitive_type "int") (pointer_declarator "*local_68" (* "*") (identifier "local_68")) (; ";")) (declaration "size_t *local_64;" (primitive_type "size_t") (pointer_declarator "*local_64" (* "*") (identifier "local_64")) (; ";")) (declaration "size_t *local_60;" (primitive_type "size_t") (pointer_declarator "*local_60" (* "*") (identifier "local_60")) (; ";")) (declaration "int *local_5c;" (primitive_type "int") (pointer_declarator "*local_5c" (* "*") (identifier "local_5c")) (; ";")) (declaration "int local_58;" (primitive_type "int") (identifier "local_58") (; ";")) (declaration "int local_50;" (primitive_type "int") (identifier "local_50") (; ";")) (declaration "undefined4 local_4c;" (type_identifier "undefined4") (identifier "local_4c") (; ";")) (declaration "undefined4 local_48;" (type_identifier "undefined4") (identifier "local_48") (; ";")) (declaration "undefined4 local_44 [5];" (type_identifier "undefined4") (array_declarator "local_44 [5]" (identifier "local_44") ([ "[") (number_literal "5") (] "]")) (; ";")) (declaration "int *local_30;" (primitive_type "int") (pointer_declarator "*local_30" (* "*") (identifier "local_30")) (; ";")) (declaration "undefined4 local_2c;" (type_identifier "undefined4") (identifier "local_2c") (; ";")) (declaration "undefined4 uStack_14;" (type_identifier "undefined4") (identifier "uStack_14") (; ";")) (expression_statement "bVar42 = 0;" (assignment_expression "bVar42 = 0" (identifier "bVar42") (= "=") (number_literal "0")) (; ";")) (expression_statement "uStack_14 = 0x185fd;" (assignment_expression "uStack_14 = 0x185fd" (identifier "uStack_14") (= "=") (number_literal "0x185fd")) (; ";")) (if_statement "if ((*(int *)(param_1[1] + 8) != *(int *)(param_2[1] + 8) && *(int *)(param_1[1] + 8) != 2) &&\n     (*(int *)(param_2[1] + 8) != 2)) {\n    uVar10 = dcgettext(0,"Unable to change endianness of input file(s)",5);\n    FUN_0002b6d0(uVar10);\n    return 0;\n  }" (if "if") (parenthesized_expression "((*(int *)(param_1[1] + 8) != *(int *)(param_2[1] + 8) && *(int *)(param_1[1] + 8) != 2) &&\n     (*(int *)(param_2[1] + 8) != 2))" (( "(") (binary_expression "(*(int *)(param_1[1] + 8) != *(int *)(param_2[1] + 8) && *(int *)(param_1[1] + 8) != 2) &&\n     (*(int *)(param_2[1] + 8) != 2)" (parenthesized_expression "(*(int *)(param_1[1] + 8) != *(int *)(param_2[1] + 8) && *(int *)(param_1[1] + 8) != 2)" (( "(") (binary_expression "*(int *)(param_1[1] + 8) != *(int *)(param_2[1] + 8) && *(int *)(param_1[1] + 8) != 2" (binary_expression "*(int *)(param_1[1] + 8) != *(int *)(param_2[1] + 8)" (pointer_expression "*(int *)(param_1[1] + 8)" (* "*") (cast_expression "(int *)(param_1[1] + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[1] + 8)" (( "(") (binary_expression "param_1[1] + 8" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "8")) () ")")))) (!= "!=") (pointer_expression "*(int *)(param_2[1] + 8)" (* "*") (cast_expression "(int *)(param_2[1] + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2[1] + 8)" (( "(") (binary_expression "param_2[1] + 8" (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "8")) () ")"))))) (&& "&&") (binary_expression "*(int *)(param_1[1] + 8) != 2" (pointer_expression "*(int *)(param_1[1] + 8)" (* "*") (cast_expression "(int *)(param_1[1] + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[1] + 8)" (( "(") (binary_expression "param_1[1] + 8" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "8")) () ")")))) (!= "!=") (number_literal "2"))) () ")")) (&& "&&") (parenthesized_expression "(*(int *)(param_2[1] + 8) != 2)" (( "(") (binary_expression "*(int *)(param_2[1] + 8) != 2" (pointer_expression "*(int *)(param_2[1] + 8)" (* "*") (cast_expression "(int *)(param_2[1] + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2[1] + 8)" (( "(") (binary_expression "param_2[1] + 8" (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "8")) () ")")))) (!= "!=") (number_literal "2")) () ")"))) () ")")) (compound_statement "{\n    uVar10 = dcgettext(0,"Unable to change endianness of input file(s)",5);\n    FUN_0002b6d0(uVar10);\n    return 0;\n  }" ({ "{") (expression_statement "uVar10 = dcgettext(0,"Unable to change endianness of input file(s)",5);" (assignment_expression "uVar10 = dcgettext(0,"Unable to change endianness of input file(s)",5)" (identifier "uVar10") (= "=") (call_expression "dcgettext(0,"Unable to change endianness of input file(s)",5)" (identifier "dcgettext") (argument_list "(0,"Unable to change endianness of input file(s)",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Unable to change endianness of input file(s)"" (" """) (string_content "Unable to change endianness of input file(s)") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0002b6d0(uVar10);" (call_expression "FUN_0002b6d0(uVar10)" (identifier "FUN_0002b6d0") (argument_list "(uVar10)" (( "(") (identifier "uVar10") () ")"))) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "iVar9 = bfd_set_format(param_2,(byte)param_1[10] & 7);" (assignment_expression "iVar9 = bfd_set_format(param_2,(byte)param_1[10] & 7)" (identifier "iVar9") (= "=") (call_expression "bfd_set_format(param_2,(byte)param_1[10] & 7)" (identifier "bfd_set_format") (argument_list "(param_2,(byte)param_1[10] & 7)" (( "(") (identifier "param_2") (, ",") (binary_expression "(byte)param_1[10] & 7" (cast_expression "(byte)param_1[10]" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (subscript_expression "param_1[10]" (identifier "param_1") ([ "[") (number_literal "10") (] "]"))) (& "&") (number_literal "7")) () ")")))) (; ";")) (if_statement "if (iVar9 == 0) {\n    FUN_0002c160(0,param_2,0,0);\n    return 0;\n  }" (if "if") (parenthesized_expression "(iVar9 == 0)" (( "(") (binary_expression "iVar9 == 0" (identifier "iVar9") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    FUN_0002c160(0,param_2,0,0);\n    return 0;\n  }" ({ "{") (expression_statement "FUN_0002c160(0,param_2,0,0);" (call_expression "FUN_0002c160(0,param_2,0,0)" (identifier "FUN_0002c160") (argument_list "(0,param_2,0,0)" (( "(") (number_literal "0") (, ",") (identifier "param_2") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")"))) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (if_statement "if (param_1[0x18] == 0) {\n    uVar10 = FUN_0002c060(param_1);\n    pcVar22 = "error: the input file \'%s\' has no sections";\n    goto LAB_00018bc8;\n  }" (if "if") (parenthesized_expression "(param_1[0x18] == 0)" (( "(") (binary_expression "param_1[0x18] == 0" (subscript_expression "param_1[0x18]" (identifier "param_1") ([ "[") (number_literal "0x18") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    uVar10 = FUN_0002c060(param_1);\n    pcVar22 = "error: the input file \'%s\' has no sections";\n    goto LAB_00018bc8;\n  }" ({ "{") (expression_statement "uVar10 = FUN_0002c060(param_1);" (assignment_expression "uVar10 = FUN_0002c060(param_1)" (identifier "uVar10") (= "=") (call_expression "FUN_0002c060(param_1)" (identifier "FUN_0002c060") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (expression_statement "pcVar22 = "error: the input file \'%s\' has no sections";" (assignment_expression "pcVar22 = "error: the input file \'%s\' has no sections"" (identifier "pcVar22") (= "=") (string_literal ""error: the input file \'%s\' has no sections"" (" """) (string_content "error: the input file ") (escape_sequence "\'") (string_content "%s") (escape_sequence "\'") (string_content " has no sections") (" """))) (; ";")) (goto_statement "goto LAB_00018bc8;" (goto "goto") (statement_identifier "LAB_00018bc8") (; ";")) (} "}"))) (if_statement "if (((undefined4 *)param_1[1])[1] != 5) {\n    if ((DAT_0003fb24 != 1) && ((DAT_0003fb24 & 1) != 0)) {\n      uVar10 = FUN_0002c060(param_1);\n      pcVar22 = "--compress-debug-sections=[zlib|zlib-gnu|zlib-gabi] is unsupported on `%s\'";\nLAB_00018bc8:\n      uVar11 = dcgettext(0,pcVar22,5);\n      FUN_0002b6d0(uVar11,uVar10);\n      return 0;\n    }\n    if (DAT_0003fb20 != 0) {\n      uVar10 = FUN_0002c060(param_1);\n      pcVar22 = "--elf-stt-common=[yes|no] is unsupported on `%s\'";\n      goto LAB_00018bc8;\n    }\n  }" (if "if") (parenthesized_expression "(((undefined4 *)param_1[1])[1] != 5)" (( "(") (binary_expression "((undefined4 *)param_1[1])[1] != 5" (subscript_expression "((undefined4 *)param_1[1])[1]" (parenthesized_expression "((undefined4 *)param_1[1])" (( "(") (cast_expression "(undefined4 *)param_1[1]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]"))) () ")")) ([ "[") (number_literal "1") (] "]")) (!= "!=") (number_literal "5")) () ")")) (compound_statement "{\n    if ((DAT_0003fb24 != 1) && ((DAT_0003fb24 & 1) != 0)) {\n      uVar10 = FUN_0002c060(param_1);\n      pcVar22 = "--compress-debug-sections=[zlib|zlib-gnu|zlib-gabi] is unsupported on `%s\'";\nLAB_00018bc8:\n      uVar11 = dcgettext(0,pcVar22,5);\n      FUN_0002b6d0(uVar11,uVar10);\n      return 0;\n    }\n    if (DAT_0003fb20 != 0) {\n      uVar10 = FUN_0002c060(param_1);\n      pcVar22 = "--elf-stt-common=[yes|no] is unsupported on `%s\'";\n      goto LAB_00018bc8;\n    }\n  }" ({ "{") (if_statement "if ((DAT_0003fb24 != 1) && ((DAT_0003fb24 & 1) != 0)) {\n      uVar10 = FUN_0002c060(param_1);\n      pcVar22 = "--compress-debug-sections=[zlib|zlib-gnu|zlib-gabi] is unsupported on `%s\'";\nLAB_00018bc8:\n      uVar11 = dcgettext(0,pcVar22,5);\n      FUN_0002b6d0(uVar11,uVar10);\n      return 0;\n    }" (if "if") (parenthesized_expression "((DAT_0003fb24 != 1) && ((DAT_0003fb24 & 1) != 0))" (( "(") (binary_expression "(DAT_0003fb24 != 1) && ((DAT_0003fb24 & 1) != 0)" (parenthesized_expression "(DAT_0003fb24 != 1)" (( "(") (binary_expression "DAT_0003fb24 != 1" (identifier "DAT_0003fb24") (!= "!=") (number_literal "1")) () ")")) (&& "&&") (parenthesized_expression "((DAT_0003fb24 & 1) != 0)" (( "(") (binary_expression "(DAT_0003fb24 & 1) != 0" (parenthesized_expression "(DAT_0003fb24 & 1)" (( "(") (binary_expression "DAT_0003fb24 & 1" (identifier "DAT_0003fb24") (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n      uVar10 = FUN_0002c060(param_1);\n      pcVar22 = "--compress-debug-sections=[zlib|zlib-gnu|zlib-gabi] is unsupported on `%s\'";\nLAB_00018bc8:\n      uVar11 = dcgettext(0,pcVar22,5);\n      FUN_0002b6d0(uVar11,uVar10);\n      return 0;\n    }" ({ "{") (expression_statement "uVar10 = FUN_0002c060(param_1);" (assignment_expression "uVar10 = FUN_0002c060(param_1)" (identifier "uVar10") (= "=") (call_expression "FUN_0002c060(param_1)" (identifier "FUN_0002c060") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (expression_statement "pcVar22 = "--compress-debug-sections=[zlib|zlib-gnu|zlib-gabi] is unsupported on `%s\'";" (assignment_expression "pcVar22 = "--compress-debug-sections=[zlib|zlib-gnu|zlib-gabi] is unsupported on `%s\'"" (identifier "pcVar22") (= "=") (string_literal ""--compress-debug-sections=[zlib|zlib-gnu|zlib-gabi] is unsupported on `%s\'"" (" """) (string_content "--compress-debug-sections=[zlib|zlib-gnu|zlib-gabi] is unsupported on `%s") (escape_sequence "\'") (" """))) (; ";")) (labeled_statement "LAB_00018bc8:\n      uVar11 = dcgettext(0,pcVar22,5);" (statement_identifier "LAB_00018bc8") (: ":") (expression_statement "uVar11 = dcgettext(0,pcVar22,5);" (assignment_expression "uVar11 = dcgettext(0,pcVar22,5)" (identifier "uVar11") (= "=") (call_expression "dcgettext(0,pcVar22,5)" (identifier "dcgettext") (argument_list "(0,pcVar22,5)" (( "(") (number_literal "0") (, ",") (identifier "pcVar22") (, ",") (number_literal "5") () ")")))) (; ";"))) (expression_statement "FUN_0002b6d0(uVar11,uVar10);" (call_expression "FUN_0002b6d0(uVar11,uVar10)" (identifier "FUN_0002b6d0") (argument_list "(uVar11,uVar10)" (( "(") (identifier "uVar11") (, ",") (identifier "uVar10") () ")"))) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (if_statement "if (DAT_0003fb20 != 0) {\n      uVar10 = FUN_0002c060(param_1);\n      pcVar22 = "--elf-stt-common=[yes|no] is unsupported on `%s\'";\n      goto LAB_00018bc8;\n    }" (if "if") (parenthesized_expression "(DAT_0003fb20 != 0)" (( "(") (binary_expression "DAT_0003fb20 != 0" (identifier "DAT_0003fb20") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      uVar10 = FUN_0002c060(param_1);\n      pcVar22 = "--elf-stt-common=[yes|no] is unsupported on `%s\'";\n      goto LAB_00018bc8;\n    }" ({ "{") (expression_statement "uVar10 = FUN_0002c060(param_1);" (assignment_expression "uVar10 = FUN_0002c060(param_1)" (identifier "uVar10") (= "=") (call_expression "FUN_0002c060(param_1)" (identifier "FUN_0002c060") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (expression_statement "pcVar22 = "--elf-stt-common=[yes|no] is unsupported on `%s\'";" (assignment_expression "pcVar22 = "--elf-stt-common=[yes|no] is unsupported on `%s\'"" (identifier "pcVar22") (= "=") (string_literal ""--elf-stt-common=[yes|no] is unsupported on `%s\'"" (" """) (string_content "--elf-stt-common=[yes|no] is unsupported on `%s") (escape_sequence "\'") (" """))) (; ";")) (goto_statement "goto LAB_00018bc8;" (goto "goto") (statement_identifier "LAB_00018bc8") (; ";")) (} "}"))) (} "}"))) (if_statement "if (DAT_0003fb90 != 0) {\n    uVar10 = *(undefined4 *)param_1[1];\n    uVar11 = *(undefined4 *)param_2[1];\n    sVar17 = *param_2;\n    uVar13 = FUN_0002c060(param_1);\n    pcVar22 = (char *)dcgettext(0,"copy from `%s\' [%s] to `%s\' [%s]\n",5);\n    printf(pcVar22,uVar13,uVar10,sVar17,uVar11);\n  }" (if "if") (parenthesized_expression "(DAT_0003fb90 != 0)" (( "(") (binary_expression "DAT_0003fb90 != 0" (identifier "DAT_0003fb90") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    uVar10 = *(undefined4 *)param_1[1];\n    uVar11 = *(undefined4 *)param_2[1];\n    sVar17 = *param_2;\n    uVar13 = FUN_0002c060(param_1);\n    pcVar22 = (char *)dcgettext(0,"copy from `%s\' [%s] to `%s\' [%s]\n",5);\n    printf(pcVar22,uVar13,uVar10,sVar17,uVar11);\n  }" ({ "{") (expression_statement "uVar10 = *(undefined4 *)param_1[1];" (assignment_expression "uVar10 = *(undefined4 *)param_1[1]" (identifier "uVar10") (= "=") (pointer_expression "*(undefined4 *)param_1[1]" (* "*") (cast_expression "(undefined4 *)param_1[1]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]"))))) (; ";")) (expression_statement "uVar11 = *(undefined4 *)param_2[1];" (assignment_expression "uVar11 = *(undefined4 *)param_2[1]" (identifier "uVar11") (= "=") (pointer_expression "*(undefined4 *)param_2[1]" (* "*") (cast_expression "(undefined4 *)param_2[1]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]"))))) (; ";")) (expression_statement "sVar17 = *param_2;" (assignment_expression "sVar17 = *param_2" (identifier "sVar17") (= "=") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) (; ";")) (expression_statement "uVar13 = FUN_0002c060(param_1);" (assignment_expression "uVar13 = FUN_0002c060(param_1)" (identifier "uVar13") (= "=") (call_expression "FUN_0002c060(param_1)" (identifier "FUN_0002c060") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (expression_statement "pcVar22 = (char *)dcgettext(0,"copy from `%s\' [%s] to `%s\' [%s]\n",5);" (assignment_expression "pcVar22 = (char *)dcgettext(0,"copy from `%s\' [%s] to `%s\' [%s]\n",5)" (identifier "pcVar22") (= "=") (cast_expression "(char *)dcgettext(0,"copy from `%s\' [%s] to `%s\' [%s]\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"copy from `%s\' [%s] to `%s\' [%s]\n",5)" (identifier "dcgettext") (argument_list "(0,"copy from `%s\' [%s] to `%s\' [%s]\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""copy from `%s\' [%s] to `%s\' [%s]\n"" (" """) (string_content "copy from `%s") (escape_sequence "\'") (string_content " [%s] to `%s") (escape_sequence "\'") (string_content " [%s]") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar22,uVar13,uVar10,sVar17,uVar11);" (call_expression "printf(pcVar22,uVar13,uVar10,sVar17,uVar11)" (identifier "printf") (argument_list "(pcVar22,uVar13,uVar10,sVar17,uVar11)" (( "(") (identifier "pcVar22") (, ",") (identifier "uVar13") (, ",") (identifier "uVar10") (, ",") (identifier "sVar17") (, ",") (identifier "uVar11") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" (identifier "iVar9") (= "=") (number_literal "0")) (; ";")) (if_statement "if (DAT_0003facc == 0) {\n    sVar17 = DAT_0003fb5c;\n    if (DAT_0003fb60 == 0) {\n      sVar17 = param_1[0x1c];\n    }\n    iVar9 = sVar17 + DAT_0003fb64;\n  }" (if "if") (parenthesized_expression "(DAT_0003facc == 0)" (( "(") (binary_expression "DAT_0003facc == 0" (identifier "DAT_0003facc") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    sVar17 = DAT_0003fb5c;\n    if (DAT_0003fb60 == 0) {\n      sVar17 = param_1[0x1c];\n    }\n    iVar9 = sVar17 + DAT_0003fb64;\n  }" ({ "{") (expression_statement "sVar17 = DAT_0003fb5c;" (assignment_expression "sVar17 = DAT_0003fb5c" (identifier "sVar17") (= "=") (identifier "DAT_0003fb5c")) (; ";")) (if_statement "if (DAT_0003fb60 == 0) {\n      sVar17 = param_1[0x1c];\n    }" (if "if") (parenthesized_expression "(DAT_0003fb60 == 0)" (( "(") (binary_expression "DAT_0003fb60 == 0" (identifier "DAT_0003fb60") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      sVar17 = param_1[0x1c];\n    }" ({ "{") (expression_statement "sVar17 = param_1[0x1c];" (assignment_expression "sVar17 = param_1[0x1c]" (identifier "sVar17") (= "=") (subscript_expression "param_1[0x1c]" (identifier "param_1") ([ "[") (number_literal "0x1c") (] "]"))) (; ";")) (} "}"))) (expression_statement "iVar9 = sVar17 + DAT_0003fb64;" (assignment_expression "iVar9 = sVar17 + DAT_0003fb64" (identifier "iVar9") (= "=") (binary_expression "sVar17 + DAT_0003fb64" (identifier "sVar17") (+ "+") (identifier "DAT_0003fb64"))) (; ";")) (} "}"))) (if_statement "if ((param_2[10] & 7) != 3) {\n    uVar35 = ~DAT_0003fb3c & *(uint *)(param_2[1] + 0x10) &\n             (param_1[10] >> 5 & 0xfffff | DAT_0003fb40);\n    if (DAT_0003fb78 == 7) {\n      uVar35 = uVar35 & 0xfffffffe;\n    }\n    iVar9 = bfd_set_start_address(param_2,iVar9);\n    if ((iVar9 == 0) || (iVar9 = bfd_set_file_flags(param_2,uVar35), iVar9 == 0)) goto LAB_00018840;\n  }" (if "if") (parenthesized_expression "((param_2[10] & 7) != 3)" (( "(") (binary_expression "(param_2[10] & 7) != 3" (parenthesized_expression "(param_2[10] & 7)" (( "(") (binary_expression "param_2[10] & 7" (subscript_expression "param_2[10]" (identifier "param_2") ([ "[") (number_literal "10") (] "]")) (& "&") (number_literal "7")) () ")")) (!= "!=") (number_literal "3")) () ")")) (compound_statement "{\n    uVar35 = ~DAT_0003fb3c & *(uint *)(param_2[1] + 0x10) &\n             (param_1[10] >> 5 & 0xfffff | DAT_0003fb40);\n    if (DAT_0003fb78 == 7) {\n      uVar35 = uVar35 & 0xfffffffe;\n    }\n    iVar9 = bfd_set_start_address(param_2,iVar9);\n    if ((iVar9 == 0) || (iVar9 = bfd_set_file_flags(param_2,uVar35), iVar9 == 0)) goto LAB_00018840;\n  }" ({ "{") (expression_statement "uVar35 = ~DAT_0003fb3c & *(uint *)(param_2[1] + 0x10) &\n             (param_1[10] >> 5 & 0xfffff | DAT_0003fb40);" (assignment_expression "uVar35 = ~DAT_0003fb3c & *(uint *)(param_2[1] + 0x10) &\n             (param_1[10] >> 5 & 0xfffff | DAT_0003fb40)" (identifier "uVar35") (= "=") (binary_expression "~DAT_0003fb3c & *(uint *)(param_2[1] + 0x10) &\n             (param_1[10] >> 5 & 0xfffff | DAT_0003fb40)" (binary_expression "~DAT_0003fb3c & *(uint *)(param_2[1] + 0x10)" (unary_expression "~DAT_0003fb3c" (~ "~") (identifier "DAT_0003fb3c")) (& "&") (pointer_expression "*(uint *)(param_2[1] + 0x10)" (* "*") (cast_expression "(uint *)(param_2[1] + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2[1] + 0x10)" (( "(") (binary_expression "param_2[1] + 0x10" (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "0x10")) () ")"))))) (& "&") (parenthesized_expression "(param_1[10] >> 5 & 0xfffff | DAT_0003fb40)" (( "(") (binary_expression "param_1[10] >> 5 & 0xfffff | DAT_0003fb40" (binary_expression "param_1[10] >> 5 & 0xfffff" (binary_expression "param_1[10] >> 5" (subscript_expression "param_1[10]" (identifier "param_1") ([ "[") (number_literal "10") (] "]")) (>> ">>") (number_literal "5")) (& "&") (number_literal "0xfffff")) (| "|") (identifier "DAT_0003fb40")) () ")")))) (; ";")) (if_statement "if (DAT_0003fb78 == 7) {\n      uVar35 = uVar35 & 0xfffffffe;\n    }" (if "if") (parenthesized_expression "(DAT_0003fb78 == 7)" (( "(") (binary_expression "DAT_0003fb78 == 7" (identifier "DAT_0003fb78") (== "==") (number_literal "7")) () ")")) (compound_statement "{\n      uVar35 = uVar35 & 0xfffffffe;\n    }" ({ "{") (expression_statement "uVar35 = uVar35 & 0xfffffffe;" (assignment_expression "uVar35 = uVar35 & 0xfffffffe" (identifier "uVar35") (= "=") (binary_expression "uVar35 & 0xfffffffe" (identifier "uVar35") (& "&") (number_literal "0xfffffffe"))) (; ";")) (} "}"))) (expression_statement "iVar9 = bfd_set_start_address(param_2,iVar9);" (assignment_expression "iVar9 = bfd_set_start_address(param_2,iVar9)" (identifier "iVar9") (= "=") (call_expression "bfd_set_start_address(param_2,iVar9)" (identifier "bfd_set_start_address") (argument_list "(param_2,iVar9)" (( "(") (identifier "param_2") (, ",") (identifier "iVar9") () ")")))) (; ";")) (if_statement "if ((iVar9 == 0) || (iVar9 = bfd_set_file_flags(param_2,uVar35), iVar9 == 0)) goto LAB_00018840;" (if "if") (parenthesized_expression "((iVar9 == 0) || (iVar9 = bfd_set_file_flags(param_2,uVar35), iVar9 == 0))" (( "(") (binary_expression "(iVar9 == 0) || (iVar9 = bfd_set_file_flags(param_2,uVar35), iVar9 == 0)" (parenthesized_expression "(iVar9 == 0)" (( "(") (binary_expression "iVar9 == 0" (identifier "iVar9") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar9 = bfd_set_file_flags(param_2,uVar35), iVar9 == 0)" (( "(") (comma_expression "iVar9 = bfd_set_file_flags(param_2,uVar35), iVar9 == 0" (assignment_expression "iVar9 = bfd_set_file_flags(param_2,uVar35)" (identifier "iVar9") (= "=") (call_expression "bfd_set_file_flags(param_2,uVar35)" (identifier "bfd_set_file_flags") (argument_list "(param_2,uVar35)" (( "(") (identifier "param_2") (, ",") (identifier "uVar35") () ")")))) (, ",") (binary_expression "iVar9 == 0" (identifier "iVar9") (== "==") (number_literal "0"))) () ")"))) () ")")) (goto_statement "goto LAB_00018840;" (goto "goto") (statement_identifier "LAB_00018840") (; ";"))) (} "}"))) (expression_statement "uVar10 = bfd_get_arch(param_1);" (assignment_expression "uVar10 = bfd_get_arch(param_1)" (identifier "uVar10") (= "=") (call_expression "bfd_get_arch(param_1)" (identifier "bfd_get_arch") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (expression_statement "uVar11 = bfd_get_mach(param_1);" (assignment_expression "uVar11 = bfd_get_mach(param_1)" (identifier "uVar11") (= "=") (call_expression "bfd_get_mach(param_1)" (identifier "bfd_get_mach") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (if_statement "if (param_3 != 0) {\n    iVar9 = bfd_get_arch_info(param_1);\n    if ((iVar9 == 0) || (iVar9 = bfd_get_arch_info(param_1), *(int *)(iVar9 + 0xc) == 0)) {\n      uVar10 = *(undefined4 *)(param_3 + 0xc);\n      uVar11 = *(undefined4 *)(param_3 + 0x10);\n    }\n    else {\n      uVar13 = FUN_0002c060(param_1);\n      uVar14 = dcgettext(0,"Input file `%s\' ignores binary architecture parameter.",5);\n      FUN_0002b6d0(uVar14,uVar13);\n    }\n  }" (if "if") (parenthesized_expression "(param_3 != 0)" (( "(") (binary_expression "param_3 != 0" (identifier "param_3") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    iVar9 = bfd_get_arch_info(param_1);\n    if ((iVar9 == 0) || (iVar9 = bfd_get_arch_info(param_1), *(int *)(iVar9 + 0xc) == 0)) {\n      uVar10 = *(undefined4 *)(param_3 + 0xc);\n      uVar11 = *(undefined4 *)(param_3 + 0x10);\n    }\n    else {\n      uVar13 = FUN_0002c060(param_1);\n      uVar14 = dcgettext(0,"Input file `%s\' ignores binary architecture parameter.",5);\n      FUN_0002b6d0(uVar14,uVar13);\n    }\n  }" ({ "{") (expression_statement "iVar9 = bfd_get_arch_info(param_1);" (assignment_expression "iVar9 = bfd_get_arch_info(param_1)" (identifier "iVar9") (= "=") (call_expression "bfd_get_arch_info(param_1)" (identifier "bfd_get_arch_info") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (if_statement "if ((iVar9 == 0) || (iVar9 = bfd_get_arch_info(param_1), *(int *)(iVar9 + 0xc) == 0)) {\n      uVar10 = *(undefined4 *)(param_3 + 0xc);\n      uVar11 = *(undefined4 *)(param_3 + 0x10);\n    }\n    else {\n      uVar13 = FUN_0002c060(param_1);\n      uVar14 = dcgettext(0,"Input file `%s\' ignores binary architecture parameter.",5);\n      FUN_0002b6d0(uVar14,uVar13);\n    }" (if "if") (parenthesized_expression "((iVar9 == 0) || (iVar9 = bfd_get_arch_info(param_1), *(int *)(iVar9 + 0xc) == 0))" (( "(") (binary_expression "(iVar9 == 0) || (iVar9 = bfd_get_arch_info(param_1), *(int *)(iVar9 + 0xc) == 0)" (parenthesized_expression "(iVar9 == 0)" (( "(") (binary_expression "iVar9 == 0" (identifier "iVar9") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar9 = bfd_get_arch_info(param_1), *(int *)(iVar9 + 0xc) == 0)" (( "(") (comma_expression "iVar9 = bfd_get_arch_info(param_1), *(int *)(iVar9 + 0xc) == 0" (assignment_expression "iVar9 = bfd_get_arch_info(param_1)" (identifier "iVar9") (= "=") (call_expression "bfd_get_arch_info(param_1)" (identifier "bfd_get_arch_info") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (, ",") (binary_expression "*(int *)(iVar9 + 0xc) == 0" (pointer_expression "*(int *)(iVar9 + 0xc)" (* "*") (cast_expression "(int *)(iVar9 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0xc)" (( "(") (binary_expression "iVar9 + 0xc" (identifier "iVar9") (+ "+") (number_literal "0xc")) () ")")))) (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n      uVar10 = *(undefined4 *)(param_3 + 0xc);\n      uVar11 = *(undefined4 *)(param_3 + 0x10);\n    }" ({ "{") (expression_statement "uVar10 = *(undefined4 *)(param_3 + 0xc);" (assignment_expression "uVar10 = *(undefined4 *)(param_3 + 0xc)" (identifier "uVar10") (= "=") (pointer_expression "*(undefined4 *)(param_3 + 0xc)" (* "*") (cast_expression "(undefined4 *)(param_3 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0xc)" (( "(") (binary_expression "param_3 + 0xc" (identifier "param_3") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "uVar11 = *(undefined4 *)(param_3 + 0x10);" (assignment_expression "uVar11 = *(undefined4 *)(param_3 + 0x10)" (identifier "uVar11") (= "=") (pointer_expression "*(undefined4 *)(param_3 + 0x10)" (* "*") (cast_expression "(undefined4 *)(param_3 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x10)" (( "(") (binary_expression "param_3 + 0x10" (identifier "param_3") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n      uVar13 = FUN_0002c060(param_1);\n      uVar14 = dcgettext(0,"Input file `%s\' ignores binary architecture parameter.",5);\n      FUN_0002b6d0(uVar14,uVar13);\n    }" (else "else") (compound_statement "{\n      uVar13 = FUN_0002c060(param_1);\n      uVar14 = dcgettext(0,"Input file `%s\' ignores binary architecture parameter.",5);\n      FUN_0002b6d0(uVar14,uVar13);\n    }" ({ "{") (expression_statement "uVar13 = FUN_0002c060(param_1);" (assignment_expression "uVar13 = FUN_0002c060(param_1)" (identifier "uVar13") (= "=") (call_expression "FUN_0002c060(param_1)" (identifier "FUN_0002c060") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (expression_statement "uVar14 = dcgettext(0,"Input file `%s\' ignores binary architecture parameter.",5);" (assignment_expression "uVar14 = dcgettext(0,"Input file `%s\' ignores binary architecture parameter.",5)" (identifier "uVar14") (= "=") (call_expression "dcgettext(0,"Input file `%s\' ignores binary architecture parameter.",5)" (identifier "dcgettext") (argument_list "(0,"Input file `%s\' ignores binary architecture parameter.",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Input file `%s\' ignores binary architecture parameter."" (" """) (string_content "Input file `%s") (escape_sequence "\'") (string_content " ignores binary architecture parameter.") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0002b6d0(uVar14,uVar13);" (call_expression "FUN_0002b6d0(uVar14,uVar13)" (identifier "FUN_0002b6d0") (argument_list "(uVar14,uVar13)" (( "(") (identifier "uVar14") (, ",") (identifier "uVar13") () ")"))) (; ";")) (} "}")))) (} "}"))) (expression_statement "iVar9 = (**(code **)(param_2[1] + 0x154))(param_2,uVar10,uVar11);" (assignment_expression "iVar9 = (**(code **)(param_2[1] + 0x154))(param_2,uVar10,uVar11)" (identifier "iVar9") (= "=") (call_expression "(**(code **)(param_2[1] + 0x154))(param_2,uVar10,uVar11)" (parenthesized_expression "(**(code **)(param_2[1] + 0x154))" (( "(") (pointer_expression "**(code **)(param_2[1] + 0x154)" (* "*") (pointer_expression "*(code **)(param_2[1] + 0x154)" (* "*") (cast_expression "(code **)(param_2[1] + 0x154)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_2[1] + 0x154)" (( "(") (binary_expression "param_2[1] + 0x154" (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "0x154")) () ")"))))) () ")")) (argument_list "(param_2,uVar10,uVar11)" (( "(") (identifier "param_2") (, ",") (identifier "uVar10") (, ",") (identifier "uVar11") () ")")))) (; ";")) (if_statement "if (iVar9 == 0) {\n    if ((*(byte *)((int)param_1 + 0x2b) & 4) != 0) {\nLAB_000187e7:\n      iVar9 = bfd_get_arch(param_1);\n      if (iVar9 == 0) {\n        uVar10 = FUN_0002c060(param_1);\n        pcVar22 = "Unable to recognise the format of the input file `%s\'";\n      }\n      else {\n        uVar10 = bfd_get_mach(param_1);\n        uVar11 = bfd_get_arch(param_1);\n        uVar10 = bfd_printable_arch_mach(uVar11,uVar10);\n        pcVar22 = "Output file cannot represent architecture `%s\'";\n      }\n      uVar11 = dcgettext(0,pcVar22,5);\n      FUN_0002b6d0(uVar11,uVar10);\n      return 0;\n    }\n    iVar9 = bfd_get_arch(param_1);\n    iVar12 = bfd_get_arch(param_2);\n    if (iVar9 != iVar12) goto LAB_000187e7;\n  }" (if "if") (parenthesized_expression "(iVar9 == 0)" (( "(") (binary_expression "iVar9 == 0" (identifier "iVar9") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    if ((*(byte *)((int)param_1 + 0x2b) & 4) != 0) {\nLAB_000187e7:\n      iVar9 = bfd_get_arch(param_1);\n      if (iVar9 == 0) {\n        uVar10 = FUN_0002c060(param_1);\n        pcVar22 = "Unable to recognise the format of the input file `%s\'";\n      }\n      else {\n        uVar10 = bfd_get_mach(param_1);\n        uVar11 = bfd_get_arch(param_1);\n        uVar10 = bfd_printable_arch_mach(uVar11,uVar10);\n        pcVar22 = "Output file cannot represent architecture `%s\'";\n      }\n      uVar11 = dcgettext(0,pcVar22,5);\n      FUN_0002b6d0(uVar11,uVar10);\n      return 0;\n    }\n    iVar9 = bfd_get_arch(param_1);\n    iVar12 = bfd_get_arch(param_2);\n    if (iVar9 != iVar12) goto LAB_000187e7;\n  }" ({ "{") (if_statement "if ((*(byte *)((int)param_1 + 0x2b) & 4) != 0) {\nLAB_000187e7:\n      iVar9 = bfd_get_arch(param_1);\n      if (iVar9 == 0) {\n        uVar10 = FUN_0002c060(param_1);\n        pcVar22 = "Unable to recognise the format of the input file `%s\'";\n      }\n      else {\n        uVar10 = bfd_get_mach(param_1);\n        uVar11 = bfd_get_arch(param_1);\n        uVar10 = bfd_printable_arch_mach(uVar11,uVar10);\n        pcVar22 = "Output file cannot represent architecture `%s\'";\n      }\n      uVar11 = dcgettext(0,pcVar22,5);\n      FUN_0002b6d0(uVar11,uVar10);\n      return 0;\n    }" (if "if") (parenthesized_expression "((*(byte *)((int)param_1 + 0x2b) & 4) != 0)" (( "(") (binary_expression "(*(byte *)((int)param_1 + 0x2b) & 4) != 0" (parenthesized_expression "(*(byte *)((int)param_1 + 0x2b) & 4)" (( "(") (binary_expression "*(byte *)((int)param_1 + 0x2b) & 4" (pointer_expression "*(byte *)((int)param_1 + 0x2b)" (* "*") (cast_expression "(byte *)((int)param_1 + 0x2b)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_1 + 0x2b)" (( "(") (binary_expression "(int)param_1 + 0x2b" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (+ "+") (number_literal "0x2b")) () ")")))) (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_000187e7:\n      iVar9 = bfd_get_arch(param_1);\n      if (iVar9 == 0) {\n        uVar10 = FUN_0002c060(param_1);\n        pcVar22 = "Unable to recognise the format of the input file `%s\'";\n      }\n      else {\n        uVar10 = bfd_get_mach(param_1);\n        uVar11 = bfd_get_arch(param_1);\n        uVar10 = bfd_printable_arch_mach(uVar11,uVar10);\n        pcVar22 = "Output file cannot represent architecture `%s\'";\n      }\n      uVar11 = dcgettext(0,pcVar22,5);\n      FUN_0002b6d0(uVar11,uVar10);\n      return 0;\n    }" ({ "{") (labeled_statement "LAB_000187e7:\n      iVar9 = bfd_get_arch(param_1);" (statement_identifier "LAB_000187e7") (: ":") (expression_statement "iVar9 = bfd_get_arch(param_1);" (assignment_expression "iVar9 = bfd_get_arch(param_1)" (identifier "iVar9") (= "=") (call_expression "bfd_get_arch(param_1)" (identifier "bfd_get_arch") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";"))) (if_statement "if (iVar9 == 0) {\n        uVar10 = FUN_0002c060(param_1);\n        pcVar22 = "Unable to recognise the format of the input file `%s\'";\n      }\n      else {\n        uVar10 = bfd_get_mach(param_1);\n        uVar11 = bfd_get_arch(param_1);\n        uVar10 = bfd_printable_arch_mach(uVar11,uVar10);\n        pcVar22 = "Output file cannot represent architecture `%s\'";\n      }" (if "if") (parenthesized_expression "(iVar9 == 0)" (( "(") (binary_expression "iVar9 == 0" (identifier "iVar9") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        uVar10 = FUN_0002c060(param_1);\n        pcVar22 = "Unable to recognise the format of the input file `%s\'";\n      }" ({ "{") (expression_statement "uVar10 = FUN_0002c060(param_1);" (assignment_expression "uVar10 = FUN_0002c060(param_1)" (identifier "uVar10") (= "=") (call_expression "FUN_0002c060(param_1)" (identifier "FUN_0002c060") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (expression_statement "pcVar22 = "Unable to recognise the format of the input file `%s\'";" (assignment_expression "pcVar22 = "Unable to recognise the format of the input file `%s\'"" (identifier "pcVar22") (= "=") (string_literal ""Unable to recognise the format of the input file `%s\'"" (" """) (string_content "Unable to recognise the format of the input file `%s") (escape_sequence "\'") (" """))) (; ";")) (} "}")) (else_clause "else {\n        uVar10 = bfd_get_mach(param_1);\n        uVar11 = bfd_get_arch(param_1);\n        uVar10 = bfd_printable_arch_mach(uVar11,uVar10);\n        pcVar22 = "Output file cannot represent architecture `%s\'";\n      }" (else "else") (compound_statement "{\n        uVar10 = bfd_get_mach(param_1);\n        uVar11 = bfd_get_arch(param_1);\n        uVar10 = bfd_printable_arch_mach(uVar11,uVar10);\n        pcVar22 = "Output file cannot represent architecture `%s\'";\n      }" ({ "{") (expression_statement "uVar10 = bfd_get_mach(param_1);" (assignment_expression "uVar10 = bfd_get_mach(param_1)" (identifier "uVar10") (= "=") (call_expression "bfd_get_mach(param_1)" (identifier "bfd_get_mach") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (expression_statement "uVar11 = bfd_get_arch(param_1);" (assignment_expression "uVar11 = bfd_get_arch(param_1)" (identifier "uVar11") (= "=") (call_expression "bfd_get_arch(param_1)" (identifier "bfd_get_arch") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (expression_statement "uVar10 = bfd_printable_arch_mach(uVar11,uVar10);" (assignment_expression "uVar10 = bfd_printable_arch_mach(uVar11,uVar10)" (identifier "uVar10") (= "=") (call_expression "bfd_printable_arch_mach(uVar11,uVar10)" (identifier "bfd_printable_arch_mach") (argument_list "(uVar11,uVar10)" (( "(") (identifier "uVar11") (, ",") (identifier "uVar10") () ")")))) (; ";")) (expression_statement "pcVar22 = "Output file cannot represent architecture `%s\'";" (assignment_expression "pcVar22 = "Output file cannot represent architecture `%s\'"" (identifier "pcVar22") (= "=") (string_literal ""Output file cannot represent architecture `%s\'"" (" """) (string_content "Output file cannot represent architecture `%s") (escape_sequence "\'") (" """))) (; ";")) (} "}")))) (expression_statement "uVar11 = dcgettext(0,pcVar22,5);" (assignment_expression "uVar11 = dcgettext(0,pcVar22,5)" (identifier "uVar11") (= "=") (call_expression "dcgettext(0,pcVar22,5)" (identifier "dcgettext") (argument_list "(0,pcVar22,5)" (( "(") (number_literal "0") (, ",") (identifier "pcVar22") (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0002b6d0(uVar11,uVar10);" (call_expression "FUN_0002b6d0(uVar11,uVar10)" (identifier "FUN_0002b6d0") (argument_list "(uVar11,uVar10)" (( "(") (identifier "uVar11") (, ",") (identifier "uVar10") () ")"))) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "iVar9 = bfd_get_arch(param_1);" (assignment_expression "iVar9 = bfd_get_arch(param_1)" (identifier "iVar9") (= "=") (call_expression "bfd_get_arch(param_1)" (identifier "bfd_get_arch") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (expression_statement "iVar12 = bfd_get_arch(param_2);" (assignment_expression "iVar12 = bfd_get_arch(param_2)" (identifier "iVar12") (= "=") (call_expression "bfd_get_arch(param_2)" (identifier "bfd_get_arch") (argument_list "(param_2)" (( "(") (identifier "param_2") () ")")))) (; ";")) (if_statement "if (iVar9 != iVar12) goto LAB_000187e7;" (if "if") (parenthesized_expression "(iVar9 != iVar12)" (( "(") (binary_expression "iVar9 != iVar12" (identifier "iVar9") (!= "!=") (identifier "iVar12")) () ")")) (goto_statement "goto LAB_000187e7;" (goto "goto") (statement_identifier "LAB_000187e7") (; ";"))) (} "}"))) (expression_statement "iVar9 = bfd_set_format(param_2,(byte)param_1[10] & 7);" (assignment_expression "iVar9 = bfd_set_format(param_2,(byte)param_1[10] & 7)" (identifier "iVar9") (= "=") (call_expression "bfd_set_format(param_2,(byte)param_1[10] & 7)" (identifier "bfd_set_format") (argument_list "(param_2,(byte)param_1[10] & 7)" (( "(") (identifier "param_2") (, ",") (binary_expression "(byte)param_1[10] & 7" (cast_expression "(byte)param_1[10]" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (subscript_expression "param_1[10]" (identifier "param_1") ([ "[") (number_literal "10") (] "]"))) (& "&") (number_literal "7")) () ")")))) (; ";")) (if_statement "if (iVar9 == 0) {\nLAB_00018840:\n    FUN_0002c160(0,param_1,0,0);\n    return 0;\n  }" (if "if") (parenthesized_expression "(iVar9 == 0)" (( "(") (binary_expression "iVar9 == 0" (identifier "iVar9") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00018840:\n    FUN_0002c160(0,param_1,0,0);\n    return 0;\n  }" ({ "{") (labeled_statement "LAB_00018840:\n    FUN_0002c160(0,param_1,0,0);" (statement_identifier "LAB_00018840") (: ":") (expression_statement "FUN_0002c160(0,param_1,0,0);" (call_expression "FUN_0002c160(0,param_1,0,0)" (identifier "FUN_0002c160") (argument_list "(0,param_1,0,0)" (( "(") (number_literal "0") (, ",") (identifier "param_1") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")"))) (; ";"))) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "uVar35 = ((undefined4 *)param_2[1])[1];" (assignment_expression "uVar35 = ((undefined4 *)param_2[1])[1]" (identifier "uVar35") (= "=") (subscript_expression "((undefined4 *)param_2[1])[1]" (parenthesized_expression "((undefined4 *)param_2[1])" (( "(") (cast_expression "(undefined4 *)param_2[1]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]"))) () ")")) ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "bVar40 = uVar35 < 2;" (assignment_expression "bVar40 = uVar35 < 2" (identifier "bVar40") (= "=") (binary_expression "uVar35 < 2" (identifier "uVar35") (< "<") (number_literal "2"))) (; ";")) (expression_statement "bVar41 = uVar35 == 2;" (assignment_expression "bVar41 = uVar35 == 2" (identifier "bVar41") (= "=") (binary_expression "uVar35 == 2" (identifier "uVar35") (== "==") (number_literal "2"))) (; ";")) (if_statement "if (bVar41) {\n    iVar9 = 4;\n    pbVar32 = *(byte **)param_2[1];\n    pbVar36 = &DAT_0002e16a;\n    do {\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar40 = *pbVar32 < *pbVar36;\n      bVar41 = *pbVar32 == *pbVar36;\n      pbVar32 = pbVar32 + (uint)bVar42 * -2 + 1;\n      pbVar36 = pbVar36 + (uint)bVar42 * -2 + 1;\n    } while (bVar41);\n    if ((!bVar40 && !bVar41) == bVar40) {\n      sVar17 = param_2[0x27];\n      uVar35 = ((undefined4 *)param_1[1])[1];\n      bVar40 = uVar35 < 2;\n      bVar41 = uVar35 == 2;\n      if (bVar41) {\n        iVar9 = 4;\n        pbVar32 = *(byte **)param_1[1];\n        pbVar36 = &DAT_0002e16a;\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar40 = *pbVar32 < *pbVar36;\n          bVar41 = *pbVar32 == *pbVar36;\n          pbVar32 = pbVar32 + (uint)bVar42 * -2 + 1;\n          pbVar36 = pbVar36 + (uint)bVar42 * -2 + 1;\n        } while (bVar41);\n        if ((!bVar40 && !bVar41) == bVar40) {\n          puVar33 = (undefined4 *)(param_1[0x27] + 0x78);\n          puVar37 = (undefined4 *)(sVar17 + 0x78);\n          for (iVar9 = 0x38; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar37 = *puVar33;\n            puVar33 = puVar33 + (uint)bVar42 * -2 + 1;\n            puVar37 = puVar37 + (uint)bVar42 * -2 + 1;\n          }\n        }\n      }\n      uVar35 = DAT_0003f298;\n      if (DAT_0003f298 == 0xffffffff) {\n        DAT_0003f298 = 0x200;\n        uVar35 = 0x200;\n      }\n      else {\n        *(uint *)(sVar17 + 0x9c) = DAT_0003f298;\n      }\n      if (DAT_0003f294 != -1) {\n        *(int *)(sVar17 + 0xcc) = DAT_0003f294;\n      }\n      if (DAT_0003f290 != -1) {\n        *(int *)(sVar17 + 0xcc) = DAT_0003f290;\n      }\n      if (DAT_0003f28c != -1) {\n        *(int *)(sVar17 + 0x94) = DAT_0003f28c;\n      }\n      uVar26 = DAT_0003f288;\n      if (DAT_0003f288 == 0xffffffff) {\n        DAT_0003f288 = 0x1000;\n        uVar26 = 0x1000;\n      }\n      else {\n        *(uint *)(sVar17 + 0x98) = DAT_0003f288;\n      }\n      if (DAT_0003f284 != -1) {\n        *(int *)(sVar17 + 0xc4) = DAT_0003f284;\n      }\n      if (DAT_0003f280 != -1) {\n        *(int *)(sVar17 + 0xc4) = DAT_0003f280;\n      }\n      if (DAT_0003f27c != -1) {\n        *(short *)(sVar17 + 0xbc) = DAT_0003f27c;\n      }\n      if (DAT_0003f27a != -1) {\n        *(short *)(sVar17 + 0xa8) = DAT_0003f27a;\n      }\n      if (DAT_0003f278 != -1) {\n        *(short *)(sVar17 + 0xaa) = DAT_0003f278;\n      }\n      if (uVar26 < uVar35) {\n        sprintf((char *)local_44,"%08lx",uVar35);\n        sprintf((char *)&local_30,"%08lx",DAT_0003f288);\n        uVar10 = dcgettext(0,"warning: file alignment (0x%s) > section alignment (0x%s)",5);\n        FUN_0002b6d0(uVar10,local_44,&local_30);\n      }\n    }\n  }" (if "if") (parenthesized_expression "(bVar41)" (( "(") (identifier "bVar41") () ")")) (compound_statement "{\n    iVar9 = 4;\n    pbVar32 = *(byte **)param_2[1];\n    pbVar36 = &DAT_0002e16a;\n    do {\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar40 = *pbVar32 < *pbVar36;\n      bVar41 = *pbVar32 == *pbVar36;\n      pbVar32 = pbVar32 + (uint)bVar42 * -2 + 1;\n      pbVar36 = pbVar36 + (uint)bVar42 * -2 + 1;\n    } while (bVar41);\n    if ((!bVar40 && !bVar41) == bVar40) {\n      sVar17 = param_2[0x27];\n      uVar35 = ((undefined4 *)param_1[1])[1];\n      bVar40 = uVar35 < 2;\n      bVar41 = uVar35 == 2;\n      if (bVar41) {\n        iVar9 = 4;\n        pbVar32 = *(byte **)param_1[1];\n        pbVar36 = &DAT_0002e16a;\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar40 = *pbVar32 < *pbVar36;\n          bVar41 = *pbVar32 == *pbVar36;\n          pbVar32 = pbVar32 + (uint)bVar42 * -2 + 1;\n          pbVar36 = pbVar36 + (uint)bVar42 * -2 + 1;\n        } while (bVar41);\n        if ((!bVar40 && !bVar41) == bVar40) {\n          puVar33 = (undefined4 *)(param_1[0x27] + 0x78);\n          puVar37 = (undefined4 *)(sVar17 + 0x78);\n          for (iVar9 = 0x38; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar37 = *puVar33;\n            puVar33 = puVar33 + (uint)bVar42 * -2 + 1;\n            puVar37 = puVar37 + (uint)bVar42 * -2 + 1;\n          }\n        }\n      }\n      uVar35 = DAT_0003f298;\n      if (DAT_0003f298 == 0xffffffff) {\n        DAT_0003f298 = 0x200;\n        uVar35 = 0x200;\n      }\n      else {\n        *(uint *)(sVar17 + 0x9c) = DAT_0003f298;\n      }\n      if (DAT_0003f294 != -1) {\n        *(int *)(sVar17 + 0xcc) = DAT_0003f294;\n      }\n      if (DAT_0003f290 != -1) {\n        *(int *)(sVar17 + 0xcc) = DAT_0003f290;\n      }\n      if (DAT_0003f28c != -1) {\n        *(int *)(sVar17 + 0x94) = DAT_0003f28c;\n      }\n      uVar26 = DAT_0003f288;\n      if (DAT_0003f288 == 0xffffffff) {\n        DAT_0003f288 = 0x1000;\n        uVar26 = 0x1000;\n      }\n      else {\n        *(uint *)(sVar17 + 0x98) = DAT_0003f288;\n      }\n      if (DAT_0003f284 != -1) {\n        *(int *)(sVar17 + 0xc4) = DAT_0003f284;\n      }\n      if (DAT_0003f280 != -1) {\n        *(int *)(sVar17 + 0xc4) = DAT_0003f280;\n      }\n      if (DAT_0003f27c != -1) {\n        *(short *)(sVar17 + 0xbc) = DAT_0003f27c;\n      }\n      if (DAT_0003f27a != -1) {\n        *(short *)(sVar17 + 0xa8) = DAT_0003f27a;\n      }\n      if (DAT_0003f278 != -1) {\n        *(short *)(sVar17 + 0xaa) = DAT_0003f278;\n      }\n      if (uVar26 < uVar35) {\n        sprintf((char *)local_44,"%08lx",uVar35);\n        sprintf((char *)&local_30,"%08lx",DAT_0003f288);\n        uVar10 = dcgettext(0,"warning: file alignment (0x%s) > section alignment (0x%s)",5);\n        FUN_0002b6d0(uVar10,local_44,&local_30);\n      }\n    }\n  }" ({ "{") (expression_statement "iVar9 = 4;" (assignment_expression "iVar9 = 4" (identifier "iVar9") (= "=") (number_literal "4")) (; ";")) (expression_statement "pbVar32 = *(byte **)param_2[1];" (assignment_expression "pbVar32 = *(byte **)param_2[1]" (identifier "pbVar32") (= "=") (pointer_expression "*(byte **)param_2[1]" (* "*") (cast_expression "(byte **)param_2[1]" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]"))))) (; ";")) (expression_statement "pbVar36 = &DAT_0002e16a;" (assignment_expression "pbVar36 = &DAT_0002e16a" (identifier "pbVar36") (= "=") (pointer_expression "&DAT_0002e16a" (& "&") (identifier "DAT_0002e16a"))) (; ";")) (do_statement "do {\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar40 = *pbVar32 < *pbVar36;\n      bVar41 = *pbVar32 == *pbVar36;\n      pbVar32 = pbVar32 + (uint)bVar42 * -2 + 1;\n      pbVar36 = pbVar36 + (uint)bVar42 * -2 + 1;\n    } while (bVar41);" (do "do") (compound_statement "{\n      if (iVar9 == 0) break;\n      iVar9 = iVar9 + -1;\n      bVar40 = *pbVar32 < *pbVar36;\n      bVar41 = *pbVar32 == *pbVar36;\n      pbVar32 = pbVar32 + (uint)bVar42 * -2 + 1;\n      pbVar36 = pbVar36 + (uint)bVar42 * -2 + 1;\n    }" ({ "{") (if_statement "if (iVar9 == 0) break;" (if "if") (parenthesized_expression "(iVar9 == 0)" (( "(") (binary_expression "iVar9 == 0" (identifier "iVar9") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar9 = iVar9 + -1;" (assignment_expression "iVar9 = iVar9 + -1" (identifier "iVar9") (= "=") (binary_expression "iVar9 + -1" (identifier "iVar9") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar40 = *pbVar32 < *pbVar36;" (assignment_expression "bVar40 = *pbVar32 < *pbVar36" (identifier "bVar40") (= "=") (binary_expression "*pbVar32 < *pbVar36" (pointer_expression "*pbVar32" (* "*") (identifier "pbVar32")) (< "<") (pointer_expression "*pbVar36" (* "*") (identifier "pbVar36")))) (; ";")) (expression_statement "bVar41 = *pbVar32 == *pbVar36;" (assignment_expression "bVar41 = *pbVar32 == *pbVar36" (identifier "bVar41") (= "=") (binary_expression "*pbVar32 == *pbVar36" (pointer_expression "*pbVar32" (* "*") (identifier "pbVar32")) (== "==") (pointer_expression "*pbVar36" (* "*") (identifier "pbVar36")))) (; ";")) (expression_statement "pbVar32 = pbVar32 + (uint)bVar42 * -2 + 1;" (assignment_expression "pbVar32 = pbVar32 + (uint)bVar42 * -2 + 1" (identifier "pbVar32") (= "=") (binary_expression "pbVar32 + (uint)bVar42 * -2 + 1" (binary_expression "pbVar32 + (uint)bVar42 * -2" (identifier "pbVar32") (+ "+") (binary_expression "(uint)bVar42 * -2" (cast_expression "(uint)bVar42" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar42")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar36 = pbVar36 + (uint)bVar42 * -2 + 1;" (assignment_expression "pbVar36 = pbVar36 + (uint)bVar42 * -2 + 1" (identifier "pbVar36") (= "=") (binary_expression "pbVar36 + (uint)bVar42 * -2 + 1" (binary_expression "pbVar36 + (uint)bVar42 * -2" (identifier "pbVar36") (+ "+") (binary_expression "(uint)bVar42 * -2" (cast_expression "(uint)bVar42" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar42")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar41)" (( "(") (identifier "bVar41") () ")")) (; ";")) (if_statement "if ((!bVar40 && !bVar41) == bVar40) {\n      sVar17 = param_2[0x27];\n      uVar35 = ((undefined4 *)param_1[1])[1];\n      bVar40 = uVar35 < 2;\n      bVar41 = uVar35 == 2;\n      if (bVar41) {\n        iVar9 = 4;\n        pbVar32 = *(byte **)param_1[1];\n        pbVar36 = &DAT_0002e16a;\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar40 = *pbVar32 < *pbVar36;\n          bVar41 = *pbVar32 == *pbVar36;\n          pbVar32 = pbVar32 + (uint)bVar42 * -2 + 1;\n          pbVar36 = pbVar36 + (uint)bVar42 * -2 + 1;\n        } while (bVar41);\n        if ((!bVar40 && !bVar41) == bVar40) {\n          puVar33 = (undefined4 *)(param_1[0x27] + 0x78);\n          puVar37 = (undefined4 *)(sVar17 + 0x78);\n          for (iVar9 = 0x38; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar37 = *puVar33;\n            puVar33 = puVar33 + (uint)bVar42 * -2 + 1;\n            puVar37 = puVar37 + (uint)bVar42 * -2 + 1;\n          }\n        }\n      }\n      uVar35 = DAT_0003f298;\n      if (DAT_0003f298 == 0xffffffff) {\n        DAT_0003f298 = 0x200;\n        uVar35 = 0x200;\n      }\n      else {\n        *(uint *)(sVar17 + 0x9c) = DAT_0003f298;\n      }\n      if (DAT_0003f294 != -1) {\n        *(int *)(sVar17 + 0xcc) = DAT_0003f294;\n      }\n      if (DAT_0003f290 != -1) {\n        *(int *)(sVar17 + 0xcc) = DAT_0003f290;\n      }\n      if (DAT_0003f28c != -1) {\n        *(int *)(sVar17 + 0x94) = DAT_0003f28c;\n      }\n      uVar26 = DAT_0003f288;\n      if (DAT_0003f288 == 0xffffffff) {\n        DAT_0003f288 = 0x1000;\n        uVar26 = 0x1000;\n      }\n      else {\n        *(uint *)(sVar17 + 0x98) = DAT_0003f288;\n      }\n      if (DAT_0003f284 != -1) {\n        *(int *)(sVar17 + 0xc4) = DAT_0003f284;\n      }\n      if (DAT_0003f280 != -1) {\n        *(int *)(sVar17 + 0xc4) = DAT_0003f280;\n      }\n      if (DAT_0003f27c != -1) {\n        *(short *)(sVar17 + 0xbc) = DAT_0003f27c;\n      }\n      if (DAT_0003f27a != -1) {\n        *(short *)(sVar17 + 0xa8) = DAT_0003f27a;\n      }\n      if (DAT_0003f278 != -1) {\n        *(short *)(sVar17 + 0xaa) = DAT_0003f278;\n      }\n      if (uVar26 < uVar35) {\n        sprintf((char *)local_44,"%08lx",uVar35);\n        sprintf((char *)&local_30,"%08lx",DAT_0003f288);\n        uVar10 = dcgettext(0,"warning: file alignment (0x%s) > section alignment (0x%s)",5);\n        FUN_0002b6d0(uVar10,local_44,&local_30);\n      }\n    }" (if "if") (parenthesized_expression "((!bVar40 && !bVar41) == bVar40)" (( "(") (binary_expression "(!bVar40 && !bVar41) == bVar40" (parenthesized_expression "(!bVar40 && !bVar41)" (( "(") (binary_expression "!bVar40 && !bVar41" (unary_expression "!bVar40" (! "!") (identifier "bVar40")) (&& "&&") (unary_expression "!bVar41" (! "!") (identifier "bVar41"))) () ")")) (== "==") (identifier "bVar40")) () ")")) (compound_statement "{\n      sVar17 = param_2[0x27];\n      uVar35 = ((undefined4 *)param_1[1])[1];\n      bVar40 = uVar35 < 2;\n      bVar41 = uVar35 == 2;\n      if (bVar41) {\n        iVar9 = 4;\n        pbVar32 = *(byte **)param_1[1];\n        pbVar36 = &DAT_0002e16a;\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar40 = *pbVar32 < *pbVar36;\n          bVar41 = *pbVar32 == *pbVar36;\n          pbVar32 = pbVar32 + (uint)bVar42 * -2 + 1;\n          pbVar36 = pbVar36 + (uint)bVar42 * -2 + 1;\n        } while (bVar41);\n        if ((!bVar40 && !bVar41) == bVar40) {\n          puVar33 = (undefined4 *)(param_1[0x27] + 0x78);\n          puVar37 = (undefined4 *)(sVar17 + 0x78);\n          for (iVar9 = 0x38; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar37 = *puVar33;\n            puVar33 = puVar33 + (uint)bVar42 * -2 + 1;\n            puVar37 = puVar37 + (uint)bVar42 * -2 + 1;\n          }\n        }\n      }\n      uVar35 = DAT_0003f298;\n      if (DAT_0003f298 == 0xffffffff) {\n        DAT_0003f298 = 0x200;\n        uVar35 = 0x200;\n      }\n      else {\n        *(uint *)(sVar17 + 0x9c) = DAT_0003f298;\n      }\n      if (DAT_0003f294 != -1) {\n        *(int *)(sVar17 + 0xcc) = DAT_0003f294;\n      }\n      if (DAT_0003f290 != -1) {\n        *(int *)(sVar17 + 0xcc) = DAT_0003f290;\n      }\n      if (DAT_0003f28c != -1) {\n        *(int *)(sVar17 + 0x94) = DAT_0003f28c;\n      }\n      uVar26 = DAT_0003f288;\n      if (DAT_0003f288 == 0xffffffff) {\n        DAT_0003f288 = 0x1000;\n        uVar26 = 0x1000;\n      }\n      else {\n        *(uint *)(sVar17 + 0x98) = DAT_0003f288;\n      }\n      if (DAT_0003f284 != -1) {\n        *(int *)(sVar17 + 0xc4) = DAT_0003f284;\n      }\n      if (DAT_0003f280 != -1) {\n        *(int *)(sVar17 + 0xc4) = DAT_0003f280;\n      }\n      if (DAT_0003f27c != -1) {\n        *(short *)(sVar17 + 0xbc) = DAT_0003f27c;\n      }\n      if (DAT_0003f27a != -1) {\n        *(short *)(sVar17 + 0xa8) = DAT_0003f27a;\n      }\n      if (DAT_0003f278 != -1) {\n        *(short *)(sVar17 + 0xaa) = DAT_0003f278;\n      }\n      if (uVar26 < uVar35) {\n        sprintf((char *)local_44,"%08lx",uVar35);\n        sprintf((char *)&local_30,"%08lx",DAT_0003f288);\n        uVar10 = dcgettext(0,"warning: file alignment (0x%s) > section alignment (0x%s)",5);\n        FUN_0002b6d0(uVar10,local_44,&local_30);\n      }\n    }" ({ "{") (expression_statement "sVar17 = param_2[0x27];" (assignment_expression "sVar17 = param_2[0x27]" (identifier "sVar17") (= "=") (subscript_expression "param_2[0x27]" (identifier "param_2") ([ "[") (number_literal "0x27") (] "]"))) (; ";")) (expression_statement "uVar35 = ((undefined4 *)param_1[1])[1];" (assignment_expression "uVar35 = ((undefined4 *)param_1[1])[1]" (identifier "uVar35") (= "=") (subscript_expression "((undefined4 *)param_1[1])[1]" (parenthesized_expression "((undefined4 *)param_1[1])" (( "(") (cast_expression "(undefined4 *)param_1[1]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]"))) () ")")) ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "bVar40 = uVar35 < 2;" (assignment_expression "bVar40 = uVar35 < 2" (identifier "bVar40") (= "=") (binary_expression "uVar35 < 2" (identifier "uVar35") (< "<") (number_literal "2"))) (; ";")) (expression_statement "bVar41 = uVar35 == 2;" (assignment_expression "bVar41 = uVar35 == 2" (identifier "bVar41") (= "=") (binary_expression "uVar35 == 2" (identifier "uVar35") (== "==") (number_literal "2"))) (; ";")) (if_statement "if (bVar41) {\n        iVar9 = 4;\n        pbVar32 = *(byte **)param_1[1];\n        pbVar36 = &DAT_0002e16a;\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar40 = *pbVar32 < *pbVar36;\n          bVar41 = *pbVar32 == *pbVar36;\n          pbVar32 = pbVar32 + (uint)bVar42 * -2 + 1;\n          pbVar36 = pbVar36 + (uint)bVar42 * -2 + 1;\n        } while (bVar41);\n        if ((!bVar40 && !bVar41) == bVar40) {\n          puVar33 = (undefined4 *)(param_1[0x27] + 0x78);\n          puVar37 = (undefined4 *)(sVar17 + 0x78);\n          for (iVar9 = 0x38; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar37 = *puVar33;\n            puVar33 = puVar33 + (uint)bVar42 * -2 + 1;\n            puVar37 = puVar37 + (uint)bVar42 * -2 + 1;\n          }\n        }\n      }" (if "if") (parenthesized_expression "(bVar41)" (( "(") (identifier "bVar41") () ")")) (compound_statement "{\n        iVar9 = 4;\n        pbVar32 = *(byte **)param_1[1];\n        pbVar36 = &DAT_0002e16a;\n        do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar40 = *pbVar32 < *pbVar36;\n          bVar41 = *pbVar32 == *pbVar36;\n          pbVar32 = pbVar32 + (uint)bVar42 * -2 + 1;\n          pbVar36 = pbVar36 + (uint)bVar42 * -2 + 1;\n        } while (bVar41);\n        if ((!bVar40 && !bVar41) == bVar40) {\n          puVar33 = (undefined4 *)(param_1[0x27] + 0x78);\n          puVar37 = (undefined4 *)(sVar17 + 0x78);\n          for (iVar9 = 0x38; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar37 = *puVar33;\n            puVar33 = puVar33 + (uint)bVar42 * -2 + 1;\n            puVar37 = puVar37 + (uint)bVar42 * -2 + 1;\n          }\n        }\n      }" ({ "{") (expression_statement "iVar9 = 4;" (assignment_expression "iVar9 = 4" (identifier "iVar9") (= "=") (number_literal "4")) (; ";")) (expression_statement "pbVar32 = *(byte **)param_1[1];" (assignment_expression "pbVar32 = *(byte **)param_1[1]" (identifier "pbVar32") (= "=") (pointer_expression "*(byte **)param_1[1]" (* "*") (cast_expression "(byte **)param_1[1]" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]"))))) (; ";")) (expression_statement "pbVar36 = &DAT_0002e16a;" (assignment_expression "pbVar36 = &DAT_0002e16a" (identifier "pbVar36") (= "=") (pointer_expression "&DAT_0002e16a" (& "&") (identifier "DAT_0002e16a"))) (; ";")) (do_statement "do {\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar40 = *pbVar32 < *pbVar36;\n          bVar41 = *pbVar32 == *pbVar36;\n          pbVar32 = pbVar32 + (uint)bVar42 * -2 + 1;\n          pbVar36 = pbVar36 + (uint)bVar42 * -2 + 1;\n        } while (bVar41);" (do "do") (compound_statement "{\n          if (iVar9 == 0) break;\n          iVar9 = iVar9 + -1;\n          bVar40 = *pbVar32 < *pbVar36;\n          bVar41 = *pbVar32 == *pbVar36;\n          pbVar32 = pbVar32 + (uint)bVar42 * -2 + 1;\n          pbVar36 = pbVar36 + (uint)bVar42 * -2 + 1;\n        }" ({ "{") (if_statement "if (iVar9 == 0) break;" (if "if") (parenthesized_expression "(iVar9 == 0)" (( "(") (binary_expression "iVar9 == 0" (identifier "iVar9") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar9 = iVar9 + -1;" (assignment_expression "iVar9 = iVar9 + -1" (identifier "iVar9") (= "=") (binary_expression "iVar9 + -1" (identifier "iVar9") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar40 = *pbVar32 < *pbVar36;" (assignment_expression "bVar40 = *pbVar32 < *pbVar36" (identifier "bVar40") (= "=") (binary_expression "*pbVar32 < *pbVar36" (pointer_expression "*pbVar32" (* "*") (identifier "pbVar32")) (< "<") (pointer_expression "*pbVar36" (* "*") (identifier "pbVar36")))) (; ";")) (expression_statement "bVar41 = *pbVar32 == *pbVar36;" (assignment_expression "bVar41 = *pbVar32 == *pbVar36" (identifier "bVar41") (= "=") (binary_expression "*pbVar32 == *pbVar36" (pointer_expression "*pbVar32" (* "*") (identifier "pbVar32")) (== "==") (pointer_expression "*pbVar36" (* "*") (identifier "pbVar36")))) (; ";")) (expression_statement "pbVar32 = pbVar32 + (uint)bVar42 * -2 + 1;" (assignment_expression "pbVar32 = pbVar32 + (uint)bVar42 * -2 + 1" (identifier "pbVar32") (= "=") (binary_expression "pbVar32 + (uint)bVar42 * -2 + 1" (binary_expression "pbVar32 + (uint)bVar42 * -2" (identifier "pbVar32") (+ "+") (binary_expression "(uint)bVar42 * -2" (cast_expression "(uint)bVar42" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar42")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar36 = pbVar36 + (uint)bVar42 * -2 + 1;" (assignment_expression "pbVar36 = pbVar36 + (uint)bVar42 * -2 + 1" (identifier "pbVar36") (= "=") (binary_expression "pbVar36 + (uint)bVar42 * -2 + 1" (binary_expression "pbVar36 + (uint)bVar42 * -2" (identifier "pbVar36") (+ "+") (binary_expression "(uint)bVar42 * -2" (cast_expression "(uint)bVar42" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar42")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar41)" (( "(") (identifier "bVar41") () ")")) (; ";")) (if_statement "if ((!bVar40 && !bVar41) == bVar40) {\n          puVar33 = (undefined4 *)(param_1[0x27] + 0x78);\n          puVar37 = (undefined4 *)(sVar17 + 0x78);\n          for (iVar9 = 0x38; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar37 = *puVar33;\n            puVar33 = puVar33 + (uint)bVar42 * -2 + 1;\n            puVar37 = puVar37 + (uint)bVar42 * -2 + 1;\n          }\n        }" (if "if") (parenthesized_expression "((!bVar40 && !bVar41) == bVar40)" (( "(") (binary_expression "(!bVar40 && !bVar41) == bVar40" (parenthesized_expression "(!bVar40 && !bVar41)" (( "(") (binary_expression "!bVar40 && !bVar41" (unary_expression "!bVar40" (! "!") (identifier "bVar40")) (&& "&&") (unary_expression "!bVar41" (! "!") (identifier "bVar41"))) () ")")) (== "==") (identifier "bVar40")) () ")")) (compound_statement "{\n          puVar33 = (undefined4 *)(param_1[0x27] + 0x78);\n          puVar37 = (undefined4 *)(sVar17 + 0x78);\n          for (iVar9 = 0x38; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar37 = *puVar33;\n            puVar33 = puVar33 + (uint)bVar42 * -2 + 1;\n            puVar37 = puVar37 + (uint)bVar42 * -2 + 1;\n          }\n        }" ({ "{") (expression_statement "puVar33 = (undefined4 *)(param_1[0x27] + 0x78);" (assignment_expression "puVar33 = (undefined4 *)(param_1[0x27] + 0x78)" (identifier "puVar33") (= "=") (cast_expression "(undefined4 *)(param_1[0x27] + 0x78)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[0x27] + 0x78)" (( "(") (binary_expression "param_1[0x27] + 0x78" (subscript_expression "param_1[0x27]" (identifier "param_1") ([ "[") (number_literal "0x27") (] "]")) (+ "+") (number_literal "0x78")) () ")")))) (; ";")) (expression_statement "puVar37 = (undefined4 *)(sVar17 + 0x78);" (assignment_expression "puVar37 = (undefined4 *)(sVar17 + 0x78)" (identifier "puVar37") (= "=") (cast_expression "(undefined4 *)(sVar17 + 0x78)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(sVar17 + 0x78)" (( "(") (binary_expression "sVar17 + 0x78" (identifier "sVar17") (+ "+") (number_literal "0x78")) () ")")))) (; ";")) (for_statement "for (iVar9 = 0x38; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar37 = *puVar33;\n            puVar33 = puVar33 + (uint)bVar42 * -2 + 1;\n            puVar37 = puVar37 + (uint)bVar42 * -2 + 1;\n          }" (for "for") (( "(") (assignment_expression "iVar9 = 0x38" (identifier "iVar9") (= "=") (number_literal "0x38")) (; ";") (binary_expression "iVar9 != 0" (identifier "iVar9") (!= "!=") (number_literal "0")) (; ";") (assignment_expression "iVar9 = iVar9 + -1" (identifier "iVar9") (= "=") (binary_expression "iVar9 + -1" (identifier "iVar9") (+ "+") (number_literal "-1"))) () ")") (compound_statement "{\n            *puVar37 = *puVar33;\n            puVar33 = puVar33 + (uint)bVar42 * -2 + 1;\n            puVar37 = puVar37 + (uint)bVar42 * -2 + 1;\n          }" ({ "{") (expression_statement "*puVar37 = *puVar33;" (assignment_expression "*puVar37 = *puVar33" (pointer_expression "*puVar37" (* "*") (identifier "puVar37")) (= "=") (pointer_expression "*puVar33" (* "*") (identifier "puVar33"))) (; ";")) (expression_statement "puVar33 = puVar33 + (uint)bVar42 * -2 + 1;" (assignment_expression "puVar33 = puVar33 + (uint)bVar42 * -2 + 1" (identifier "puVar33") (= "=") (binary_expression "puVar33 + (uint)bVar42 * -2 + 1" (binary_expression "puVar33 + (uint)bVar42 * -2" (identifier "puVar33") (+ "+") (binary_expression "(uint)bVar42 * -2" (cast_expression "(uint)bVar42" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar42")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar37 = puVar37 + (uint)bVar42 * -2 + 1;" (assignment_expression "puVar37 = puVar37 + (uint)bVar42 * -2 + 1" (identifier "puVar37") (= "=") (binary_expression "puVar37 + (uint)bVar42 * -2 + 1" (binary_expression "puVar37 + (uint)bVar42 * -2" (identifier "puVar37") (+ "+") (binary_expression "(uint)bVar42 * -2" (cast_expression "(uint)bVar42" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar42")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (} "}"))) (} "}"))) (expression_statement "uVar35 = DAT_0003f298;" (assignment_expression "uVar35 = DAT_0003f298" (identifier "uVar35") (= "=") (identifier "DAT_0003f298")) (; ";")) (if_statement "if (DAT_0003f298 == 0xffffffff) {\n        DAT_0003f298 = 0x200;\n        uVar35 = 0x200;\n      }\n      else {\n        *(uint *)(sVar17 + 0x9c) = DAT_0003f298;\n      }" (if "if") (parenthesized_expression "(DAT_0003f298 == 0xffffffff)" (( "(") (binary_expression "DAT_0003f298 == 0xffffffff" (identifier "DAT_0003f298") (== "==") (number_literal "0xffffffff")) () ")")) (compound_statement "{\n        DAT_0003f298 = 0x200;\n        uVar35 = 0x200;\n      }" ({ "{") (expression_statement "DAT_0003f298 = 0x200;" (assignment_expression "DAT_0003f298 = 0x200" (identifier "DAT_0003f298") (= "=") (number_literal "0x200")) (; ";")) (expression_statement "uVar35 = 0x200;" (assignment_expression "uVar35 = 0x200" (identifier "uVar35") (= "=") (number_literal "0x200")) (; ";")) (} "}")) (else_clause "else {\n        *(uint *)(sVar17 + 0x9c) = DAT_0003f298;\n      }" (else "else") (compound_statement "{\n        *(uint *)(sVar17 + 0x9c) = DAT_0003f298;\n      }" ({ "{") (expression_statement "*(uint *)(sVar17 + 0x9c) = DAT_0003f298;" (assignment_expression "*(uint *)(sVar17 + 0x9c) = DAT_0003f298" (pointer_expression "*(uint *)(sVar17 + 0x9c)" (* "*") (cast_expression "(uint *)(sVar17 + 0x9c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(sVar17 + 0x9c)" (( "(") (binary_expression "sVar17 + 0x9c" (identifier "sVar17") (+ "+") (number_literal "0x9c")) () ")")))) (= "=") (identifier "DAT_0003f298")) (; ";")) (} "}")))) (if_statement "if (DAT_0003f294 != -1) {\n        *(int *)(sVar17 + 0xcc) = DAT_0003f294;\n      }" (if "if") (parenthesized_expression "(DAT_0003f294 != -1)" (( "(") (binary_expression "DAT_0003f294 != -1" (identifier "DAT_0003f294") (!= "!=") (number_literal "-1")) () ")")) (compound_statement "{\n        *(int *)(sVar17 + 0xcc) = DAT_0003f294;\n      }" ({ "{") (expression_statement "*(int *)(sVar17 + 0xcc) = DAT_0003f294;" (assignment_expression "*(int *)(sVar17 + 0xcc) = DAT_0003f294" (pointer_expression "*(int *)(sVar17 + 0xcc)" (* "*") (cast_expression "(int *)(sVar17 + 0xcc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(sVar17 + 0xcc)" (( "(") (binary_expression "sVar17 + 0xcc" (identifier "sVar17") (+ "+") (number_literal "0xcc")) () ")")))) (= "=") (identifier "DAT_0003f294")) (; ";")) (} "}"))) (if_statement "if (DAT_0003f290 != -1) {\n        *(int *)(sVar17 + 0xcc) = DAT_0003f290;\n      }" (if "if") (parenthesized_expression "(DAT_0003f290 != -1)" (( "(") (binary_expression "DAT_0003f290 != -1" (identifier "DAT_0003f290") (!= "!=") (number_literal "-1")) () ")")) (compound_statement "{\n        *(int *)(sVar17 + 0xcc) = DAT_0003f290;\n      }" ({ "{") (expression_statement "*(int *)(sVar17 + 0xcc) = DAT_0003f290;" (assignment_expression "*(int *)(sVar17 + 0xcc) = DAT_0003f290" (pointer_expression "*(int *)(sVar17 + 0xcc)" (* "*") (cast_expression "(int *)(sVar17 + 0xcc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(sVar17 + 0xcc)" (( "(") (binary_expression "sVar17 + 0xcc" (identifier "sVar17") (+ "+") (number_literal "0xcc")) () ")")))) (= "=") (identifier "DAT_0003f290")) (; ";")) (} "}"))) (if_statement "if (DAT_0003f28c != -1) {\n        *(int *)(sVar17 + 0x94) = DAT_0003f28c;\n      }" (if "if") (parenthesized_expression "(DAT_0003f28c != -1)" (( "(") (binary_expression "DAT_0003f28c != -1" (identifier "DAT_0003f28c") (!= "!=") (number_literal "-1")) () ")")) (compound_statement "{\n        *(int *)(sVar17 + 0x94) = DAT_0003f28c;\n      }" ({ "{") (expression_statement "*(int *)(sVar17 + 0x94) = DAT_0003f28c;" (assignment_expression "*(int *)(sVar17 + 0x94) = DAT_0003f28c" (pointer_expression "*(int *)(sVar17 + 0x94)" (* "*") (cast_expression "(int *)(sVar17 + 0x94)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(sVar17 + 0x94)" (( "(") (binary_expression "sVar17 + 0x94" (identifier "sVar17") (+ "+") (number_literal "0x94")) () ")")))) (= "=") (identifier "DAT_0003f28c")) (; ";")) (} "}"))) (expression_statement "uVar26 = DAT_0003f288;" (assignment_expression "uVar26 = DAT_0003f288" (identifier "uVar26") (= "=") (identifier "DAT_0003f288")) (; ";")) (if_statement "if (DAT_0003f288 == 0xffffffff) {\n        DAT_0003f288 = 0x1000;\n        uVar26 = 0x1000;\n      }\n      else {\n        *(uint *)(sVar17 + 0x98) = DAT_0003f288;\n      }" (if "if") (parenthesized_expression "(DAT_0003f288 == 0xffffffff)" (( "(") (binary_expression "DAT_0003f288 == 0xffffffff" (identifier "DAT_0003f288") (== "==") (number_literal "0xffffffff")) () ")")) (compound_statement "{\n        DAT_0003f288 = 0x1000;\n        uVar26 = 0x1000;\n      }" ({ "{") (expression_statement "DAT_0003f288 = 0x1000;" (assignment_expression "DAT_0003f288 = 0x1000" (identifier "DAT_0003f288") (= "=") (number_literal "0x1000")) (; ";")) (expression_statement "uVar26 = 0x1000;" (assignment_expression "uVar26 = 0x1000" (identifier "uVar26") (= "=") (number_literal "0x1000")) (; ";")) (} "}")) (else_clause "else {\n        *(uint *)(sVar17 + 0x98) = DAT_0003f288;\n      }" (else "else") (compound_statement "{\n        *(uint *)(sVar17 + 0x98) = DAT_0003f288;\n      }" ({ "{") (expression_statement "*(uint *)(sVar17 + 0x98) = DAT_0003f288;" (assignment_expression "*(uint *)(sVar17 + 0x98) = DAT_0003f288" (pointer_expression "*(uint *)(sVar17 + 0x98)" (* "*") (cast_expression "(uint *)(sVar17 + 0x98)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(sVar17 + 0x98)" (( "(") (binary_expression "sVar17 + 0x98" (identifier "sVar17") (+ "+") (number_literal "0x98")) () ")")))) (= "=") (identifier "DAT_0003f288")) (; ";")) (} "}")))) (if_statement "if (DAT_0003f284 != -1) {\n        *(int *)(sVar17 + 0xc4) = DAT_0003f284;\n      }" (if "if") (parenthesized_expression "(DAT_0003f284 != -1)" (( "(") (binary_expression "DAT_0003f284 != -1" (identifier "DAT_0003f284") (!= "!=") (number_literal "-1")) () ")")) (compound_statement "{\n        *(int *)(sVar17 + 0xc4) = DAT_0003f284;\n      }" ({ "{") (expression_statement "*(int *)(sVar17 + 0xc4) = DAT_0003f284;" (assignment_expression "*(int *)(sVar17 + 0xc4) = DAT_0003f284" (pointer_expression "*(int *)(sVar17 + 0xc4)" (* "*") (cast_expression "(int *)(sVar17 + 0xc4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(sVar17 + 0xc4)" (( "(") (binary_expression "sVar17 + 0xc4" (identifier "sVar17") (+ "+") (number_literal "0xc4")) () ")")))) (= "=") (identifier "DAT_0003f284")) (; ";")) (} "}"))) (if_statement "if (DAT_0003f280 != -1) {\n        *(int *)(sVar17 + 0xc4) = DAT_0003f280;\n      }" (if "if") (parenthesized_expression "(DAT_0003f280 != -1)" (( "(") (binary_expression "DAT_0003f280 != -1" (identifier "DAT_0003f280") (!= "!=") (number_literal "-1")) () ")")) (compound_statement "{\n        *(int *)(sVar17 + 0xc4) = DAT_0003f280;\n      }" ({ "{") (expression_statement "*(int *)(sVar17 + 0xc4) = DAT_0003f280;" (assignment_expression "*(int *)(sVar17 + 0xc4) = DAT_0003f280" (pointer_expression "*(int *)(sVar17 + 0xc4)" (* "*") (cast_expression "(int *)(sVar17 + 0xc4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(sVar17 + 0xc4)" (( "(") (binary_expression "sVar17 + 0xc4" (identifier "sVar17") (+ "+") (number_literal "0xc4")) () ")")))) (= "=") (identifier "DAT_0003f280")) (; ";")) (} "}"))) (if_statement "if (DAT_0003f27c != -1) {\n        *(short *)(sVar17 + 0xbc) = DAT_0003f27c;\n      }" (if "if") (parenthesized_expression "(DAT_0003f27c != -1)" (( "(") (binary_expression "DAT_0003f27c != -1" (identifier "DAT_0003f27c") (!= "!=") (number_literal "-1")) () ")")) (compound_statement "{\n        *(short *)(sVar17 + 0xbc) = DAT_0003f27c;\n      }" ({ "{") (expression_statement "*(short *)(sVar17 + 0xbc) = DAT_0003f27c;" (assignment_expression "*(short *)(sVar17 + 0xbc) = DAT_0003f27c" (pointer_expression "*(short *)(sVar17 + 0xbc)" (* "*") (cast_expression "(short *)(sVar17 + 0xbc)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(sVar17 + 0xbc)" (( "(") (binary_expression "sVar17 + 0xbc" (identifier "sVar17") (+ "+") (number_literal "0xbc")) () ")")))) (= "=") (identifier "DAT_0003f27c")) (; ";")) (} "}"))) (if_statement "if (DAT_0003f27a != -1) {\n        *(short *)(sVar17 + 0xa8) = DAT_0003f27a;\n      }" (if "if") (parenthesized_expression "(DAT_0003f27a != -1)" (( "(") (binary_expression "DAT_0003f27a != -1" (identifier "DAT_0003f27a") (!= "!=") (number_literal "-1")) () ")")) (compound_statement "{\n        *(short *)(sVar17 + 0xa8) = DAT_0003f27a;\n      }" ({ "{") (expression_statement "*(short *)(sVar17 + 0xa8) = DAT_0003f27a;" (assignment_expression "*(short *)(sVar17 + 0xa8) = DAT_0003f27a" (pointer_expression "*(short *)(sVar17 + 0xa8)" (* "*") (cast_expression "(short *)(sVar17 + 0xa8)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(sVar17 + 0xa8)" (( "(") (binary_expression "sVar17 + 0xa8" (identifier "sVar17") (+ "+") (number_literal "0xa8")) () ")")))) (= "=") (identifier "DAT_0003f27a")) (; ";")) (} "}"))) (if_statement "if (DAT_0003f278 != -1) {\n        *(short *)(sVar17 + 0xaa) = DAT_0003f278;\n      }" (if "if") (parenthesized_expression "(DAT_0003f278 != -1)" (( "(") (binary_expression "DAT_0003f278 != -1" (identifier "DAT_0003f278") (!= "!=") (number_literal "-1")) () ")")) (compound_statement "{\n        *(short *)(sVar17 + 0xaa) = DAT_0003f278;\n      }" ({ "{") (expression_statement "*(short *)(sVar17 + 0xaa) = DAT_0003f278;" (assignment_expression "*(short *)(sVar17 + 0xaa) = DAT_0003f278" (pointer_expression "*(short *)(sVar17 + 0xaa)" (* "*") (cast_expression "(short *)(sVar17 + 0xaa)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(sVar17 + 0xaa)" (( "(") (binary_expression "sVar17 + 0xaa" (identifier "sVar17") (+ "+") (number_literal "0xaa")) () ")")))) (= "=") (identifier "DAT_0003f278")) (; ";")) (} "}"))) (if_statement "if (uVar26 < uVar35) {\n        sprintf((char *)local_44,"%08lx",uVar35);\n        sprintf((char *)&local_30,"%08lx",DAT_0003f288);\n        uVar10 = dcgettext(0,"warning: file alignment (0x%s) > section alignment (0x%s)",5);\n        FUN_0002b6d0(uVar10,local_44,&local_30);\n      }" (if "if") (parenthesized_expression "(uVar26 < uVar35)" (( "(") (binary_expression "uVar26 < uVar35" (identifier "uVar26") (< "<") (identifier "uVar35")) () ")")) (compound_statement "{\n        sprintf((char *)local_44,"%08lx",uVar35);\n        sprintf((char *)&local_30,"%08lx",DAT_0003f288);\n        uVar10 = dcgettext(0,"warning: file alignment (0x%s) > section alignment (0x%s)",5);\n        FUN_0002b6d0(uVar10,local_44,&local_30);\n      }" ({ "{") (expression_statement "sprintf((char *)local_44,"%08lx",uVar35);" (call_expression "sprintf((char *)local_44,"%08lx",uVar35)" (identifier "sprintf") (argument_list "((char *)local_44,"%08lx",uVar35)" (( "(") (cast_expression "(char *)local_44" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_44")) (, ",") (string_literal ""%08lx"" (" """) (string_content "%08lx") (" """)) (, ",") (identifier "uVar35") () ")"))) (; ";")) (expression_statement "sprintf((char *)&local_30,"%08lx",DAT_0003f288);" (call_expression "sprintf((char *)&local_30,"%08lx",DAT_0003f288)" (identifier "sprintf") (argument_list "((char *)&local_30,"%08lx",DAT_0003f288)" (( "(") (cast_expression "(char *)&local_30" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&local_30" (& "&") (identifier "local_30"))) (, ",") (string_literal ""%08lx"" (" """) (string_content "%08lx") (" """)) (, ",") (identifier "DAT_0003f288") () ")"))) (; ";")) (expression_statement "uVar10 = dcgettext(0,"warning: file alignment (0x%s) > section alignment (0x%s)",5);" (assignment_expression "uVar10 = dcgettext(0,"warning: file alignment (0x%s) > section alignment (0x%s)",5)" (identifier "uVar10") (= "=") (call_expression "dcgettext(0,"warning: file alignment (0x%s) > section alignment (0x%s)",5)" (identifier "dcgettext") (argument_list "(0,"warning: file alignment (0x%s) > section alignment (0x%s)",5)" (( "(") (number_literal "0") (, ",") (string_literal ""warning: file alignment (0x%s) > section alignment (0x%s)"" (" """) (string_content "warning: file alignment (0x%s) > section alignment (0x%s)") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0002b6d0(uVar10,local_44,&local_30);" (call_expression "FUN_0002b6d0(uVar10,local_44,&local_30)" (identifier "FUN_0002b6d0") (argument_list "(uVar10,local_44,&local_30)" (( "(") (identifier "uVar10") (, ",") (identifier "local_44") (, ",") (pointer_expression "&local_30" (& "&") (identifier "local_30")) () ")"))) (; ";")) (} "}"))) (} "}"))) (} "}"))) (expression_statement "piVar15 = DAT_0003fb9c;" (assignment_expression "piVar15 = DAT_0003fb9c" (identifier "piVar15") (= "=") (identifier "DAT_0003fb9c")) (; ";")) (if_statement "if (DAT_0003fb9c != (int *)0x0) {\n    free(DAT_0003fb9c);\n  }" (if "if") (parenthesized_expression "(DAT_0003fb9c != (int *)0x0)" (( "(") (binary_expression "DAT_0003fb9c != (int *)0x0" (identifier "DAT_0003fb9c") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    free(DAT_0003fb9c);\n  }" ({ "{") (expression_statement "free(DAT_0003fb9c);" (call_expression "free(DAT_0003fb9c)" (identifier "free") (argument_list "(DAT_0003fb9c)" (( "(") (identifier "DAT_0003fb9c") () ")"))) (; ";")) (} "}"))) (if_statement "if (piVar15 != DAT_0003fb98) {\n    free(DAT_0003fb98);\n  }" (if "if") (parenthesized_expression "(piVar15 != DAT_0003fb98)" (( "(") (binary_expression "piVar15 != DAT_0003fb98" (identifier "piVar15") (!= "!=") (identifier "DAT_0003fb98")) () ")")) (compound_statement "{\n    free(DAT_0003fb98);\n  }" ({ "{") (expression_statement "free(DAT_0003fb98);" (call_expression "free(DAT_0003fb98)" (identifier "free") (argument_list "(DAT_0003fb98)" (( "(") (identifier "DAT_0003fb98") () ")"))) (; ";")) (} "}"))) (expression_statement "DAT_0003fb9c = (int *)0x0;" (assignment_expression "DAT_0003fb9c = (int *)0x0" (identifier "DAT_0003fb9c") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "DAT_0003fb98 = (int *)0x0;" (assignment_expression "DAT_0003fb98 = (int *)0x0" (identifier "DAT_0003fb98") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar9 = (**(code **)(param_1[1] + 0x104))(param_1);" (assignment_expression "iVar9 = (**(code **)(param_1[1] + 0x104))(param_1)" (identifier "iVar9") (= "=") (call_expression "(**(code **)(param_1[1] + 0x104))(param_1)" (parenthesized_expression "(**(code **)(param_1[1] + 0x104))" (( "(") (pointer_expression "**(code **)(param_1[1] + 0x104)" (* "*") (pointer_expression "*(code **)(param_1[1] + 0x104)" (* "*") (cast_expression "(code **)(param_1[1] + 0x104)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1[1] + 0x104)" (( "(") (binary_expression "param_1[1] + 0x104" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "0x104")) () ")"))))) () ")")) (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (if_statement "if (iVar9 < 0) goto LAB_00018840;" (if "if") (parenthesized_expression "(iVar9 < 0)" (( "(") (binary_expression "iVar9 < 0" (identifier "iVar9") (< "<") (number_literal "0")) () ")")) (goto_statement "goto LAB_00018840;" (goto "goto") (statement_identifier "LAB_00018840") (; ";"))) (expression_statement "DAT_0003fb98 = (int *)xmalloc(iVar9);" (assignment_expression "DAT_0003fb98 = (int *)xmalloc(iVar9)" (identifier "DAT_0003fb98") (= "=") (cast_expression "(int *)xmalloc(iVar9)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "xmalloc(iVar9)" (identifier "xmalloc") (argument_list "(iVar9)" (( "(") (identifier "iVar9") () ")"))))) (; ";")) (expression_statement "DAT_0003fb9c = DAT_0003fb98;" (assignment_expression "DAT_0003fb9c = DAT_0003fb98" (identifier "DAT_0003fb9c") (= "=") (identifier "DAT_0003fb98")) (; ";")) (expression_statement "local_70 = (**(code **)(param_1[1] + 0x108))(param_1,DAT_0003fb98);" (assignment_expression "local_70 = (**(code **)(param_1[1] + 0x108))(param_1,DAT_0003fb98)" (identifier "local_70") (= "=") (call_expression "(**(code **)(param_1[1] + 0x108))(param_1,DAT_0003fb98)" (parenthesized_expression "(**(code **)(param_1[1] + 0x108))" (( "(") (pointer_expression "**(code **)(param_1[1] + 0x108)" (* "*") (pointer_expression "*(code **)(param_1[1] + 0x108)" (* "*") (cast_expression "(code **)(param_1[1] + 0x108)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1[1] + 0x108)" (( "(") (binary_expression "param_1[1] + 0x108" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "0x108")) () ")"))))) () ")")) (argument_list "(param_1,DAT_0003fb98)" (( "(") (identifier "param_1") (, ",") (identifier "DAT_0003fb98") () ")")))) (; ";")) (if_statement "if (local_70 < 0) goto LAB_00018840;" (if "if") (parenthesized_expression "(local_70 < 0)" (( "(") (binary_expression "local_70 < 0" (identifier "local_70") (< "<") (number_literal "0")) () ")")) (goto_statement "goto LAB_00018840;" (goto "goto") (statement_identifier "LAB_00018840") (; ";"))) (if_statement "if (local_70 == 0) {\n    free(DAT_0003fb9c);\n    DAT_0003fb9c = (int *)0x0;\n    DAT_0003fb98 = (int *)0x0;\n  }" (if "if") (parenthesized_expression "(local_70 == 0)" (( "(") (binary_expression "local_70 == 0" (identifier "local_70") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    free(DAT_0003fb9c);\n    DAT_0003fb9c = (int *)0x0;\n    DAT_0003fb98 = (int *)0x0;\n  }" ({ "{") (expression_statement "free(DAT_0003fb9c);" (call_expression "free(DAT_0003fb9c)" (identifier "free") (argument_list "(DAT_0003fb9c)" (( "(") (identifier "DAT_0003fb9c") () ")"))) (; ";")) (expression_statement "DAT_0003fb9c = (int *)0x0;" (assignment_expression "DAT_0003fb9c = (int *)0x0" (identifier "DAT_0003fb9c") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "DAT_0003fb98 = (int *)0x0;" (assignment_expression "DAT_0003fb98 = (int *)0x0" (identifier "DAT_0003fb98") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}"))) (expression_statement "bfd_map_over_sections(param_1,FUN_000179b0,param_2);" (call_expression "bfd_map_over_sections(param_1,FUN_000179b0,param_2)" (identifier "bfd_map_over_sections") (argument_list "(param_1,FUN_000179b0,param_2)" (( "(") (identifier "param_1") (, ",") (identifier "FUN_000179b0") (, ",") (identifier "param_2") () ")"))) (; ";")) (expression_statement "puVar33 = DAT_0003fb38;" (assignment_expression "puVar33 = DAT_0003fb38" (identifier "puVar33") (= "=") (identifier "DAT_0003fb38")) (; ";")) (if_statement "if ((DAT_0003facc == 0) &&\n     (iVar9 = (**(code **)(param_2[1] + 0xbc))(param_1,param_2), puVar33 = DAT_0003fb38, iVar9 == 0)\n     ) {\n    DAT_0003fb88 = 1;\n    uVar10 = dcgettext(0,"error in private header data",5);\n    FUN_0002c160(0,param_1,0,uVar10);\n    puVar33 = DAT_0003fb38;\n  }" (if "if") (parenthesized_expression "((DAT_0003facc == 0) &&\n     (iVar9 = (**(code **)(param_2[1] + 0xbc))(param_1,param_2), puVar33 = DAT_0003fb38, iVar9 == 0)\n     )" (( "(") (binary_expression "(DAT_0003facc == 0) &&\n     (iVar9 = (**(code **)(param_2[1] + 0xbc))(param_1,param_2), puVar33 = DAT_0003fb38, iVar9 == 0)" (parenthesized_expression "(DAT_0003facc == 0)" (( "(") (binary_expression "DAT_0003facc == 0" (identifier "DAT_0003facc") (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar9 = (**(code **)(param_2[1] + 0xbc))(param_1,param_2), puVar33 = DAT_0003fb38, iVar9 == 0)" (( "(") (comma_expression "iVar9 = (**(code **)(param_2[1] + 0xbc))(param_1,param_2), puVar33 = DAT_0003fb38, iVar9 == 0" (assignment_expression "iVar9 = (**(code **)(param_2[1] + 0xbc))(param_1,param_2)" (identifier "iVar9") (= "=") (call_expression "(**(code **)(param_2[1] + 0xbc))(param_1,param_2)" (parenthesized_expression "(**(code **)(param_2[1] + 0xbc))" (( "(") (pointer_expression "**(code **)(param_2[1] + 0xbc)" (* "*") (pointer_expression "*(code **)(param_2[1] + 0xbc)" (* "*") (cast_expression "(code **)(param_2[1] + 0xbc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_2[1] + 0xbc)" (( "(") (binary_expression "param_2[1] + 0xbc" (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "0xbc")) () ")"))))) () ")")) (argument_list "(param_1,param_2)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") () ")")))) (, ",") (comma_expression "puVar33 = DAT_0003fb38, iVar9 == 0" (assignment_expression "puVar33 = DAT_0003fb38" (identifier "puVar33") (= "=") (identifier "DAT_0003fb38")) (, ",") (binary_expression "iVar9 == 0" (identifier "iVar9") (== "==") (number_literal "0")))) () ")"))) () ")")) (compound_statement "{\n    DAT_0003fb88 = 1;\n    uVar10 = dcgettext(0,"error in private header data",5);\n    FUN_0002c160(0,param_1,0,uVar10);\n    puVar33 = DAT_0003fb38;\n  }" ({ "{") (expression_statement "DAT_0003fb88 = 1;" (assignment_expression "DAT_0003fb88 = 1" (identifier "DAT_0003fb88") (= "=") (number_literal "1")) (; ";")) (expression_statement "uVar10 = dcgettext(0,"error in private header data",5);" (assignment_expression "uVar10 = dcgettext(0,"error in private header data",5)" (identifier "uVar10") (= "=") (call_expression "dcgettext(0,"error in private header data",5)" (identifier "dcgettext") (argument_list "(0,"error in private header data",5)" (( "(") (number_literal "0") (, ",") (string_literal ""error in private header data"" (" """) (string_content "error in private header data") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0002c160(0,param_1,0,uVar10);" (call_expression "FUN_0002c160(0,param_1,0,uVar10)" (identifier "FUN_0002c160") (argument_list "(0,param_1,0,uVar10)" (( "(") (number_literal "0") (, ",") (identifier "param_1") (, ",") (number_literal "0") (, ",") (identifier "uVar10") () ")"))) (; ";")) (expression_statement "puVar33 = DAT_0003fb38;" (assignment_expression "puVar33 = DAT_0003fb38" (identifier "puVar33") (= "=") (identifier "DAT_0003fb38")) (; ";")) (} "}"))) (for_statement "for (; puVar37 = DAT_0003fb34, puVar33 != (undefined4 *)0x0; puVar33 = (undefined4 *)*puVar33) {\n    uVar35 = 0x128;\n    iVar9 = FUN_00016910();\n    if (iVar9 != 0) {\n      uVar35 = *(uint *)(iVar9 + 0x18) | 0x100;\n    }\n    iVar9 = bfd_get_section_by_name(param_2,puVar33[1]);\n    if (iVar9 != 0) {\n      uVar10 = puVar33[1];\n      pcVar22 = "can\'t add section \'%s\'";\nLAB_00019719:\n      uVar11 = dcgettext(0,pcVar22,5);\n      FUN_0002c160(0,param_2,0,uVar11,uVar10);\n      return 0;\n    }\n    iVar9 = bfd_make_section_with_flags(param_2,puVar33[1],uVar35 | 0x100000);\n    puVar33[5] = iVar9;\n    if (iVar9 == 0) {\n      uVar10 = puVar33[1];\n      pcVar22 = "can\'t create section `%s\'";\n      goto LAB_00019719;\n    }\n    iVar9 = bfd_set_section_size(param_2,iVar9,puVar33[3]);\n    if (iVar9 == 0) {\n      psVar38 = (size_t *)puVar33[5];\n      local_50 = 0;\n      goto LAB_00019763;\n    }\n    iVar9 = FUN_00016910();\n    if (iVar9 != 0) {\n      uVar10 = *(undefined4 *)(iVar9 + 0x10);\n      iVar9 = puVar33[5];\n      *(byte *)(iVar9 + 0x18) = *(byte *)(iVar9 + 0x18) | 1;\n      *(undefined4 *)(iVar9 + 0x20) = uVar10;\n      *(undefined4 *)(iVar9 + 0x1c) = uVar10;\n    }\n    iVar9 = FUN_00016910();\n    if (iVar9 != 0) {\n      *(undefined4 *)(puVar33[5] + 0x20) = *(undefined4 *)(iVar9 + 0x14);\n    }\n  }" (for "for") (( "(") (; ";") (comma_expression "puVar37 = DAT_0003fb34, puVar33 != (undefined4 *)0x0" (assignment_expression "puVar37 = DAT_0003fb34" (identifier "puVar37") (= "=") (identifier "DAT_0003fb34")) (, ",") (binary_expression "puVar33 != (undefined4 *)0x0" (identifier "puVar33") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) (; ";") (assignment_expression "puVar33 = (undefined4 *)*puVar33" (identifier "puVar33") (= "=") (cast_expression "(undefined4 *)*puVar33" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar33" (* "*") (identifier "puVar33")))) () ")") (compound_statement "{\n    uVar35 = 0x128;\n    iVar9 = FUN_00016910();\n    if (iVar9 != 0) {\n      uVar35 = *(uint *)(iVar9 + 0x18) | 0x100;\n    }\n    iVar9 = bfd_get_section_by_name(param_2,puVar33[1]);\n    if (iVar9 != 0) {\n      uVar10 = puVar33[1];\n      pcVar22 = "can\'t add section \'%s\'";\nLAB_00019719:\n      uVar11 = dcgettext(0,pcVar22,5);\n      FUN_0002c160(0,param_2,0,uVar11,uVar10);\n      return 0;\n    }\n    iVar9 = bfd_make_section_with_flags(param_2,puVar33[1],uVar35 | 0x100000);\n    puVar33[5] = iVar9;\n    if (iVar9 == 0) {\n      uVar10 = puVar33[1];\n      pcVar22 = "can\'t create section `%s\'";\n      goto LAB_00019719;\n    }\n    iVar9 = bfd_set_section_size(param_2,iVar9,puVar33[3]);\n    if (iVar9 == 0) {\n      psVar38 = (size_t *)puVar33[5];\n      local_50 = 0;\n      goto LAB_00019763;\n    }\n    iVar9 = FUN_00016910();\n    if (iVar9 != 0) {\n      uVar10 = *(undefined4 *)(iVar9 + 0x10);\n      iVar9 = puVar33[5];\n      *(byte *)(iVar9 + 0x18) = *(byte *)(iVar9 + 0x18) | 1;\n      *(undefined4 *)(iVar9 + 0x20) = uVar10;\n      *(undefined4 *)(iVar9 + 0x1c) = uVar10;\n    }\n    iVar9 = FUN_00016910();\n    if (iVar9 != 0) {\n      *(undefined4 *)(puVar33[5] + 0x20) = *(undefined4 *)(iVar9 + 0x14);\n    }\n  }" ({ "{") (expression_statement "uVar35 = 0x128;" (assignment_expression "uVar35 = 0x128" (identifier "uVar35") (= "=") (number_literal "0x128")) (; ";")) (expression_statement "iVar9 = FUN_00016910();" (assignment_expression "iVar9 = FUN_00016910()" (identifier "iVar9") (= "=") (call_expression "FUN_00016910()" (identifier "FUN_00016910") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar9 != 0) {\n      uVar35 = *(uint *)(iVar9 + 0x18) | 0x100;\n    }" (if "if") (parenthesized_expression "(iVar9 != 0)" (( "(") (binary_expression "iVar9 != 0" (identifier "iVar9") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      uVar35 = *(uint *)(iVar9 + 0x18) | 0x100;\n    }" ({ "{") (expression_statement "uVar35 = *(uint *)(iVar9 + 0x18) | 0x100;" (assignment_expression "uVar35 = *(uint *)(iVar9 + 0x18) | 0x100" (identifier "uVar35") (= "=") (binary_expression "*(uint *)(iVar9 + 0x18) | 0x100" (pointer_expression "*(uint *)(iVar9 + 0x18)" (* "*") (cast_expression "(uint *)(iVar9 + 0x18)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x18)" (( "(") (binary_expression "iVar9 + 0x18" (identifier "iVar9") (+ "+") (number_literal "0x18")) () ")")))) (| "|") (number_literal "0x100"))) (; ";")) (} "}"))) (expression_statement "iVar9 = bfd_get_section_by_name(param_2,puVar33[1]);" (assignment_expression "iVar9 = bfd_get_section_by_name(param_2,puVar33[1])" (identifier "iVar9") (= "=") (call_expression "bfd_get_section_by_name(param_2,puVar33[1])" (identifier "bfd_get_section_by_name") (argument_list "(param_2,puVar33[1])" (( "(") (identifier "param_2") (, ",") (subscript_expression "puVar33[1]" (identifier "puVar33") ([ "[") (number_literal "1") (] "]")) () ")")))) (; ";")) (if_statement "if (iVar9 != 0) {\n      uVar10 = puVar33[1];\n      pcVar22 = "can\'t add section \'%s\'";\nLAB_00019719:\n      uVar11 = dcgettext(0,pcVar22,5);\n      FUN_0002c160(0,param_2,0,uVar11,uVar10);\n      return 0;\n    }" (if "if") (parenthesized_expression "(iVar9 != 0)" (( "(") (binary_expression "iVar9 != 0" (identifier "iVar9") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      uVar10 = puVar33[1];\n      pcVar22 = "can\'t add section \'%s\'";\nLAB_00019719:\n      uVar11 = dcgettext(0,pcVar22,5);\n      FUN_0002c160(0,param_2,0,uVar11,uVar10);\n      return 0;\n    }" ({ "{") (expression_statement "uVar10 = puVar33[1];" (assignment_expression "uVar10 = puVar33[1]" (identifier "uVar10") (= "=") (subscript_expression "puVar33[1]" (identifier "puVar33") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "pcVar22 = "can\'t add section \'%s\'";" (assignment_expression "pcVar22 = "can\'t add section \'%s\'"" (identifier "pcVar22") (= "=") (string_literal ""can\'t add section \'%s\'"" (" """) (string_content "can") (escape_sequence "\'") (string_content "t add section ") (escape_sequence "\'") (string_content "%s") (escape_sequence "\'") (" """))) (; ";")) (labeled_statement "LAB_00019719:\n      uVar11 = dcgettext(0,pcVar22,5);" (statement_identifier "LAB_00019719") (: ":") (expression_statement "uVar11 = dcgettext(0,pcVar22,5);" (assignment_expression "uVar11 = dcgettext(0,pcVar22,5)" (identifier "uVar11") (= "=") (call_expression "dcgettext(0,pcVar22,5)" (identifier "dcgettext") (argument_list "(0,pcVar22,5)" (( "(") (number_literal "0") (, ",") (identifier "pcVar22") (, ",") (number_literal "5") () ")")))) (; ";"))) (expression_statement "FUN_0002c160(0,param_2,0,uVar11,uVar10);" (call_expression "FUN_0002c160(0,param_2,0,uVar11,uVar10)" (identifier "FUN_0002c160") (argument_list "(0,param_2,0,uVar11,uVar10)" (( "(") (number_literal "0") (, ",") (identifier "param_2") (, ",") (number_literal "0") (, ",") (identifier "uVar11") (, ",") (identifier "uVar10") () ")"))) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "iVar9 = bfd_make_section_with_flags(param_2,puVar33[1],uVar35 | 0x100000);" (assignment_expression "iVar9 = bfd_make_section_with_flags(param_2,puVar33[1],uVar35 | 0x100000)" (identifier "iVar9") (= "=") (call_expression "bfd_make_section_with_flags(param_2,puVar33[1],uVar35 | 0x100000)" (identifier "bfd_make_section_with_flags") (argument_list "(param_2,puVar33[1],uVar35 | 0x100000)" (( "(") (identifier "param_2") (, ",") (subscript_expression "puVar33[1]" (identifier "puVar33") ([ "[") (number_literal "1") (] "]")) (, ",") (binary_expression "uVar35 | 0x100000" (identifier "uVar35") (| "|") (number_literal "0x100000")) () ")")))) (; ";")) (expression_statement "puVar33[5] = iVar9;" (assignment_expression "puVar33[5] = iVar9" (subscript_expression "puVar33[5]" (identifier "puVar33") ([ "[") (number_literal "5") (] "]")) (= "=") (identifier "iVar9")) (; ";")) (if_statement "if (iVar9 == 0) {\n      uVar10 = puVar33[1];\n      pcVar22 = "can\'t create section `%s\'";\n      goto LAB_00019719;\n    }" (if "if") (parenthesized_expression "(iVar9 == 0)" (( "(") (binary_expression "iVar9 == 0" (identifier "iVar9") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      uVar10 = puVar33[1];\n      pcVar22 = "can\'t create section `%s\'";\n      goto LAB_00019719;\n    }" ({ "{") (expression_statement "uVar10 = puVar33[1];" (assignment_expression "uVar10 = puVar33[1]" (identifier "uVar10") (= "=") (subscript_expression "puVar33[1]" (identifier "puVar33") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "pcVar22 = "can\'t create section `%s\'";" (assignment_expression "pcVar22 = "can\'t create section `%s\'"" (identifier "pcVar22") (= "=") (string_literal ""can\'t create section `%s\'"" (" """) (string_content "can") (escape_sequence "\'") (string_content "t create section `%s") (escape_sequence "\'") (" """))) (; ";")) (goto_statement "goto LAB_00019719;" (goto "goto") (statement_identifier "LAB_00019719") (; ";")) (} "}"))) (expression_statement "iVar9 = bfd_set_section_size(param_2,iVar9,puVar33[3]);" (assignment_expression "iVar9 = bfd_set_section_size(param_2,iVar9,puVar33[3])" (identifier "iVar9") (= "=") (call_expression "bfd_set_section_size(param_2,iVar9,puVar33[3])" (identifier "bfd_set_section_size") (argument_list "(param_2,iVar9,puVar33[3])" (( "(") (identifier "param_2") (, ",") (identifier "iVar9") (, ",") (subscript_expression "puVar33[3]" (identifier "puVar33") ([ "[") (number_literal "3") (] "]")) () ")")))) (; ";")) (if_statement "if (iVar9 == 0) {\n      psVar38 = (size_t *)puVar33[5];\n      local_50 = 0;\n      goto LAB_00019763;\n    }" (if "if") (parenthesized_expression "(iVar9 == 0)" (( "(") (binary_expression "iVar9 == 0" (identifier "iVar9") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      psVar38 = (size_t *)puVar33[5];\n      local_50 = 0;\n      goto LAB_00019763;\n    }" ({ "{") (expression_statement "psVar38 = (size_t *)puVar33[5];" (assignment_expression "psVar38 = (size_t *)puVar33[5]" (identifier "psVar38") (= "=") (cast_expression "(size_t *)puVar33[5]" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar33[5]" (identifier "puVar33") ([ "[") (number_literal "5") (] "]")))) (; ";")) (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" (identifier "local_50") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_00019763;" (goto "goto") (statement_identifier "LAB_00019763") (; ";")) (} "}"))) (expression_statement "iVar9 = FUN_00016910();" (assignment_expression "iVar9 = FUN_00016910()" (identifier "iVar9") (= "=") (call_expression "FUN_00016910()" (identifier "FUN_00016910") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar9 != 0) {\n      uVar10 = *(undefined4 *)(iVar9 + 0x10);\n      iVar9 = puVar33[5];\n      *(byte *)(iVar9 + 0x18) = *(byte *)(iVar9 + 0x18) | 1;\n      *(undefined4 *)(iVar9 + 0x20) = uVar10;\n      *(undefined4 *)(iVar9 + 0x1c) = uVar10;\n    }" (if "if") (parenthesized_expression "(iVar9 != 0)" (( "(") (binary_expression "iVar9 != 0" (identifier "iVar9") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      uVar10 = *(undefined4 *)(iVar9 + 0x10);\n      iVar9 = puVar33[5];\n      *(byte *)(iVar9 + 0x18) = *(byte *)(iVar9 + 0x18) | 1;\n      *(undefined4 *)(iVar9 + 0x20) = uVar10;\n      *(undefined4 *)(iVar9 + 0x1c) = uVar10;\n    }" ({ "{") (expression_statement "uVar10 = *(undefined4 *)(iVar9 + 0x10);" (assignment_expression "uVar10 = *(undefined4 *)(iVar9 + 0x10)" (identifier "uVar10") (= "=") (pointer_expression "*(undefined4 *)(iVar9 + 0x10)" (* "*") (cast_expression "(undefined4 *)(iVar9 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x10)" (( "(") (binary_expression "iVar9 + 0x10" (identifier "iVar9") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "iVar9 = puVar33[5];" (assignment_expression "iVar9 = puVar33[5]" (identifier "iVar9") (= "=") (subscript_expression "puVar33[5]" (identifier "puVar33") ([ "[") (number_literal "5") (] "]"))) (; ";")) (expression_statement "*(byte *)(iVar9 + 0x18) = *(byte *)(iVar9 + 0x18) | 1;" (assignment_expression "*(byte *)(iVar9 + 0x18) = *(byte *)(iVar9 + 0x18) | 1" (pointer_expression "*(byte *)(iVar9 + 0x18)" (* "*") (cast_expression "(byte *)(iVar9 + 0x18)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x18)" (( "(") (binary_expression "iVar9 + 0x18" (identifier "iVar9") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (binary_expression "*(byte *)(iVar9 + 0x18) | 1" (pointer_expression "*(byte *)(iVar9 + 0x18)" (* "*") (cast_expression "(byte *)(iVar9 + 0x18)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x18)" (( "(") (binary_expression "iVar9 + 0x18" (identifier "iVar9") (+ "+") (number_literal "0x18")) () ")")))) (| "|") (number_literal "1"))) (; ";")) (expression_statement "*(undefined4 *)(iVar9 + 0x20) = uVar10;" (assignment_expression "*(undefined4 *)(iVar9 + 0x20) = uVar10" (pointer_expression "*(undefined4 *)(iVar9 + 0x20)" (* "*") (cast_expression "(undefined4 *)(iVar9 + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x20)" (( "(") (binary_expression "iVar9 + 0x20" (identifier "iVar9") (+ "+") (number_literal "0x20")) () ")")))) (= "=") (identifier "uVar10")) (; ";")) (expression_statement "*(undefined4 *)(iVar9 + 0x1c) = uVar10;" (assignment_expression "*(undefined4 *)(iVar9 + 0x1c) = uVar10" (pointer_expression "*(undefined4 *)(iVar9 + 0x1c)" (* "*") (cast_expression "(undefined4 *)(iVar9 + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x1c)" (( "(") (binary_expression "iVar9 + 0x1c" (identifier "iVar9") (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (identifier "uVar10")) (; ";")) (} "}"))) (expression_statement "iVar9 = FUN_00016910();" (assignment_expression "iVar9 = FUN_00016910()" (identifier "iVar9") (= "=") (call_expression "FUN_00016910()" (identifier "FUN_00016910") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar9 != 0) {\n      *(undefined4 *)(puVar33[5] + 0x20) = *(undefined4 *)(iVar9 + 0x14);\n    }" (if "if") (parenthesized_expression "(iVar9 != 0)" (( "(") (binary_expression "iVar9 != 0" (identifier "iVar9") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      *(undefined4 *)(puVar33[5] + 0x20) = *(undefined4 *)(iVar9 + 0x14);\n    }" ({ "{") (expression_statement "*(undefined4 *)(puVar33[5] + 0x20) = *(undefined4 *)(iVar9 + 0x14);" (assignment_expression "*(undefined4 *)(puVar33[5] + 0x20) = *(undefined4 *)(iVar9 + 0x14)" (pointer_expression "*(undefined4 *)(puVar33[5] + 0x20)" (* "*") (cast_expression "(undefined4 *)(puVar33[5] + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar33[5] + 0x20)" (( "(") (binary_expression "puVar33[5] + 0x20" (subscript_expression "puVar33[5]" (identifier "puVar33") ([ "[") (number_literal "5") (] "]")) (+ "+") (number_literal "0x20")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(iVar9 + 0x14)" (* "*") (cast_expression "(undefined4 *)(iVar9 + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x14)" (( "(") (binary_expression "iVar9 + 0x14" (identifier "iVar9") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (} "}"))) (} "}"))) (for_statement "for (; puVar37 != (undefined4 *)0x0; puVar37 = (undefined4 *)*puVar37) {\n    iVar9 = bfd_get_section_by_name(param_1,puVar37[1]);\n    puVar37[5] = iVar9;\n    if (iVar9 == 0) {\n      uVar10 = puVar37[1];\n      pcVar22 = "error: %s not found, can\'t be updated";\n      goto LAB_00018bc8;\n    }\n    psVar38 = *(size_t **)(iVar9 + 0x3c);\n    local_50 = bfd_set_section_size(param_2,psVar38,puVar37[3]);\n    if (local_50 == 0) goto LAB_00019763;\n  }" (for "for") (( "(") (; ";") (binary_expression "puVar37 != (undefined4 *)0x0" (identifier "puVar37") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";") (assignment_expression "puVar37 = (undefined4 *)*puVar37" (identifier "puVar37") (= "=") (cast_expression "(undefined4 *)*puVar37" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar37" (* "*") (identifier "puVar37")))) () ")") (compound_statement "{\n    iVar9 = bfd_get_section_by_name(param_1,puVar37[1]);\n    puVar37[5] = iVar9;\n    if (iVar9 == 0) {\n      uVar10 = puVar37[1];\n      pcVar22 = "error: %s not found, can\'t be updated";\n      goto LAB_00018bc8;\n    }\n    psVar38 = *(size_t **)(iVar9 + 0x3c);\n    local_50 = bfd_set_section_size(param_2,psVar38,puVar37[3]);\n    if (local_50 == 0) goto LAB_00019763;\n  }" ({ "{") (expression_statement "iVar9 = bfd_get_section_by_name(param_1,puVar37[1]);" (assignment_expression "iVar9 = bfd_get_section_by_name(param_1,puVar37[1])" (identifier "iVar9") (= "=") (call_expression "bfd_get_section_by_name(param_1,puVar37[1])" (identifier "bfd_get_section_by_name") (argument_list "(param_1,puVar37[1])" (( "(") (identifier "param_1") (, ",") (subscript_expression "puVar37[1]" (identifier "puVar37") ([ "[") (number_literal "1") (] "]")) () ")")))) (; ";")) (expression_statement "puVar37[5] = iVar9;" (assignment_expression "puVar37[5] = iVar9" (subscript_expression "puVar37[5]" (identifier "puVar37") ([ "[") (number_literal "5") (] "]")) (= "=") (identifier "iVar9")) (; ";")) (if_statement "if (iVar9 == 0) {\n      uVar10 = puVar37[1];\n      pcVar22 = "error: %s not found, can\'t be updated";\n      goto LAB_00018bc8;\n    }" (if "if") (parenthesized_expression "(iVar9 == 0)" (( "(") (binary_expression "iVar9 == 0" (identifier "iVar9") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      uVar10 = puVar37[1];\n      pcVar22 = "error: %s not found, can\'t be updated";\n      goto LAB_00018bc8;\n    }" ({ "{") (expression_statement "uVar10 = puVar37[1];" (assignment_expression "uVar10 = puVar37[1]" (identifier "uVar10") (= "=") (subscript_expression "puVar37[1]" (identifier "puVar37") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "pcVar22 = "error: %s not found, can\'t be updated";" (assignment_expression "pcVar22 = "error: %s not found, can\'t be updated"" (identifier "pcVar22") (= "=") (string_literal ""error: %s not found, can\'t be updated"" (" """) (string_content "error: %s not found, can") (escape_sequence "\'") (string_content "t be updated") (" """))) (; ";")) (goto_statement "goto LAB_00018bc8;" (goto "goto") (statement_identifier "LAB_00018bc8") (; ";")) (} "}"))) (expression_statement "psVar38 = *(size_t **)(iVar9 + 0x3c);" (assignment_expression "psVar38 = *(size_t **)(iVar9 + 0x3c)" (identifier "psVar38") (= "=") (pointer_expression "*(size_t **)(iVar9 + 0x3c)" (* "*") (cast_expression "(size_t **)(iVar9 + 0x3c)" (( "(") (type_descriptor "size_t **" (primitive_type "size_t") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar9 + 0x3c)" (( "(") (binary_expression "iVar9 + 0x3c" (identifier "iVar9") (+ "+") (number_literal "0x3c")) () ")"))))) (; ";")) (expression_statement "local_50 = bfd_set_section_size(param_2,psVar38,puVar37[3]);" (assignment_expression "local_50 = bfd_set_section_size(param_2,psVar38,puVar37[3])" (identifier "local_50") (= "=") (call_expression "bfd_set_section_size(param_2,psVar38,puVar37[3])" (identifier "bfd_set_section_size") (argument_list "(param_2,psVar38,puVar37[3])" (( "(") (identifier "param_2") (, ",") (identifier "psVar38") (, ",") (subscript_expression "puVar37[3]" (identifier "puVar37") ([ "[") (number_literal "3") (] "]")) () ")")))) (; ";")) (if_statement "if (local_50 == 0) goto LAB_00019763;" (if "if") (parenthesized_expression "(local_50 == 0)" (( "(") (binary_expression "local_50 == 0" (identifier "local_50") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00019763;" (goto "goto") (statement_identifier "LAB_00019763") (; ";"))) (} "}"))) (if_statement "if ((((DAT_0003fb84 != 0) &&\n       (sVar17 = bfd_get_section_by_name(param_1,".gnu.build.attributes"), sVar17 != 0)) &&\n      (DAT_0003fb84 != 0)) &&\n     ((*(int *)(param_1[1] + 4) == 5 && (iVar9 = FUN_00017590(), iVar9 != 0)))) {\n    uVar35 = *(uint *)(sVar17 + 0x24);\n    if (uVar35 == 0) {\n      uVar10 = dcgettext(0,"warning: note section is empty",5,0);\n      FUN_0002c160(0,param_1,sVar17,uVar10);\n      DAT_0003fb84 = 0;\n    }\n    else {\n      iVar9 = bfd_get_full_section_contents(param_1,sVar17,&DAT_0003fb80,uVar35);\n      psVar38 = DAT_0003fb80;\n      if (iVar9 == 0) {\n        uVar10 = dcgettext(0,"warning: could not load note section",5,0);\n        FUN_0002c160(0,param_1,sVar17,uVar10);\n        free(DAT_0003fb80);\n        DAT_0003fb80 = (size_t *)0x0;\n        DAT_0003fb84 = 0;\n      }\n      else {\n        iVar9 = bfd_get_reloc_upper_bound(param_1,sVar17,sVar17,sVar17);\n        psVar20 = param_1;\n        sVar18 = sVar17;\n        if (0 < iVar9) {\n          psVar20 = (size_t *)xmalloc(iVar9);\n          sVar18 = bfd_canonicalize_reloc(param_1,sVar17,psVar20,DAT_0003fb9c);\n          free(psVar20);\n          if (sVar18 == 0) goto LAB_0001a478;\n          local_60 = (size_t *)0x0;\n          goto LAB_0001a75c;\n        }\nLAB_0001a478:\n        pvVar44 = (void *)0x24;\n        psVar46 = psVar20;\n        local_60 = (size_t *)xcalloc(uVar35 / 0xc,0x24,psVar20,psVar20);\n        local_90 = (void *)0x0;\n        local_98 = 0;\n        local_8c = 0;\n        local_94 = 0;\n        local_6c = 0;\n        local_84 = (int *)0x0;\n        local_80 = (size_t *)0x0;\n        psVar25 = psVar38;\n        psVar34 = psVar38;\n        local_74 = uVar35;\n        local_64 = local_60;\n        while (0xb < local_74) {\n          iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25);\n          uVar26 = iVar9 + 3U & 0xfffffffc;\n          *local_64 = uVar26;\n          iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25 + 1);\n          uVar39 = iVar9 + 3U & 0xfffffffc;\n          sVar18 = param_1[1];\n          local_64[1] = uVar39;\n          sVar23 = (**(code **)(sVar18 + 0x28))(psVar25 + 2);\n          local_64[2] = sVar23;\n          if (1 < sVar23 - 0x100) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: wrong note type",5,\n                              extraout_ECX_01);\n            goto LAB_0001a72d;\n          }\n          iVar9 = uVar26 + uVar39;\n          if (local_74 < iVar9 + 0xcU) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: note too big",5,psVar25);\n            goto LAB_0001a72d;\n          }\n          if (uVar26 < 2) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name too small",5,iVar9);\n            goto LAB_0001a72d;\n          }\n          local_64[3] = (size_t)(psVar25 + 3);\n          sVar2 = (int)psVar25 + uVar26 + 0xc;\n          local_64[4] = sVar2;\n          psVar34 = (size_t *)(-0xc - iVar9);\n          local_74 = local_74 + (int)psVar34;\n          cVar8 = (char)psVar25[3];\n          if (cVar8 == '$') {\n            if ((*(char *)((int)psVar25 + 0xd) == '\x01') && (*(char *)((int)psVar25 + 0xe) == '1'))\n            {\n              local_80 = (size_t *)((int)local_80 + 1);\n            }\n          }\n          else if ((((4 < uVar26) && (cVar8 == 'G')) && (*(char *)((int)psVar25 + 0xd) == 'A')) &&\n                  ((*(char *)((int)psVar25 + 0xe) == '$' &&\n                   (*(char *)((int)psVar25 + 0xf) == '\x01')))) {\n            cVar8 = (char)psVar25[4];\n            if (cVar8 == '2') {\n              local_84 = (int *)((int)local_84 + 1);\n            }\n            else {\n              if (cVar8 != '3') {\n                iVar9 = dcgettext(0,"corrupt GNU build attribute note: unsupported version",5,cVar8)\n                ;\n                goto LAB_0001a72d;\n              }\n              local_6c = local_6c + 1;\n            }\n          }\n          if (uVar39 == 4) {\n            sVar18 = (**(code **)(param_1[1] + 0x28))(sVar2);\n            pvVar24 = (void *)0xffffffff;\n          }\n          else if (uVar39 < 5) {\n            if (uVar39 != 0) {\nLAB_0001a7ea:\n              iVar9 = dcgettext(0,"corrupt GNU build attribute note: bad description size",5,cVar8);\n              goto LAB_0001a72d;\n            }\n            pvVar24 = (void *)0x0;\n            sVar18 = 0;\n          }\n          else {\n            psVar34 = param_1;\n            if (uVar39 == 8) {\n              sVar18 = param_1[1];\n              if ((*(int *)(sVar18 + 4) == 5) && (*(char *)(param_1[0x27] + 4) == '\x02')) {\n                sVar18 = (**(code **)(sVar18 + 0x1c))(sVar2);\n                pvVar24 = (void *)0xffffffff;\n              }\n              else {\n                sVar18 = (**(code **)(sVar18 + 0x28))(sVar2);\n                pvVar24 = (void *)(**(code **)(param_1[1] + 0x28))(sVar2 + 4);\n              }\n            }\n            else {\n              if (uVar39 != 0x10) goto LAB_0001a7ea;\n              sVar18 = (**(code **)(param_1[1] + 0x1c))(sVar2);\n              pvVar24 = (void *)(**(code **)(param_1[1] + 0x1c))(sVar2 + 8);\n            }\n          }\n          if (sVar23 == 0x100) {\n            if (sVar18 == 0) {\n              sVar18 = local_8c;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = local_90;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_90 = pvVar24;\n            local_8c = sVar18;\n          }\n          else {\n            if (sVar18 == 0) {\n              sVar18 = local_94;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = (void *)local_98;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_98 = (size_t)pvVar24;\n            local_94 = sVar18;\n          }\n          if (*(char *)((local_64[3] - 1) + *local_64) != '\0') {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name not NUL terminated",5,\n                              *local_64);\n            goto LAB_0001a72d;\n          }\n          local_64 = local_64 + 9;\n          psVar25 = (size_t *)(iVar9 + 0xcU + (int)psVar25);\n        }\n        if (local_74 == 0) {\n          uVar26 = (uint)local_84 | local_6c;\n          if (local_80 == (size_t *)0x0 && uVar26 == 0) {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: no known versions detected",5,uVar26\n                             );\n            goto LAB_0001a72d;\n          }\n          if (((local_80 != (size_t *)0x0) && (uVar26 != 0)) ||\n             ((local_84 != (int *)0x0 && (local_6c != 0)))) {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: multiple different versions",5,\n                              sVar18);\n            goto LAB_0001a72d;\n          }\n          if ((local_80 == (size_t *)0x1 || local_84 == (int *)0x1) || (local_6c == 1))\n          goto LAB_0001a75c;\n          uVar26 = -(uint)(local_80 == (size_t *)0x0) & 2;\n          iVar9 = uVar26 + 1;\n          if (*(char *)(local_60[3] + iVar9) != '\x01') {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: first note not version note",5,\n                              psVar34);\n            goto LAB_0001a72d;\n          }\n          bVar40 = false;\n          iVar12 = uVar26 + 2;\n          psVar25 = local_60;\nLAB_0001a954:\n          psVar34 = psVar25;\n          psVar25 = psVar34 + 9;\n          if (psVar25 < local_64) {\n            if (psVar34[0xb] == 0x100) {\n              pvVar24 = (void *)psVar34[0xc];\n              local_7c = (size_t *)0x0;\n              psVar45 = psVar25;\n              do {\n                do {\n                  psVar6 = psVar45;\n                  psVar45 = psVar6 + -9;\n                  if (psVar45 < local_60) goto LAB_0001a954;\n                  pvVar30 = (void *)psVar6[-6];\n                  psVar7 = local_7c;\n                } while ((((local_7c == (size_t *)0x0) && (psVar6[-8] != 0)) &&\n                         (psVar7 = psVar45, psVar6[-7] == 0x101)) ||\n                        ((local_7c = psVar7,\n                         *(char *)((int)pvVar24 + iVar9) != *(char *)((int)pvVar30 + iVar9) ||\n                         (psVar6[-7] != 0x100))));\n                if (*(char *)((int)pvVar30 + iVar9) != '\x04') {\n                  psVar45 = (size_t *)*psVar45;\n                  if ((((psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)) &&\n                      ((uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0))))\n                     && ((0xfffffff0 < uVar26 || (psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0))))) {\n                    psVar34[0xb] = 0;\n                    if (uVar26 < uVar39) {\n                      psVar6[-2] = uVar39;\n                    }\n                    bVar40 = true;\n                    if (local_6c != 0) {\n                      psVar6[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0)) {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    psVar34[0x11] = 1;\n                    psVar34[0xb] = 0x101;\n                    psVar6[-1] = 1;\n                    psVar6[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }\n                uVar26 = 0;\n                for (iVar21 = 0; (int)*psVar25 - iVar12 != iVar21; iVar21 = iVar21 + 1) {\n                  uVar26 = uVar26 | (uint)*(byte *)((int)pvVar24 + iVar21 + iVar12) <<\n                                    ((char)iVar21 * '\b' & 0x1fU);\n                }\n                sVar18 = *psVar45;\n                local_5c = (int *)0x0;\n                for (uVar39 = 0; sVar18 - iVar12 != uVar39; uVar39 = uVar39 + 1) {\n                  local_5c = (int *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39] <<\n                                    ((char)uVar39 * '\b' & 0x1fU));\n                }\n                uVar28 = 0;\n                uVar26 = (int)local_5c + uVar26;\n                for (uVar27 = uVar26; uVar27 != 0; uVar27 = uVar27 >> 8) {\n                  uVar28 = uVar28 + 1;\n                }\n              } while (uVar39 <= uVar28);\n              puVar29 = (undefined1 *)((int)pvVar30 + iVar12);\n              while (puVar29 < (undefined1 *)((int)pvVar30 + sVar18)) {\n                *puVar29 = (char)uVar26;\n                if (uVar26 == 0) break;\n                uVar26 = uVar26 >> 8;\n                puVar29 = puVar29 + 1;\n              }\n              psVar34[0xb] = 0;\n              bVar40 = true;\n            }\n            goto LAB_0001a954;\n          }\n          if (!bVar40) goto LAB_0001a75c;\n          pvVar24 = (void *)xmalloc(uVar35,pvVar44,psVar20,psVar46);\n          sVar18 = 0;\n          pvVar44 = pvVar24;\n          local_80 = psVar38;\n          for (psVar20 = local_60; psVar20 < local_64; psVar20 = psVar20 + 9) {\n            sVar23 = *psVar20;\n            __n = psVar20[1] + sVar23 + 0xc;\n            sVar2 = psVar20[2];\n            pvVar30 = pvVar44;\n            if (sVar2 != 0) {\n              if (psVar20[8] == 0) {\n                memcpy(pvVar44,local_80,__n);\n                pvVar30 = (void *)((int)pvVar44 + __n);\n              }\n              else {\n                sVar5 = psVar20[6];\n                __dest = (void *)((int)pvVar44 + 0xc);\n                pvVar30 = (void *)((int)__dest + sVar23);\n                if ((sVar5 == local_74) && (psVar20[7] == sVar18)) {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar5,sVar5);\n                  (**(code **)(param_1[1] + 0x30))(0,(int)pvVar44 + 4);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                }\n                else {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar18,sVar18);\n                  cVar8 = '\b';\n                  if (*(int *)(param_1[1] + 4) == 5) {\n                    cVar8 = (*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b';\n                  }\n                  (**(code **)(param_1[1] + 0x30))(cVar8,(int)pvVar44 + 4,sVar23,sVar23);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                  sVar18 = param_1[1];\n                  psVar25 = param_1;\n                  if ((*(int *)(sVar18 + 4) == 5) &&\n                     (psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02')) {\n                    (**(code **)(sVar18 + 0x24))(sVar5,0,pvVar30,psVar25);\n                    (**(code **)(param_1[1] + 0x24))(psVar20[7],0,(void *)((int)pvVar30 + 8));\n                    pvVar30 = (void *)((int)pvVar30 + 0x10);\n                  }\n                  else {\n                    (**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25);\n                    (**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4);\n                    pvVar30 = (void *)((int)pvVar30 + 8);\n                  }\n                }\n              }\n              local_74 = psVar20[6];\n              sVar18 = psVar20[7];\n            }\n            local_80 = (size_t *)((int)local_80 + __n);\n            pvVar44 = pvVar30;\n          }\n          sVar18 = (int)pvVar44 - (int)pvVar24;\n          memcpy(psVar38,pvVar24,sVar18);\n          free(pvVar24);\n          free(local_60);\n          DAT_0003fb7c = sVar18;\n          if (uVar35 != sVar18) {\n            uVar10 = extraout_ECX_02;\n            if ((*(int *)(sVar17 + 0x3c) != 0) &&\n               (iVar9 = bfd_set_section_size(param_2,*(int *)(sVar17 + 0x3c),sVar18,extraout_EDX),\n               uVar10 = extraout_ECX_03, iVar9 != 0)) goto LAB_00018aad;\n            uVar10 = dcgettext(0,"warning: failed to set merged notes size",5,uVar10);\n            FUN_0002c160(0,param_2,sVar17,uVar10);\n          }\n        }\n        else {\n          iVar9 = dcgettext(0,"corrupt GNU build attribute notes: excess data at end",5,local_64);\nLAB_0001a72d:\n          if (iVar9 != 0) {\n            bfd_set_error(0x11);\n            FUN_0002c160(0,param_1,sVar17,iVar9);\n            DAT_0003fb88 = 1;\n          }\nLAB_0001a75c:\n          free(local_60);\n        }\n        free(DAT_0003fb80);\n        DAT_0003fb80 = (size_t *)0x0;\n        DAT_0003fb84 = 0;\n        DAT_0003fb7c = 0;\n      }\n    }\n  }" (if "if") (parenthesized_expression "((((DAT_0003fb84 != 0) &&\n       (sVar17 = bfd_get_section_by_name(param_1,".gnu.build.attributes"), sVar17 != 0)) &&\n      (DAT_0003fb84 != 0)) &&\n     ((*(int *)(param_1[1] + 4) == 5 && (iVar9 = FUN_00017590(), iVar9 != 0))))" (( "(") (binary_expression "(((DAT_0003fb84 != 0) &&\n       (sVar17 = bfd_get_section_by_name(param_1,".gnu.build.attributes"), sVar17 != 0)) &&\n      (DAT_0003fb84 != 0)) &&\n     ((*(int *)(param_1[1] + 4) == 5 && (iVar9 = FUN_00017590(), iVar9 != 0)))" (parenthesized_expression "(((DAT_0003fb84 != 0) &&\n       (sVar17 = bfd_get_section_by_name(param_1,".gnu.build.attributes"), sVar17 != 0)) &&\n      (DAT_0003fb84 != 0))" (( "(") (binary_expression "((DAT_0003fb84 != 0) &&\n       (sVar17 = bfd_get_section_by_name(param_1,".gnu.build.attributes"), sVar17 != 0)) &&\n      (DAT_0003fb84 != 0)" (parenthesized_expression "((DAT_0003fb84 != 0) &&\n       (sVar17 = bfd_get_section_by_name(param_1,".gnu.build.attributes"), sVar17 != 0))" (( "(") (binary_expression "(DAT_0003fb84 != 0) &&\n       (sVar17 = bfd_get_section_by_name(param_1,".gnu.build.attributes"), sVar17 != 0)" (parenthesized_expression "(DAT_0003fb84 != 0)" (( "(") (binary_expression "DAT_0003fb84 != 0" (identifier "DAT_0003fb84") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(sVar17 = bfd_get_section_by_name(param_1,".gnu.build.attributes"), sVar17 != 0)" (( "(") (comma_expression "sVar17 = bfd_get_section_by_name(param_1,".gnu.build.attributes"), sVar17 != 0" (assignment_expression "sVar17 = bfd_get_section_by_name(param_1,".gnu.build.attributes")" (identifier "sVar17") (= "=") (call_expression "bfd_get_section_by_name(param_1,".gnu.build.attributes")" (identifier "bfd_get_section_by_name") (argument_list "(param_1,".gnu.build.attributes")" (( "(") (identifier "param_1") (, ",") (string_literal "".gnu.build.attributes"" (" """) (string_content ".gnu.build.attributes") (" """)) () ")")))) (, ",") (binary_expression "sVar17 != 0" (identifier "sVar17") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(DAT_0003fb84 != 0)" (( "(") (binary_expression "DAT_0003fb84 != 0" (identifier "DAT_0003fb84") (!= "!=") (number_literal "0")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((*(int *)(param_1[1] + 4) == 5 && (iVar9 = FUN_00017590(), iVar9 != 0)))" (( "(") (parenthesized_expression "(*(int *)(param_1[1] + 4) == 5 && (iVar9 = FUN_00017590(), iVar9 != 0))" (( "(") (binary_expression "*(int *)(param_1[1] + 4) == 5 && (iVar9 = FUN_00017590(), iVar9 != 0)" (binary_expression "*(int *)(param_1[1] + 4) == 5" (pointer_expression "*(int *)(param_1[1] + 4)" (* "*") (cast_expression "(int *)(param_1[1] + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[1] + 4)" (( "(") (binary_expression "param_1[1] + 4" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "4")) () ")")))) (== "==") (number_literal "5")) (&& "&&") (parenthesized_expression "(iVar9 = FUN_00017590(), iVar9 != 0)" (( "(") (comma_expression "iVar9 = FUN_00017590(), iVar9 != 0" (assignment_expression "iVar9 = FUN_00017590()" (identifier "iVar9") (= "=") (call_expression "FUN_00017590()" (identifier "FUN_00017590") (argument_list "()" (( "(") () ")")))) (, ",") (binary_expression "iVar9 != 0" (identifier "iVar9") (!= "!=") (number_literal "0"))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n    uVar35 = *(uint *)(sVar17 + 0x24);\n    if (uVar35 == 0) {\n      uVar10 = dcgettext(0,"warning: note section is empty",5,0);\n      FUN_0002c160(0,param_1,sVar17,uVar10);\n      DAT_0003fb84 = 0;\n    }\n    else {\n      iVar9 = bfd_get_full_section_contents(param_1,sVar17,&DAT_0003fb80,uVar35);\n      psVar38 = DAT_0003fb80;\n      if (iVar9 == 0) {\n        uVar10 = dcgettext(0,"warning: could not load note section",5,0);\n        FUN_0002c160(0,param_1,sVar17,uVar10);\n        free(DAT_0003fb80);\n        DAT_0003fb80 = (size_t *)0x0;\n        DAT_0003fb84 = 0;\n      }\n      else {\n        iVar9 = bfd_get_reloc_upper_bound(param_1,sVar17,sVar17,sVar17);\n        psVar20 = param_1;\n        sVar18 = sVar17;\n        if (0 < iVar9) {\n          psVar20 = (size_t *)xmalloc(iVar9);\n          sVar18 = bfd_canonicalize_reloc(param_1,sVar17,psVar20,DAT_0003fb9c);\n          free(psVar20);\n          if (sVar18 == 0) goto LAB_0001a478;\n          local_60 = (size_t *)0x0;\n          goto LAB_0001a75c;\n        }\nLAB_0001a478:\n        pvVar44 = (void *)0x24;\n        psVar46 = psVar20;\n        local_60 = (size_t *)xcalloc(uVar35 / 0xc,0x24,psVar20,psVar20);\n        local_90 = (void *)0x0;\n        local_98 = 0;\n        local_8c = 0;\n        local_94 = 0;\n        local_6c = 0;\n        local_84 = (int *)0x0;\n        local_80 = (size_t *)0x0;\n        psVar25 = psVar38;\n        psVar34 = psVar38;\n        local_74 = uVar35;\n        local_64 = local_60;\n        while (0xb < local_74) {\n          iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25);\n          uVar26 = iVar9 + 3U & 0xfffffffc;\n          *local_64 = uVar26;\n          iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25 + 1);\n          uVar39 = iVar9 + 3U & 0xfffffffc;\n          sVar18 = param_1[1];\n          local_64[1] = uVar39;\n          sVar23 = (**(code **)(sVar18 + 0x28))(psVar25 + 2);\n          local_64[2] = sVar23;\n          if (1 < sVar23 - 0x100) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: wrong note type",5,\n                              extraout_ECX_01);\n            goto LAB_0001a72d;\n          }\n          iVar9 = uVar26 + uVar39;\n          if (local_74 < iVar9 + 0xcU) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: note too big",5,psVar25);\n            goto LAB_0001a72d;\n          }\n          if (uVar26 < 2) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name too small",5,iVar9);\n            goto LAB_0001a72d;\n          }\n          local_64[3] = (size_t)(psVar25 + 3);\n          sVar2 = (int)psVar25 + uVar26 + 0xc;\n          local_64[4] = sVar2;\n          psVar34 = (size_t *)(-0xc - iVar9);\n          local_74 = local_74 + (int)psVar34;\n          cVar8 = (char)psVar25[3];\n          if (cVar8 == '$') {\n            if ((*(char *)((int)psVar25 + 0xd) == '\x01') && (*(char *)((int)psVar25 + 0xe) == '1'))\n            {\n              local_80 = (size_t *)((int)local_80 + 1);\n            }\n          }\n          else if ((((4 < uVar26) && (cVar8 == 'G')) && (*(char *)((int)psVar25 + 0xd) == 'A')) &&\n                  ((*(char *)((int)psVar25 + 0xe) == '$' &&\n                   (*(char *)((int)psVar25 + 0xf) == '\x01')))) {\n            cVar8 = (char)psVar25[4];\n            if (cVar8 == '2') {\n              local_84 = (int *)((int)local_84 + 1);\n            }\n            else {\n              if (cVar8 != '3') {\n                iVar9 = dcgettext(0,"corrupt GNU build attribute note: unsupported version",5,cVar8)\n                ;\n                goto LAB_0001a72d;\n              }\n              local_6c = local_6c + 1;\n            }\n          }\n          if (uVar39 == 4) {\n            sVar18 = (**(code **)(param_1[1] + 0x28))(sVar2);\n            pvVar24 = (void *)0xffffffff;\n          }\n          else if (uVar39 < 5) {\n            if (uVar39 != 0) {\nLAB_0001a7ea:\n              iVar9 = dcgettext(0,"corrupt GNU build attribute note: bad description size",5,cVar8);\n              goto LAB_0001a72d;\n            }\n            pvVar24 = (void *)0x0;\n            sVar18 = 0;\n          }\n          else {\n            psVar34 = param_1;\n            if (uVar39 == 8) {\n              sVar18 = param_1[1];\n              if ((*(int *)(sVar18 + 4) == 5) && (*(char *)(param_1[0x27] + 4) == '\x02')) {\n                sVar18 = (**(code **)(sVar18 + 0x1c))(sVar2);\n                pvVar24 = (void *)0xffffffff;\n              }\n              else {\n                sVar18 = (**(code **)(sVar18 + 0x28))(sVar2);\n                pvVar24 = (void *)(**(code **)(param_1[1] + 0x28))(sVar2 + 4);\n              }\n            }\n            else {\n              if (uVar39 != 0x10) goto LAB_0001a7ea;\n              sVar18 = (**(code **)(param_1[1] + 0x1c))(sVar2);\n              pvVar24 = (void *)(**(code **)(param_1[1] + 0x1c))(sVar2 + 8);\n            }\n          }\n          if (sVar23 == 0x100) {\n            if (sVar18 == 0) {\n              sVar18 = local_8c;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = local_90;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_90 = pvVar24;\n            local_8c = sVar18;\n          }\n          else {\n            if (sVar18 == 0) {\n              sVar18 = local_94;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = (void *)local_98;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_98 = (size_t)pvVar24;\n            local_94 = sVar18;\n          }\n          if (*(char *)((local_64[3] - 1) + *local_64) != '\0') {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name not NUL terminated",5,\n                              *local_64);\n            goto LAB_0001a72d;\n          }\n          local_64 = local_64 + 9;\n          psVar25 = (size_t *)(iVar9 + 0xcU + (int)psVar25);\n        }\n        if (local_74 == 0) {\n          uVar26 = (uint)local_84 | local_6c;\n          if (local_80 == (size_t *)0x0 && uVar26 == 0) {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: no known versions detected",5,uVar26\n                             );\n            goto LAB_0001a72d;\n          }\n          if (((local_80 != (size_t *)0x0) && (uVar26 != 0)) ||\n             ((local_84 != (int *)0x0 && (local_6c != 0)))) {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: multiple different versions",5,\n                              sVar18);\n            goto LAB_0001a72d;\n          }\n          if ((local_80 == (size_t *)0x1 || local_84 == (int *)0x1) || (local_6c == 1))\n          goto LAB_0001a75c;\n          uVar26 = -(uint)(local_80 == (size_t *)0x0) & 2;\n          iVar9 = uVar26 + 1;\n          if (*(char *)(local_60[3] + iVar9) != '\x01') {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: first note not version note",5,\n                              psVar34);\n            goto LAB_0001a72d;\n          }\n          bVar40 = false;\n          iVar12 = uVar26 + 2;\n          psVar25 = local_60;\nLAB_0001a954:\n          psVar34 = psVar25;\n          psVar25 = psVar34 + 9;\n          if (psVar25 < local_64) {\n            if (psVar34[0xb] == 0x100) {\n              pvVar24 = (void *)psVar34[0xc];\n              local_7c = (size_t *)0x0;\n              psVar45 = psVar25;\n              do {\n                do {\n                  psVar6 = psVar45;\n                  psVar45 = psVar6 + -9;\n                  if (psVar45 < local_60) goto LAB_0001a954;\n                  pvVar30 = (void *)psVar6[-6];\n                  psVar7 = local_7c;\n                } while ((((local_7c == (size_t *)0x0) && (psVar6[-8] != 0)) &&\n                         (psVar7 = psVar45, psVar6[-7] == 0x101)) ||\n                        ((local_7c = psVar7,\n                         *(char *)((int)pvVar24 + iVar9) != *(char *)((int)pvVar30 + iVar9) ||\n                         (psVar6[-7] != 0x100))));\n                if (*(char *)((int)pvVar30 + iVar9) != '\x04') {\n                  psVar45 = (size_t *)*psVar45;\n                  if ((((psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)) &&\n                      ((uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0))))\n                     && ((0xfffffff0 < uVar26 || (psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0))))) {\n                    psVar34[0xb] = 0;\n                    if (uVar26 < uVar39) {\n                      psVar6[-2] = uVar39;\n                    }\n                    bVar40 = true;\n                    if (local_6c != 0) {\n                      psVar6[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0)) {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    psVar34[0x11] = 1;\n                    psVar34[0xb] = 0x101;\n                    psVar6[-1] = 1;\n                    psVar6[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }\n                uVar26 = 0;\n                for (iVar21 = 0; (int)*psVar25 - iVar12 != iVar21; iVar21 = iVar21 + 1) {\n                  uVar26 = uVar26 | (uint)*(byte *)((int)pvVar24 + iVar21 + iVar12) <<\n                                    ((char)iVar21 * '\b' & 0x1fU);\n                }\n                sVar18 = *psVar45;\n                local_5c = (int *)0x0;\n                for (uVar39 = 0; sVar18 - iVar12 != uVar39; uVar39 = uVar39 + 1) {\n                  local_5c = (int *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39] <<\n                                    ((char)uVar39 * '\b' & 0x1fU));\n                }\n                uVar28 = 0;\n                uVar26 = (int)local_5c + uVar26;\n                for (uVar27 = uVar26; uVar27 != 0; uVar27 = uVar27 >> 8) {\n                  uVar28 = uVar28 + 1;\n                }\n              } while (uVar39 <= uVar28);\n              puVar29 = (undefined1 *)((int)pvVar30 + iVar12);\n              while (puVar29 < (undefined1 *)((int)pvVar30 + sVar18)) {\n                *puVar29 = (char)uVar26;\n                if (uVar26 == 0) break;\n                uVar26 = uVar26 >> 8;\n                puVar29 = puVar29 + 1;\n              }\n              psVar34[0xb] = 0;\n              bVar40 = true;\n            }\n            goto LAB_0001a954;\n          }\n          if (!bVar40) goto LAB_0001a75c;\n          pvVar24 = (void *)xmalloc(uVar35,pvVar44,psVar20,psVar46);\n          sVar18 = 0;\n          pvVar44 = pvVar24;\n          local_80 = psVar38;\n          for (psVar20 = local_60; psVar20 < local_64; psVar20 = psVar20 + 9) {\n            sVar23 = *psVar20;\n            __n = psVar20[1] + sVar23 + 0xc;\n            sVar2 = psVar20[2];\n            pvVar30 = pvVar44;\n            if (sVar2 != 0) {\n              if (psVar20[8] == 0) {\n                memcpy(pvVar44,local_80,__n);\n                pvVar30 = (void *)((int)pvVar44 + __n);\n              }\n              else {\n                sVar5 = psVar20[6];\n                __dest = (void *)((int)pvVar44 + 0xc);\n                pvVar30 = (void *)((int)__dest + sVar23);\n                if ((sVar5 == local_74) && (psVar20[7] == sVar18)) {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar5,sVar5);\n                  (**(code **)(param_1[1] + 0x30))(0,(int)pvVar44 + 4);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                }\n                else {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar18,sVar18);\n                  cVar8 = '\b';\n                  if (*(int *)(param_1[1] + 4) == 5) {\n                    cVar8 = (*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b';\n                  }\n                  (**(code **)(param_1[1] + 0x30))(cVar8,(int)pvVar44 + 4,sVar23,sVar23);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                  sVar18 = param_1[1];\n                  psVar25 = param_1;\n                  if ((*(int *)(sVar18 + 4) == 5) &&\n                     (psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02')) {\n                    (**(code **)(sVar18 + 0x24))(sVar5,0,pvVar30,psVar25);\n                    (**(code **)(param_1[1] + 0x24))(psVar20[7],0,(void *)((int)pvVar30 + 8));\n                    pvVar30 = (void *)((int)pvVar30 + 0x10);\n                  }\n                  else {\n                    (**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25);\n                    (**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4);\n                    pvVar30 = (void *)((int)pvVar30 + 8);\n                  }\n                }\n              }\n              local_74 = psVar20[6];\n              sVar18 = psVar20[7];\n            }\n            local_80 = (size_t *)((int)local_80 + __n);\n            pvVar44 = pvVar30;\n          }\n          sVar18 = (int)pvVar44 - (int)pvVar24;\n          memcpy(psVar38,pvVar24,sVar18);\n          free(pvVar24);\n          free(local_60);\n          DAT_0003fb7c = sVar18;\n          if (uVar35 != sVar18) {\n            uVar10 = extraout_ECX_02;\n            if ((*(int *)(sVar17 + 0x3c) != 0) &&\n               (iVar9 = bfd_set_section_size(param_2,*(int *)(sVar17 + 0x3c),sVar18,extraout_EDX),\n               uVar10 = extraout_ECX_03, iVar9 != 0)) goto LAB_00018aad;\n            uVar10 = dcgettext(0,"warning: failed to set merged notes size",5,uVar10);\n            FUN_0002c160(0,param_2,sVar17,uVar10);\n          }\n        }\n        else {\n          iVar9 = dcgettext(0,"corrupt GNU build attribute notes: excess data at end",5,local_64);\nLAB_0001a72d:\n          if (iVar9 != 0) {\n            bfd_set_error(0x11);\n            FUN_0002c160(0,param_1,sVar17,iVar9);\n            DAT_0003fb88 = 1;\n          }\nLAB_0001a75c:\n          free(local_60);\n        }\n        free(DAT_0003fb80);\n        DAT_0003fb80 = (size_t *)0x0;\n        DAT_0003fb84 = 0;\n        DAT_0003fb7c = 0;\n      }\n    }\n  }" ({ "{") (expression_statement "uVar35 = *(uint *)(sVar17 + 0x24);" (assignment_expression "uVar35 = *(uint *)(sVar17 + 0x24)" (identifier "uVar35") (= "=") (pointer_expression "*(uint *)(sVar17 + 0x24)" (* "*") (cast_expression "(uint *)(sVar17 + 0x24)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(sVar17 + 0x24)" (( "(") (binary_expression "sVar17 + 0x24" (identifier "sVar17") (+ "+") (number_literal "0x24")) () ")"))))) (; ";")) (if_statement "if (uVar35 == 0) {\n      uVar10 = dcgettext(0,"warning: note section is empty",5,0);\n      FUN_0002c160(0,param_1,sVar17,uVar10);\n      DAT_0003fb84 = 0;\n    }\n    else {\n      iVar9 = bfd_get_full_section_contents(param_1,sVar17,&DAT_0003fb80,uVar35);\n      psVar38 = DAT_0003fb80;\n      if (iVar9 == 0) {\n        uVar10 = dcgettext(0,"warning: could not load note section",5,0);\n        FUN_0002c160(0,param_1,sVar17,uVar10);\n        free(DAT_0003fb80);\n        DAT_0003fb80 = (size_t *)0x0;\n        DAT_0003fb84 = 0;\n      }\n      else {\n        iVar9 = bfd_get_reloc_upper_bound(param_1,sVar17,sVar17,sVar17);\n        psVar20 = param_1;\n        sVar18 = sVar17;\n        if (0 < iVar9) {\n          psVar20 = (size_t *)xmalloc(iVar9);\n          sVar18 = bfd_canonicalize_reloc(param_1,sVar17,psVar20,DAT_0003fb9c);\n          free(psVar20);\n          if (sVar18 == 0) goto LAB_0001a478;\n          local_60 = (size_t *)0x0;\n          goto LAB_0001a75c;\n        }\nLAB_0001a478:\n        pvVar44 = (void *)0x24;\n        psVar46 = psVar20;\n        local_60 = (size_t *)xcalloc(uVar35 / 0xc,0x24,psVar20,psVar20);\n        local_90 = (void *)0x0;\n        local_98 = 0;\n        local_8c = 0;\n        local_94 = 0;\n        local_6c = 0;\n        local_84 = (int *)0x0;\n        local_80 = (size_t *)0x0;\n        psVar25 = psVar38;\n        psVar34 = psVar38;\n        local_74 = uVar35;\n        local_64 = local_60;\n        while (0xb < local_74) {\n          iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25);\n          uVar26 = iVar9 + 3U & 0xfffffffc;\n          *local_64 = uVar26;\n          iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25 + 1);\n          uVar39 = iVar9 + 3U & 0xfffffffc;\n          sVar18 = param_1[1];\n          local_64[1] = uVar39;\n          sVar23 = (**(code **)(sVar18 + 0x28))(psVar25 + 2);\n          local_64[2] = sVar23;\n          if (1 < sVar23 - 0x100) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: wrong note type",5,\n                              extraout_ECX_01);\n            goto LAB_0001a72d;\n          }\n          iVar9 = uVar26 + uVar39;\n          if (local_74 < iVar9 + 0xcU) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: note too big",5,psVar25);\n            goto LAB_0001a72d;\n          }\n          if (uVar26 < 2) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name too small",5,iVar9);\n            goto LAB_0001a72d;\n          }\n          local_64[3] = (size_t)(psVar25 + 3);\n          sVar2 = (int)psVar25 + uVar26 + 0xc;\n          local_64[4] = sVar2;\n          psVar34 = (size_t *)(-0xc - iVar9);\n          local_74 = local_74 + (int)psVar34;\n          cVar8 = (char)psVar25[3];\n          if (cVar8 == '$') {\n            if ((*(char *)((int)psVar25 + 0xd) == '\x01') && (*(char *)((int)psVar25 + 0xe) == '1'))\n            {\n              local_80 = (size_t *)((int)local_80 + 1);\n            }\n          }\n          else if ((((4 < uVar26) && (cVar8 == 'G')) && (*(char *)((int)psVar25 + 0xd) == 'A')) &&\n                  ((*(char *)((int)psVar25 + 0xe) == '$' &&\n                   (*(char *)((int)psVar25 + 0xf) == '\x01')))) {\n            cVar8 = (char)psVar25[4];\n            if (cVar8 == '2') {\n              local_84 = (int *)((int)local_84 + 1);\n            }\n            else {\n              if (cVar8 != '3') {\n                iVar9 = dcgettext(0,"corrupt GNU build attribute note: unsupported version",5,cVar8)\n                ;\n                goto LAB_0001a72d;\n              }\n              local_6c = local_6c + 1;\n            }\n          }\n          if (uVar39 == 4) {\n            sVar18 = (**(code **)(param_1[1] + 0x28))(sVar2);\n            pvVar24 = (void *)0xffffffff;\n          }\n          else if (uVar39 < 5) {\n            if (uVar39 != 0) {\nLAB_0001a7ea:\n              iVar9 = dcgettext(0,"corrupt GNU build attribute note: bad description size",5,cVar8);\n              goto LAB_0001a72d;\n            }\n            pvVar24 = (void *)0x0;\n            sVar18 = 0;\n          }\n          else {\n            psVar34 = param_1;\n            if (uVar39 == 8) {\n              sVar18 = param_1[1];\n              if ((*(int *)(sVar18 + 4) == 5) && (*(char *)(param_1[0x27] + 4) == '\x02')) {\n                sVar18 = (**(code **)(sVar18 + 0x1c))(sVar2);\n                pvVar24 = (void *)0xffffffff;\n              }\n              else {\n                sVar18 = (**(code **)(sVar18 + 0x28))(sVar2);\n                pvVar24 = (void *)(**(code **)(param_1[1] + 0x28))(sVar2 + 4);\n              }\n            }\n            else {\n              if (uVar39 != 0x10) goto LAB_0001a7ea;\n              sVar18 = (**(code **)(param_1[1] + 0x1c))(sVar2);\n              pvVar24 = (void *)(**(code **)(param_1[1] + 0x1c))(sVar2 + 8);\n            }\n          }\n          if (sVar23 == 0x100) {\n            if (sVar18 == 0) {\n              sVar18 = local_8c;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = local_90;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_90 = pvVar24;\n            local_8c = sVar18;\n          }\n          else {\n            if (sVar18 == 0) {\n              sVar18 = local_94;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = (void *)local_98;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_98 = (size_t)pvVar24;\n            local_94 = sVar18;\n          }\n          if (*(char *)((local_64[3] - 1) + *local_64) != '\0') {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name not NUL terminated",5,\n                              *local_64);\n            goto LAB_0001a72d;\n          }\n          local_64 = local_64 + 9;\n          psVar25 = (size_t *)(iVar9 + 0xcU + (int)psVar25);\n        }\n        if (local_74 == 0) {\n          uVar26 = (uint)local_84 | local_6c;\n          if (local_80 == (size_t *)0x0 && uVar26 == 0) {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: no known versions detected",5,uVar26\n                             );\n            goto LAB_0001a72d;\n          }\n          if (((local_80 != (size_t *)0x0) && (uVar26 != 0)) ||\n             ((local_84 != (int *)0x0 && (local_6c != 0)))) {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: multiple different versions",5,\n                              sVar18);\n            goto LAB_0001a72d;\n          }\n          if ((local_80 == (size_t *)0x1 || local_84 == (int *)0x1) || (local_6c == 1))\n          goto LAB_0001a75c;\n          uVar26 = -(uint)(local_80 == (size_t *)0x0) & 2;\n          iVar9 = uVar26 + 1;\n          if (*(char *)(local_60[3] + iVar9) != '\x01') {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: first note not version note",5,\n                              psVar34);\n            goto LAB_0001a72d;\n          }\n          bVar40 = false;\n          iVar12 = uVar26 + 2;\n          psVar25 = local_60;\nLAB_0001a954:\n          psVar34 = psVar25;\n          psVar25 = psVar34 + 9;\n          if (psVar25 < local_64) {\n            if (psVar34[0xb] == 0x100) {\n              pvVar24 = (void *)psVar34[0xc];\n              local_7c = (size_t *)0x0;\n              psVar45 = psVar25;\n              do {\n                do {\n                  psVar6 = psVar45;\n                  psVar45 = psVar6 + -9;\n                  if (psVar45 < local_60) goto LAB_0001a954;\n                  pvVar30 = (void *)psVar6[-6];\n                  psVar7 = local_7c;\n                } while ((((local_7c == (size_t *)0x0) && (psVar6[-8] != 0)) &&\n                         (psVar7 = psVar45, psVar6[-7] == 0x101)) ||\n                        ((local_7c = psVar7,\n                         *(char *)((int)pvVar24 + iVar9) != *(char *)((int)pvVar30 + iVar9) ||\n                         (psVar6[-7] != 0x100))));\n                if (*(char *)((int)pvVar30 + iVar9) != '\x04') {\n                  psVar45 = (size_t *)*psVar45;\n                  if ((((psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)) &&\n                      ((uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0))))\n                     && ((0xfffffff0 < uVar26 || (psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0))))) {\n                    psVar34[0xb] = 0;\n                    if (uVar26 < uVar39) {\n                      psVar6[-2] = uVar39;\n                    }\n                    bVar40 = true;\n                    if (local_6c != 0) {\n                      psVar6[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0)) {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    psVar34[0x11] = 1;\n                    psVar34[0xb] = 0x101;\n                    psVar6[-1] = 1;\n                    psVar6[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }\n                uVar26 = 0;\n                for (iVar21 = 0; (int)*psVar25 - iVar12 != iVar21; iVar21 = iVar21 + 1) {\n                  uVar26 = uVar26 | (uint)*(byte *)((int)pvVar24 + iVar21 + iVar12) <<\n                                    ((char)iVar21 * '\b' & 0x1fU);\n                }\n                sVar18 = *psVar45;\n                local_5c = (int *)0x0;\n                for (uVar39 = 0; sVar18 - iVar12 != uVar39; uVar39 = uVar39 + 1) {\n                  local_5c = (int *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39] <<\n                                    ((char)uVar39 * '\b' & 0x1fU));\n                }\n                uVar28 = 0;\n                uVar26 = (int)local_5c + uVar26;\n                for (uVar27 = uVar26; uVar27 != 0; uVar27 = uVar27 >> 8) {\n                  uVar28 = uVar28 + 1;\n                }\n              } while (uVar39 <= uVar28);\n              puVar29 = (undefined1 *)((int)pvVar30 + iVar12);\n              while (puVar29 < (undefined1 *)((int)pvVar30 + sVar18)) {\n                *puVar29 = (char)uVar26;\n                if (uVar26 == 0) break;\n                uVar26 = uVar26 >> 8;\n                puVar29 = puVar29 + 1;\n              }\n              psVar34[0xb] = 0;\n              bVar40 = true;\n            }\n            goto LAB_0001a954;\n          }\n          if (!bVar40) goto LAB_0001a75c;\n          pvVar24 = (void *)xmalloc(uVar35,pvVar44,psVar20,psVar46);\n          sVar18 = 0;\n          pvVar44 = pvVar24;\n          local_80 = psVar38;\n          for (psVar20 = local_60; psVar20 < local_64; psVar20 = psVar20 + 9) {\n            sVar23 = *psVar20;\n            __n = psVar20[1] + sVar23 + 0xc;\n            sVar2 = psVar20[2];\n            pvVar30 = pvVar44;\n            if (sVar2 != 0) {\n              if (psVar20[8] == 0) {\n                memcpy(pvVar44,local_80,__n);\n                pvVar30 = (void *)((int)pvVar44 + __n);\n              }\n              else {\n                sVar5 = psVar20[6];\n                __dest = (void *)((int)pvVar44 + 0xc);\n                pvVar30 = (void *)((int)__dest + sVar23);\n                if ((sVar5 == local_74) && (psVar20[7] == sVar18)) {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar5,sVar5);\n                  (**(code **)(param_1[1] + 0x30))(0,(int)pvVar44 + 4);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                }\n                else {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar18,sVar18);\n                  cVar8 = '\b';\n                  if (*(int *)(param_1[1] + 4) == 5) {\n                    cVar8 = (*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b';\n                  }\n                  (**(code **)(param_1[1] + 0x30))(cVar8,(int)pvVar44 + 4,sVar23,sVar23);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                  sVar18 = param_1[1];\n                  psVar25 = param_1;\n                  if ((*(int *)(sVar18 + 4) == 5) &&\n                     (psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02')) {\n                    (**(code **)(sVar18 + 0x24))(sVar5,0,pvVar30,psVar25);\n                    (**(code **)(param_1[1] + 0x24))(psVar20[7],0,(void *)((int)pvVar30 + 8));\n                    pvVar30 = (void *)((int)pvVar30 + 0x10);\n                  }\n                  else {\n                    (**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25);\n                    (**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4);\n                    pvVar30 = (void *)((int)pvVar30 + 8);\n                  }\n                }\n              }\n              local_74 = psVar20[6];\n              sVar18 = psVar20[7];\n            }\n            local_80 = (size_t *)((int)local_80 + __n);\n            pvVar44 = pvVar30;\n          }\n          sVar18 = (int)pvVar44 - (int)pvVar24;\n          memcpy(psVar38,pvVar24,sVar18);\n          free(pvVar24);\n          free(local_60);\n          DAT_0003fb7c = sVar18;\n          if (uVar35 != sVar18) {\n            uVar10 = extraout_ECX_02;\n            if ((*(int *)(sVar17 + 0x3c) != 0) &&\n               (iVar9 = bfd_set_section_size(param_2,*(int *)(sVar17 + 0x3c),sVar18,extraout_EDX),\n               uVar10 = extraout_ECX_03, iVar9 != 0)) goto LAB_00018aad;\n            uVar10 = dcgettext(0,"warning: failed to set merged notes size",5,uVar10);\n            FUN_0002c160(0,param_2,sVar17,uVar10);\n          }\n        }\n        else {\n          iVar9 = dcgettext(0,"corrupt GNU build attribute notes: excess data at end",5,local_64);\nLAB_0001a72d:\n          if (iVar9 != 0) {\n            bfd_set_error(0x11);\n            FUN_0002c160(0,param_1,sVar17,iVar9);\n            DAT_0003fb88 = 1;\n          }\nLAB_0001a75c:\n          free(local_60);\n        }\n        free(DAT_0003fb80);\n        DAT_0003fb80 = (size_t *)0x0;\n        DAT_0003fb84 = 0;\n        DAT_0003fb7c = 0;\n      }\n    }" (if "if") (parenthesized_expression "(uVar35 == 0)" (( "(") (binary_expression "uVar35 == 0" (identifier "uVar35") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      uVar10 = dcgettext(0,"warning: note section is empty",5,0);\n      FUN_0002c160(0,param_1,sVar17,uVar10);\n      DAT_0003fb84 = 0;\n    }" ({ "{") (expression_statement "uVar10 = dcgettext(0,"warning: note section is empty",5,0);" (assignment_expression "uVar10 = dcgettext(0,"warning: note section is empty",5,0)" (identifier "uVar10") (= "=") (call_expression "dcgettext(0,"warning: note section is empty",5,0)" (identifier "dcgettext") (argument_list "(0,"warning: note section is empty",5,0)" (( "(") (number_literal "0") (, ",") (string_literal ""warning: note section is empty"" (" """) (string_content "warning: note section is empty") (" """)) (, ",") (number_literal "5") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "FUN_0002c160(0,param_1,sVar17,uVar10);" (call_expression "FUN_0002c160(0,param_1,sVar17,uVar10)" (identifier "FUN_0002c160") (argument_list "(0,param_1,sVar17,uVar10)" (( "(") (number_literal "0") (, ",") (identifier "param_1") (, ",") (identifier "sVar17") (, ",") (identifier "uVar10") () ")"))) (; ";")) (expression_statement "DAT_0003fb84 = 0;" (assignment_expression "DAT_0003fb84 = 0" (identifier "DAT_0003fb84") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n      iVar9 = bfd_get_full_section_contents(param_1,sVar17,&DAT_0003fb80,uVar35);\n      psVar38 = DAT_0003fb80;\n      if (iVar9 == 0) {\n        uVar10 = dcgettext(0,"warning: could not load note section",5,0);\n        FUN_0002c160(0,param_1,sVar17,uVar10);\n        free(DAT_0003fb80);\n        DAT_0003fb80 = (size_t *)0x0;\n        DAT_0003fb84 = 0;\n      }\n      else {\n        iVar9 = bfd_get_reloc_upper_bound(param_1,sVar17,sVar17,sVar17);\n        psVar20 = param_1;\n        sVar18 = sVar17;\n        if (0 < iVar9) {\n          psVar20 = (size_t *)xmalloc(iVar9);\n          sVar18 = bfd_canonicalize_reloc(param_1,sVar17,psVar20,DAT_0003fb9c);\n          free(psVar20);\n          if (sVar18 == 0) goto LAB_0001a478;\n          local_60 = (size_t *)0x0;\n          goto LAB_0001a75c;\n        }\nLAB_0001a478:\n        pvVar44 = (void *)0x24;\n        psVar46 = psVar20;\n        local_60 = (size_t *)xcalloc(uVar35 / 0xc,0x24,psVar20,psVar20);\n        local_90 = (void *)0x0;\n        local_98 = 0;\n        local_8c = 0;\n        local_94 = 0;\n        local_6c = 0;\n        local_84 = (int *)0x0;\n        local_80 = (size_t *)0x0;\n        psVar25 = psVar38;\n        psVar34 = psVar38;\n        local_74 = uVar35;\n        local_64 = local_60;\n        while (0xb < local_74) {\n          iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25);\n          uVar26 = iVar9 + 3U & 0xfffffffc;\n          *local_64 = uVar26;\n          iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25 + 1);\n          uVar39 = iVar9 + 3U & 0xfffffffc;\n          sVar18 = param_1[1];\n          local_64[1] = uVar39;\n          sVar23 = (**(code **)(sVar18 + 0x28))(psVar25 + 2);\n          local_64[2] = sVar23;\n          if (1 < sVar23 - 0x100) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: wrong note type",5,\n                              extraout_ECX_01);\n            goto LAB_0001a72d;\n          }\n          iVar9 = uVar26 + uVar39;\n          if (local_74 < iVar9 + 0xcU) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: note too big",5,psVar25);\n            goto LAB_0001a72d;\n          }\n          if (uVar26 < 2) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name too small",5,iVar9);\n            goto LAB_0001a72d;\n          }\n          local_64[3] = (size_t)(psVar25 + 3);\n          sVar2 = (int)psVar25 + uVar26 + 0xc;\n          local_64[4] = sVar2;\n          psVar34 = (size_t *)(-0xc - iVar9);\n          local_74 = local_74 + (int)psVar34;\n          cVar8 = (char)psVar25[3];\n          if (cVar8 == '$') {\n            if ((*(char *)((int)psVar25 + 0xd) == '\x01') && (*(char *)((int)psVar25 + 0xe) == '1'))\n            {\n              local_80 = (size_t *)((int)local_80 + 1);\n            }\n          }\n          else if ((((4 < uVar26) && (cVar8 == 'G')) && (*(char *)((int)psVar25 + 0xd) == 'A')) &&\n                  ((*(char *)((int)psVar25 + 0xe) == '$' &&\n                   (*(char *)((int)psVar25 + 0xf) == '\x01')))) {\n            cVar8 = (char)psVar25[4];\n            if (cVar8 == '2') {\n              local_84 = (int *)((int)local_84 + 1);\n            }\n            else {\n              if (cVar8 != '3') {\n                iVar9 = dcgettext(0,"corrupt GNU build attribute note: unsupported version",5,cVar8)\n                ;\n                goto LAB_0001a72d;\n              }\n              local_6c = local_6c + 1;\n            }\n          }\n          if (uVar39 == 4) {\n            sVar18 = (**(code **)(param_1[1] + 0x28))(sVar2);\n            pvVar24 = (void *)0xffffffff;\n          }\n          else if (uVar39 < 5) {\n            if (uVar39 != 0) {\nLAB_0001a7ea:\n              iVar9 = dcgettext(0,"corrupt GNU build attribute note: bad description size",5,cVar8);\n              goto LAB_0001a72d;\n            }\n            pvVar24 = (void *)0x0;\n            sVar18 = 0;\n          }\n          else {\n            psVar34 = param_1;\n            if (uVar39 == 8) {\n              sVar18 = param_1[1];\n              if ((*(int *)(sVar18 + 4) == 5) && (*(char *)(param_1[0x27] + 4) == '\x02')) {\n                sVar18 = (**(code **)(sVar18 + 0x1c))(sVar2);\n                pvVar24 = (void *)0xffffffff;\n              }\n              else {\n                sVar18 = (**(code **)(sVar18 + 0x28))(sVar2);\n                pvVar24 = (void *)(**(code **)(param_1[1] + 0x28))(sVar2 + 4);\n              }\n            }\n            else {\n              if (uVar39 != 0x10) goto LAB_0001a7ea;\n              sVar18 = (**(code **)(param_1[1] + 0x1c))(sVar2);\n              pvVar24 = (void *)(**(code **)(param_1[1] + 0x1c))(sVar2 + 8);\n            }\n          }\n          if (sVar23 == 0x100) {\n            if (sVar18 == 0) {\n              sVar18 = local_8c;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = local_90;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_90 = pvVar24;\n            local_8c = sVar18;\n          }\n          else {\n            if (sVar18 == 0) {\n              sVar18 = local_94;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = (void *)local_98;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_98 = (size_t)pvVar24;\n            local_94 = sVar18;\n          }\n          if (*(char *)((local_64[3] - 1) + *local_64) != '\0') {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name not NUL terminated",5,\n                              *local_64);\n            goto LAB_0001a72d;\n          }\n          local_64 = local_64 + 9;\n          psVar25 = (size_t *)(iVar9 + 0xcU + (int)psVar25);\n        }\n        if (local_74 == 0) {\n          uVar26 = (uint)local_84 | local_6c;\n          if (local_80 == (size_t *)0x0 && uVar26 == 0) {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: no known versions detected",5,uVar26\n                             );\n            goto LAB_0001a72d;\n          }\n          if (((local_80 != (size_t *)0x0) && (uVar26 != 0)) ||\n             ((local_84 != (int *)0x0 && (local_6c != 0)))) {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: multiple different versions",5,\n                              sVar18);\n            goto LAB_0001a72d;\n          }\n          if ((local_80 == (size_t *)0x1 || local_84 == (int *)0x1) || (local_6c == 1))\n          goto LAB_0001a75c;\n          uVar26 = -(uint)(local_80 == (size_t *)0x0) & 2;\n          iVar9 = uVar26 + 1;\n          if (*(char *)(local_60[3] + iVar9) != '\x01') {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: first note not version note",5,\n                              psVar34);\n            goto LAB_0001a72d;\n          }\n          bVar40 = false;\n          iVar12 = uVar26 + 2;\n          psVar25 = local_60;\nLAB_0001a954:\n          psVar34 = psVar25;\n          psVar25 = psVar34 + 9;\n          if (psVar25 < local_64) {\n            if (psVar34[0xb] == 0x100) {\n              pvVar24 = (void *)psVar34[0xc];\n              local_7c = (size_t *)0x0;\n              psVar45 = psVar25;\n              do {\n                do {\n                  psVar6 = psVar45;\n                  psVar45 = psVar6 + -9;\n                  if (psVar45 < local_60) goto LAB_0001a954;\n                  pvVar30 = (void *)psVar6[-6];\n                  psVar7 = local_7c;\n                } while ((((local_7c == (size_t *)0x0) && (psVar6[-8] != 0)) &&\n                         (psVar7 = psVar45, psVar6[-7] == 0x101)) ||\n                        ((local_7c = psVar7,\n                         *(char *)((int)pvVar24 + iVar9) != *(char *)((int)pvVar30 + iVar9) ||\n                         (psVar6[-7] != 0x100))));\n                if (*(char *)((int)pvVar30 + iVar9) != '\x04') {\n                  psVar45 = (size_t *)*psVar45;\n                  if ((((psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)) &&\n                      ((uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0))))\n                     && ((0xfffffff0 < uVar26 || (psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0))))) {\n                    psVar34[0xb] = 0;\n                    if (uVar26 < uVar39) {\n                      psVar6[-2] = uVar39;\n                    }\n                    bVar40 = true;\n                    if (local_6c != 0) {\n                      psVar6[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0)) {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    psVar34[0x11] = 1;\n                    psVar34[0xb] = 0x101;\n                    psVar6[-1] = 1;\n                    psVar6[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }\n                uVar26 = 0;\n                for (iVar21 = 0; (int)*psVar25 - iVar12 != iVar21; iVar21 = iVar21 + 1) {\n                  uVar26 = uVar26 | (uint)*(byte *)((int)pvVar24 + iVar21 + iVar12) <<\n                                    ((char)iVar21 * '\b' & 0x1fU);\n                }\n                sVar18 = *psVar45;\n                local_5c = (int *)0x0;\n                for (uVar39 = 0; sVar18 - iVar12 != uVar39; uVar39 = uVar39 + 1) {\n                  local_5c = (int *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39] <<\n                                    ((char)uVar39 * '\b' & 0x1fU));\n                }\n                uVar28 = 0;\n                uVar26 = (int)local_5c + uVar26;\n                for (uVar27 = uVar26; uVar27 != 0; uVar27 = uVar27 >> 8) {\n                  uVar28 = uVar28 + 1;\n                }\n              } while (uVar39 <= uVar28);\n              puVar29 = (undefined1 *)((int)pvVar30 + iVar12);\n              while (puVar29 < (undefined1 *)((int)pvVar30 + sVar18)) {\n                *puVar29 = (char)uVar26;\n                if (uVar26 == 0) break;\n                uVar26 = uVar26 >> 8;\n                puVar29 = puVar29 + 1;\n              }\n              psVar34[0xb] = 0;\n              bVar40 = true;\n            }\n            goto LAB_0001a954;\n          }\n          if (!bVar40) goto LAB_0001a75c;\n          pvVar24 = (void *)xmalloc(uVar35,pvVar44,psVar20,psVar46);\n          sVar18 = 0;\n          pvVar44 = pvVar24;\n          local_80 = psVar38;\n          for (psVar20 = local_60; psVar20 < local_64; psVar20 = psVar20 + 9) {\n            sVar23 = *psVar20;\n            __n = psVar20[1] + sVar23 + 0xc;\n            sVar2 = psVar20[2];\n            pvVar30 = pvVar44;\n            if (sVar2 != 0) {\n              if (psVar20[8] == 0) {\n                memcpy(pvVar44,local_80,__n);\n                pvVar30 = (void *)((int)pvVar44 + __n);\n              }\n              else {\n                sVar5 = psVar20[6];\n                __dest = (void *)((int)pvVar44 + 0xc);\n                pvVar30 = (void *)((int)__dest + sVar23);\n                if ((sVar5 == local_74) && (psVar20[7] == sVar18)) {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar5,sVar5);\n                  (**(code **)(param_1[1] + 0x30))(0,(int)pvVar44 + 4);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                }\n                else {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar18,sVar18);\n                  cVar8 = '\b';\n                  if (*(int *)(param_1[1] + 4) == 5) {\n                    cVar8 = (*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b';\n                  }\n                  (**(code **)(param_1[1] + 0x30))(cVar8,(int)pvVar44 + 4,sVar23,sVar23);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                  sVar18 = param_1[1];\n                  psVar25 = param_1;\n                  if ((*(int *)(sVar18 + 4) == 5) &&\n                     (psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02')) {\n                    (**(code **)(sVar18 + 0x24))(sVar5,0,pvVar30,psVar25);\n                    (**(code **)(param_1[1] + 0x24))(psVar20[7],0,(void *)((int)pvVar30 + 8));\n                    pvVar30 = (void *)((int)pvVar30 + 0x10);\n                  }\n                  else {\n                    (**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25);\n                    (**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4);\n                    pvVar30 = (void *)((int)pvVar30 + 8);\n                  }\n                }\n              }\n              local_74 = psVar20[6];\n              sVar18 = psVar20[7];\n            }\n            local_80 = (size_t *)((int)local_80 + __n);\n            pvVar44 = pvVar30;\n          }\n          sVar18 = (int)pvVar44 - (int)pvVar24;\n          memcpy(psVar38,pvVar24,sVar18);\n          free(pvVar24);\n          free(local_60);\n          DAT_0003fb7c = sVar18;\n          if (uVar35 != sVar18) {\n            uVar10 = extraout_ECX_02;\n            if ((*(int *)(sVar17 + 0x3c) != 0) &&\n               (iVar9 = bfd_set_section_size(param_2,*(int *)(sVar17 + 0x3c),sVar18,extraout_EDX),\n               uVar10 = extraout_ECX_03, iVar9 != 0)) goto LAB_00018aad;\n            uVar10 = dcgettext(0,"warning: failed to set merged notes size",5,uVar10);\n            FUN_0002c160(0,param_2,sVar17,uVar10);\n          }\n        }\n        else {\n          iVar9 = dcgettext(0,"corrupt GNU build attribute notes: excess data at end",5,local_64);\nLAB_0001a72d:\n          if (iVar9 != 0) {\n            bfd_set_error(0x11);\n            FUN_0002c160(0,param_1,sVar17,iVar9);\n            DAT_0003fb88 = 1;\n          }\nLAB_0001a75c:\n          free(local_60);\n        }\n        free(DAT_0003fb80);\n        DAT_0003fb80 = (size_t *)0x0;\n        DAT_0003fb84 = 0;\n        DAT_0003fb7c = 0;\n      }\n    }" (else "else") (compound_statement "{\n      iVar9 = bfd_get_full_section_contents(param_1,sVar17,&DAT_0003fb80,uVar35);\n      psVar38 = DAT_0003fb80;\n      if (iVar9 == 0) {\n        uVar10 = dcgettext(0,"warning: could not load note section",5,0);\n        FUN_0002c160(0,param_1,sVar17,uVar10);\n        free(DAT_0003fb80);\n        DAT_0003fb80 = (size_t *)0x0;\n        DAT_0003fb84 = 0;\n      }\n      else {\n        iVar9 = bfd_get_reloc_upper_bound(param_1,sVar17,sVar17,sVar17);\n        psVar20 = param_1;\n        sVar18 = sVar17;\n        if (0 < iVar9) {\n          psVar20 = (size_t *)xmalloc(iVar9);\n          sVar18 = bfd_canonicalize_reloc(param_1,sVar17,psVar20,DAT_0003fb9c);\n          free(psVar20);\n          if (sVar18 == 0) goto LAB_0001a478;\n          local_60 = (size_t *)0x0;\n          goto LAB_0001a75c;\n        }\nLAB_0001a478:\n        pvVar44 = (void *)0x24;\n        psVar46 = psVar20;\n        local_60 = (size_t *)xcalloc(uVar35 / 0xc,0x24,psVar20,psVar20);\n        local_90 = (void *)0x0;\n        local_98 = 0;\n        local_8c = 0;\n        local_94 = 0;\n        local_6c = 0;\n        local_84 = (int *)0x0;\n        local_80 = (size_t *)0x0;\n        psVar25 = psVar38;\n        psVar34 = psVar38;\n        local_74 = uVar35;\n        local_64 = local_60;\n        while (0xb < local_74) {\n          iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25);\n          uVar26 = iVar9 + 3U & 0xfffffffc;\n          *local_64 = uVar26;\n          iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25 + 1);\n          uVar39 = iVar9 + 3U & 0xfffffffc;\n          sVar18 = param_1[1];\n          local_64[1] = uVar39;\n          sVar23 = (**(code **)(sVar18 + 0x28))(psVar25 + 2);\n          local_64[2] = sVar23;\n          if (1 < sVar23 - 0x100) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: wrong note type",5,\n                              extraout_ECX_01);\n            goto LAB_0001a72d;\n          }\n          iVar9 = uVar26 + uVar39;\n          if (local_74 < iVar9 + 0xcU) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: note too big",5,psVar25);\n            goto LAB_0001a72d;\n          }\n          if (uVar26 < 2) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name too small",5,iVar9);\n            goto LAB_0001a72d;\n          }\n          local_64[3] = (size_t)(psVar25 + 3);\n          sVar2 = (int)psVar25 + uVar26 + 0xc;\n          local_64[4] = sVar2;\n          psVar34 = (size_t *)(-0xc - iVar9);\n          local_74 = local_74 + (int)psVar34;\n          cVar8 = (char)psVar25[3];\n          if (cVar8 == '$') {\n            if ((*(char *)((int)psVar25 + 0xd) == '\x01') && (*(char *)((int)psVar25 + 0xe) == '1'))\n            {\n              local_80 = (size_t *)((int)local_80 + 1);\n            }\n          }\n          else if ((((4 < uVar26) && (cVar8 == 'G')) && (*(char *)((int)psVar25 + 0xd) == 'A')) &&\n                  ((*(char *)((int)psVar25 + 0xe) == '$' &&\n                   (*(char *)((int)psVar25 + 0xf) == '\x01')))) {\n            cVar8 = (char)psVar25[4];\n            if (cVar8 == '2') {\n              local_84 = (int *)((int)local_84 + 1);\n            }\n            else {\n              if (cVar8 != '3') {\n                iVar9 = dcgettext(0,"corrupt GNU build attribute note: unsupported version",5,cVar8)\n                ;\n                goto LAB_0001a72d;\n              }\n              local_6c = local_6c + 1;\n            }\n          }\n          if (uVar39 == 4) {\n            sVar18 = (**(code **)(param_1[1] + 0x28))(sVar2);\n            pvVar24 = (void *)0xffffffff;\n          }\n          else if (uVar39 < 5) {\n            if (uVar39 != 0) {\nLAB_0001a7ea:\n              iVar9 = dcgettext(0,"corrupt GNU build attribute note: bad description size",5,cVar8);\n              goto LAB_0001a72d;\n            }\n            pvVar24 = (void *)0x0;\n            sVar18 = 0;\n          }\n          else {\n            psVar34 = param_1;\n            if (uVar39 == 8) {\n              sVar18 = param_1[1];\n              if ((*(int *)(sVar18 + 4) == 5) && (*(char *)(param_1[0x27] + 4) == '\x02')) {\n                sVar18 = (**(code **)(sVar18 + 0x1c))(sVar2);\n                pvVar24 = (void *)0xffffffff;\n              }\n              else {\n                sVar18 = (**(code **)(sVar18 + 0x28))(sVar2);\n                pvVar24 = (void *)(**(code **)(param_1[1] + 0x28))(sVar2 + 4);\n              }\n            }\n            else {\n              if (uVar39 != 0x10) goto LAB_0001a7ea;\n              sVar18 = (**(code **)(param_1[1] + 0x1c))(sVar2);\n              pvVar24 = (void *)(**(code **)(param_1[1] + 0x1c))(sVar2 + 8);\n            }\n          }\n          if (sVar23 == 0x100) {\n            if (sVar18 == 0) {\n              sVar18 = local_8c;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = local_90;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_90 = pvVar24;\n            local_8c = sVar18;\n          }\n          else {\n            if (sVar18 == 0) {\n              sVar18 = local_94;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = (void *)local_98;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_98 = (size_t)pvVar24;\n            local_94 = sVar18;\n          }\n          if (*(char *)((local_64[3] - 1) + *local_64) != '\0') {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name not NUL terminated",5,\n                              *local_64);\n            goto LAB_0001a72d;\n          }\n          local_64 = local_64 + 9;\n          psVar25 = (size_t *)(iVar9 + 0xcU + (int)psVar25);\n        }\n        if (local_74 == 0) {\n          uVar26 = (uint)local_84 | local_6c;\n          if (local_80 == (size_t *)0x0 && uVar26 == 0) {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: no known versions detected",5,uVar26\n                             );\n            goto LAB_0001a72d;\n          }\n          if (((local_80 != (size_t *)0x0) && (uVar26 != 0)) ||\n             ((local_84 != (int *)0x0 && (local_6c != 0)))) {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: multiple different versions",5,\n                              sVar18);\n            goto LAB_0001a72d;\n          }\n          if ((local_80 == (size_t *)0x1 || local_84 == (int *)0x1) || (local_6c == 1))\n          goto LAB_0001a75c;\n          uVar26 = -(uint)(local_80 == (size_t *)0x0) & 2;\n          iVar9 = uVar26 + 1;\n          if (*(char *)(local_60[3] + iVar9) != '\x01') {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: first note not version note",5,\n                              psVar34);\n            goto LAB_0001a72d;\n          }\n          bVar40 = false;\n          iVar12 = uVar26 + 2;\n          psVar25 = local_60;\nLAB_0001a954:\n          psVar34 = psVar25;\n          psVar25 = psVar34 + 9;\n          if (psVar25 < local_64) {\n            if (psVar34[0xb] == 0x100) {\n              pvVar24 = (void *)psVar34[0xc];\n              local_7c = (size_t *)0x0;\n              psVar45 = psVar25;\n              do {\n                do {\n                  psVar6 = psVar45;\n                  psVar45 = psVar6 + -9;\n                  if (psVar45 < local_60) goto LAB_0001a954;\n                  pvVar30 = (void *)psVar6[-6];\n                  psVar7 = local_7c;\n                } while ((((local_7c == (size_t *)0x0) && (psVar6[-8] != 0)) &&\n                         (psVar7 = psVar45, psVar6[-7] == 0x101)) ||\n                        ((local_7c = psVar7,\n                         *(char *)((int)pvVar24 + iVar9) != *(char *)((int)pvVar30 + iVar9) ||\n                         (psVar6[-7] != 0x100))));\n                if (*(char *)((int)pvVar30 + iVar9) != '\x04') {\n                  psVar45 = (size_t *)*psVar45;\n                  if ((((psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)) &&\n                      ((uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0))))\n                     && ((0xfffffff0 < uVar26 || (psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0))))) {\n                    psVar34[0xb] = 0;\n                    if (uVar26 < uVar39) {\n                      psVar6[-2] = uVar39;\n                    }\n                    bVar40 = true;\n                    if (local_6c != 0) {\n                      psVar6[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0)) {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    psVar34[0x11] = 1;\n                    psVar34[0xb] = 0x101;\n                    psVar6[-1] = 1;\n                    psVar6[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }\n                uVar26 = 0;\n                for (iVar21 = 0; (int)*psVar25 - iVar12 != iVar21; iVar21 = iVar21 + 1) {\n                  uVar26 = uVar26 | (uint)*(byte *)((int)pvVar24 + iVar21 + iVar12) <<\n                                    ((char)iVar21 * '\b' & 0x1fU);\n                }\n                sVar18 = *psVar45;\n                local_5c = (int *)0x0;\n                for (uVar39 = 0; sVar18 - iVar12 != uVar39; uVar39 = uVar39 + 1) {\n                  local_5c = (int *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39] <<\n                                    ((char)uVar39 * '\b' & 0x1fU));\n                }\n                uVar28 = 0;\n                uVar26 = (int)local_5c + uVar26;\n                for (uVar27 = uVar26; uVar27 != 0; uVar27 = uVar27 >> 8) {\n                  uVar28 = uVar28 + 1;\n                }\n              } while (uVar39 <= uVar28);\n              puVar29 = (undefined1 *)((int)pvVar30 + iVar12);\n              while (puVar29 < (undefined1 *)((int)pvVar30 + sVar18)) {\n                *puVar29 = (char)uVar26;\n                if (uVar26 == 0) break;\n                uVar26 = uVar26 >> 8;\n                puVar29 = puVar29 + 1;\n              }\n              psVar34[0xb] = 0;\n              bVar40 = true;\n            }\n            goto LAB_0001a954;\n          }\n          if (!bVar40) goto LAB_0001a75c;\n          pvVar24 = (void *)xmalloc(uVar35,pvVar44,psVar20,psVar46);\n          sVar18 = 0;\n          pvVar44 = pvVar24;\n          local_80 = psVar38;\n          for (psVar20 = local_60; psVar20 < local_64; psVar20 = psVar20 + 9) {\n            sVar23 = *psVar20;\n            __n = psVar20[1] + sVar23 + 0xc;\n            sVar2 = psVar20[2];\n            pvVar30 = pvVar44;\n            if (sVar2 != 0) {\n              if (psVar20[8] == 0) {\n                memcpy(pvVar44,local_80,__n);\n                pvVar30 = (void *)((int)pvVar44 + __n);\n              }\n              else {\n                sVar5 = psVar20[6];\n                __dest = (void *)((int)pvVar44 + 0xc);\n                pvVar30 = (void *)((int)__dest + sVar23);\n                if ((sVar5 == local_74) && (psVar20[7] == sVar18)) {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar5,sVar5);\n                  (**(code **)(param_1[1] + 0x30))(0,(int)pvVar44 + 4);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                }\n                else {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar18,sVar18);\n                  cVar8 = '\b';\n                  if (*(int *)(param_1[1] + 4) == 5) {\n                    cVar8 = (*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b';\n                  }\n                  (**(code **)(param_1[1] + 0x30))(cVar8,(int)pvVar44 + 4,sVar23,sVar23);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                  sVar18 = param_1[1];\n                  psVar25 = param_1;\n                  if ((*(int *)(sVar18 + 4) == 5) &&\n                     (psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02')) {\n                    (**(code **)(sVar18 + 0x24))(sVar5,0,pvVar30,psVar25);\n                    (**(code **)(param_1[1] + 0x24))(psVar20[7],0,(void *)((int)pvVar30 + 8));\n                    pvVar30 = (void *)((int)pvVar30 + 0x10);\n                  }\n                  else {\n                    (**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25);\n                    (**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4);\n                    pvVar30 = (void *)((int)pvVar30 + 8);\n                  }\n                }\n              }\n              local_74 = psVar20[6];\n              sVar18 = psVar20[7];\n            }\n            local_80 = (size_t *)((int)local_80 + __n);\n            pvVar44 = pvVar30;\n          }\n          sVar18 = (int)pvVar44 - (int)pvVar24;\n          memcpy(psVar38,pvVar24,sVar18);\n          free(pvVar24);\n          free(local_60);\n          DAT_0003fb7c = sVar18;\n          if (uVar35 != sVar18) {\n            uVar10 = extraout_ECX_02;\n            if ((*(int *)(sVar17 + 0x3c) != 0) &&\n               (iVar9 = bfd_set_section_size(param_2,*(int *)(sVar17 + 0x3c),sVar18,extraout_EDX),\n               uVar10 = extraout_ECX_03, iVar9 != 0)) goto LAB_00018aad;\n            uVar10 = dcgettext(0,"warning: failed to set merged notes size",5,uVar10);\n            FUN_0002c160(0,param_2,sVar17,uVar10);\n          }\n        }\n        else {\n          iVar9 = dcgettext(0,"corrupt GNU build attribute notes: excess data at end",5,local_64);\nLAB_0001a72d:\n          if (iVar9 != 0) {\n            bfd_set_error(0x11);\n            FUN_0002c160(0,param_1,sVar17,iVar9);\n            DAT_0003fb88 = 1;\n          }\nLAB_0001a75c:\n          free(local_60);\n        }\n        free(DAT_0003fb80);\n        DAT_0003fb80 = (size_t *)0x0;\n        DAT_0003fb84 = 0;\n        DAT_0003fb7c = 0;\n      }\n    }" ({ "{") (expression_statement "iVar9 = bfd_get_full_section_contents(param_1,sVar17,&DAT_0003fb80,uVar35);" (assignment_expression "iVar9 = bfd_get_full_section_contents(param_1,sVar17,&DAT_0003fb80,uVar35)" (identifier "iVar9") (= "=") (call_expression "bfd_get_full_section_contents(param_1,sVar17,&DAT_0003fb80,uVar35)" (identifier "bfd_get_full_section_contents") (argument_list "(param_1,sVar17,&DAT_0003fb80,uVar35)" (( "(") (identifier "param_1") (, ",") (identifier "sVar17") (, ",") (pointer_expression "&DAT_0003fb80" (& "&") (identifier "DAT_0003fb80")) (, ",") (identifier "uVar35") () ")")))) (; ";")) (expression_statement "psVar38 = DAT_0003fb80;" (assignment_expression "psVar38 = DAT_0003fb80" (identifier "psVar38") (= "=") (identifier "DAT_0003fb80")) (; ";")) (if_statement "if (iVar9 == 0) {\n        uVar10 = dcgettext(0,"warning: could not load note section",5,0);\n        FUN_0002c160(0,param_1,sVar17,uVar10);\n        free(DAT_0003fb80);\n        DAT_0003fb80 = (size_t *)0x0;\n        DAT_0003fb84 = 0;\n      }\n      else {\n        iVar9 = bfd_get_reloc_upper_bound(param_1,sVar17,sVar17,sVar17);\n        psVar20 = param_1;\n        sVar18 = sVar17;\n        if (0 < iVar9) {\n          psVar20 = (size_t *)xmalloc(iVar9);\n          sVar18 = bfd_canonicalize_reloc(param_1,sVar17,psVar20,DAT_0003fb9c);\n          free(psVar20);\n          if (sVar18 == 0) goto LAB_0001a478;\n          local_60 = (size_t *)0x0;\n          goto LAB_0001a75c;\n        }\nLAB_0001a478:\n        pvVar44 = (void *)0x24;\n        psVar46 = psVar20;\n        local_60 = (size_t *)xcalloc(uVar35 / 0xc,0x24,psVar20,psVar20);\n        local_90 = (void *)0x0;\n        local_98 = 0;\n        local_8c = 0;\n        local_94 = 0;\n        local_6c = 0;\n        local_84 = (int *)0x0;\n        local_80 = (size_t *)0x0;\n        psVar25 = psVar38;\n        psVar34 = psVar38;\n        local_74 = uVar35;\n        local_64 = local_60;\n        while (0xb < local_74) {\n          iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25);\n          uVar26 = iVar9 + 3U & 0xfffffffc;\n          *local_64 = uVar26;\n          iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25 + 1);\n          uVar39 = iVar9 + 3U & 0xfffffffc;\n          sVar18 = param_1[1];\n          local_64[1] = uVar39;\n          sVar23 = (**(code **)(sVar18 + 0x28))(psVar25 + 2);\n          local_64[2] = sVar23;\n          if (1 < sVar23 - 0x100) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: wrong note type",5,\n                              extraout_ECX_01);\n            goto LAB_0001a72d;\n          }\n          iVar9 = uVar26 + uVar39;\n          if (local_74 < iVar9 + 0xcU) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: note too big",5,psVar25);\n            goto LAB_0001a72d;\n          }\n          if (uVar26 < 2) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name too small",5,iVar9);\n            goto LAB_0001a72d;\n          }\n          local_64[3] = (size_t)(psVar25 + 3);\n          sVar2 = (int)psVar25 + uVar26 + 0xc;\n          local_64[4] = sVar2;\n          psVar34 = (size_t *)(-0xc - iVar9);\n          local_74 = local_74 + (int)psVar34;\n          cVar8 = (char)psVar25[3];\n          if (cVar8 == '$') {\n            if ((*(char *)((int)psVar25 + 0xd) == '\x01') && (*(char *)((int)psVar25 + 0xe) == '1'))\n            {\n              local_80 = (size_t *)((int)local_80 + 1);\n            }\n          }\n          else if ((((4 < uVar26) && (cVar8 == 'G')) && (*(char *)((int)psVar25 + 0xd) == 'A')) &&\n                  ((*(char *)((int)psVar25 + 0xe) == '$' &&\n                   (*(char *)((int)psVar25 + 0xf) == '\x01')))) {\n            cVar8 = (char)psVar25[4];\n            if (cVar8 == '2') {\n              local_84 = (int *)((int)local_84 + 1);\n            }\n            else {\n              if (cVar8 != '3') {\n                iVar9 = dcgettext(0,"corrupt GNU build attribute note: unsupported version",5,cVar8)\n                ;\n                goto LAB_0001a72d;\n              }\n              local_6c = local_6c + 1;\n            }\n          }\n          if (uVar39 == 4) {\n            sVar18 = (**(code **)(param_1[1] + 0x28))(sVar2);\n            pvVar24 = (void *)0xffffffff;\n          }\n          else if (uVar39 < 5) {\n            if (uVar39 != 0) {\nLAB_0001a7ea:\n              iVar9 = dcgettext(0,"corrupt GNU build attribute note: bad description size",5,cVar8);\n              goto LAB_0001a72d;\n            }\n            pvVar24 = (void *)0x0;\n            sVar18 = 0;\n          }\n          else {\n            psVar34 = param_1;\n            if (uVar39 == 8) {\n              sVar18 = param_1[1];\n              if ((*(int *)(sVar18 + 4) == 5) && (*(char *)(param_1[0x27] + 4) == '\x02')) {\n                sVar18 = (**(code **)(sVar18 + 0x1c))(sVar2);\n                pvVar24 = (void *)0xffffffff;\n              }\n              else {\n                sVar18 = (**(code **)(sVar18 + 0x28))(sVar2);\n                pvVar24 = (void *)(**(code **)(param_1[1] + 0x28))(sVar2 + 4);\n              }\n            }\n            else {\n              if (uVar39 != 0x10) goto LAB_0001a7ea;\n              sVar18 = (**(code **)(param_1[1] + 0x1c))(sVar2);\n              pvVar24 = (void *)(**(code **)(param_1[1] + 0x1c))(sVar2 + 8);\n            }\n          }\n          if (sVar23 == 0x100) {\n            if (sVar18 == 0) {\n              sVar18 = local_8c;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = local_90;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_90 = pvVar24;\n            local_8c = sVar18;\n          }\n          else {\n            if (sVar18 == 0) {\n              sVar18 = local_94;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = (void *)local_98;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_98 = (size_t)pvVar24;\n            local_94 = sVar18;\n          }\n          if (*(char *)((local_64[3] - 1) + *local_64) != '\0') {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name not NUL terminated",5,\n                              *local_64);\n            goto LAB_0001a72d;\n          }\n          local_64 = local_64 + 9;\n          psVar25 = (size_t *)(iVar9 + 0xcU + (int)psVar25);\n        }\n        if (local_74 == 0) {\n          uVar26 = (uint)local_84 | local_6c;\n          if (local_80 == (size_t *)0x0 && uVar26 == 0) {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: no known versions detected",5,uVar26\n                             );\n            goto LAB_0001a72d;\n          }\n          if (((local_80 != (size_t *)0x0) && (uVar26 != 0)) ||\n             ((local_84 != (int *)0x0 && (local_6c != 0)))) {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: multiple different versions",5,\n                              sVar18);\n            goto LAB_0001a72d;\n          }\n          if ((local_80 == (size_t *)0x1 || local_84 == (int *)0x1) || (local_6c == 1))\n          goto LAB_0001a75c;\n          uVar26 = -(uint)(local_80 == (size_t *)0x0) & 2;\n          iVar9 = uVar26 + 1;\n          if (*(char *)(local_60[3] + iVar9) != '\x01') {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: first note not version note",5,\n                              psVar34);\n            goto LAB_0001a72d;\n          }\n          bVar40 = false;\n          iVar12 = uVar26 + 2;\n          psVar25 = local_60;\nLAB_0001a954:\n          psVar34 = psVar25;\n          psVar25 = psVar34 + 9;\n          if (psVar25 < local_64) {\n            if (psVar34[0xb] == 0x100) {\n              pvVar24 = (void *)psVar34[0xc];\n              local_7c = (size_t *)0x0;\n              psVar45 = psVar25;\n              do {\n                do {\n                  psVar6 = psVar45;\n                  psVar45 = psVar6 + -9;\n                  if (psVar45 < local_60) goto LAB_0001a954;\n                  pvVar30 = (void *)psVar6[-6];\n                  psVar7 = local_7c;\n                } while ((((local_7c == (size_t *)0x0) && (psVar6[-8] != 0)) &&\n                         (psVar7 = psVar45, psVar6[-7] == 0x101)) ||\n                        ((local_7c = psVar7,\n                         *(char *)((int)pvVar24 + iVar9) != *(char *)((int)pvVar30 + iVar9) ||\n                         (psVar6[-7] != 0x100))));\n                if (*(char *)((int)pvVar30 + iVar9) != '\x04') {\n                  psVar45 = (size_t *)*psVar45;\n                  if ((((psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)) &&\n                      ((uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0))))\n                     && ((0xfffffff0 < uVar26 || (psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0))))) {\n                    psVar34[0xb] = 0;\n                    if (uVar26 < uVar39) {\n                      psVar6[-2] = uVar39;\n                    }\n                    bVar40 = true;\n                    if (local_6c != 0) {\n                      psVar6[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0)) {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    psVar34[0x11] = 1;\n                    psVar34[0xb] = 0x101;\n                    psVar6[-1] = 1;\n                    psVar6[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }\n                uVar26 = 0;\n                for (iVar21 = 0; (int)*psVar25 - iVar12 != iVar21; iVar21 = iVar21 + 1) {\n                  uVar26 = uVar26 | (uint)*(byte *)((int)pvVar24 + iVar21 + iVar12) <<\n                                    ((char)iVar21 * '\b' & 0x1fU);\n                }\n                sVar18 = *psVar45;\n                local_5c = (int *)0x0;\n                for (uVar39 = 0; sVar18 - iVar12 != uVar39; uVar39 = uVar39 + 1) {\n                  local_5c = (int *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39] <<\n                                    ((char)uVar39 * '\b' & 0x1fU));\n                }\n                uVar28 = 0;\n                uVar26 = (int)local_5c + uVar26;\n                for (uVar27 = uVar26; uVar27 != 0; uVar27 = uVar27 >> 8) {\n                  uVar28 = uVar28 + 1;\n                }\n              } while (uVar39 <= uVar28);\n              puVar29 = (undefined1 *)((int)pvVar30 + iVar12);\n              while (puVar29 < (undefined1 *)((int)pvVar30 + sVar18)) {\n                *puVar29 = (char)uVar26;\n                if (uVar26 == 0) break;\n                uVar26 = uVar26 >> 8;\n                puVar29 = puVar29 + 1;\n              }\n              psVar34[0xb] = 0;\n              bVar40 = true;\n            }\n            goto LAB_0001a954;\n          }\n          if (!bVar40) goto LAB_0001a75c;\n          pvVar24 = (void *)xmalloc(uVar35,pvVar44,psVar20,psVar46);\n          sVar18 = 0;\n          pvVar44 = pvVar24;\n          local_80 = psVar38;\n          for (psVar20 = local_60; psVar20 < local_64; psVar20 = psVar20 + 9) {\n            sVar23 = *psVar20;\n            __n = psVar20[1] + sVar23 + 0xc;\n            sVar2 = psVar20[2];\n            pvVar30 = pvVar44;\n            if (sVar2 != 0) {\n              if (psVar20[8] == 0) {\n                memcpy(pvVar44,local_80,__n);\n                pvVar30 = (void *)((int)pvVar44 + __n);\n              }\n              else {\n                sVar5 = psVar20[6];\n                __dest = (void *)((int)pvVar44 + 0xc);\n                pvVar30 = (void *)((int)__dest + sVar23);\n                if ((sVar5 == local_74) && (psVar20[7] == sVar18)) {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar5,sVar5);\n                  (**(code **)(param_1[1] + 0x30))(0,(int)pvVar44 + 4);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                }\n                else {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar18,sVar18);\n                  cVar8 = '\b';\n                  if (*(int *)(param_1[1] + 4) == 5) {\n                    cVar8 = (*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b';\n                  }\n                  (**(code **)(param_1[1] + 0x30))(cVar8,(int)pvVar44 + 4,sVar23,sVar23);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                  sVar18 = param_1[1];\n                  psVar25 = param_1;\n                  if ((*(int *)(sVar18 + 4) == 5) &&\n                     (psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02')) {\n                    (**(code **)(sVar18 + 0x24))(sVar5,0,pvVar30,psVar25);\n                    (**(code **)(param_1[1] + 0x24))(psVar20[7],0,(void *)((int)pvVar30 + 8));\n                    pvVar30 = (void *)((int)pvVar30 + 0x10);\n                  }\n                  else {\n                    (**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25);\n                    (**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4);\n                    pvVar30 = (void *)((int)pvVar30 + 8);\n                  }\n                }\n              }\n              local_74 = psVar20[6];\n              sVar18 = psVar20[7];\n            }\n            local_80 = (size_t *)((int)local_80 + __n);\n            pvVar44 = pvVar30;\n          }\n          sVar18 = (int)pvVar44 - (int)pvVar24;\n          memcpy(psVar38,pvVar24,sVar18);\n          free(pvVar24);\n          free(local_60);\n          DAT_0003fb7c = sVar18;\n          if (uVar35 != sVar18) {\n            uVar10 = extraout_ECX_02;\n            if ((*(int *)(sVar17 + 0x3c) != 0) &&\n               (iVar9 = bfd_set_section_size(param_2,*(int *)(sVar17 + 0x3c),sVar18,extraout_EDX),\n               uVar10 = extraout_ECX_03, iVar9 != 0)) goto LAB_00018aad;\n            uVar10 = dcgettext(0,"warning: failed to set merged notes size",5,uVar10);\n            FUN_0002c160(0,param_2,sVar17,uVar10);\n          }\n        }\n        else {\n          iVar9 = dcgettext(0,"corrupt GNU build attribute notes: excess data at end",5,local_64);\nLAB_0001a72d:\n          if (iVar9 != 0) {\n            bfd_set_error(0x11);\n            FUN_0002c160(0,param_1,sVar17,iVar9);\n            DAT_0003fb88 = 1;\n          }\nLAB_0001a75c:\n          free(local_60);\n        }\n        free(DAT_0003fb80);\n        DAT_0003fb80 = (size_t *)0x0;\n        DAT_0003fb84 = 0;\n        DAT_0003fb7c = 0;\n      }" (if "if") (parenthesized_expression "(iVar9 == 0)" (( "(") (binary_expression "iVar9 == 0" (identifier "iVar9") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        uVar10 = dcgettext(0,"warning: could not load note section",5,0);\n        FUN_0002c160(0,param_1,sVar17,uVar10);\n        free(DAT_0003fb80);\n        DAT_0003fb80 = (size_t *)0x0;\n        DAT_0003fb84 = 0;\n      }" ({ "{") (expression_statement "uVar10 = dcgettext(0,"warning: could not load note section",5,0);" (assignment_expression "uVar10 = dcgettext(0,"warning: could not load note section",5,0)" (identifier "uVar10") (= "=") (call_expression "dcgettext(0,"warning: could not load note section",5,0)" (identifier "dcgettext") (argument_list "(0,"warning: could not load note section",5,0)" (( "(") (number_literal "0") (, ",") (string_literal ""warning: could not load note section"" (" """) (string_content "warning: could not load note section") (" """)) (, ",") (number_literal "5") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "FUN_0002c160(0,param_1,sVar17,uVar10);" (call_expression "FUN_0002c160(0,param_1,sVar17,uVar10)" (identifier "FUN_0002c160") (argument_list "(0,param_1,sVar17,uVar10)" (( "(") (number_literal "0") (, ",") (identifier "param_1") (, ",") (identifier "sVar17") (, ",") (identifier "uVar10") () ")"))) (; ";")) (expression_statement "free(DAT_0003fb80);" (call_expression "free(DAT_0003fb80)" (identifier "free") (argument_list "(DAT_0003fb80)" (( "(") (identifier "DAT_0003fb80") () ")"))) (; ";")) (expression_statement "DAT_0003fb80 = (size_t *)0x0;" (assignment_expression "DAT_0003fb80 = (size_t *)0x0" (identifier "DAT_0003fb80") (= "=") (cast_expression "(size_t *)0x0" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "DAT_0003fb84 = 0;" (assignment_expression "DAT_0003fb84 = 0" (identifier "DAT_0003fb84") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n        iVar9 = bfd_get_reloc_upper_bound(param_1,sVar17,sVar17,sVar17);\n        psVar20 = param_1;\n        sVar18 = sVar17;\n        if (0 < iVar9) {\n          psVar20 = (size_t *)xmalloc(iVar9);\n          sVar18 = bfd_canonicalize_reloc(param_1,sVar17,psVar20,DAT_0003fb9c);\n          free(psVar20);\n          if (sVar18 == 0) goto LAB_0001a478;\n          local_60 = (size_t *)0x0;\n          goto LAB_0001a75c;\n        }\nLAB_0001a478:\n        pvVar44 = (void *)0x24;\n        psVar46 = psVar20;\n        local_60 = (size_t *)xcalloc(uVar35 / 0xc,0x24,psVar20,psVar20);\n        local_90 = (void *)0x0;\n        local_98 = 0;\n        local_8c = 0;\n        local_94 = 0;\n        local_6c = 0;\n        local_84 = (int *)0x0;\n        local_80 = (size_t *)0x0;\n        psVar25 = psVar38;\n        psVar34 = psVar38;\n        local_74 = uVar35;\n        local_64 = local_60;\n        while (0xb < local_74) {\n          iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25);\n          uVar26 = iVar9 + 3U & 0xfffffffc;\n          *local_64 = uVar26;\n          iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25 + 1);\n          uVar39 = iVar9 + 3U & 0xfffffffc;\n          sVar18 = param_1[1];\n          local_64[1] = uVar39;\n          sVar23 = (**(code **)(sVar18 + 0x28))(psVar25 + 2);\n          local_64[2] = sVar23;\n          if (1 < sVar23 - 0x100) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: wrong note type",5,\n                              extraout_ECX_01);\n            goto LAB_0001a72d;\n          }\n          iVar9 = uVar26 + uVar39;\n          if (local_74 < iVar9 + 0xcU) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: note too big",5,psVar25);\n            goto LAB_0001a72d;\n          }\n          if (uVar26 < 2) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name too small",5,iVar9);\n            goto LAB_0001a72d;\n          }\n          local_64[3] = (size_t)(psVar25 + 3);\n          sVar2 = (int)psVar25 + uVar26 + 0xc;\n          local_64[4] = sVar2;\n          psVar34 = (size_t *)(-0xc - iVar9);\n          local_74 = local_74 + (int)psVar34;\n          cVar8 = (char)psVar25[3];\n          if (cVar8 == '$') {\n            if ((*(char *)((int)psVar25 + 0xd) == '\x01') && (*(char *)((int)psVar25 + 0xe) == '1'))\n            {\n              local_80 = (size_t *)((int)local_80 + 1);\n            }\n          }\n          else if ((((4 < uVar26) && (cVar8 == 'G')) && (*(char *)((int)psVar25 + 0xd) == 'A')) &&\n                  ((*(char *)((int)psVar25 + 0xe) == '$' &&\n                   (*(char *)((int)psVar25 + 0xf) == '\x01')))) {\n            cVar8 = (char)psVar25[4];\n            if (cVar8 == '2') {\n              local_84 = (int *)((int)local_84 + 1);\n            }\n            else {\n              if (cVar8 != '3') {\n                iVar9 = dcgettext(0,"corrupt GNU build attribute note: unsupported version",5,cVar8)\n                ;\n                goto LAB_0001a72d;\n              }\n              local_6c = local_6c + 1;\n            }\n          }\n          if (uVar39 == 4) {\n            sVar18 = (**(code **)(param_1[1] + 0x28))(sVar2);\n            pvVar24 = (void *)0xffffffff;\n          }\n          else if (uVar39 < 5) {\n            if (uVar39 != 0) {\nLAB_0001a7ea:\n              iVar9 = dcgettext(0,"corrupt GNU build attribute note: bad description size",5,cVar8);\n              goto LAB_0001a72d;\n            }\n            pvVar24 = (void *)0x0;\n            sVar18 = 0;\n          }\n          else {\n            psVar34 = param_1;\n            if (uVar39 == 8) {\n              sVar18 = param_1[1];\n              if ((*(int *)(sVar18 + 4) == 5) && (*(char *)(param_1[0x27] + 4) == '\x02')) {\n                sVar18 = (**(code **)(sVar18 + 0x1c))(sVar2);\n                pvVar24 = (void *)0xffffffff;\n              }\n              else {\n                sVar18 = (**(code **)(sVar18 + 0x28))(sVar2);\n                pvVar24 = (void *)(**(code **)(param_1[1] + 0x28))(sVar2 + 4);\n              }\n            }\n            else {\n              if (uVar39 != 0x10) goto LAB_0001a7ea;\n              sVar18 = (**(code **)(param_1[1] + 0x1c))(sVar2);\n              pvVar24 = (void *)(**(code **)(param_1[1] + 0x1c))(sVar2 + 8);\n            }\n          }\n          if (sVar23 == 0x100) {\n            if (sVar18 == 0) {\n              sVar18 = local_8c;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = local_90;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_90 = pvVar24;\n            local_8c = sVar18;\n          }\n          else {\n            if (sVar18 == 0) {\n              sVar18 = local_94;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = (void *)local_98;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_98 = (size_t)pvVar24;\n            local_94 = sVar18;\n          }\n          if (*(char *)((local_64[3] - 1) + *local_64) != '\0') {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name not NUL terminated",5,\n                              *local_64);\n            goto LAB_0001a72d;\n          }\n          local_64 = local_64 + 9;\n          psVar25 = (size_t *)(iVar9 + 0xcU + (int)psVar25);\n        }\n        if (local_74 == 0) {\n          uVar26 = (uint)local_84 | local_6c;\n          if (local_80 == (size_t *)0x0 && uVar26 == 0) {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: no known versions detected",5,uVar26\n                             );\n            goto LAB_0001a72d;\n          }\n          if (((local_80 != (size_t *)0x0) && (uVar26 != 0)) ||\n             ((local_84 != (int *)0x0 && (local_6c != 0)))) {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: multiple different versions",5,\n                              sVar18);\n            goto LAB_0001a72d;\n          }\n          if ((local_80 == (size_t *)0x1 || local_84 == (int *)0x1) || (local_6c == 1))\n          goto LAB_0001a75c;\n          uVar26 = -(uint)(local_80 == (size_t *)0x0) & 2;\n          iVar9 = uVar26 + 1;\n          if (*(char *)(local_60[3] + iVar9) != '\x01') {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: first note not version note",5,\n                              psVar34);\n            goto LAB_0001a72d;\n          }\n          bVar40 = false;\n          iVar12 = uVar26 + 2;\n          psVar25 = local_60;\nLAB_0001a954:\n          psVar34 = psVar25;\n          psVar25 = psVar34 + 9;\n          if (psVar25 < local_64) {\n            if (psVar34[0xb] == 0x100) {\n              pvVar24 = (void *)psVar34[0xc];\n              local_7c = (size_t *)0x0;\n              psVar45 = psVar25;\n              do {\n                do {\n                  psVar6 = psVar45;\n                  psVar45 = psVar6 + -9;\n                  if (psVar45 < local_60) goto LAB_0001a954;\n                  pvVar30 = (void *)psVar6[-6];\n                  psVar7 = local_7c;\n                } while ((((local_7c == (size_t *)0x0) && (psVar6[-8] != 0)) &&\n                         (psVar7 = psVar45, psVar6[-7] == 0x101)) ||\n                        ((local_7c = psVar7,\n                         *(char *)((int)pvVar24 + iVar9) != *(char *)((int)pvVar30 + iVar9) ||\n                         (psVar6[-7] != 0x100))));\n                if (*(char *)((int)pvVar30 + iVar9) != '\x04') {\n                  psVar45 = (size_t *)*psVar45;\n                  if ((((psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)) &&\n                      ((uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0))))\n                     && ((0xfffffff0 < uVar26 || (psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0))))) {\n                    psVar34[0xb] = 0;\n                    if (uVar26 < uVar39) {\n                      psVar6[-2] = uVar39;\n                    }\n                    bVar40 = true;\n                    if (local_6c != 0) {\n                      psVar6[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0)) {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    psVar34[0x11] = 1;\n                    psVar34[0xb] = 0x101;\n                    psVar6[-1] = 1;\n                    psVar6[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }\n                uVar26 = 0;\n                for (iVar21 = 0; (int)*psVar25 - iVar12 != iVar21; iVar21 = iVar21 + 1) {\n                  uVar26 = uVar26 | (uint)*(byte *)((int)pvVar24 + iVar21 + iVar12) <<\n                                    ((char)iVar21 * '\b' & 0x1fU);\n                }\n                sVar18 = *psVar45;\n                local_5c = (int *)0x0;\n                for (uVar39 = 0; sVar18 - iVar12 != uVar39; uVar39 = uVar39 + 1) {\n                  local_5c = (int *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39] <<\n                                    ((char)uVar39 * '\b' & 0x1fU));\n                }\n                uVar28 = 0;\n                uVar26 = (int)local_5c + uVar26;\n                for (uVar27 = uVar26; uVar27 != 0; uVar27 = uVar27 >> 8) {\n                  uVar28 = uVar28 + 1;\n                }\n              } while (uVar39 <= uVar28);\n              puVar29 = (undefined1 *)((int)pvVar30 + iVar12);\n              while (puVar29 < (undefined1 *)((int)pvVar30 + sVar18)) {\n                *puVar29 = (char)uVar26;\n                if (uVar26 == 0) break;\n                uVar26 = uVar26 >> 8;\n                puVar29 = puVar29 + 1;\n              }\n              psVar34[0xb] = 0;\n              bVar40 = true;\n            }\n            goto LAB_0001a954;\n          }\n          if (!bVar40) goto LAB_0001a75c;\n          pvVar24 = (void *)xmalloc(uVar35,pvVar44,psVar20,psVar46);\n          sVar18 = 0;\n          pvVar44 = pvVar24;\n          local_80 = psVar38;\n          for (psVar20 = local_60; psVar20 < local_64; psVar20 = psVar20 + 9) {\n            sVar23 = *psVar20;\n            __n = psVar20[1] + sVar23 + 0xc;\n            sVar2 = psVar20[2];\n            pvVar30 = pvVar44;\n            if (sVar2 != 0) {\n              if (psVar20[8] == 0) {\n                memcpy(pvVar44,local_80,__n);\n                pvVar30 = (void *)((int)pvVar44 + __n);\n              }\n              else {\n                sVar5 = psVar20[6];\n                __dest = (void *)((int)pvVar44 + 0xc);\n                pvVar30 = (void *)((int)__dest + sVar23);\n                if ((sVar5 == local_74) && (psVar20[7] == sVar18)) {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar5,sVar5);\n                  (**(code **)(param_1[1] + 0x30))(0,(int)pvVar44 + 4);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                }\n                else {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar18,sVar18);\n                  cVar8 = '\b';\n                  if (*(int *)(param_1[1] + 4) == 5) {\n                    cVar8 = (*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b';\n                  }\n                  (**(code **)(param_1[1] + 0x30))(cVar8,(int)pvVar44 + 4,sVar23,sVar23);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                  sVar18 = param_1[1];\n                  psVar25 = param_1;\n                  if ((*(int *)(sVar18 + 4) == 5) &&\n                     (psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02')) {\n                    (**(code **)(sVar18 + 0x24))(sVar5,0,pvVar30,psVar25);\n                    (**(code **)(param_1[1] + 0x24))(psVar20[7],0,(void *)((int)pvVar30 + 8));\n                    pvVar30 = (void *)((int)pvVar30 + 0x10);\n                  }\n                  else {\n                    (**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25);\n                    (**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4);\n                    pvVar30 = (void *)((int)pvVar30 + 8);\n                  }\n                }\n              }\n              local_74 = psVar20[6];\n              sVar18 = psVar20[7];\n            }\n            local_80 = (size_t *)((int)local_80 + __n);\n            pvVar44 = pvVar30;\n          }\n          sVar18 = (int)pvVar44 - (int)pvVar24;\n          memcpy(psVar38,pvVar24,sVar18);\n          free(pvVar24);\n          free(local_60);\n          DAT_0003fb7c = sVar18;\n          if (uVar35 != sVar18) {\n            uVar10 = extraout_ECX_02;\n            if ((*(int *)(sVar17 + 0x3c) != 0) &&\n               (iVar9 = bfd_set_section_size(param_2,*(int *)(sVar17 + 0x3c),sVar18,extraout_EDX),\n               uVar10 = extraout_ECX_03, iVar9 != 0)) goto LAB_00018aad;\n            uVar10 = dcgettext(0,"warning: failed to set merged notes size",5,uVar10);\n            FUN_0002c160(0,param_2,sVar17,uVar10);\n          }\n        }\n        else {\n          iVar9 = dcgettext(0,"corrupt GNU build attribute notes: excess data at end",5,local_64);\nLAB_0001a72d:\n          if (iVar9 != 0) {\n            bfd_set_error(0x11);\n            FUN_0002c160(0,param_1,sVar17,iVar9);\n            DAT_0003fb88 = 1;\n          }\nLAB_0001a75c:\n          free(local_60);\n        }\n        free(DAT_0003fb80);\n        DAT_0003fb80 = (size_t *)0x0;\n        DAT_0003fb84 = 0;\n        DAT_0003fb7c = 0;\n      }" (else "else") (compound_statement "{\n        iVar9 = bfd_get_reloc_upper_bound(param_1,sVar17,sVar17,sVar17);\n        psVar20 = param_1;\n        sVar18 = sVar17;\n        if (0 < iVar9) {\n          psVar20 = (size_t *)xmalloc(iVar9);\n          sVar18 = bfd_canonicalize_reloc(param_1,sVar17,psVar20,DAT_0003fb9c);\n          free(psVar20);\n          if (sVar18 == 0) goto LAB_0001a478;\n          local_60 = (size_t *)0x0;\n          goto LAB_0001a75c;\n        }\nLAB_0001a478:\n        pvVar44 = (void *)0x24;\n        psVar46 = psVar20;\n        local_60 = (size_t *)xcalloc(uVar35 / 0xc,0x24,psVar20,psVar20);\n        local_90 = (void *)0x0;\n        local_98 = 0;\n        local_8c = 0;\n        local_94 = 0;\n        local_6c = 0;\n        local_84 = (int *)0x0;\n        local_80 = (size_t *)0x0;\n        psVar25 = psVar38;\n        psVar34 = psVar38;\n        local_74 = uVar35;\n        local_64 = local_60;\n        while (0xb < local_74) {\n          iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25);\n          uVar26 = iVar9 + 3U & 0xfffffffc;\n          *local_64 = uVar26;\n          iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25 + 1);\n          uVar39 = iVar9 + 3U & 0xfffffffc;\n          sVar18 = param_1[1];\n          local_64[1] = uVar39;\n          sVar23 = (**(code **)(sVar18 + 0x28))(psVar25 + 2);\n          local_64[2] = sVar23;\n          if (1 < sVar23 - 0x100) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: wrong note type",5,\n                              extraout_ECX_01);\n            goto LAB_0001a72d;\n          }\n          iVar9 = uVar26 + uVar39;\n          if (local_74 < iVar9 + 0xcU) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: note too big",5,psVar25);\n            goto LAB_0001a72d;\n          }\n          if (uVar26 < 2) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name too small",5,iVar9);\n            goto LAB_0001a72d;\n          }\n          local_64[3] = (size_t)(psVar25 + 3);\n          sVar2 = (int)psVar25 + uVar26 + 0xc;\n          local_64[4] = sVar2;\n          psVar34 = (size_t *)(-0xc - iVar9);\n          local_74 = local_74 + (int)psVar34;\n          cVar8 = (char)psVar25[3];\n          if (cVar8 == '$') {\n            if ((*(char *)((int)psVar25 + 0xd) == '\x01') && (*(char *)((int)psVar25 + 0xe) == '1'))\n            {\n              local_80 = (size_t *)((int)local_80 + 1);\n            }\n          }\n          else if ((((4 < uVar26) && (cVar8 == 'G')) && (*(char *)((int)psVar25 + 0xd) == 'A')) &&\n                  ((*(char *)((int)psVar25 + 0xe) == '$' &&\n                   (*(char *)((int)psVar25 + 0xf) == '\x01')))) {\n            cVar8 = (char)psVar25[4];\n            if (cVar8 == '2') {\n              local_84 = (int *)((int)local_84 + 1);\n            }\n            else {\n              if (cVar8 != '3') {\n                iVar9 = dcgettext(0,"corrupt GNU build attribute note: unsupported version",5,cVar8)\n                ;\n                goto LAB_0001a72d;\n              }\n              local_6c = local_6c + 1;\n            }\n          }\n          if (uVar39 == 4) {\n            sVar18 = (**(code **)(param_1[1] + 0x28))(sVar2);\n            pvVar24 = (void *)0xffffffff;\n          }\n          else if (uVar39 < 5) {\n            if (uVar39 != 0) {\nLAB_0001a7ea:\n              iVar9 = dcgettext(0,"corrupt GNU build attribute note: bad description size",5,cVar8);\n              goto LAB_0001a72d;\n            }\n            pvVar24 = (void *)0x0;\n            sVar18 = 0;\n          }\n          else {\n            psVar34 = param_1;\n            if (uVar39 == 8) {\n              sVar18 = param_1[1];\n              if ((*(int *)(sVar18 + 4) == 5) && (*(char *)(param_1[0x27] + 4) == '\x02')) {\n                sVar18 = (**(code **)(sVar18 + 0x1c))(sVar2);\n                pvVar24 = (void *)0xffffffff;\n              }\n              else {\n                sVar18 = (**(code **)(sVar18 + 0x28))(sVar2);\n                pvVar24 = (void *)(**(code **)(param_1[1] + 0x28))(sVar2 + 4);\n              }\n            }\n            else {\n              if (uVar39 != 0x10) goto LAB_0001a7ea;\n              sVar18 = (**(code **)(param_1[1] + 0x1c))(sVar2);\n              pvVar24 = (void *)(**(code **)(param_1[1] + 0x1c))(sVar2 + 8);\n            }\n          }\n          if (sVar23 == 0x100) {\n            if (sVar18 == 0) {\n              sVar18 = local_8c;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = local_90;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_90 = pvVar24;\n            local_8c = sVar18;\n          }\n          else {\n            if (sVar18 == 0) {\n              sVar18 = local_94;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = (void *)local_98;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_98 = (size_t)pvVar24;\n            local_94 = sVar18;\n          }\n          if (*(char *)((local_64[3] - 1) + *local_64) != '\0') {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name not NUL terminated",5,\n                              *local_64);\n            goto LAB_0001a72d;\n          }\n          local_64 = local_64 + 9;\n          psVar25 = (size_t *)(iVar9 + 0xcU + (int)psVar25);\n        }\n        if (local_74 == 0) {\n          uVar26 = (uint)local_84 | local_6c;\n          if (local_80 == (size_t *)0x0 && uVar26 == 0) {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: no known versions detected",5,uVar26\n                             );\n            goto LAB_0001a72d;\n          }\n          if (((local_80 != (size_t *)0x0) && (uVar26 != 0)) ||\n             ((local_84 != (int *)0x0 && (local_6c != 0)))) {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: multiple different versions",5,\n                              sVar18);\n            goto LAB_0001a72d;\n          }\n          if ((local_80 == (size_t *)0x1 || local_84 == (int *)0x1) || (local_6c == 1))\n          goto LAB_0001a75c;\n          uVar26 = -(uint)(local_80 == (size_t *)0x0) & 2;\n          iVar9 = uVar26 + 1;\n          if (*(char *)(local_60[3] + iVar9) != '\x01') {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: first note not version note",5,\n                              psVar34);\n            goto LAB_0001a72d;\n          }\n          bVar40 = false;\n          iVar12 = uVar26 + 2;\n          psVar25 = local_60;\nLAB_0001a954:\n          psVar34 = psVar25;\n          psVar25 = psVar34 + 9;\n          if (psVar25 < local_64) {\n            if (psVar34[0xb] == 0x100) {\n              pvVar24 = (void *)psVar34[0xc];\n              local_7c = (size_t *)0x0;\n              psVar45 = psVar25;\n              do {\n                do {\n                  psVar6 = psVar45;\n                  psVar45 = psVar6 + -9;\n                  if (psVar45 < local_60) goto LAB_0001a954;\n                  pvVar30 = (void *)psVar6[-6];\n                  psVar7 = local_7c;\n                } while ((((local_7c == (size_t *)0x0) && (psVar6[-8] != 0)) &&\n                         (psVar7 = psVar45, psVar6[-7] == 0x101)) ||\n                        ((local_7c = psVar7,\n                         *(char *)((int)pvVar24 + iVar9) != *(char *)((int)pvVar30 + iVar9) ||\n                         (psVar6[-7] != 0x100))));\n                if (*(char *)((int)pvVar30 + iVar9) != '\x04') {\n                  psVar45 = (size_t *)*psVar45;\n                  if ((((psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)) &&\n                      ((uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0))))\n                     && ((0xfffffff0 < uVar26 || (psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0))))) {\n                    psVar34[0xb] = 0;\n                    if (uVar26 < uVar39) {\n                      psVar6[-2] = uVar39;\n                    }\n                    bVar40 = true;\n                    if (local_6c != 0) {\n                      psVar6[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0)) {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    psVar34[0x11] = 1;\n                    psVar34[0xb] = 0x101;\n                    psVar6[-1] = 1;\n                    psVar6[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }\n                uVar26 = 0;\n                for (iVar21 = 0; (int)*psVar25 - iVar12 != iVar21; iVar21 = iVar21 + 1) {\n                  uVar26 = uVar26 | (uint)*(byte *)((int)pvVar24 + iVar21 + iVar12) <<\n                                    ((char)iVar21 * '\b' & 0x1fU);\n                }\n                sVar18 = *psVar45;\n                local_5c = (int *)0x0;\n                for (uVar39 = 0; sVar18 - iVar12 != uVar39; uVar39 = uVar39 + 1) {\n                  local_5c = (int *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39] <<\n                                    ((char)uVar39 * '\b' & 0x1fU));\n                }\n                uVar28 = 0;\n                uVar26 = (int)local_5c + uVar26;\n                for (uVar27 = uVar26; uVar27 != 0; uVar27 = uVar27 >> 8) {\n                  uVar28 = uVar28 + 1;\n                }\n              } while (uVar39 <= uVar28);\n              puVar29 = (undefined1 *)((int)pvVar30 + iVar12);\n              while (puVar29 < (undefined1 *)((int)pvVar30 + sVar18)) {\n                *puVar29 = (char)uVar26;\n                if (uVar26 == 0) break;\n                uVar26 = uVar26 >> 8;\n                puVar29 = puVar29 + 1;\n              }\n              psVar34[0xb] = 0;\n              bVar40 = true;\n            }\n            goto LAB_0001a954;\n          }\n          if (!bVar40) goto LAB_0001a75c;\n          pvVar24 = (void *)xmalloc(uVar35,pvVar44,psVar20,psVar46);\n          sVar18 = 0;\n          pvVar44 = pvVar24;\n          local_80 = psVar38;\n          for (psVar20 = local_60; psVar20 < local_64; psVar20 = psVar20 + 9) {\n            sVar23 = *psVar20;\n            __n = psVar20[1] + sVar23 + 0xc;\n            sVar2 = psVar20[2];\n            pvVar30 = pvVar44;\n            if (sVar2 != 0) {\n              if (psVar20[8] == 0) {\n                memcpy(pvVar44,local_80,__n);\n                pvVar30 = (void *)((int)pvVar44 + __n);\n              }\n              else {\n                sVar5 = psVar20[6];\n                __dest = (void *)((int)pvVar44 + 0xc);\n                pvVar30 = (void *)((int)__dest + sVar23);\n                if ((sVar5 == local_74) && (psVar20[7] == sVar18)) {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar5,sVar5);\n                  (**(code **)(param_1[1] + 0x30))(0,(int)pvVar44 + 4);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                }\n                else {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar18,sVar18);\n                  cVar8 = '\b';\n                  if (*(int *)(param_1[1] + 4) == 5) {\n                    cVar8 = (*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b';\n                  }\n                  (**(code **)(param_1[1] + 0x30))(cVar8,(int)pvVar44 + 4,sVar23,sVar23);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                  sVar18 = param_1[1];\n                  psVar25 = param_1;\n                  if ((*(int *)(sVar18 + 4) == 5) &&\n                     (psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02')) {\n                    (**(code **)(sVar18 + 0x24))(sVar5,0,pvVar30,psVar25);\n                    (**(code **)(param_1[1] + 0x24))(psVar20[7],0,(void *)((int)pvVar30 + 8));\n                    pvVar30 = (void *)((int)pvVar30 + 0x10);\n                  }\n                  else {\n                    (**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25);\n                    (**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4);\n                    pvVar30 = (void *)((int)pvVar30 + 8);\n                  }\n                }\n              }\n              local_74 = psVar20[6];\n              sVar18 = psVar20[7];\n            }\n            local_80 = (size_t *)((int)local_80 + __n);\n            pvVar44 = pvVar30;\n          }\n          sVar18 = (int)pvVar44 - (int)pvVar24;\n          memcpy(psVar38,pvVar24,sVar18);\n          free(pvVar24);\n          free(local_60);\n          DAT_0003fb7c = sVar18;\n          if (uVar35 != sVar18) {\n            uVar10 = extraout_ECX_02;\n            if ((*(int *)(sVar17 + 0x3c) != 0) &&\n               (iVar9 = bfd_set_section_size(param_2,*(int *)(sVar17 + 0x3c),sVar18,extraout_EDX),\n               uVar10 = extraout_ECX_03, iVar9 != 0)) goto LAB_00018aad;\n            uVar10 = dcgettext(0,"warning: failed to set merged notes size",5,uVar10);\n            FUN_0002c160(0,param_2,sVar17,uVar10);\n          }\n        }\n        else {\n          iVar9 = dcgettext(0,"corrupt GNU build attribute notes: excess data at end",5,local_64);\nLAB_0001a72d:\n          if (iVar9 != 0) {\n            bfd_set_error(0x11);\n            FUN_0002c160(0,param_1,sVar17,iVar9);\n            DAT_0003fb88 = 1;\n          }\nLAB_0001a75c:\n          free(local_60);\n        }\n        free(DAT_0003fb80);\n        DAT_0003fb80 = (size_t *)0x0;\n        DAT_0003fb84 = 0;\n        DAT_0003fb7c = 0;\n      }" ({ "{") (expression_statement "iVar9 = bfd_get_reloc_upper_bound(param_1,sVar17,sVar17,sVar17);" (assignment_expression "iVar9 = bfd_get_reloc_upper_bound(param_1,sVar17,sVar17,sVar17)" (identifier "iVar9") (= "=") (call_expression "bfd_get_reloc_upper_bound(param_1,sVar17,sVar17,sVar17)" (identifier "bfd_get_reloc_upper_bound") (argument_list "(param_1,sVar17,sVar17,sVar17)" (( "(") (identifier "param_1") (, ",") (identifier "sVar17") (, ",") (identifier "sVar17") (, ",") (identifier "sVar17") () ")")))) (; ";")) (expression_statement "psVar20 = param_1;" (assignment_expression "psVar20 = param_1" (identifier "psVar20") (= "=") (identifier "param_1")) (; ";")) (expression_statement "sVar18 = sVar17;" (assignment_expression "sVar18 = sVar17" (identifier "sVar18") (= "=") (identifier "sVar17")) (; ";")) (if_statement "if (0 < iVar9) {\n          psVar20 = (size_t *)xmalloc(iVar9);\n          sVar18 = bfd_canonicalize_reloc(param_1,sVar17,psVar20,DAT_0003fb9c);\n          free(psVar20);\n          if (sVar18 == 0) goto LAB_0001a478;\n          local_60 = (size_t *)0x0;\n          goto LAB_0001a75c;\n        }" (if "if") (parenthesized_expression "(0 < iVar9)" (( "(") (binary_expression "0 < iVar9" (number_literal "0") (< "<") (identifier "iVar9")) () ")")) (compound_statement "{\n          psVar20 = (size_t *)xmalloc(iVar9);\n          sVar18 = bfd_canonicalize_reloc(param_1,sVar17,psVar20,DAT_0003fb9c);\n          free(psVar20);\n          if (sVar18 == 0) goto LAB_0001a478;\n          local_60 = (size_t *)0x0;\n          goto LAB_0001a75c;\n        }" ({ "{") (expression_statement "psVar20 = (size_t *)xmalloc(iVar9);" (assignment_expression "psVar20 = (size_t *)xmalloc(iVar9)" (identifier "psVar20") (= "=") (cast_expression "(size_t *)xmalloc(iVar9)" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "xmalloc(iVar9)" (identifier "xmalloc") (argument_list "(iVar9)" (( "(") (identifier "iVar9") () ")"))))) (; ";")) (expression_statement "sVar18 = bfd_canonicalize_reloc(param_1,sVar17,psVar20,DAT_0003fb9c);" (assignment_expression "sVar18 = bfd_canonicalize_reloc(param_1,sVar17,psVar20,DAT_0003fb9c)" (identifier "sVar18") (= "=") (call_expression "bfd_canonicalize_reloc(param_1,sVar17,psVar20,DAT_0003fb9c)" (identifier "bfd_canonicalize_reloc") (argument_list "(param_1,sVar17,psVar20,DAT_0003fb9c)" (( "(") (identifier "param_1") (, ",") (identifier "sVar17") (, ",") (identifier "psVar20") (, ",") (identifier "DAT_0003fb9c") () ")")))) (; ";")) (expression_statement "free(psVar20);" (call_expression "free(psVar20)" (identifier "free") (argument_list "(psVar20)" (( "(") (identifier "psVar20") () ")"))) (; ";")) (if_statement "if (sVar18 == 0) goto LAB_0001a478;" (if "if") (parenthesized_expression "(sVar18 == 0)" (( "(") (binary_expression "sVar18 == 0" (identifier "sVar18") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001a478;" (goto "goto") (statement_identifier "LAB_0001a478") (; ";"))) (expression_statement "local_60 = (size_t *)0x0;" (assignment_expression "local_60 = (size_t *)0x0" (identifier "local_60") (= "=") (cast_expression "(size_t *)0x0" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (goto_statement "goto LAB_0001a75c;" (goto "goto") (statement_identifier "LAB_0001a75c") (; ";")) (} "}"))) (labeled_statement "LAB_0001a478:\n        pvVar44 = (void *)0x24;" (statement_identifier "LAB_0001a478") (: ":") (expression_statement "pvVar44 = (void *)0x24;" (assignment_expression "pvVar44 = (void *)0x24" (identifier "pvVar44") (= "=") (cast_expression "(void *)0x24" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x24"))) (; ";"))) (expression_statement "psVar46 = psVar20;" (assignment_expression "psVar46 = psVar20" (identifier "psVar46") (= "=") (identifier "psVar20")) (; ";")) (expression_statement "local_60 = (size_t *)xcalloc(uVar35 / 0xc,0x24,psVar20,psVar20);" (assignment_expression "local_60 = (size_t *)xcalloc(uVar35 / 0xc,0x24,psVar20,psVar20)" (identifier "local_60") (= "=") (cast_expression "(size_t *)xcalloc(uVar35 / 0xc,0x24,psVar20,psVar20)" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "xcalloc(uVar35 / 0xc,0x24,psVar20,psVar20)" (identifier "xcalloc") (argument_list "(uVar35 / 0xc,0x24,psVar20,psVar20)" (( "(") (binary_expression "uVar35 / 0xc" (identifier "uVar35") (/ "/") (number_literal "0xc")) (, ",") (number_literal "0x24") (, ",") (identifier "psVar20") (, ",") (identifier "psVar20") () ")"))))) (; ";")) (expression_statement "local_90 = (void *)0x0;" (assignment_expression "local_90 = (void *)0x0" (identifier "local_90") (= "=") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_98 = 0;" (assignment_expression "local_98 = 0" (identifier "local_98") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_8c = 0;" (assignment_expression "local_8c = 0" (identifier "local_8c") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" (identifier "local_94") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_6c = 0;" (assignment_expression "local_6c = 0" (identifier "local_6c") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_84 = (int *)0x0;" (assignment_expression "local_84 = (int *)0x0" (identifier "local_84") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_80 = (size_t *)0x0;" (assignment_expression "local_80 = (size_t *)0x0" (identifier "local_80") (= "=") (cast_expression "(size_t *)0x0" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "psVar25 = psVar38;" (assignment_expression "psVar25 = psVar38" (identifier "psVar25") (= "=") (identifier "psVar38")) (; ";")) (expression_statement "psVar34 = psVar38;" (assignment_expression "psVar34 = psVar38" (identifier "psVar34") (= "=") (identifier "psVar38")) (; ";")) (expression_statement "local_74 = uVar35;" (assignment_expression "local_74 = uVar35" (identifier "local_74") (= "=") (identifier "uVar35")) (; ";")) (expression_statement "local_64 = local_60;" (assignment_expression "local_64 = local_60" (identifier "local_64") (= "=") (identifier "local_60")) (; ";")) (while_statement "while (0xb < local_74) {\n          iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25);\n          uVar26 = iVar9 + 3U & 0xfffffffc;\n          *local_64 = uVar26;\n          iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25 + 1);\n          uVar39 = iVar9 + 3U & 0xfffffffc;\n          sVar18 = param_1[1];\n          local_64[1] = uVar39;\n          sVar23 = (**(code **)(sVar18 + 0x28))(psVar25 + 2);\n          local_64[2] = sVar23;\n          if (1 < sVar23 - 0x100) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: wrong note type",5,\n                              extraout_ECX_01);\n            goto LAB_0001a72d;\n          }\n          iVar9 = uVar26 + uVar39;\n          if (local_74 < iVar9 + 0xcU) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: note too big",5,psVar25);\n            goto LAB_0001a72d;\n          }\n          if (uVar26 < 2) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name too small",5,iVar9);\n            goto LAB_0001a72d;\n          }\n          local_64[3] = (size_t)(psVar25 + 3);\n          sVar2 = (int)psVar25 + uVar26 + 0xc;\n          local_64[4] = sVar2;\n          psVar34 = (size_t *)(-0xc - iVar9);\n          local_74 = local_74 + (int)psVar34;\n          cVar8 = (char)psVar25[3];\n          if (cVar8 == '$') {\n            if ((*(char *)((int)psVar25 + 0xd) == '\x01') && (*(char *)((int)psVar25 + 0xe) == '1'))\n            {\n              local_80 = (size_t *)((int)local_80 + 1);\n            }\n          }\n          else if ((((4 < uVar26) && (cVar8 == 'G')) && (*(char *)((int)psVar25 + 0xd) == 'A')) &&\n                  ((*(char *)((int)psVar25 + 0xe) == '$' &&\n                   (*(char *)((int)psVar25 + 0xf) == '\x01')))) {\n            cVar8 = (char)psVar25[4];\n            if (cVar8 == '2') {\n              local_84 = (int *)((int)local_84 + 1);\n            }\n            else {\n              if (cVar8 != '3') {\n                iVar9 = dcgettext(0,"corrupt GNU build attribute note: unsupported version",5,cVar8)\n                ;\n                goto LAB_0001a72d;\n              }\n              local_6c = local_6c + 1;\n            }\n          }\n          if (uVar39 == 4) {\n            sVar18 = (**(code **)(param_1[1] + 0x28))(sVar2);\n            pvVar24 = (void *)0xffffffff;\n          }\n          else if (uVar39 < 5) {\n            if (uVar39 != 0) {\nLAB_0001a7ea:\n              iVar9 = dcgettext(0,"corrupt GNU build attribute note: bad description size",5,cVar8);\n              goto LAB_0001a72d;\n            }\n            pvVar24 = (void *)0x0;\n            sVar18 = 0;\n          }\n          else {\n            psVar34 = param_1;\n            if (uVar39 == 8) {\n              sVar18 = param_1[1];\n              if ((*(int *)(sVar18 + 4) == 5) && (*(char *)(param_1[0x27] + 4) == '\x02')) {\n                sVar18 = (**(code **)(sVar18 + 0x1c))(sVar2);\n                pvVar24 = (void *)0xffffffff;\n              }\n              else {\n                sVar18 = (**(code **)(sVar18 + 0x28))(sVar2);\n                pvVar24 = (void *)(**(code **)(param_1[1] + 0x28))(sVar2 + 4);\n              }\n            }\n            else {\n              if (uVar39 != 0x10) goto LAB_0001a7ea;\n              sVar18 = (**(code **)(param_1[1] + 0x1c))(sVar2);\n              pvVar24 = (void *)(**(code **)(param_1[1] + 0x1c))(sVar2 + 8);\n            }\n          }\n          if (sVar23 == 0x100) {\n            if (sVar18 == 0) {\n              sVar18 = local_8c;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = local_90;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_90 = pvVar24;\n            local_8c = sVar18;\n          }\n          else {\n            if (sVar18 == 0) {\n              sVar18 = local_94;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = (void *)local_98;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_98 = (size_t)pvVar24;\n            local_94 = sVar18;\n          }\n          if (*(char *)((local_64[3] - 1) + *local_64) != '\0') {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name not NUL terminated",5,\n                              *local_64);\n            goto LAB_0001a72d;\n          }\n          local_64 = local_64 + 9;\n          psVar25 = (size_t *)(iVar9 + 0xcU + (int)psVar25);\n        }" (while "while") (parenthesized_expression "(0xb < local_74)" (( "(") (binary_expression "0xb < local_74" (number_literal "0xb") (< "<") (identifier "local_74")) () ")")) (compound_statement "{\n          iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25);\n          uVar26 = iVar9 + 3U & 0xfffffffc;\n          *local_64 = uVar26;\n          iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25 + 1);\n          uVar39 = iVar9 + 3U & 0xfffffffc;\n          sVar18 = param_1[1];\n          local_64[1] = uVar39;\n          sVar23 = (**(code **)(sVar18 + 0x28))(psVar25 + 2);\n          local_64[2] = sVar23;\n          if (1 < sVar23 - 0x100) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: wrong note type",5,\n                              extraout_ECX_01);\n            goto LAB_0001a72d;\n          }\n          iVar9 = uVar26 + uVar39;\n          if (local_74 < iVar9 + 0xcU) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: note too big",5,psVar25);\n            goto LAB_0001a72d;\n          }\n          if (uVar26 < 2) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name too small",5,iVar9);\n            goto LAB_0001a72d;\n          }\n          local_64[3] = (size_t)(psVar25 + 3);\n          sVar2 = (int)psVar25 + uVar26 + 0xc;\n          local_64[4] = sVar2;\n          psVar34 = (size_t *)(-0xc - iVar9);\n          local_74 = local_74 + (int)psVar34;\n          cVar8 = (char)psVar25[3];\n          if (cVar8 == '$') {\n            if ((*(char *)((int)psVar25 + 0xd) == '\x01') && (*(char *)((int)psVar25 + 0xe) == '1'))\n            {\n              local_80 = (size_t *)((int)local_80 + 1);\n            }\n          }\n          else if ((((4 < uVar26) && (cVar8 == 'G')) && (*(char *)((int)psVar25 + 0xd) == 'A')) &&\n                  ((*(char *)((int)psVar25 + 0xe) == '$' &&\n                   (*(char *)((int)psVar25 + 0xf) == '\x01')))) {\n            cVar8 = (char)psVar25[4];\n            if (cVar8 == '2') {\n              local_84 = (int *)((int)local_84 + 1);\n            }\n            else {\n              if (cVar8 != '3') {\n                iVar9 = dcgettext(0,"corrupt GNU build attribute note: unsupported version",5,cVar8)\n                ;\n                goto LAB_0001a72d;\n              }\n              local_6c = local_6c + 1;\n            }\n          }\n          if (uVar39 == 4) {\n            sVar18 = (**(code **)(param_1[1] + 0x28))(sVar2);\n            pvVar24 = (void *)0xffffffff;\n          }\n          else if (uVar39 < 5) {\n            if (uVar39 != 0) {\nLAB_0001a7ea:\n              iVar9 = dcgettext(0,"corrupt GNU build attribute note: bad description size",5,cVar8);\n              goto LAB_0001a72d;\n            }\n            pvVar24 = (void *)0x0;\n            sVar18 = 0;\n          }\n          else {\n            psVar34 = param_1;\n            if (uVar39 == 8) {\n              sVar18 = param_1[1];\n              if ((*(int *)(sVar18 + 4) == 5) && (*(char *)(param_1[0x27] + 4) == '\x02')) {\n                sVar18 = (**(code **)(sVar18 + 0x1c))(sVar2);\n                pvVar24 = (void *)0xffffffff;\n              }\n              else {\n                sVar18 = (**(code **)(sVar18 + 0x28))(sVar2);\n                pvVar24 = (void *)(**(code **)(param_1[1] + 0x28))(sVar2 + 4);\n              }\n            }\n            else {\n              if (uVar39 != 0x10) goto LAB_0001a7ea;\n              sVar18 = (**(code **)(param_1[1] + 0x1c))(sVar2);\n              pvVar24 = (void *)(**(code **)(param_1[1] + 0x1c))(sVar2 + 8);\n            }\n          }\n          if (sVar23 == 0x100) {\n            if (sVar18 == 0) {\n              sVar18 = local_8c;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = local_90;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_90 = pvVar24;\n            local_8c = sVar18;\n          }\n          else {\n            if (sVar18 == 0) {\n              sVar18 = local_94;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = (void *)local_98;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_98 = (size_t)pvVar24;\n            local_94 = sVar18;\n          }\n          if (*(char *)((local_64[3] - 1) + *local_64) != '\0') {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name not NUL terminated",5,\n                              *local_64);\n            goto LAB_0001a72d;\n          }\n          local_64 = local_64 + 9;\n          psVar25 = (size_t *)(iVar9 + 0xcU + (int)psVar25);\n        }" ({ "{") (expression_statement "iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25);" (assignment_expression "iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25)" (identifier "iVar9") (= "=") (call_expression "(**(code **)(param_1[1] + 0x28))(psVar25)" (parenthesized_expression "(**(code **)(param_1[1] + 0x28))" (( "(") (pointer_expression "**(code **)(param_1[1] + 0x28)" (* "*") (pointer_expression "*(code **)(param_1[1] + 0x28)" (* "*") (cast_expression "(code **)(param_1[1] + 0x28)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1[1] + 0x28)" (( "(") (binary_expression "param_1[1] + 0x28" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "0x28")) () ")"))))) () ")")) (argument_list "(psVar25)" (( "(") (identifier "psVar25") () ")")))) (; ";")) (expression_statement "uVar26 = iVar9 + 3U & 0xfffffffc;" (assignment_expression "uVar26 = iVar9 + 3U & 0xfffffffc" (identifier "uVar26") (= "=") (binary_expression "iVar9 + 3U & 0xfffffffc" (binary_expression "iVar9 + 3U" (identifier "iVar9") (+ "+") (number_literal "3U")) (& "&") (number_literal "0xfffffffc"))) (; ";")) (expression_statement "*local_64 = uVar26;" (assignment_expression "*local_64 = uVar26" (pointer_expression "*local_64" (* "*") (identifier "local_64")) (= "=") (identifier "uVar26")) (; ";")) (expression_statement "iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25 + 1);" (assignment_expression "iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25 + 1)" (identifier "iVar9") (= "=") (call_expression "(**(code **)(param_1[1] + 0x28))(psVar25 + 1)" (parenthesized_expression "(**(code **)(param_1[1] + 0x28))" (( "(") (pointer_expression "**(code **)(param_1[1] + 0x28)" (* "*") (pointer_expression "*(code **)(param_1[1] + 0x28)" (* "*") (cast_expression "(code **)(param_1[1] + 0x28)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1[1] + 0x28)" (( "(") (binary_expression "param_1[1] + 0x28" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "0x28")) () ")"))))) () ")")) (argument_list "(psVar25 + 1)" (( "(") (binary_expression "psVar25 + 1" (identifier "psVar25") (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "uVar39 = iVar9 + 3U & 0xfffffffc;" (assignment_expression "uVar39 = iVar9 + 3U & 0xfffffffc" (identifier "uVar39") (= "=") (binary_expression "iVar9 + 3U & 0xfffffffc" (binary_expression "iVar9 + 3U" (identifier "iVar9") (+ "+") (number_literal "3U")) (& "&") (number_literal "0xfffffffc"))) (; ";")) (expression_statement "sVar18 = param_1[1];" (assignment_expression "sVar18 = param_1[1]" (identifier "sVar18") (= "=") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "local_64[1] = uVar39;" (assignment_expression "local_64[1] = uVar39" (subscript_expression "local_64[1]" (identifier "local_64") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar39")) (; ";")) (expression_statement "sVar23 = (**(code **)(sVar18 + 0x28))(psVar25 + 2);" (assignment_expression "sVar23 = (**(code **)(sVar18 + 0x28))(psVar25 + 2)" (identifier "sVar23") (= "=") (call_expression "(**(code **)(sVar18 + 0x28))(psVar25 + 2)" (parenthesized_expression "(**(code **)(sVar18 + 0x28))" (( "(") (pointer_expression "**(code **)(sVar18 + 0x28)" (* "*") (pointer_expression "*(code **)(sVar18 + 0x28)" (* "*") (cast_expression "(code **)(sVar18 + 0x28)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(sVar18 + 0x28)" (( "(") (binary_expression "sVar18 + 0x28" (identifier "sVar18") (+ "+") (number_literal "0x28")) () ")"))))) () ")")) (argument_list "(psVar25 + 2)" (( "(") (binary_expression "psVar25 + 2" (identifier "psVar25") (+ "+") (number_literal "2")) () ")")))) (; ";")) (expression_statement "local_64[2] = sVar23;" (assignment_expression "local_64[2] = sVar23" (subscript_expression "local_64[2]" (identifier "local_64") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "sVar23")) (; ";")) (if_statement "if (1 < sVar23 - 0x100) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: wrong note type",5,\n                              extraout_ECX_01);\n            goto LAB_0001a72d;\n          }" (if "if") (parenthesized_expression "(1 < sVar23 - 0x100)" (( "(") (binary_expression "1 < sVar23 - 0x100" (number_literal "1") (< "<") (binary_expression "sVar23 - 0x100" (identifier "sVar23") (- "-") (number_literal "0x100"))) () ")")) (compound_statement "{\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: wrong note type",5,\n                              extraout_ECX_01);\n            goto LAB_0001a72d;\n          }" ({ "{") (expression_statement "iVar9 = dcgettext(0,"corrupt GNU build attribute note: wrong note type",5,\n                              extraout_ECX_01);" (assignment_expression "iVar9 = dcgettext(0,"corrupt GNU build attribute note: wrong note type",5,\n                              extraout_ECX_01)" (identifier "iVar9") (= "=") (call_expression "dcgettext(0,"corrupt GNU build attribute note: wrong note type",5,\n                              extraout_ECX_01)" (identifier "dcgettext") (argument_list "(0,"corrupt GNU build attribute note: wrong note type",5,\n                              extraout_ECX_01)" (( "(") (number_literal "0") (, ",") (string_literal ""corrupt GNU build attribute note: wrong note type"" (" """) (string_content "corrupt GNU build attribute note: wrong note type") (" """)) (, ",") (number_literal "5") (, ",") (identifier "extraout_ECX_01") () ")")))) (; ";")) (goto_statement "goto LAB_0001a72d;" (goto "goto") (statement_identifier "LAB_0001a72d") (; ";")) (} "}"))) (expression_statement "iVar9 = uVar26 + uVar39;" (assignment_expression "iVar9 = uVar26 + uVar39" (identifier "iVar9") (= "=") (binary_expression "uVar26 + uVar39" (identifier "uVar26") (+ "+") (identifier "uVar39"))) (; ";")) (if_statement "if (local_74 < iVar9 + 0xcU) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: note too big",5,psVar25);\n            goto LAB_0001a72d;\n          }" (if "if") (parenthesized_expression "(local_74 < iVar9 + 0xcU)" (( "(") (binary_expression "local_74 < iVar9 + 0xcU" (identifier "local_74") (< "<") (binary_expression "iVar9 + 0xcU" (identifier "iVar9") (+ "+") (number_literal "0xcU"))) () ")")) (compound_statement "{\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: note too big",5,psVar25);\n            goto LAB_0001a72d;\n          }" ({ "{") (expression_statement "iVar9 = dcgettext(0,"corrupt GNU build attribute note: note too big",5,psVar25);" (assignment_expression "iVar9 = dcgettext(0,"corrupt GNU build attribute note: note too big",5,psVar25)" (identifier "iVar9") (= "=") (call_expression "dcgettext(0,"corrupt GNU build attribute note: note too big",5,psVar25)" (identifier "dcgettext") (argument_list "(0,"corrupt GNU build attribute note: note too big",5,psVar25)" (( "(") (number_literal "0") (, ",") (string_literal ""corrupt GNU build attribute note: note too big"" (" """) (string_content "corrupt GNU build attribute note: note too big") (" """)) (, ",") (number_literal "5") (, ",") (identifier "psVar25") () ")")))) (; ";")) (goto_statement "goto LAB_0001a72d;" (goto "goto") (statement_identifier "LAB_0001a72d") (; ";")) (} "}"))) (if_statement "if (uVar26 < 2) {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name too small",5,iVar9);\n            goto LAB_0001a72d;\n          }" (if "if") (parenthesized_expression "(uVar26 < 2)" (( "(") (binary_expression "uVar26 < 2" (identifier "uVar26") (< "<") (number_literal "2")) () ")")) (compound_statement "{\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name too small",5,iVar9);\n            goto LAB_0001a72d;\n          }" ({ "{") (expression_statement "iVar9 = dcgettext(0,"corrupt GNU build attribute note: name too small",5,iVar9);" (assignment_expression "iVar9 = dcgettext(0,"corrupt GNU build attribute note: name too small",5,iVar9)" (identifier "iVar9") (= "=") (call_expression "dcgettext(0,"corrupt GNU build attribute note: name too small",5,iVar9)" (identifier "dcgettext") (argument_list "(0,"corrupt GNU build attribute note: name too small",5,iVar9)" (( "(") (number_literal "0") (, ",") (string_literal ""corrupt GNU build attribute note: name too small"" (" """) (string_content "corrupt GNU build attribute note: name too small") (" """)) (, ",") (number_literal "5") (, ",") (identifier "iVar9") () ")")))) (; ";")) (goto_statement "goto LAB_0001a72d;" (goto "goto") (statement_identifier "LAB_0001a72d") (; ";")) (} "}"))) (expression_statement "local_64[3] = (size_t)(psVar25 + 3);" (assignment_expression "local_64[3] = (size_t)(psVar25 + 3)" (subscript_expression "local_64[3]" (identifier "local_64") ([ "[") (number_literal "3") (] "]")) (= "=") (cast_expression "(size_t)(psVar25 + 3)" (( "(") (type_descriptor "size_t" (primitive_type "size_t")) () ")") (parenthesized_expression "(psVar25 + 3)" (( "(") (binary_expression "psVar25 + 3" (identifier "psVar25") (+ "+") (number_literal "3")) () ")")))) (; ";")) (expression_statement "sVar2 = (int)psVar25 + uVar26 + 0xc;" (assignment_expression "sVar2 = (int)psVar25 + uVar26 + 0xc" (identifier "sVar2") (= "=") (binary_expression "(int)psVar25 + uVar26 + 0xc" (binary_expression "(int)psVar25 + uVar26" (cast_expression "(int)psVar25" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "psVar25")) (+ "+") (identifier "uVar26")) (+ "+") (number_literal "0xc"))) (; ";")) (expression_statement "local_64[4] = sVar2;" (assignment_expression "local_64[4] = sVar2" (subscript_expression "local_64[4]" (identifier "local_64") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "sVar2")) (; ";")) (expression_statement "psVar34 = (size_t *)(-0xc - iVar9);" (assignment_expression "psVar34 = (size_t *)(-0xc - iVar9)" (identifier "psVar34") (= "=") (cast_expression "(size_t *)(-0xc - iVar9)" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(-0xc - iVar9)" (( "(") (binary_expression "-0xc - iVar9" (number_literal "-0xc") (- "-") (identifier "iVar9")) () ")")))) (; ";")) (expression_statement "local_74 = local_74 + (int)psVar34;" (assignment_expression "local_74 = local_74 + (int)psVar34" (identifier "local_74") (= "=") (binary_expression "local_74 + (int)psVar34" (identifier "local_74") (+ "+") (cast_expression "(int)psVar34" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "psVar34")))) (; ";")) (expression_statement "cVar8 = (char)psVar25[3];" (assignment_expression "cVar8 = (char)psVar25[3]" (identifier "cVar8") (= "=") (cast_expression "(char)psVar25[3]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "psVar25[3]" (identifier "psVar25") ([ "[") (number_literal "3") (] "]")))) (; ";")) (if_statement "if (cVar8 == '$') {\n            if ((*(char *)((int)psVar25 + 0xd) == '\x01') && (*(char *)((int)psVar25 + 0xe) == '1'))\n            {\n              local_80 = (size_t *)((int)local_80 + 1);\n            }\n          }\n          else if ((((4 < uVar26) && (cVar8 == 'G')) && (*(char *)((int)psVar25 + 0xd) == 'A')) &&\n                  ((*(char *)((int)psVar25 + 0xe) == '$' &&\n                   (*(char *)((int)psVar25 + 0xf) == '\x01')))) {\n            cVar8 = (char)psVar25[4];\n            if (cVar8 == '2') {\n              local_84 = (int *)((int)local_84 + 1);\n            }\n            else {\n              if (cVar8 != '3') {\n                iVar9 = dcgettext(0,"corrupt GNU build attribute note: unsupported version",5,cVar8)\n                ;\n                goto LAB_0001a72d;\n              }\n              local_6c = local_6c + 1;\n            }\n          }" (if "if") (parenthesized_expression "(cVar8 == '$')" (( "(") (binary_expression "cVar8 == '$'" (identifier "cVar8") (== "==") (char_literal "'$'" (' "'") (character "$") (' "'"))) () ")")) (compound_statement "{\n            if ((*(char *)((int)psVar25 + 0xd) == '\x01') && (*(char *)((int)psVar25 + 0xe) == '1'))\n            {\n              local_80 = (size_t *)((int)local_80 + 1);\n            }\n          }" ({ "{") (if_statement "if ((*(char *)((int)psVar25 + 0xd) == '\x01') && (*(char *)((int)psVar25 + 0xe) == '1'))\n            {\n              local_80 = (size_t *)((int)local_80 + 1);\n            }" (if "if") (parenthesized_expression "((*(char *)((int)psVar25 + 0xd) == '\x01') && (*(char *)((int)psVar25 + 0xe) == '1'))" (( "(") (binary_expression "(*(char *)((int)psVar25 + 0xd) == '\x01') && (*(char *)((int)psVar25 + 0xe) == '1')" (parenthesized_expression "(*(char *)((int)psVar25 + 0xd) == '\x01')" (( "(") (binary_expression "*(char *)((int)psVar25 + 0xd) == '\x01'" (pointer_expression "*(char *)((int)psVar25 + 0xd)" (* "*") (cast_expression "(char *)((int)psVar25 + 0xd)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)psVar25 + 0xd)" (( "(") (binary_expression "(int)psVar25 + 0xd" (cast_expression "(int)psVar25" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "psVar25")) (+ "+") (number_literal "0xd")) () ")")))) (== "==") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(*(char *)((int)psVar25 + 0xe) == '1')" (( "(") (binary_expression "*(char *)((int)psVar25 + 0xe) == '1'" (pointer_expression "*(char *)((int)psVar25 + 0xe)" (* "*") (cast_expression "(char *)((int)psVar25 + 0xe)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)psVar25 + 0xe)" (( "(") (binary_expression "(int)psVar25 + 0xe" (cast_expression "(int)psVar25" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "psVar25")) (+ "+") (number_literal "0xe")) () ")")))) (== "==") (char_literal "'1'" (' "'") (character "1") (' "'"))) () ")"))) () ")")) (compound_statement "{\n              local_80 = (size_t *)((int)local_80 + 1);\n            }" ({ "{") (expression_statement "local_80 = (size_t *)((int)local_80 + 1);" (assignment_expression "local_80 = (size_t *)((int)local_80 + 1)" (identifier "local_80") (= "=") (cast_expression "(size_t *)((int)local_80 + 1)" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_80 + 1)" (( "(") (binary_expression "(int)local_80 + 1" (cast_expression "(int)local_80" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_80")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (} "}"))) (} "}")) (else_clause "else if ((((4 < uVar26) && (cVar8 == 'G')) && (*(char *)((int)psVar25 + 0xd) == 'A')) &&\n                  ((*(char *)((int)psVar25 + 0xe) == '$' &&\n                   (*(char *)((int)psVar25 + 0xf) == '\x01')))) {\n            cVar8 = (char)psVar25[4];\n            if (cVar8 == '2') {\n              local_84 = (int *)((int)local_84 + 1);\n            }\n            else {\n              if (cVar8 != '3') {\n                iVar9 = dcgettext(0,"corrupt GNU build attribute note: unsupported version",5,cVar8)\n                ;\n                goto LAB_0001a72d;\n              }\n              local_6c = local_6c + 1;\n            }\n          }" (else "else") (if_statement "if ((((4 < uVar26) && (cVar8 == 'G')) && (*(char *)((int)psVar25 + 0xd) == 'A')) &&\n                  ((*(char *)((int)psVar25 + 0xe) == '$' &&\n                   (*(char *)((int)psVar25 + 0xf) == '\x01')))) {\n            cVar8 = (char)psVar25[4];\n            if (cVar8 == '2') {\n              local_84 = (int *)((int)local_84 + 1);\n            }\n            else {\n              if (cVar8 != '3') {\n                iVar9 = dcgettext(0,"corrupt GNU build attribute note: unsupported version",5,cVar8)\n                ;\n                goto LAB_0001a72d;\n              }\n              local_6c = local_6c + 1;\n            }\n          }" (if "if") (parenthesized_expression "((((4 < uVar26) && (cVar8 == 'G')) && (*(char *)((int)psVar25 + 0xd) == 'A')) &&\n                  ((*(char *)((int)psVar25 + 0xe) == '$' &&\n                   (*(char *)((int)psVar25 + 0xf) == '\x01'))))" (( "(") (binary_expression "(((4 < uVar26) && (cVar8 == 'G')) && (*(char *)((int)psVar25 + 0xd) == 'A')) &&\n                  ((*(char *)((int)psVar25 + 0xe) == '$' &&\n                   (*(char *)((int)psVar25 + 0xf) == '\x01')))" (parenthesized_expression "(((4 < uVar26) && (cVar8 == 'G')) && (*(char *)((int)psVar25 + 0xd) == 'A'))" (( "(") (binary_expression "((4 < uVar26) && (cVar8 == 'G')) && (*(char *)((int)psVar25 + 0xd) == 'A')" (parenthesized_expression "((4 < uVar26) && (cVar8 == 'G'))" (( "(") (binary_expression "(4 < uVar26) && (cVar8 == 'G')" (parenthesized_expression "(4 < uVar26)" (( "(") (binary_expression "4 < uVar26" (number_literal "4") (< "<") (identifier "uVar26")) () ")")) (&& "&&") (parenthesized_expression "(cVar8 == 'G')" (( "(") (binary_expression "cVar8 == 'G'" (identifier "cVar8") (== "==") (char_literal "'G'" (' "'") (character "G") (' "'"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(*(char *)((int)psVar25 + 0xd) == 'A')" (( "(") (binary_expression "*(char *)((int)psVar25 + 0xd) == 'A'" (pointer_expression "*(char *)((int)psVar25 + 0xd)" (* "*") (cast_expression "(char *)((int)psVar25 + 0xd)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)psVar25 + 0xd)" (( "(") (binary_expression "(int)psVar25 + 0xd" (cast_expression "(int)psVar25" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "psVar25")) (+ "+") (number_literal "0xd")) () ")")))) (== "==") (char_literal "'A'" (' "'") (character "A") (' "'"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((*(char *)((int)psVar25 + 0xe) == '$' &&\n                   (*(char *)((int)psVar25 + 0xf) == '\x01')))" (( "(") (parenthesized_expression "(*(char *)((int)psVar25 + 0xe) == '$' &&\n                   (*(char *)((int)psVar25 + 0xf) == '\x01'))" (( "(") (binary_expression "*(char *)((int)psVar25 + 0xe) == '$' &&\n                   (*(char *)((int)psVar25 + 0xf) == '\x01')" (binary_expression "*(char *)((int)psVar25 + 0xe) == '$'" (pointer_expression "*(char *)((int)psVar25 + 0xe)" (* "*") (cast_expression "(char *)((int)psVar25 + 0xe)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)psVar25 + 0xe)" (( "(") (binary_expression "(int)psVar25 + 0xe" (cast_expression "(int)psVar25" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "psVar25")) (+ "+") (number_literal "0xe")) () ")")))) (== "==") (char_literal "'$'" (' "'") (character "$") (' "'"))) (&& "&&") (parenthesized_expression "(*(char *)((int)psVar25 + 0xf) == '\x01')" (( "(") (binary_expression "*(char *)((int)psVar25 + 0xf) == '\x01'" (pointer_expression "*(char *)((int)psVar25 + 0xf)" (* "*") (cast_expression "(char *)((int)psVar25 + 0xf)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)psVar25 + 0xf)" (( "(") (binary_expression "(int)psVar25 + 0xf" (cast_expression "(int)psVar25" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "psVar25")) (+ "+") (number_literal "0xf")) () ")")))) (== "==") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n            cVar8 = (char)psVar25[4];\n            if (cVar8 == '2') {\n              local_84 = (int *)((int)local_84 + 1);\n            }\n            else {\n              if (cVar8 != '3') {\n                iVar9 = dcgettext(0,"corrupt GNU build attribute note: unsupported version",5,cVar8)\n                ;\n                goto LAB_0001a72d;\n              }\n              local_6c = local_6c + 1;\n            }\n          }" ({ "{") (expression_statement "cVar8 = (char)psVar25[4];" (assignment_expression "cVar8 = (char)psVar25[4]" (identifier "cVar8") (= "=") (cast_expression "(char)psVar25[4]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "psVar25[4]" (identifier "psVar25") ([ "[") (number_literal "4") (] "]")))) (; ";")) (if_statement "if (cVar8 == '2') {\n              local_84 = (int *)((int)local_84 + 1);\n            }\n            else {\n              if (cVar8 != '3') {\n                iVar9 = dcgettext(0,"corrupt GNU build attribute note: unsupported version",5,cVar8)\n                ;\n                goto LAB_0001a72d;\n              }\n              local_6c = local_6c + 1;\n            }" (if "if") (parenthesized_expression "(cVar8 == '2')" (( "(") (binary_expression "cVar8 == '2'" (identifier "cVar8") (== "==") (char_literal "'2'" (' "'") (character "2") (' "'"))) () ")")) (compound_statement "{\n              local_84 = (int *)((int)local_84 + 1);\n            }" ({ "{") (expression_statement "local_84 = (int *)((int)local_84 + 1);" (assignment_expression "local_84 = (int *)((int)local_84 + 1)" (identifier "local_84") (= "=") (cast_expression "(int *)((int)local_84 + 1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_84 + 1)" (( "(") (binary_expression "(int)local_84 + 1" (cast_expression "(int)local_84" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_84")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (} "}")) (else_clause "else {\n              if (cVar8 != '3') {\n                iVar9 = dcgettext(0,"corrupt GNU build attribute note: unsupported version",5,cVar8)\n                ;\n                goto LAB_0001a72d;\n              }\n              local_6c = local_6c + 1;\n            }" (else "else") (compound_statement "{\n              if (cVar8 != '3') {\n                iVar9 = dcgettext(0,"corrupt GNU build attribute note: unsupported version",5,cVar8)\n                ;\n                goto LAB_0001a72d;\n              }\n              local_6c = local_6c + 1;\n            }" ({ "{") (if_statement "if (cVar8 != '3') {\n                iVar9 = dcgettext(0,"corrupt GNU build attribute note: unsupported version",5,cVar8)\n                ;\n                goto LAB_0001a72d;\n              }" (if "if") (parenthesized_expression "(cVar8 != '3')" (( "(") (binary_expression "cVar8 != '3'" (identifier "cVar8") (!= "!=") (char_literal "'3'" (' "'") (character "3") (' "'"))) () ")")) (compound_statement "{\n                iVar9 = dcgettext(0,"corrupt GNU build attribute note: unsupported version",5,cVar8)\n                ;\n                goto LAB_0001a72d;\n              }" ({ "{") (expression_statement "iVar9 = dcgettext(0,"corrupt GNU build attribute note: unsupported version",5,cVar8)\n                ;" (assignment_expression "iVar9 = dcgettext(0,"corrupt GNU build attribute note: unsupported version",5,cVar8)" (identifier "iVar9") (= "=") (call_expression "dcgettext(0,"corrupt GNU build attribute note: unsupported version",5,cVar8)" (identifier "dcgettext") (argument_list "(0,"corrupt GNU build attribute note: unsupported version",5,cVar8)" (( "(") (number_literal "0") (, ",") (string_literal ""corrupt GNU build attribute note: unsupported version"" (" """) (string_content "corrupt GNU build attribute note: unsupported version") (" """)) (, ",") (number_literal "5") (, ",") (identifier "cVar8") () ")")))) (; ";")) (goto_statement "goto LAB_0001a72d;" (goto "goto") (statement_identifier "LAB_0001a72d") (; ";")) (} "}"))) (expression_statement "local_6c = local_6c + 1;" (assignment_expression "local_6c = local_6c + 1" (identifier "local_6c") (= "=") (binary_expression "local_6c + 1" (identifier "local_6c") (+ "+") (number_literal "1"))) (; ";")) (} "}")))) (} "}"))))) (if_statement "if (uVar39 == 4) {\n            sVar18 = (**(code **)(param_1[1] + 0x28))(sVar2);\n            pvVar24 = (void *)0xffffffff;\n          }\n          else if (uVar39 < 5) {\n            if (uVar39 != 0) {\nLAB_0001a7ea:\n              iVar9 = dcgettext(0,"corrupt GNU build attribute note: bad description size",5,cVar8);\n              goto LAB_0001a72d;\n            }\n            pvVar24 = (void *)0x0;\n            sVar18 = 0;\n          }\n          else {\n            psVar34 = param_1;\n            if (uVar39 == 8) {\n              sVar18 = param_1[1];\n              if ((*(int *)(sVar18 + 4) == 5) && (*(char *)(param_1[0x27] + 4) == '\x02')) {\n                sVar18 = (**(code **)(sVar18 + 0x1c))(sVar2);\n                pvVar24 = (void *)0xffffffff;\n              }\n              else {\n                sVar18 = (**(code **)(sVar18 + 0x28))(sVar2);\n                pvVar24 = (void *)(**(code **)(param_1[1] + 0x28))(sVar2 + 4);\n              }\n            }\n            else {\n              if (uVar39 != 0x10) goto LAB_0001a7ea;\n              sVar18 = (**(code **)(param_1[1] + 0x1c))(sVar2);\n              pvVar24 = (void *)(**(code **)(param_1[1] + 0x1c))(sVar2 + 8);\n            }\n          }" (if "if") (parenthesized_expression "(uVar39 == 4)" (( "(") (binary_expression "uVar39 == 4" (identifier "uVar39") (== "==") (number_literal "4")) () ")")) (compound_statement "{\n            sVar18 = (**(code **)(param_1[1] + 0x28))(sVar2);\n            pvVar24 = (void *)0xffffffff;\n          }" ({ "{") (expression_statement "sVar18 = (**(code **)(param_1[1] + 0x28))(sVar2);" (assignment_expression "sVar18 = (**(code **)(param_1[1] + 0x28))(sVar2)" (identifier "sVar18") (= "=") (call_expression "(**(code **)(param_1[1] + 0x28))(sVar2)" (parenthesized_expression "(**(code **)(param_1[1] + 0x28))" (( "(") (pointer_expression "**(code **)(param_1[1] + 0x28)" (* "*") (pointer_expression "*(code **)(param_1[1] + 0x28)" (* "*") (cast_expression "(code **)(param_1[1] + 0x28)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1[1] + 0x28)" (( "(") (binary_expression "param_1[1] + 0x28" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "0x28")) () ")"))))) () ")")) (argument_list "(sVar2)" (( "(") (identifier "sVar2") () ")")))) (; ";")) (expression_statement "pvVar24 = (void *)0xffffffff;" (assignment_expression "pvVar24 = (void *)0xffffffff" (identifier "pvVar24") (= "=") (cast_expression "(void *)0xffffffff" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) (; ";")) (} "}")) (else_clause "else if (uVar39 < 5) {\n            if (uVar39 != 0) {\nLAB_0001a7ea:\n              iVar9 = dcgettext(0,"corrupt GNU build attribute note: bad description size",5,cVar8);\n              goto LAB_0001a72d;\n            }\n            pvVar24 = (void *)0x0;\n            sVar18 = 0;\n          }\n          else {\n            psVar34 = param_1;\n            if (uVar39 == 8) {\n              sVar18 = param_1[1];\n              if ((*(int *)(sVar18 + 4) == 5) && (*(char *)(param_1[0x27] + 4) == '\x02')) {\n                sVar18 = (**(code **)(sVar18 + 0x1c))(sVar2);\n                pvVar24 = (void *)0xffffffff;\n              }\n              else {\n                sVar18 = (**(code **)(sVar18 + 0x28))(sVar2);\n                pvVar24 = (void *)(**(code **)(param_1[1] + 0x28))(sVar2 + 4);\n              }\n            }\n            else {\n              if (uVar39 != 0x10) goto LAB_0001a7ea;\n              sVar18 = (**(code **)(param_1[1] + 0x1c))(sVar2);\n              pvVar24 = (void *)(**(code **)(param_1[1] + 0x1c))(sVar2 + 8);\n            }\n          }" (else "else") (if_statement "if (uVar39 < 5) {\n            if (uVar39 != 0) {\nLAB_0001a7ea:\n              iVar9 = dcgettext(0,"corrupt GNU build attribute note: bad description size",5,cVar8);\n              goto LAB_0001a72d;\n            }\n            pvVar24 = (void *)0x0;\n            sVar18 = 0;\n          }\n          else {\n            psVar34 = param_1;\n            if (uVar39 == 8) {\n              sVar18 = param_1[1];\n              if ((*(int *)(sVar18 + 4) == 5) && (*(char *)(param_1[0x27] + 4) == '\x02')) {\n                sVar18 = (**(code **)(sVar18 + 0x1c))(sVar2);\n                pvVar24 = (void *)0xffffffff;\n              }\n              else {\n                sVar18 = (**(code **)(sVar18 + 0x28))(sVar2);\n                pvVar24 = (void *)(**(code **)(param_1[1] + 0x28))(sVar2 + 4);\n              }\n            }\n            else {\n              if (uVar39 != 0x10) goto LAB_0001a7ea;\n              sVar18 = (**(code **)(param_1[1] + 0x1c))(sVar2);\n              pvVar24 = (void *)(**(code **)(param_1[1] + 0x1c))(sVar2 + 8);\n            }\n          }" (if "if") (parenthesized_expression "(uVar39 < 5)" (( "(") (binary_expression "uVar39 < 5" (identifier "uVar39") (< "<") (number_literal "5")) () ")")) (compound_statement "{\n            if (uVar39 != 0) {\nLAB_0001a7ea:\n              iVar9 = dcgettext(0,"corrupt GNU build attribute note: bad description size",5,cVar8);\n              goto LAB_0001a72d;\n            }\n            pvVar24 = (void *)0x0;\n            sVar18 = 0;\n          }" ({ "{") (if_statement "if (uVar39 != 0) {\nLAB_0001a7ea:\n              iVar9 = dcgettext(0,"corrupt GNU build attribute note: bad description size",5,cVar8);\n              goto LAB_0001a72d;\n            }" (if "if") (parenthesized_expression "(uVar39 != 0)" (( "(") (binary_expression "uVar39 != 0" (identifier "uVar39") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0001a7ea:\n              iVar9 = dcgettext(0,"corrupt GNU build attribute note: bad description size",5,cVar8);\n              goto LAB_0001a72d;\n            }" ({ "{") (labeled_statement "LAB_0001a7ea:\n              iVar9 = dcgettext(0,"corrupt GNU build attribute note: bad description size",5,cVar8);" (statement_identifier "LAB_0001a7ea") (: ":") (expression_statement "iVar9 = dcgettext(0,"corrupt GNU build attribute note: bad description size",5,cVar8);" (assignment_expression "iVar9 = dcgettext(0,"corrupt GNU build attribute note: bad description size",5,cVar8)" (identifier "iVar9") (= "=") (call_expression "dcgettext(0,"corrupt GNU build attribute note: bad description size",5,cVar8)" (identifier "dcgettext") (argument_list "(0,"corrupt GNU build attribute note: bad description size",5,cVar8)" (( "(") (number_literal "0") (, ",") (string_literal ""corrupt GNU build attribute note: bad description size"" (" """) (string_content "corrupt GNU build attribute note: bad description size") (" """)) (, ",") (number_literal "5") (, ",") (identifier "cVar8") () ")")))) (; ";"))) (goto_statement "goto LAB_0001a72d;" (goto "goto") (statement_identifier "LAB_0001a72d") (; ";")) (} "}"))) (expression_statement "pvVar24 = (void *)0x0;" (assignment_expression "pvVar24 = (void *)0x0" (identifier "pvVar24") (= "=") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "sVar18 = 0;" (assignment_expression "sVar18 = 0" (identifier "sVar18") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n            psVar34 = param_1;\n            if (uVar39 == 8) {\n              sVar18 = param_1[1];\n              if ((*(int *)(sVar18 + 4) == 5) && (*(char *)(param_1[0x27] + 4) == '\x02')) {\n                sVar18 = (**(code **)(sVar18 + 0x1c))(sVar2);\n                pvVar24 = (void *)0xffffffff;\n              }\n              else {\n                sVar18 = (**(code **)(sVar18 + 0x28))(sVar2);\n                pvVar24 = (void *)(**(code **)(param_1[1] + 0x28))(sVar2 + 4);\n              }\n            }\n            else {\n              if (uVar39 != 0x10) goto LAB_0001a7ea;\n              sVar18 = (**(code **)(param_1[1] + 0x1c))(sVar2);\n              pvVar24 = (void *)(**(code **)(param_1[1] + 0x1c))(sVar2 + 8);\n            }\n          }" (else "else") (compound_statement "{\n            psVar34 = param_1;\n            if (uVar39 == 8) {\n              sVar18 = param_1[1];\n              if ((*(int *)(sVar18 + 4) == 5) && (*(char *)(param_1[0x27] + 4) == '\x02')) {\n                sVar18 = (**(code **)(sVar18 + 0x1c))(sVar2);\n                pvVar24 = (void *)0xffffffff;\n              }\n              else {\n                sVar18 = (**(code **)(sVar18 + 0x28))(sVar2);\n                pvVar24 = (void *)(**(code **)(param_1[1] + 0x28))(sVar2 + 4);\n              }\n            }\n            else {\n              if (uVar39 != 0x10) goto LAB_0001a7ea;\n              sVar18 = (**(code **)(param_1[1] + 0x1c))(sVar2);\n              pvVar24 = (void *)(**(code **)(param_1[1] + 0x1c))(sVar2 + 8);\n            }\n          }" ({ "{") (expression_statement "psVar34 = param_1;" (assignment_expression "psVar34 = param_1" (identifier "psVar34") (= "=") (identifier "param_1")) (; ";")) (if_statement "if (uVar39 == 8) {\n              sVar18 = param_1[1];\n              if ((*(int *)(sVar18 + 4) == 5) && (*(char *)(param_1[0x27] + 4) == '\x02')) {\n                sVar18 = (**(code **)(sVar18 + 0x1c))(sVar2);\n                pvVar24 = (void *)0xffffffff;\n              }\n              else {\n                sVar18 = (**(code **)(sVar18 + 0x28))(sVar2);\n                pvVar24 = (void *)(**(code **)(param_1[1] + 0x28))(sVar2 + 4);\n              }\n            }\n            else {\n              if (uVar39 != 0x10) goto LAB_0001a7ea;\n              sVar18 = (**(code **)(param_1[1] + 0x1c))(sVar2);\n              pvVar24 = (void *)(**(code **)(param_1[1] + 0x1c))(sVar2 + 8);\n            }" (if "if") (parenthesized_expression "(uVar39 == 8)" (( "(") (binary_expression "uVar39 == 8" (identifier "uVar39") (== "==") (number_literal "8")) () ")")) (compound_statement "{\n              sVar18 = param_1[1];\n              if ((*(int *)(sVar18 + 4) == 5) && (*(char *)(param_1[0x27] + 4) == '\x02')) {\n                sVar18 = (**(code **)(sVar18 + 0x1c))(sVar2);\n                pvVar24 = (void *)0xffffffff;\n              }\n              else {\n                sVar18 = (**(code **)(sVar18 + 0x28))(sVar2);\n                pvVar24 = (void *)(**(code **)(param_1[1] + 0x28))(sVar2 + 4);\n              }\n            }" ({ "{") (expression_statement "sVar18 = param_1[1];" (assignment_expression "sVar18 = param_1[1]" (identifier "sVar18") (= "=") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]"))) (; ";")) (if_statement "if ((*(int *)(sVar18 + 4) == 5) && (*(char *)(param_1[0x27] + 4) == '\x02')) {\n                sVar18 = (**(code **)(sVar18 + 0x1c))(sVar2);\n                pvVar24 = (void *)0xffffffff;\n              }\n              else {\n                sVar18 = (**(code **)(sVar18 + 0x28))(sVar2);\n                pvVar24 = (void *)(**(code **)(param_1[1] + 0x28))(sVar2 + 4);\n              }" (if "if") (parenthesized_expression "((*(int *)(sVar18 + 4) == 5) && (*(char *)(param_1[0x27] + 4) == '\x02'))" (( "(") (binary_expression "(*(int *)(sVar18 + 4) == 5) && (*(char *)(param_1[0x27] + 4) == '\x02')" (parenthesized_expression "(*(int *)(sVar18 + 4) == 5)" (( "(") (binary_expression "*(int *)(sVar18 + 4) == 5" (pointer_expression "*(int *)(sVar18 + 4)" (* "*") (cast_expression "(int *)(sVar18 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(sVar18 + 4)" (( "(") (binary_expression "sVar18 + 4" (identifier "sVar18") (+ "+") (number_literal "4")) () ")")))) (== "==") (number_literal "5")) () ")")) (&& "&&") (parenthesized_expression "(*(char *)(param_1[0x27] + 4) == '\x02')" (( "(") (binary_expression "*(char *)(param_1[0x27] + 4) == '\x02'" (pointer_expression "*(char *)(param_1[0x27] + 4)" (* "*") (cast_expression "(char *)(param_1[0x27] + 4)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[0x27] + 4)" (( "(") (binary_expression "param_1[0x27] + 4" (subscript_expression "param_1[0x27]" (identifier "param_1") ([ "[") (number_literal "0x27") (] "]")) (+ "+") (number_literal "4")) () ")")))) (== "==") (char_literal "'\x02'" (' "'") (escape_sequence "\x02") (' "'"))) () ")"))) () ")")) (compound_statement "{\n                sVar18 = (**(code **)(sVar18 + 0x1c))(sVar2);\n                pvVar24 = (void *)0xffffffff;\n              }" ({ "{") (expression_statement "sVar18 = (**(code **)(sVar18 + 0x1c))(sVar2);" (assignment_expression "sVar18 = (**(code **)(sVar18 + 0x1c))(sVar2)" (identifier "sVar18") (= "=") (call_expression "(**(code **)(sVar18 + 0x1c))(sVar2)" (parenthesized_expression "(**(code **)(sVar18 + 0x1c))" (( "(") (pointer_expression "**(code **)(sVar18 + 0x1c)" (* "*") (pointer_expression "*(code **)(sVar18 + 0x1c)" (* "*") (cast_expression "(code **)(sVar18 + 0x1c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(sVar18 + 0x1c)" (( "(") (binary_expression "sVar18 + 0x1c" (identifier "sVar18") (+ "+") (number_literal "0x1c")) () ")"))))) () ")")) (argument_list "(sVar2)" (( "(") (identifier "sVar2") () ")")))) (; ";")) (expression_statement "pvVar24 = (void *)0xffffffff;" (assignment_expression "pvVar24 = (void *)0xffffffff" (identifier "pvVar24") (= "=") (cast_expression "(void *)0xffffffff" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) (; ";")) (} "}")) (else_clause "else {\n                sVar18 = (**(code **)(sVar18 + 0x28))(sVar2);\n                pvVar24 = (void *)(**(code **)(param_1[1] + 0x28))(sVar2 + 4);\n              }" (else "else") (compound_statement "{\n                sVar18 = (**(code **)(sVar18 + 0x28))(sVar2);\n                pvVar24 = (void *)(**(code **)(param_1[1] + 0x28))(sVar2 + 4);\n              }" ({ "{") (expression_statement "sVar18 = (**(code **)(sVar18 + 0x28))(sVar2);" (assignment_expression "sVar18 = (**(code **)(sVar18 + 0x28))(sVar2)" (identifier "sVar18") (= "=") (call_expression "(**(code **)(sVar18 + 0x28))(sVar2)" (parenthesized_expression "(**(code **)(sVar18 + 0x28))" (( "(") (pointer_expression "**(code **)(sVar18 + 0x28)" (* "*") (pointer_expression "*(code **)(sVar18 + 0x28)" (* "*") (cast_expression "(code **)(sVar18 + 0x28)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(sVar18 + 0x28)" (( "(") (binary_expression "sVar18 + 0x28" (identifier "sVar18") (+ "+") (number_literal "0x28")) () ")"))))) () ")")) (argument_list "(sVar2)" (( "(") (identifier "sVar2") () ")")))) (; ";")) (expression_statement "pvVar24 = (void *)(**(code **)(param_1[1] + 0x28))(sVar2 + 4);" (assignment_expression "pvVar24 = (void *)(**(code **)(param_1[1] + 0x28))(sVar2 + 4)" (identifier "pvVar24") (= "=") (cast_expression "(void *)(**(code **)(param_1[1] + 0x28))(sVar2 + 4)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(param_1[1] + 0x28))(sVar2 + 4)" (parenthesized_expression "(**(code **)(param_1[1] + 0x28))" (( "(") (pointer_expression "**(code **)(param_1[1] + 0x28)" (* "*") (pointer_expression "*(code **)(param_1[1] + 0x28)" (* "*") (cast_expression "(code **)(param_1[1] + 0x28)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1[1] + 0x28)" (( "(") (binary_expression "param_1[1] + 0x28" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "0x28")) () ")"))))) () ")")) (argument_list "(sVar2 + 4)" (( "(") (binary_expression "sVar2 + 4" (identifier "sVar2") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n              if (uVar39 != 0x10) goto LAB_0001a7ea;\n              sVar18 = (**(code **)(param_1[1] + 0x1c))(sVar2);\n              pvVar24 = (void *)(**(code **)(param_1[1] + 0x1c))(sVar2 + 8);\n            }" (else "else") (compound_statement "{\n              if (uVar39 != 0x10) goto LAB_0001a7ea;\n              sVar18 = (**(code **)(param_1[1] + 0x1c))(sVar2);\n              pvVar24 = (void *)(**(code **)(param_1[1] + 0x1c))(sVar2 + 8);\n            }" ({ "{") (if_statement "if (uVar39 != 0x10) goto LAB_0001a7ea;" (if "if") (parenthesized_expression "(uVar39 != 0x10)" (( "(") (binary_expression "uVar39 != 0x10" (identifier "uVar39") (!= "!=") (number_literal "0x10")) () ")")) (goto_statement "goto LAB_0001a7ea;" (goto "goto") (statement_identifier "LAB_0001a7ea") (; ";"))) (expression_statement "sVar18 = (**(code **)(param_1[1] + 0x1c))(sVar2);" (assignment_expression "sVar18 = (**(code **)(param_1[1] + 0x1c))(sVar2)" (identifier "sVar18") (= "=") (call_expression "(**(code **)(param_1[1] + 0x1c))(sVar2)" (parenthesized_expression "(**(code **)(param_1[1] + 0x1c))" (( "(") (pointer_expression "**(code **)(param_1[1] + 0x1c)" (* "*") (pointer_expression "*(code **)(param_1[1] + 0x1c)" (* "*") (cast_expression "(code **)(param_1[1] + 0x1c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1[1] + 0x1c)" (( "(") (binary_expression "param_1[1] + 0x1c" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "0x1c")) () ")"))))) () ")")) (argument_list "(sVar2)" (( "(") (identifier "sVar2") () ")")))) (; ";")) (expression_statement "pvVar24 = (void *)(**(code **)(param_1[1] + 0x1c))(sVar2 + 8);" (assignment_expression "pvVar24 = (void *)(**(code **)(param_1[1] + 0x1c))(sVar2 + 8)" (identifier "pvVar24") (= "=") (cast_expression "(void *)(**(code **)(param_1[1] + 0x1c))(sVar2 + 8)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(param_1[1] + 0x1c))(sVar2 + 8)" (parenthesized_expression "(**(code **)(param_1[1] + 0x1c))" (( "(") (pointer_expression "**(code **)(param_1[1] + 0x1c)" (* "*") (pointer_expression "*(code **)(param_1[1] + 0x1c)" (* "*") (cast_expression "(code **)(param_1[1] + 0x1c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1[1] + 0x1c)" (( "(") (binary_expression "param_1[1] + 0x1c" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "0x1c")) () ")"))))) () ")")) (argument_list "(sVar2 + 8)" (( "(") (binary_expression "sVar2 + 8" (identifier "sVar2") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (} "}")))) (} "}")))))) (if_statement "if (sVar23 == 0x100) {\n            if (sVar18 == 0) {\n              sVar18 = local_8c;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = local_90;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_90 = pvVar24;\n            local_8c = sVar18;\n          }\n          else {\n            if (sVar18 == 0) {\n              sVar18 = local_94;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = (void *)local_98;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_98 = (size_t)pvVar24;\n            local_94 = sVar18;\n          }" (if "if") (parenthesized_expression "(sVar23 == 0x100)" (( "(") (binary_expression "sVar23 == 0x100" (identifier "sVar23") (== "==") (number_literal "0x100")) () ")")) (compound_statement "{\n            if (sVar18 == 0) {\n              sVar18 = local_8c;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = local_90;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_90 = pvVar24;\n            local_8c = sVar18;\n          }" ({ "{") (if_statement "if (sVar18 == 0) {\n              sVar18 = local_8c;\n            }" (if "if") (parenthesized_expression "(sVar18 == 0)" (( "(") (binary_expression "sVar18 == 0" (identifier "sVar18") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              sVar18 = local_8c;\n            }" ({ "{") (expression_statement "sVar18 = local_8c;" (assignment_expression "sVar18 = local_8c" (identifier "sVar18") (= "=") (identifier "local_8c")) (; ";")) (} "}"))) (if_statement "if (pvVar24 == (void *)0x0) {\n              pvVar24 = local_90;\n            }" (if "if") (parenthesized_expression "(pvVar24 == (void *)0x0)" (( "(") (binary_expression "pvVar24 == (void *)0x0" (identifier "pvVar24") (== "==") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n              pvVar24 = local_90;\n            }" ({ "{") (expression_statement "pvVar24 = local_90;" (assignment_expression "pvVar24 = local_90" (identifier "pvVar24") (= "=") (identifier "local_90")) (; ";")) (} "}"))) (expression_statement "local_64[6] = sVar18;" (assignment_expression "local_64[6] = sVar18" (subscript_expression "local_64[6]" (identifier "local_64") ([ "[") (number_literal "6") (] "]")) (= "=") (identifier "sVar18")) (; ";")) (expression_statement "local_64[7] = (size_t)pvVar24;" (assignment_expression "local_64[7] = (size_t)pvVar24" (subscript_expression "local_64[7]" (identifier "local_64") ([ "[") (number_literal "7") (] "]")) (= "=") (cast_expression "(size_t)pvVar24" (( "(") (type_descriptor "size_t" (primitive_type "size_t")) () ")") (identifier "pvVar24"))) (; ";")) (expression_statement "local_90 = pvVar24;" (assignment_expression "local_90 = pvVar24" (identifier "local_90") (= "=") (identifier "pvVar24")) (; ";")) (expression_statement "local_8c = sVar18;" (assignment_expression "local_8c = sVar18" (identifier "local_8c") (= "=") (identifier "sVar18")) (; ";")) (} "}")) (else_clause "else {\n            if (sVar18 == 0) {\n              sVar18 = local_94;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = (void *)local_98;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_98 = (size_t)pvVar24;\n            local_94 = sVar18;\n          }" (else "else") (compound_statement "{\n            if (sVar18 == 0) {\n              sVar18 = local_94;\n            }\n            if (pvVar24 == (void *)0x0) {\n              pvVar24 = (void *)local_98;\n            }\n            local_64[6] = sVar18;\n            local_64[7] = (size_t)pvVar24;\n            local_98 = (size_t)pvVar24;\n            local_94 = sVar18;\n          }" ({ "{") (if_statement "if (sVar18 == 0) {\n              sVar18 = local_94;\n            }" (if "if") (parenthesized_expression "(sVar18 == 0)" (( "(") (binary_expression "sVar18 == 0" (identifier "sVar18") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              sVar18 = local_94;\n            }" ({ "{") (expression_statement "sVar18 = local_94;" (assignment_expression "sVar18 = local_94" (identifier "sVar18") (= "=") (identifier "local_94")) (; ";")) (} "}"))) (if_statement "if (pvVar24 == (void *)0x0) {\n              pvVar24 = (void *)local_98;\n            }" (if "if") (parenthesized_expression "(pvVar24 == (void *)0x0)" (( "(") (binary_expression "pvVar24 == (void *)0x0" (identifier "pvVar24") (== "==") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n              pvVar24 = (void *)local_98;\n            }" ({ "{") (expression_statement "pvVar24 = (void *)local_98;" (assignment_expression "pvVar24 = (void *)local_98" (identifier "pvVar24") (= "=") (cast_expression "(void *)local_98" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_98"))) (; ";")) (} "}"))) (expression_statement "local_64[6] = sVar18;" (assignment_expression "local_64[6] = sVar18" (subscript_expression "local_64[6]" (identifier "local_64") ([ "[") (number_literal "6") (] "]")) (= "=") (identifier "sVar18")) (; ";")) (expression_statement "local_64[7] = (size_t)pvVar24;" (assignment_expression "local_64[7] = (size_t)pvVar24" (subscript_expression "local_64[7]" (identifier "local_64") ([ "[") (number_literal "7") (] "]")) (= "=") (cast_expression "(size_t)pvVar24" (( "(") (type_descriptor "size_t" (primitive_type "size_t")) () ")") (identifier "pvVar24"))) (; ";")) (expression_statement "local_98 = (size_t)pvVar24;" (assignment_expression "local_98 = (size_t)pvVar24" (identifier "local_98") (= "=") (cast_expression "(size_t)pvVar24" (( "(") (type_descriptor "size_t" (primitive_type "size_t")) () ")") (identifier "pvVar24"))) (; ";")) (expression_statement "local_94 = sVar18;" (assignment_expression "local_94 = sVar18" (identifier "local_94") (= "=") (identifier "sVar18")) (; ";")) (} "}")))) (if_statement "if (*(char *)((local_64[3] - 1) + *local_64) != '\0') {\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name not NUL terminated",5,\n                              *local_64);\n            goto LAB_0001a72d;\n          }" (if "if") (parenthesized_expression "(*(char *)((local_64[3] - 1) + *local_64) != '\0')" (( "(") (binary_expression "*(char *)((local_64[3] - 1) + *local_64) != '\0'" (pointer_expression "*(char *)((local_64[3] - 1) + *local_64)" (* "*") (cast_expression "(char *)((local_64[3] - 1) + *local_64)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((local_64[3] - 1) + *local_64)" (( "(") (binary_expression "(local_64[3] - 1) + *local_64" (parenthesized_expression "(local_64[3] - 1)" (( "(") (binary_expression "local_64[3] - 1" (subscript_expression "local_64[3]" (identifier "local_64") ([ "[") (number_literal "3") (] "]")) (- "-") (number_literal "1")) () ")")) (+ "+") (pointer_expression "*local_64" (* "*") (identifier "local_64"))) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name not NUL terminated",5,\n                              *local_64);\n            goto LAB_0001a72d;\n          }" ({ "{") (expression_statement "iVar9 = dcgettext(0,"corrupt GNU build attribute note: name not NUL terminated",5,\n                              *local_64);" (assignment_expression "iVar9 = dcgettext(0,"corrupt GNU build attribute note: name not NUL terminated",5,\n                              *local_64)" (identifier "iVar9") (= "=") (call_expression "dcgettext(0,"corrupt GNU build attribute note: name not NUL terminated",5,\n                              *local_64)" (identifier "dcgettext") (argument_list "(0,"corrupt GNU build attribute note: name not NUL terminated",5,\n                              *local_64)" (( "(") (number_literal "0") (, ",") (string_literal ""corrupt GNU build attribute note: name not NUL terminated"" (" """) (string_content "corrupt GNU build attribute note: name not NUL terminated") (" """)) (, ",") (number_literal "5") (, ",") (pointer_expression "*local_64" (* "*") (identifier "local_64")) () ")")))) (; ";")) (goto_statement "goto LAB_0001a72d;" (goto "goto") (statement_identifier "LAB_0001a72d") (; ";")) (} "}"))) (expression_statement "local_64 = local_64 + 9;" (assignment_expression "local_64 = local_64 + 9" (identifier "local_64") (= "=") (binary_expression "local_64 + 9" (identifier "local_64") (+ "+") (number_literal "9"))) (; ";")) (expression_statement "psVar25 = (size_t *)(iVar9 + 0xcU + (int)psVar25);" (assignment_expression "psVar25 = (size_t *)(iVar9 + 0xcU + (int)psVar25)" (identifier "psVar25") (= "=") (cast_expression "(size_t *)(iVar9 + 0xcU + (int)psVar25)" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0xcU + (int)psVar25)" (( "(") (binary_expression "iVar9 + 0xcU + (int)psVar25" (binary_expression "iVar9 + 0xcU" (identifier "iVar9") (+ "+") (number_literal "0xcU")) (+ "+") (cast_expression "(int)psVar25" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "psVar25"))) () ")")))) (; ";")) (} "}"))) (if_statement "if (local_74 == 0) {\n          uVar26 = (uint)local_84 | local_6c;\n          if (local_80 == (size_t *)0x0 && uVar26 == 0) {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: no known versions detected",5,uVar26\n                             );\n            goto LAB_0001a72d;\n          }\n          if (((local_80 != (size_t *)0x0) && (uVar26 != 0)) ||\n             ((local_84 != (int *)0x0 && (local_6c != 0)))) {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: multiple different versions",5,\n                              sVar18);\n            goto LAB_0001a72d;\n          }\n          if ((local_80 == (size_t *)0x1 || local_84 == (int *)0x1) || (local_6c == 1))\n          goto LAB_0001a75c;\n          uVar26 = -(uint)(local_80 == (size_t *)0x0) & 2;\n          iVar9 = uVar26 + 1;\n          if (*(char *)(local_60[3] + iVar9) != '\x01') {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: first note not version note",5,\n                              psVar34);\n            goto LAB_0001a72d;\n          }\n          bVar40 = false;\n          iVar12 = uVar26 + 2;\n          psVar25 = local_60;\nLAB_0001a954:\n          psVar34 = psVar25;\n          psVar25 = psVar34 + 9;\n          if (psVar25 < local_64) {\n            if (psVar34[0xb] == 0x100) {\n              pvVar24 = (void *)psVar34[0xc];\n              local_7c = (size_t *)0x0;\n              psVar45 = psVar25;\n              do {\n                do {\n                  psVar6 = psVar45;\n                  psVar45 = psVar6 + -9;\n                  if (psVar45 < local_60) goto LAB_0001a954;\n                  pvVar30 = (void *)psVar6[-6];\n                  psVar7 = local_7c;\n                } while ((((local_7c == (size_t *)0x0) && (psVar6[-8] != 0)) &&\n                         (psVar7 = psVar45, psVar6[-7] == 0x101)) ||\n                        ((local_7c = psVar7,\n                         *(char *)((int)pvVar24 + iVar9) != *(char *)((int)pvVar30 + iVar9) ||\n                         (psVar6[-7] != 0x100))));\n                if (*(char *)((int)pvVar30 + iVar9) != '\x04') {\n                  psVar45 = (size_t *)*psVar45;\n                  if ((((psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)) &&\n                      ((uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0))))\n                     && ((0xfffffff0 < uVar26 || (psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0))))) {\n                    psVar34[0xb] = 0;\n                    if (uVar26 < uVar39) {\n                      psVar6[-2] = uVar39;\n                    }\n                    bVar40 = true;\n                    if (local_6c != 0) {\n                      psVar6[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0)) {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    psVar34[0x11] = 1;\n                    psVar34[0xb] = 0x101;\n                    psVar6[-1] = 1;\n                    psVar6[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }\n                uVar26 = 0;\n                for (iVar21 = 0; (int)*psVar25 - iVar12 != iVar21; iVar21 = iVar21 + 1) {\n                  uVar26 = uVar26 | (uint)*(byte *)((int)pvVar24 + iVar21 + iVar12) <<\n                                    ((char)iVar21 * '\b' & 0x1fU);\n                }\n                sVar18 = *psVar45;\n                local_5c = (int *)0x0;\n                for (uVar39 = 0; sVar18 - iVar12 != uVar39; uVar39 = uVar39 + 1) {\n                  local_5c = (int *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39] <<\n                                    ((char)uVar39 * '\b' & 0x1fU));\n                }\n                uVar28 = 0;\n                uVar26 = (int)local_5c + uVar26;\n                for (uVar27 = uVar26; uVar27 != 0; uVar27 = uVar27 >> 8) {\n                  uVar28 = uVar28 + 1;\n                }\n              } while (uVar39 <= uVar28);\n              puVar29 = (undefined1 *)((int)pvVar30 + iVar12);\n              while (puVar29 < (undefined1 *)((int)pvVar30 + sVar18)) {\n                *puVar29 = (char)uVar26;\n                if (uVar26 == 0) break;\n                uVar26 = uVar26 >> 8;\n                puVar29 = puVar29 + 1;\n              }\n              psVar34[0xb] = 0;\n              bVar40 = true;\n            }\n            goto LAB_0001a954;\n          }\n          if (!bVar40) goto LAB_0001a75c;\n          pvVar24 = (void *)xmalloc(uVar35,pvVar44,psVar20,psVar46);\n          sVar18 = 0;\n          pvVar44 = pvVar24;\n          local_80 = psVar38;\n          for (psVar20 = local_60; psVar20 < local_64; psVar20 = psVar20 + 9) {\n            sVar23 = *psVar20;\n            __n = psVar20[1] + sVar23 + 0xc;\n            sVar2 = psVar20[2];\n            pvVar30 = pvVar44;\n            if (sVar2 != 0) {\n              if (psVar20[8] == 0) {\n                memcpy(pvVar44,local_80,__n);\n                pvVar30 = (void *)((int)pvVar44 + __n);\n              }\n              else {\n                sVar5 = psVar20[6];\n                __dest = (void *)((int)pvVar44 + 0xc);\n                pvVar30 = (void *)((int)__dest + sVar23);\n                if ((sVar5 == local_74) && (psVar20[7] == sVar18)) {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar5,sVar5);\n                  (**(code **)(param_1[1] + 0x30))(0,(int)pvVar44 + 4);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                }\n                else {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar18,sVar18);\n                  cVar8 = '\b';\n                  if (*(int *)(param_1[1] + 4) == 5) {\n                    cVar8 = (*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b';\n                  }\n                  (**(code **)(param_1[1] + 0x30))(cVar8,(int)pvVar44 + 4,sVar23,sVar23);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                  sVar18 = param_1[1];\n                  psVar25 = param_1;\n                  if ((*(int *)(sVar18 + 4) == 5) &&\n                     (psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02')) {\n                    (**(code **)(sVar18 + 0x24))(sVar5,0,pvVar30,psVar25);\n                    (**(code **)(param_1[1] + 0x24))(psVar20[7],0,(void *)((int)pvVar30 + 8));\n                    pvVar30 = (void *)((int)pvVar30 + 0x10);\n                  }\n                  else {\n                    (**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25);\n                    (**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4);\n                    pvVar30 = (void *)((int)pvVar30 + 8);\n                  }\n                }\n              }\n              local_74 = psVar20[6];\n              sVar18 = psVar20[7];\n            }\n            local_80 = (size_t *)((int)local_80 + __n);\n            pvVar44 = pvVar30;\n          }\n          sVar18 = (int)pvVar44 - (int)pvVar24;\n          memcpy(psVar38,pvVar24,sVar18);\n          free(pvVar24);\n          free(local_60);\n          DAT_0003fb7c = sVar18;\n          if (uVar35 != sVar18) {\n            uVar10 = extraout_ECX_02;\n            if ((*(int *)(sVar17 + 0x3c) != 0) &&\n               (iVar9 = bfd_set_section_size(param_2,*(int *)(sVar17 + 0x3c),sVar18,extraout_EDX),\n               uVar10 = extraout_ECX_03, iVar9 != 0)) goto LAB_00018aad;\n            uVar10 = dcgettext(0,"warning: failed to set merged notes size",5,uVar10);\n            FUN_0002c160(0,param_2,sVar17,uVar10);\n          }\n        }\n        else {\n          iVar9 = dcgettext(0,"corrupt GNU build attribute notes: excess data at end",5,local_64);\nLAB_0001a72d:\n          if (iVar9 != 0) {\n            bfd_set_error(0x11);\n            FUN_0002c160(0,param_1,sVar17,iVar9);\n            DAT_0003fb88 = 1;\n          }\nLAB_0001a75c:\n          free(local_60);\n        }" (if "if") (parenthesized_expression "(local_74 == 0)" (( "(") (binary_expression "local_74 == 0" (identifier "local_74") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          uVar26 = (uint)local_84 | local_6c;\n          if (local_80 == (size_t *)0x0 && uVar26 == 0) {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: no known versions detected",5,uVar26\n                             );\n            goto LAB_0001a72d;\n          }\n          if (((local_80 != (size_t *)0x0) && (uVar26 != 0)) ||\n             ((local_84 != (int *)0x0 && (local_6c != 0)))) {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: multiple different versions",5,\n                              sVar18);\n            goto LAB_0001a72d;\n          }\n          if ((local_80 == (size_t *)0x1 || local_84 == (int *)0x1) || (local_6c == 1))\n          goto LAB_0001a75c;\n          uVar26 = -(uint)(local_80 == (size_t *)0x0) & 2;\n          iVar9 = uVar26 + 1;\n          if (*(char *)(local_60[3] + iVar9) != '\x01') {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: first note not version note",5,\n                              psVar34);\n            goto LAB_0001a72d;\n          }\n          bVar40 = false;\n          iVar12 = uVar26 + 2;\n          psVar25 = local_60;\nLAB_0001a954:\n          psVar34 = psVar25;\n          psVar25 = psVar34 + 9;\n          if (psVar25 < local_64) {\n            if (psVar34[0xb] == 0x100) {\n              pvVar24 = (void *)psVar34[0xc];\n              local_7c = (size_t *)0x0;\n              psVar45 = psVar25;\n              do {\n                do {\n                  psVar6 = psVar45;\n                  psVar45 = psVar6 + -9;\n                  if (psVar45 < local_60) goto LAB_0001a954;\n                  pvVar30 = (void *)psVar6[-6];\n                  psVar7 = local_7c;\n                } while ((((local_7c == (size_t *)0x0) && (psVar6[-8] != 0)) &&\n                         (psVar7 = psVar45, psVar6[-7] == 0x101)) ||\n                        ((local_7c = psVar7,\n                         *(char *)((int)pvVar24 + iVar9) != *(char *)((int)pvVar30 + iVar9) ||\n                         (psVar6[-7] != 0x100))));\n                if (*(char *)((int)pvVar30 + iVar9) != '\x04') {\n                  psVar45 = (size_t *)*psVar45;\n                  if ((((psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)) &&\n                      ((uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0))))\n                     && ((0xfffffff0 < uVar26 || (psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0))))) {\n                    psVar34[0xb] = 0;\n                    if (uVar26 < uVar39) {\n                      psVar6[-2] = uVar39;\n                    }\n                    bVar40 = true;\n                    if (local_6c != 0) {\n                      psVar6[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0)) {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    psVar34[0x11] = 1;\n                    psVar34[0xb] = 0x101;\n                    psVar6[-1] = 1;\n                    psVar6[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }\n                uVar26 = 0;\n                for (iVar21 = 0; (int)*psVar25 - iVar12 != iVar21; iVar21 = iVar21 + 1) {\n                  uVar26 = uVar26 | (uint)*(byte *)((int)pvVar24 + iVar21 + iVar12) <<\n                                    ((char)iVar21 * '\b' & 0x1fU);\n                }\n                sVar18 = *psVar45;\n                local_5c = (int *)0x0;\n                for (uVar39 = 0; sVar18 - iVar12 != uVar39; uVar39 = uVar39 + 1) {\n                  local_5c = (int *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39] <<\n                                    ((char)uVar39 * '\b' & 0x1fU));\n                }\n                uVar28 = 0;\n                uVar26 = (int)local_5c + uVar26;\n                for (uVar27 = uVar26; uVar27 != 0; uVar27 = uVar27 >> 8) {\n                  uVar28 = uVar28 + 1;\n                }\n              } while (uVar39 <= uVar28);\n              puVar29 = (undefined1 *)((int)pvVar30 + iVar12);\n              while (puVar29 < (undefined1 *)((int)pvVar30 + sVar18)) {\n                *puVar29 = (char)uVar26;\n                if (uVar26 == 0) break;\n                uVar26 = uVar26 >> 8;\n                puVar29 = puVar29 + 1;\n              }\n              psVar34[0xb] = 0;\n              bVar40 = true;\n            }\n            goto LAB_0001a954;\n          }\n          if (!bVar40) goto LAB_0001a75c;\n          pvVar24 = (void *)xmalloc(uVar35,pvVar44,psVar20,psVar46);\n          sVar18 = 0;\n          pvVar44 = pvVar24;\n          local_80 = psVar38;\n          for (psVar20 = local_60; psVar20 < local_64; psVar20 = psVar20 + 9) {\n            sVar23 = *psVar20;\n            __n = psVar20[1] + sVar23 + 0xc;\n            sVar2 = psVar20[2];\n            pvVar30 = pvVar44;\n            if (sVar2 != 0) {\n              if (psVar20[8] == 0) {\n                memcpy(pvVar44,local_80,__n);\n                pvVar30 = (void *)((int)pvVar44 + __n);\n              }\n              else {\n                sVar5 = psVar20[6];\n                __dest = (void *)((int)pvVar44 + 0xc);\n                pvVar30 = (void *)((int)__dest + sVar23);\n                if ((sVar5 == local_74) && (psVar20[7] == sVar18)) {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar5,sVar5);\n                  (**(code **)(param_1[1] + 0x30))(0,(int)pvVar44 + 4);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                }\n                else {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar18,sVar18);\n                  cVar8 = '\b';\n                  if (*(int *)(param_1[1] + 4) == 5) {\n                    cVar8 = (*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b';\n                  }\n                  (**(code **)(param_1[1] + 0x30))(cVar8,(int)pvVar44 + 4,sVar23,sVar23);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                  sVar18 = param_1[1];\n                  psVar25 = param_1;\n                  if ((*(int *)(sVar18 + 4) == 5) &&\n                     (psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02')) {\n                    (**(code **)(sVar18 + 0x24))(sVar5,0,pvVar30,psVar25);\n                    (**(code **)(param_1[1] + 0x24))(psVar20[7],0,(void *)((int)pvVar30 + 8));\n                    pvVar30 = (void *)((int)pvVar30 + 0x10);\n                  }\n                  else {\n                    (**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25);\n                    (**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4);\n                    pvVar30 = (void *)((int)pvVar30 + 8);\n                  }\n                }\n              }\n              local_74 = psVar20[6];\n              sVar18 = psVar20[7];\n            }\n            local_80 = (size_t *)((int)local_80 + __n);\n            pvVar44 = pvVar30;\n          }\n          sVar18 = (int)pvVar44 - (int)pvVar24;\n          memcpy(psVar38,pvVar24,sVar18);\n          free(pvVar24);\n          free(local_60);\n          DAT_0003fb7c = sVar18;\n          if (uVar35 != sVar18) {\n            uVar10 = extraout_ECX_02;\n            if ((*(int *)(sVar17 + 0x3c) != 0) &&\n               (iVar9 = bfd_set_section_size(param_2,*(int *)(sVar17 + 0x3c),sVar18,extraout_EDX),\n               uVar10 = extraout_ECX_03, iVar9 != 0)) goto LAB_00018aad;\n            uVar10 = dcgettext(0,"warning: failed to set merged notes size",5,uVar10);\n            FUN_0002c160(0,param_2,sVar17,uVar10);\n          }\n        }" ({ "{") (expression_statement "uVar26 = (uint)local_84 | local_6c;" (assignment_expression "uVar26 = (uint)local_84 | local_6c" (identifier "uVar26") (= "=") (binary_expression "(uint)local_84 | local_6c" (cast_expression "(uint)local_84" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_84")) (| "|") (identifier "local_6c"))) (; ";")) (if_statement "if (local_80 == (size_t *)0x0 && uVar26 == 0) {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: no known versions detected",5,uVar26\n                             );\n            goto LAB_0001a72d;\n          }" (if "if") (parenthesized_expression "(local_80 == (size_t *)0x0 && uVar26 == 0)" (( "(") (binary_expression "local_80 == (size_t *)0x0 && uVar26 == 0" (binary_expression "local_80 == (size_t *)0x0" (identifier "local_80") (== "==") (cast_expression "(size_t *)0x0" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (&& "&&") (binary_expression "uVar26 == 0" (identifier "uVar26") (== "==") (number_literal "0"))) () ")")) (compound_statement "{\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: no known versions detected",5,uVar26\n                             );\n            goto LAB_0001a72d;\n          }" ({ "{") (expression_statement "iVar9 = dcgettext(0,"bad GNU build attribute notes: no known versions detected",5,uVar26\n                             );" (assignment_expression "iVar9 = dcgettext(0,"bad GNU build attribute notes: no known versions detected",5,uVar26\n                             )" (identifier "iVar9") (= "=") (call_expression "dcgettext(0,"bad GNU build attribute notes: no known versions detected",5,uVar26\n                             )" (identifier "dcgettext") (argument_list "(0,"bad GNU build attribute notes: no known versions detected",5,uVar26\n                             )" (( "(") (number_literal "0") (, ",") (string_literal ""bad GNU build attribute notes: no known versions detected"" (" """) (string_content "bad GNU build attribute notes: no known versions detected") (" """)) (, ",") (number_literal "5") (, ",") (identifier "uVar26") () ")")))) (; ";")) (goto_statement "goto LAB_0001a72d;" (goto "goto") (statement_identifier "LAB_0001a72d") (; ";")) (} "}"))) (if_statement "if (((local_80 != (size_t *)0x0) && (uVar26 != 0)) ||\n             ((local_84 != (int *)0x0 && (local_6c != 0)))) {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: multiple different versions",5,\n                              sVar18);\n            goto LAB_0001a72d;\n          }" (if "if") (parenthesized_expression "(((local_80 != (size_t *)0x0) && (uVar26 != 0)) ||\n             ((local_84 != (int *)0x0 && (local_6c != 0))))" (( "(") (binary_expression "((local_80 != (size_t *)0x0) && (uVar26 != 0)) ||\n             ((local_84 != (int *)0x0 && (local_6c != 0)))" (parenthesized_expression "((local_80 != (size_t *)0x0) && (uVar26 != 0))" (( "(") (binary_expression "(local_80 != (size_t *)0x0) && (uVar26 != 0)" (parenthesized_expression "(local_80 != (size_t *)0x0)" (( "(") (binary_expression "local_80 != (size_t *)0x0" (identifier "local_80") (!= "!=") (cast_expression "(size_t *)0x0" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(uVar26 != 0)" (( "(") (binary_expression "uVar26 != 0" (identifier "uVar26") (!= "!=") (number_literal "0")) () ")"))) () ")")) (|| "||") (parenthesized_expression "((local_84 != (int *)0x0 && (local_6c != 0)))" (( "(") (parenthesized_expression "(local_84 != (int *)0x0 && (local_6c != 0))" (( "(") (binary_expression "local_84 != (int *)0x0 && (local_6c != 0)" (binary_expression "local_84 != (int *)0x0" (identifier "local_84") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (&& "&&") (parenthesized_expression "(local_6c != 0)" (( "(") (binary_expression "local_6c != 0" (identifier "local_6c") (!= "!=") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: multiple different versions",5,\n                              sVar18);\n            goto LAB_0001a72d;\n          }" ({ "{") (expression_statement "iVar9 = dcgettext(0,"bad GNU build attribute notes: multiple different versions",5,\n                              sVar18);" (assignment_expression "iVar9 = dcgettext(0,"bad GNU build attribute notes: multiple different versions",5,\n                              sVar18)" (identifier "iVar9") (= "=") (call_expression "dcgettext(0,"bad GNU build attribute notes: multiple different versions",5,\n                              sVar18)" (identifier "dcgettext") (argument_list "(0,"bad GNU build attribute notes: multiple different versions",5,\n                              sVar18)" (( "(") (number_literal "0") (, ",") (string_literal ""bad GNU build attribute notes: multiple different versions"" (" """) (string_content "bad GNU build attribute notes: multiple different versions") (" """)) (, ",") (number_literal "5") (, ",") (identifier "sVar18") () ")")))) (; ";")) (goto_statement "goto LAB_0001a72d;" (goto "goto") (statement_identifier "LAB_0001a72d") (; ";")) (} "}"))) (if_statement "if ((local_80 == (size_t *)0x1 || local_84 == (int *)0x1) || (local_6c == 1))\n          goto LAB_0001a75c;" (if "if") (parenthesized_expression "((local_80 == (size_t *)0x1 || local_84 == (int *)0x1) || (local_6c == 1))" (( "(") (binary_expression "(local_80 == (size_t *)0x1 || local_84 == (int *)0x1) || (local_6c == 1)" (parenthesized_expression "(local_80 == (size_t *)0x1 || local_84 == (int *)0x1)" (( "(") (binary_expression "local_80 == (size_t *)0x1 || local_84 == (int *)0x1" (binary_expression "local_80 == (size_t *)0x1" (identifier "local_80") (== "==") (cast_expression "(size_t *)0x1" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (|| "||") (binary_expression "local_84 == (int *)0x1" (identifier "local_84") (== "==") (cast_expression "(int *)0x1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1")))) () ")")) (|| "||") (parenthesized_expression "(local_6c == 1)" (( "(") (binary_expression "local_6c == 1" (identifier "local_6c") (== "==") (number_literal "1")) () ")"))) () ")")) (goto_statement "goto LAB_0001a75c;" (goto "goto") (statement_identifier "LAB_0001a75c") (; ";"))) (expression_statement "uVar26 = -(uint)(local_80 == (size_t *)0x0) & 2;" (assignment_expression "uVar26 = -(uint)(local_80 == (size_t *)0x0) & 2" (identifier "uVar26") (= "=") (binary_expression "-(uint)(local_80 == (size_t *)0x0) & 2" (unary_expression "-(uint)(local_80 == (size_t *)0x0)" (- "-") (call_expression "(uint)(local_80 == (size_t *)0x0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(local_80 == (size_t *)0x0)" (( "(") (binary_expression "local_80 == (size_t *)0x0" (identifier "local_80") (== "==") (cast_expression "(size_t *)0x0" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")))) (& "&") (number_literal "2"))) (; ";")) (expression_statement "iVar9 = uVar26 + 1;" (assignment_expression "iVar9 = uVar26 + 1" (identifier "iVar9") (= "=") (binary_expression "uVar26 + 1" (identifier "uVar26") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (*(char *)(local_60[3] + iVar9) != '\x01') {\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: first note not version note",5,\n                              psVar34);\n            goto LAB_0001a72d;\n          }" (if "if") (parenthesized_expression "(*(char *)(local_60[3] + iVar9) != '\x01')" (( "(") (binary_expression "*(char *)(local_60[3] + iVar9) != '\x01'" (pointer_expression "*(char *)(local_60[3] + iVar9)" (* "*") (cast_expression "(char *)(local_60[3] + iVar9)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_60[3] + iVar9)" (( "(") (binary_expression "local_60[3] + iVar9" (subscript_expression "local_60[3]" (identifier "local_60") ([ "[") (number_literal "3") (] "]")) (+ "+") (identifier "iVar9")) () ")")))) (!= "!=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) () ")")) (compound_statement "{\n            iVar9 = dcgettext(0,"bad GNU build attribute notes: first note not version note",5,\n                              psVar34);\n            goto LAB_0001a72d;\n          }" ({ "{") (expression_statement "iVar9 = dcgettext(0,"bad GNU build attribute notes: first note not version note",5,\n                              psVar34);" (assignment_expression "iVar9 = dcgettext(0,"bad GNU build attribute notes: first note not version note",5,\n                              psVar34)" (identifier "iVar9") (= "=") (call_expression "dcgettext(0,"bad GNU build attribute notes: first note not version note",5,\n                              psVar34)" (identifier "dcgettext") (argument_list "(0,"bad GNU build attribute notes: first note not version note",5,\n                              psVar34)" (( "(") (number_literal "0") (, ",") (string_literal ""bad GNU build attribute notes: first note not version note"" (" """) (string_content "bad GNU build attribute notes: first note not version note") (" """)) (, ",") (number_literal "5") (, ",") (identifier "psVar34") () ")")))) (; ";")) (goto_statement "goto LAB_0001a72d;" (goto "goto") (statement_identifier "LAB_0001a72d") (; ";")) (} "}"))) (expression_statement "bVar40 = false;" (assignment_expression "bVar40 = false" (identifier "bVar40") (= "=") (false "false")) (; ";")) (expression_statement "iVar12 = uVar26 + 2;" (assignment_expression "iVar12 = uVar26 + 2" (identifier "iVar12") (= "=") (binary_expression "uVar26 + 2" (identifier "uVar26") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "psVar25 = local_60;" (assignment_expression "psVar25 = local_60" (identifier "psVar25") (= "=") (identifier "local_60")) (; ";")) (labeled_statement "LAB_0001a954:\n          psVar34 = psVar25;" (statement_identifier "LAB_0001a954") (: ":") (expression_statement "psVar34 = psVar25;" (assignment_expression "psVar34 = psVar25" (identifier "psVar34") (= "=") (identifier "psVar25")) (; ";"))) (expression_statement "psVar25 = psVar34 + 9;" (assignment_expression "psVar25 = psVar34 + 9" (identifier "psVar25") (= "=") (binary_expression "psVar34 + 9" (identifier "psVar34") (+ "+") (number_literal "9"))) (; ";")) (if_statement "if (psVar25 < local_64) {\n            if (psVar34[0xb] == 0x100) {\n              pvVar24 = (void *)psVar34[0xc];\n              local_7c = (size_t *)0x0;\n              psVar45 = psVar25;\n              do {\n                do {\n                  psVar6 = psVar45;\n                  psVar45 = psVar6 + -9;\n                  if (psVar45 < local_60) goto LAB_0001a954;\n                  pvVar30 = (void *)psVar6[-6];\n                  psVar7 = local_7c;\n                } while ((((local_7c == (size_t *)0x0) && (psVar6[-8] != 0)) &&\n                         (psVar7 = psVar45, psVar6[-7] == 0x101)) ||\n                        ((local_7c = psVar7,\n                         *(char *)((int)pvVar24 + iVar9) != *(char *)((int)pvVar30 + iVar9) ||\n                         (psVar6[-7] != 0x100))));\n                if (*(char *)((int)pvVar30 + iVar9) != '\x04') {\n                  psVar45 = (size_t *)*psVar45;\n                  if ((((psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)) &&\n                      ((uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0))))\n                     && ((0xfffffff0 < uVar26 || (psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0))))) {\n                    psVar34[0xb] = 0;\n                    if (uVar26 < uVar39) {\n                      psVar6[-2] = uVar39;\n                    }\n                    bVar40 = true;\n                    if (local_6c != 0) {\n                      psVar6[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0)) {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    psVar34[0x11] = 1;\n                    psVar34[0xb] = 0x101;\n                    psVar6[-1] = 1;\n                    psVar6[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }\n                uVar26 = 0;\n                for (iVar21 = 0; (int)*psVar25 - iVar12 != iVar21; iVar21 = iVar21 + 1) {\n                  uVar26 = uVar26 | (uint)*(byte *)((int)pvVar24 + iVar21 + iVar12) <<\n                                    ((char)iVar21 * '\b' & 0x1fU);\n                }\n                sVar18 = *psVar45;\n                local_5c = (int *)0x0;\n                for (uVar39 = 0; sVar18 - iVar12 != uVar39; uVar39 = uVar39 + 1) {\n                  local_5c = (int *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39] <<\n                                    ((char)uVar39 * '\b' & 0x1fU));\n                }\n                uVar28 = 0;\n                uVar26 = (int)local_5c + uVar26;\n                for (uVar27 = uVar26; uVar27 != 0; uVar27 = uVar27 >> 8) {\n                  uVar28 = uVar28 + 1;\n                }\n              } while (uVar39 <= uVar28);\n              puVar29 = (undefined1 *)((int)pvVar30 + iVar12);\n              while (puVar29 < (undefined1 *)((int)pvVar30 + sVar18)) {\n                *puVar29 = (char)uVar26;\n                if (uVar26 == 0) break;\n                uVar26 = uVar26 >> 8;\n                puVar29 = puVar29 + 1;\n              }\n              psVar34[0xb] = 0;\n              bVar40 = true;\n            }\n            goto LAB_0001a954;\n          }" (if "if") (parenthesized_expression "(psVar25 < local_64)" (( "(") (binary_expression "psVar25 < local_64" (identifier "psVar25") (< "<") (identifier "local_64")) () ")")) (compound_statement "{\n            if (psVar34[0xb] == 0x100) {\n              pvVar24 = (void *)psVar34[0xc];\n              local_7c = (size_t *)0x0;\n              psVar45 = psVar25;\n              do {\n                do {\n                  psVar6 = psVar45;\n                  psVar45 = psVar6 + -9;\n                  if (psVar45 < local_60) goto LAB_0001a954;\n                  pvVar30 = (void *)psVar6[-6];\n                  psVar7 = local_7c;\n                } while ((((local_7c == (size_t *)0x0) && (psVar6[-8] != 0)) &&\n                         (psVar7 = psVar45, psVar6[-7] == 0x101)) ||\n                        ((local_7c = psVar7,\n                         *(char *)((int)pvVar24 + iVar9) != *(char *)((int)pvVar30 + iVar9) ||\n                         (psVar6[-7] != 0x100))));\n                if (*(char *)((int)pvVar30 + iVar9) != '\x04') {\n                  psVar45 = (size_t *)*psVar45;\n                  if ((((psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)) &&\n                      ((uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0))))\n                     && ((0xfffffff0 < uVar26 || (psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0))))) {\n                    psVar34[0xb] = 0;\n                    if (uVar26 < uVar39) {\n                      psVar6[-2] = uVar39;\n                    }\n                    bVar40 = true;\n                    if (local_6c != 0) {\n                      psVar6[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0)) {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    psVar34[0x11] = 1;\n                    psVar34[0xb] = 0x101;\n                    psVar6[-1] = 1;\n                    psVar6[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }\n                uVar26 = 0;\n                for (iVar21 = 0; (int)*psVar25 - iVar12 != iVar21; iVar21 = iVar21 + 1) {\n                  uVar26 = uVar26 | (uint)*(byte *)((int)pvVar24 + iVar21 + iVar12) <<\n                                    ((char)iVar21 * '\b' & 0x1fU);\n                }\n                sVar18 = *psVar45;\n                local_5c = (int *)0x0;\n                for (uVar39 = 0; sVar18 - iVar12 != uVar39; uVar39 = uVar39 + 1) {\n                  local_5c = (int *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39] <<\n                                    ((char)uVar39 * '\b' & 0x1fU));\n                }\n                uVar28 = 0;\n                uVar26 = (int)local_5c + uVar26;\n                for (uVar27 = uVar26; uVar27 != 0; uVar27 = uVar27 >> 8) {\n                  uVar28 = uVar28 + 1;\n                }\n              } while (uVar39 <= uVar28);\n              puVar29 = (undefined1 *)((int)pvVar30 + iVar12);\n              while (puVar29 < (undefined1 *)((int)pvVar30 + sVar18)) {\n                *puVar29 = (char)uVar26;\n                if (uVar26 == 0) break;\n                uVar26 = uVar26 >> 8;\n                puVar29 = puVar29 + 1;\n              }\n              psVar34[0xb] = 0;\n              bVar40 = true;\n            }\n            goto LAB_0001a954;\n          }" ({ "{") (if_statement "if (psVar34[0xb] == 0x100) {\n              pvVar24 = (void *)psVar34[0xc];\n              local_7c = (size_t *)0x0;\n              psVar45 = psVar25;\n              do {\n                do {\n                  psVar6 = psVar45;\n                  psVar45 = psVar6 + -9;\n                  if (psVar45 < local_60) goto LAB_0001a954;\n                  pvVar30 = (void *)psVar6[-6];\n                  psVar7 = local_7c;\n                } while ((((local_7c == (size_t *)0x0) && (psVar6[-8] != 0)) &&\n                         (psVar7 = psVar45, psVar6[-7] == 0x101)) ||\n                        ((local_7c = psVar7,\n                         *(char *)((int)pvVar24 + iVar9) != *(char *)((int)pvVar30 + iVar9) ||\n                         (psVar6[-7] != 0x100))));\n                if (*(char *)((int)pvVar30 + iVar9) != '\x04') {\n                  psVar45 = (size_t *)*psVar45;\n                  if ((((psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)) &&\n                      ((uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0))))\n                     && ((0xfffffff0 < uVar26 || (psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0))))) {\n                    psVar34[0xb] = 0;\n                    if (uVar26 < uVar39) {\n                      psVar6[-2] = uVar39;\n                    }\n                    bVar40 = true;\n                    if (local_6c != 0) {\n                      psVar6[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0)) {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    psVar34[0x11] = 1;\n                    psVar34[0xb] = 0x101;\n                    psVar6[-1] = 1;\n                    psVar6[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }\n                uVar26 = 0;\n                for (iVar21 = 0; (int)*psVar25 - iVar12 != iVar21; iVar21 = iVar21 + 1) {\n                  uVar26 = uVar26 | (uint)*(byte *)((int)pvVar24 + iVar21 + iVar12) <<\n                                    ((char)iVar21 * '\b' & 0x1fU);\n                }\n                sVar18 = *psVar45;\n                local_5c = (int *)0x0;\n                for (uVar39 = 0; sVar18 - iVar12 != uVar39; uVar39 = uVar39 + 1) {\n                  local_5c = (int *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39] <<\n                                    ((char)uVar39 * '\b' & 0x1fU));\n                }\n                uVar28 = 0;\n                uVar26 = (int)local_5c + uVar26;\n                for (uVar27 = uVar26; uVar27 != 0; uVar27 = uVar27 >> 8) {\n                  uVar28 = uVar28 + 1;\n                }\n              } while (uVar39 <= uVar28);\n              puVar29 = (undefined1 *)((int)pvVar30 + iVar12);\n              while (puVar29 < (undefined1 *)((int)pvVar30 + sVar18)) {\n                *puVar29 = (char)uVar26;\n                if (uVar26 == 0) break;\n                uVar26 = uVar26 >> 8;\n                puVar29 = puVar29 + 1;\n              }\n              psVar34[0xb] = 0;\n              bVar40 = true;\n            }" (if "if") (parenthesized_expression "(psVar34[0xb] == 0x100)" (( "(") (binary_expression "psVar34[0xb] == 0x100" (subscript_expression "psVar34[0xb]" (identifier "psVar34") ([ "[") (number_literal "0xb") (] "]")) (== "==") (number_literal "0x100")) () ")")) (compound_statement "{\n              pvVar24 = (void *)psVar34[0xc];\n              local_7c = (size_t *)0x0;\n              psVar45 = psVar25;\n              do {\n                do {\n                  psVar6 = psVar45;\n                  psVar45 = psVar6 + -9;\n                  if (psVar45 < local_60) goto LAB_0001a954;\n                  pvVar30 = (void *)psVar6[-6];\n                  psVar7 = local_7c;\n                } while ((((local_7c == (size_t *)0x0) && (psVar6[-8] != 0)) &&\n                         (psVar7 = psVar45, psVar6[-7] == 0x101)) ||\n                        ((local_7c = psVar7,\n                         *(char *)((int)pvVar24 + iVar9) != *(char *)((int)pvVar30 + iVar9) ||\n                         (psVar6[-7] != 0x100))));\n                if (*(char *)((int)pvVar30 + iVar9) != '\x04') {\n                  psVar45 = (size_t *)*psVar45;\n                  if ((((psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)) &&\n                      ((uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0))))\n                     && ((0xfffffff0 < uVar26 || (psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0))))) {\n                    psVar34[0xb] = 0;\n                    if (uVar26 < uVar39) {\n                      psVar6[-2] = uVar39;\n                    }\n                    bVar40 = true;\n                    if (local_6c != 0) {\n                      psVar6[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0)) {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    psVar34[0x11] = 1;\n                    psVar34[0xb] = 0x101;\n                    psVar6[-1] = 1;\n                    psVar6[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }\n                uVar26 = 0;\n                for (iVar21 = 0; (int)*psVar25 - iVar12 != iVar21; iVar21 = iVar21 + 1) {\n                  uVar26 = uVar26 | (uint)*(byte *)((int)pvVar24 + iVar21 + iVar12) <<\n                                    ((char)iVar21 * '\b' & 0x1fU);\n                }\n                sVar18 = *psVar45;\n                local_5c = (int *)0x0;\n                for (uVar39 = 0; sVar18 - iVar12 != uVar39; uVar39 = uVar39 + 1) {\n                  local_5c = (int *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39] <<\n                                    ((char)uVar39 * '\b' & 0x1fU));\n                }\n                uVar28 = 0;\n                uVar26 = (int)local_5c + uVar26;\n                for (uVar27 = uVar26; uVar27 != 0; uVar27 = uVar27 >> 8) {\n                  uVar28 = uVar28 + 1;\n                }\n              } while (uVar39 <= uVar28);\n              puVar29 = (undefined1 *)((int)pvVar30 + iVar12);\n              while (puVar29 < (undefined1 *)((int)pvVar30 + sVar18)) {\n                *puVar29 = (char)uVar26;\n                if (uVar26 == 0) break;\n                uVar26 = uVar26 >> 8;\n                puVar29 = puVar29 + 1;\n              }\n              psVar34[0xb] = 0;\n              bVar40 = true;\n            }" ({ "{") (expression_statement "pvVar24 = (void *)psVar34[0xc];" (assignment_expression "pvVar24 = (void *)psVar34[0xc]" (identifier "pvVar24") (= "=") (cast_expression "(void *)psVar34[0xc]" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "psVar34[0xc]" (identifier "psVar34") ([ "[") (number_literal "0xc") (] "]")))) (; ";")) (expression_statement "local_7c = (size_t *)0x0;" (assignment_expression "local_7c = (size_t *)0x0" (identifier "local_7c") (= "=") (cast_expression "(size_t *)0x0" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "psVar45 = psVar25;" (assignment_expression "psVar45 = psVar25" (identifier "psVar45") (= "=") (identifier "psVar25")) (; ";")) (do_statement "do {\n                do {\n                  psVar6 = psVar45;\n                  psVar45 = psVar6 + -9;\n                  if (psVar45 < local_60) goto LAB_0001a954;\n                  pvVar30 = (void *)psVar6[-6];\n                  psVar7 = local_7c;\n                } while ((((local_7c == (size_t *)0x0) && (psVar6[-8] != 0)) &&\n                         (psVar7 = psVar45, psVar6[-7] == 0x101)) ||\n                        ((local_7c = psVar7,\n                         *(char *)((int)pvVar24 + iVar9) != *(char *)((int)pvVar30 + iVar9) ||\n                         (psVar6[-7] != 0x100))));\n                if (*(char *)((int)pvVar30 + iVar9) != '\x04') {\n                  psVar45 = (size_t *)*psVar45;\n                  if ((((psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)) &&\n                      ((uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0))))\n                     && ((0xfffffff0 < uVar26 || (psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0))))) {\n                    psVar34[0xb] = 0;\n                    if (uVar26 < uVar39) {\n                      psVar6[-2] = uVar39;\n                    }\n                    bVar40 = true;\n                    if (local_6c != 0) {\n                      psVar6[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0)) {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    psVar34[0x11] = 1;\n                    psVar34[0xb] = 0x101;\n                    psVar6[-1] = 1;\n                    psVar6[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }\n                uVar26 = 0;\n                for (iVar21 = 0; (int)*psVar25 - iVar12 != iVar21; iVar21 = iVar21 + 1) {\n                  uVar26 = uVar26 | (uint)*(byte *)((int)pvVar24 + iVar21 + iVar12) <<\n                                    ((char)iVar21 * '\b' & 0x1fU);\n                }\n                sVar18 = *psVar45;\n                local_5c = (int *)0x0;\n                for (uVar39 = 0; sVar18 - iVar12 != uVar39; uVar39 = uVar39 + 1) {\n                  local_5c = (int *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39] <<\n                                    ((char)uVar39 * '\b' & 0x1fU));\n                }\n                uVar28 = 0;\n                uVar26 = (int)local_5c + uVar26;\n                for (uVar27 = uVar26; uVar27 != 0; uVar27 = uVar27 >> 8) {\n                  uVar28 = uVar28 + 1;\n                }\n              } while (uVar39 <= uVar28);" (do "do") (compound_statement "{\n                do {\n                  psVar6 = psVar45;\n                  psVar45 = psVar6 + -9;\n                  if (psVar45 < local_60) goto LAB_0001a954;\n                  pvVar30 = (void *)psVar6[-6];\n                  psVar7 = local_7c;\n                } while ((((local_7c == (size_t *)0x0) && (psVar6[-8] != 0)) &&\n                         (psVar7 = psVar45, psVar6[-7] == 0x101)) ||\n                        ((local_7c = psVar7,\n                         *(char *)((int)pvVar24 + iVar9) != *(char *)((int)pvVar30 + iVar9) ||\n                         (psVar6[-7] != 0x100))));\n                if (*(char *)((int)pvVar30 + iVar9) != '\x04') {\n                  psVar45 = (size_t *)*psVar45;\n                  if ((((psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)) &&\n                      ((uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0))))\n                     && ((0xfffffff0 < uVar26 || (psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0))))) {\n                    psVar34[0xb] = 0;\n                    if (uVar26 < uVar39) {\n                      psVar6[-2] = uVar39;\n                    }\n                    bVar40 = true;\n                    if (local_6c != 0) {\n                      psVar6[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0)) {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    psVar34[0x11] = 1;\n                    psVar34[0xb] = 0x101;\n                    psVar6[-1] = 1;\n                    psVar6[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }\n                uVar26 = 0;\n                for (iVar21 = 0; (int)*psVar25 - iVar12 != iVar21; iVar21 = iVar21 + 1) {\n                  uVar26 = uVar26 | (uint)*(byte *)((int)pvVar24 + iVar21 + iVar12) <<\n                                    ((char)iVar21 * '\b' & 0x1fU);\n                }\n                sVar18 = *psVar45;\n                local_5c = (int *)0x0;\n                for (uVar39 = 0; sVar18 - iVar12 != uVar39; uVar39 = uVar39 + 1) {\n                  local_5c = (int *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39] <<\n                                    ((char)uVar39 * '\b' & 0x1fU));\n                }\n                uVar28 = 0;\n                uVar26 = (int)local_5c + uVar26;\n                for (uVar27 = uVar26; uVar27 != 0; uVar27 = uVar27 >> 8) {\n                  uVar28 = uVar28 + 1;\n                }\n              }" ({ "{") (do_statement "do {\n                  psVar6 = psVar45;\n                  psVar45 = psVar6 + -9;\n                  if (psVar45 < local_60) goto LAB_0001a954;\n                  pvVar30 = (void *)psVar6[-6];\n                  psVar7 = local_7c;\n                } while ((((local_7c == (size_t *)0x0) && (psVar6[-8] != 0)) &&\n                         (psVar7 = psVar45, psVar6[-7] == 0x101)) ||\n                        ((local_7c = psVar7,\n                         *(char *)((int)pvVar24 + iVar9) != *(char *)((int)pvVar30 + iVar9) ||\n                         (psVar6[-7] != 0x100))));" (do "do") (compound_statement "{\n                  psVar6 = psVar45;\n                  psVar45 = psVar6 + -9;\n                  if (psVar45 < local_60) goto LAB_0001a954;\n                  pvVar30 = (void *)psVar6[-6];\n                  psVar7 = local_7c;\n                }" ({ "{") (expression_statement "psVar6 = psVar45;" (assignment_expression "psVar6 = psVar45" (identifier "psVar6") (= "=") (identifier "psVar45")) (; ";")) (expression_statement "psVar45 = psVar6 + -9;" (assignment_expression "psVar45 = psVar6 + -9" (identifier "psVar45") (= "=") (binary_expression "psVar6 + -9" (identifier "psVar6") (+ "+") (number_literal "-9"))) (; ";")) (if_statement "if (psVar45 < local_60) goto LAB_0001a954;" (if "if") (parenthesized_expression "(psVar45 < local_60)" (( "(") (binary_expression "psVar45 < local_60" (identifier "psVar45") (< "<") (identifier "local_60")) () ")")) (goto_statement "goto LAB_0001a954;" (goto "goto") (statement_identifier "LAB_0001a954") (; ";"))) (expression_statement "pvVar30 = (void *)psVar6[-6];" (assignment_expression "pvVar30 = (void *)psVar6[-6]" (identifier "pvVar30") (= "=") (cast_expression "(void *)psVar6[-6]" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "psVar6[-6]" (identifier "psVar6") ([ "[") (number_literal "-6") (] "]")))) (; ";")) (expression_statement "psVar7 = local_7c;" (assignment_expression "psVar7 = local_7c" (identifier "psVar7") (= "=") (identifier "local_7c")) (; ";")) (} "}")) (while "while") (parenthesized_expression "((((local_7c == (size_t *)0x0) && (psVar6[-8] != 0)) &&\n                         (psVar7 = psVar45, psVar6[-7] == 0x101)) ||\n                        ((local_7c = psVar7,\n                         *(char *)((int)pvVar24 + iVar9) != *(char *)((int)pvVar30 + iVar9) ||\n                         (psVar6[-7] != 0x100))))" (( "(") (binary_expression "(((local_7c == (size_t *)0x0) && (psVar6[-8] != 0)) &&\n                         (psVar7 = psVar45, psVar6[-7] == 0x101)) ||\n                        ((local_7c = psVar7,\n                         *(char *)((int)pvVar24 + iVar9) != *(char *)((int)pvVar30 + iVar9) ||\n                         (psVar6[-7] != 0x100)))" (parenthesized_expression "(((local_7c == (size_t *)0x0) && (psVar6[-8] != 0)) &&\n                         (psVar7 = psVar45, psVar6[-7] == 0x101))" (( "(") (binary_expression "((local_7c == (size_t *)0x0) && (psVar6[-8] != 0)) &&\n                         (psVar7 = psVar45, psVar6[-7] == 0x101)" (parenthesized_expression "((local_7c == (size_t *)0x0) && (psVar6[-8] != 0))" (( "(") (binary_expression "(local_7c == (size_t *)0x0) && (psVar6[-8] != 0)" (parenthesized_expression "(local_7c == (size_t *)0x0)" (( "(") (binary_expression "local_7c == (size_t *)0x0" (identifier "local_7c") (== "==") (cast_expression "(size_t *)0x0" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(psVar6[-8] != 0)" (( "(") (binary_expression "psVar6[-8] != 0" (subscript_expression "psVar6[-8]" (identifier "psVar6") ([ "[") (number_literal "-8") (] "]")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(psVar7 = psVar45, psVar6[-7] == 0x101)" (( "(") (comma_expression "psVar7 = psVar45, psVar6[-7] == 0x101" (assignment_expression "psVar7 = psVar45" (identifier "psVar7") (= "=") (identifier "psVar45")) (, ",") (binary_expression "psVar6[-7] == 0x101" (subscript_expression "psVar6[-7]" (identifier "psVar6") ([ "[") (number_literal "-7") (] "]")) (== "==") (number_literal "0x101"))) () ")"))) () ")")) (|| "||") (parenthesized_expression "((local_7c = psVar7,\n                         *(char *)((int)pvVar24 + iVar9) != *(char *)((int)pvVar30 + iVar9) ||\n                         (psVar6[-7] != 0x100)))" (( "(") (parenthesized_expression "(local_7c = psVar7,\n                         *(char *)((int)pvVar24 + iVar9) != *(char *)((int)pvVar30 + iVar9) ||\n                         (psVar6[-7] != 0x100))" (( "(") (comma_expression "local_7c = psVar7,\n                         *(char *)((int)pvVar24 + iVar9) != *(char *)((int)pvVar30 + iVar9) ||\n                         (psVar6[-7] != 0x100)" (assignment_expression "local_7c = psVar7" (identifier "local_7c") (= "=") (identifier "psVar7")) (, ",") (binary_expression "*(char *)((int)pvVar24 + iVar9) != *(char *)((int)pvVar30 + iVar9) ||\n                         (psVar6[-7] != 0x100)" (binary_expression "*(char *)((int)pvVar24 + iVar9) != *(char *)((int)pvVar30 + iVar9)" (pointer_expression "*(char *)((int)pvVar24 + iVar9)" (* "*") (cast_expression "(char *)((int)pvVar24 + iVar9)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pvVar24 + iVar9)" (( "(") (binary_expression "(int)pvVar24 + iVar9" (cast_expression "(int)pvVar24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar24")) (+ "+") (identifier "iVar9")) () ")")))) (!= "!=") (pointer_expression "*(char *)((int)pvVar30 + iVar9)" (* "*") (cast_expression "(char *)((int)pvVar30 + iVar9)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pvVar30 + iVar9)" (( "(") (binary_expression "(int)pvVar30 + iVar9" (cast_expression "(int)pvVar30" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar30")) (+ "+") (identifier "iVar9")) () ")"))))) (|| "||") (parenthesized_expression "(psVar6[-7] != 0x100)" (( "(") (binary_expression "psVar6[-7] != 0x100" (subscript_expression "psVar6[-7]" (identifier "psVar6") ([ "[") (number_literal "-7") (] "]")) (!= "!=") (number_literal "0x100")) () ")")))) () ")")) () ")"))) () ")")) (; ";")) (if_statement "if (*(char *)((int)pvVar30 + iVar9) != '\x04') {\n                  psVar45 = (size_t *)*psVar45;\n                  if ((((psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)) &&\n                      ((uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0))))\n                     && ((0xfffffff0 < uVar26 || (psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0))))) {\n                    psVar34[0xb] = 0;\n                    if (uVar26 < uVar39) {\n                      psVar6[-2] = uVar39;\n                    }\n                    bVar40 = true;\n                    if (local_6c != 0) {\n                      psVar6[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0)) {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    psVar34[0x11] = 1;\n                    psVar34[0xb] = 0x101;\n                    psVar6[-1] = 1;\n                    psVar6[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }" (if "if") (parenthesized_expression "(*(char *)((int)pvVar30 + iVar9) != '\x04')" (( "(") (binary_expression "*(char *)((int)pvVar30 + iVar9) != '\x04'" (pointer_expression "*(char *)((int)pvVar30 + iVar9)" (* "*") (cast_expression "(char *)((int)pvVar30 + iVar9)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pvVar30 + iVar9)" (( "(") (binary_expression "(int)pvVar30 + iVar9" (cast_expression "(int)pvVar30" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar30")) (+ "+") (identifier "iVar9")) () ")")))) (!= "!=") (char_literal "'\x04'" (' "'") (escape_sequence "\x04") (' "'"))) () ")")) (compound_statement "{\n                  psVar45 = (size_t *)*psVar45;\n                  if ((((psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)) &&\n                      ((uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0))))\n                     && ((0xfffffff0 < uVar26 || (psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0))))) {\n                    psVar34[0xb] = 0;\n                    if (uVar26 < uVar39) {\n                      psVar6[-2] = uVar39;\n                    }\n                    bVar40 = true;\n                    if (local_6c != 0) {\n                      psVar6[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0)) {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    psVar34[0x11] = 1;\n                    psVar34[0xb] = 0x101;\n                    psVar6[-1] = 1;\n                    psVar6[-7] = 0x101;\n                  }\n                  goto LAB_0001a954;\n                }" ({ "{") (expression_statement "psVar45 = (size_t *)*psVar45;" (assignment_expression "psVar45 = (size_t *)*psVar45" (identifier "psVar45") (= "=") (cast_expression "(size_t *)*psVar45" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*psVar45" (* "*") (identifier "psVar45")))) (; ";")) (if_statement "if ((((psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)) &&\n                      ((uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0))))\n                     && ((0xfffffff0 < uVar26 || (psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0))))) {\n                    psVar34[0xb] = 0;\n                    if (uVar26 < uVar39) {\n                      psVar6[-2] = uVar39;\n                    }\n                    bVar40 = true;\n                    if (local_6c != 0) {\n                      psVar6[-1] = 1;\n                    }\n                  }\n                  else if (local_6c == 0) {\n                    if (((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0)) {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    psVar34[0x11] = 1;\n                    psVar34[0xb] = 0x101;\n                    psVar6[-1] = 1;\n                    psVar6[-7] = 0x101;\n                  }" (if "if") (parenthesized_expression "((((psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)) &&\n                      ((uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0))))\n                     && ((0xfffffff0 < uVar26 || (psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0)))))" (( "(") (binary_expression "(((psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)) &&\n                      ((uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0))))\n                     && ((0xfffffff0 < uVar26 || (psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0))))" (parenthesized_expression "(((psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)) &&\n                      ((uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0))))" (( "(") (binary_expression "((psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)) &&\n                      ((uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0)))" (parenthesized_expression "((psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0))" (( "(") (binary_expression "(psVar45 == (size_t *)*psVar25) &&\n                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)" (parenthesized_expression "(psVar45 == (size_t *)*psVar25)" (( "(") (binary_expression "psVar45 == (size_t *)*psVar25" (identifier "psVar45") (== "==") (cast_expression "(size_t *)*psVar25" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*psVar25" (* "*") (identifier "psVar25")))) () ")")) (&& "&&") (parenthesized_expression "(psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)" (( "(") (comma_expression "psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0" (assignment_expression "psVar46 = psVar25" (identifier "psVar46") (= "=") (identifier "psVar25")) (, ",") (comma_expression "iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),\n                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0" (assignment_expression "iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45)" (identifier "iVar21") (= "=") (call_expression "memcmp(pvVar30,pvVar24,(size_t)psVar45)" (identifier "memcmp") (argument_list "(pvVar30,pvVar24,(size_t)psVar45)" (( "(") (identifier "pvVar30") (, ",") (identifier "pvVar24") (, ",") (cast_expression "(size_t)psVar45" (( "(") (type_descriptor "size_t" (primitive_type "size_t")) () ")") (identifier "psVar45")) () ")")))) (, ",") (comma_expression "pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0" (assignment_expression "pvVar44 = pvVar24" (identifier "pvVar44") (= "=") (identifier "pvVar24")) (, ",") (comma_expression "psVar20 = psVar45, iVar21 == 0" (assignment_expression "psVar20 = psVar45" (identifier "psVar20") (= "=") (identifier "psVar45")) (, ",") (binary_expression "iVar21 == 0" (identifier "iVar21") (== "==") (number_literal "0")))))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0)))" (( "(") (parenthesized_expression "(uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0))" (( "(") (comma_expression "uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0)" (assignment_expression "uVar26 = psVar6[-2]" (identifier "uVar26") (= "=") (subscript_expression "psVar6[-2]" (identifier "psVar6") ([ "[") (number_literal "-2") (] "]"))) (, ",") (binary_expression "uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0)" (binary_expression "uVar26 != 0" (identifier "uVar26") (!= "!=") (number_literal "0")) (&& "&&") (parenthesized_expression "(uVar39 = psVar34[0x10], uVar39 != 0)" (( "(") (comma_expression "uVar39 = psVar34[0x10], uVar39 != 0" (assignment_expression "uVar39 = psVar34[0x10]" (identifier "uVar39") (= "=") (subscript_expression "psVar34[0x10]" (identifier "psVar34") ([ "[") (number_literal "0x10") (] "]"))) (, ",") (binary_expression "uVar39 != 0" (identifier "uVar39") (!= "!=") (number_literal "0"))) () ")")))) () ")")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((0xfffffff0 < uVar26 || (psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0))))" (( "(") (parenthesized_expression "(0xfffffff0 < uVar26 || (psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0)))" (( "(") (binary_expression "0xfffffff0 < uVar26 || (psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0))" (binary_expression "0xfffffff0 < uVar26" (number_literal "0xfffffff0") (< "<") (identifier "uVar26")) (|| "||") (parenthesized_expression "(psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0))" (( "(") (binary_expression "psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0)" (subscript_expression "psVar34[0xf]" (identifier "psVar34") ([ "[") (number_literal "0xf") (] "]")) (<= "<=") (parenthesized_expression "(uVar26 + 0xf & 0xfffffff0)" (( "(") (binary_expression "uVar26 + 0xf & 0xfffffff0" (binary_expression "uVar26 + 0xf" (identifier "uVar26") (+ "+") (number_literal "0xf")) (& "&") (number_literal "0xfffffff0")) () ")"))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n                    psVar34[0xb] = 0;\n                    if (uVar26 < uVar39) {\n                      psVar6[-2] = uVar39;\n                    }\n                    bVar40 = true;\n                    if (local_6c != 0) {\n                      psVar6[-1] = 1;\n                    }\n                  }" ({ "{") (expression_statement "psVar34[0xb] = 0;" (assignment_expression "psVar34[0xb] = 0" (subscript_expression "psVar34[0xb]" (identifier "psVar34") ([ "[") (number_literal "0xb") (] "]")) (= "=") (number_literal "0")) (; ";")) (if_statement "if (uVar26 < uVar39) {\n                      psVar6[-2] = uVar39;\n                    }" (if "if") (parenthesized_expression "(uVar26 < uVar39)" (( "(") (binary_expression "uVar26 < uVar39" (identifier "uVar26") (< "<") (identifier "uVar39")) () ")")) (compound_statement "{\n                      psVar6[-2] = uVar39;\n                    }" ({ "{") (expression_statement "psVar6[-2] = uVar39;" (assignment_expression "psVar6[-2] = uVar39" (subscript_expression "psVar6[-2]" (identifier "psVar6") ([ "[") (number_literal "-2") (] "]")) (= "=") (identifier "uVar39")) (; ";")) (} "}"))) (expression_statement "bVar40 = true;" (assignment_expression "bVar40 = true" (identifier "bVar40") (= "=") (true "true")) (; ";")) (if_statement "if (local_6c != 0) {\n                      psVar6[-1] = 1;\n                    }" (if "if") (parenthesized_expression "(local_6c != 0)" (( "(") (binary_expression "local_6c != 0" (identifier "local_6c") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                      psVar6[-1] = 1;\n                    }" ({ "{") (expression_statement "psVar6[-1] = 1;" (assignment_expression "psVar6[-1] = 1" (subscript_expression "psVar6[-1]" (identifier "psVar6") ([ "[") (number_literal "-1") (] "]")) (= "=") (number_literal "1")) (; ";")) (} "}"))) (} "}")) (else_clause "else if (local_6c == 0) {\n                    if (((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0)) {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    psVar34[0x11] = 1;\n                    psVar34[0xb] = 0x101;\n                    psVar6[-1] = 1;\n                    psVar6[-7] = 0x101;\n                  }" (else "else") (if_statement "if (local_6c == 0) {\n                    if (((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0)) {\n                      local_7c[2] = 0x100;\n                    }\n                  }\n                  else {\n                    psVar34[0x11] = 1;\n                    psVar34[0xb] = 0x101;\n                    psVar6[-1] = 1;\n                    psVar6[-7] = 0x101;\n                  }" (if "if") (parenthesized_expression "(local_6c == 0)" (( "(") (binary_expression "local_6c == 0" (identifier "local_6c") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    if (((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0)) {\n                      local_7c[2] = 0x100;\n                    }\n                  }" ({ "{") (if_statement "if (((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0)) {\n                      local_7c[2] = 0x100;\n                    }" (if "if") (parenthesized_expression "(((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0))" (( "(") (binary_expression "((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0)" (parenthesized_expression "((psVar34[10] == 0) && (local_7c != (size_t *)0x0))" (( "(") (binary_expression "(psVar34[10] == 0) && (local_7c != (size_t *)0x0)" (parenthesized_expression "(psVar34[10] == 0)" (( "(") (binary_expression "psVar34[10] == 0" (subscript_expression "psVar34[10]" (identifier "psVar34") ([ "[") (number_literal "10") (] "]")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(local_7c != (size_t *)0x0)" (( "(") (binary_expression "local_7c != (size_t *)0x0" (identifier "local_7c") (!= "!=") (cast_expression "(size_t *)0x0" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(local_7c[2] == 0)" (( "(") (binary_expression "local_7c[2] == 0" (subscript_expression "local_7c[2]" (identifier "local_7c") ([ "[") (number_literal "2") (] "]")) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n                      local_7c[2] = 0x100;\n                    }" ({ "{") (expression_statement "local_7c[2] = 0x100;" (assignment_expression "local_7c[2] = 0x100" (subscript_expression "local_7c[2]" (identifier "local_7c") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0x100")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n                    psVar34[0x11] = 1;\n                    psVar34[0xb] = 0x101;\n                    psVar6[-1] = 1;\n                    psVar6[-7] = 0x101;\n                  }" (else "else") (compound_statement "{\n                    psVar34[0x11] = 1;\n                    psVar34[0xb] = 0x101;\n                    psVar6[-1] = 1;\n                    psVar6[-7] = 0x101;\n                  }" ({ "{") (expression_statement "psVar34[0x11] = 1;" (assignment_expression "psVar34[0x11] = 1" (subscript_expression "psVar34[0x11]" (identifier "psVar34") ([ "[") (number_literal "0x11") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "psVar34[0xb] = 0x101;" (assignment_expression "psVar34[0xb] = 0x101" (subscript_expression "psVar34[0xb]" (identifier "psVar34") ([ "[") (number_literal "0xb") (] "]")) (= "=") (number_literal "0x101")) (; ";")) (expression_statement "psVar6[-1] = 1;" (assignment_expression "psVar6[-1] = 1" (subscript_expression "psVar6[-1]" (identifier "psVar6") ([ "[") (number_literal "-1") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "psVar6[-7] = 0x101;" (assignment_expression "psVar6[-7] = 0x101" (subscript_expression "psVar6[-7]" (identifier "psVar6") ([ "[") (number_literal "-7") (] "]")) (= "=") (number_literal "0x101")) (; ";")) (} "}")))))) (goto_statement "goto LAB_0001a954;" (goto "goto") (statement_identifier "LAB_0001a954") (; ";")) (} "}"))) (expression_statement "uVar26 = 0;" (assignment_expression "uVar26 = 0" (identifier "uVar26") (= "=") (number_literal "0")) (; ";")) (for_statement "for (iVar21 = 0; (int)*psVar25 - iVar12 != iVar21; iVar21 = iVar21 + 1) {\n                  uVar26 = uVar26 | (uint)*(byte *)((int)pvVar24 + iVar21 + iVar12) <<\n                                    ((char)iVar21 * '\b' & 0x1fU);\n                }" (for "for") (( "(") (assignment_expression "iVar21 = 0" (identifier "iVar21") (= "=") (number_literal "0")) (; ";") (binary_expression "(int)*psVar25 - iVar12 != iVar21" (binary_expression "(int)*psVar25 - iVar12" (cast_expression "(int)*psVar25" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*psVar25" (* "*") (identifier "psVar25"))) (- "-") (identifier "iVar12")) (!= "!=") (identifier "iVar21")) (; ";") (assignment_expression "iVar21 = iVar21 + 1" (identifier "iVar21") (= "=") (binary_expression "iVar21 + 1" (identifier "iVar21") (+ "+") (number_literal "1"))) () ")") (compound_statement "{\n                  uVar26 = uVar26 | (uint)*(byte *)((int)pvVar24 + iVar21 + iVar12) <<\n                                    ((char)iVar21 * '\b' & 0x1fU);\n                }" ({ "{") (expression_statement "uVar26 = uVar26 | (uint)*(byte *)((int)pvVar24 + iVar21 + iVar12) <<\n                                    ((char)iVar21 * '\b' & 0x1fU);" (assignment_expression "uVar26 = uVar26 | (uint)*(byte *)((int)pvVar24 + iVar21 + iVar12) <<\n                                    ((char)iVar21 * '\b' & 0x1fU)" (identifier "uVar26") (= "=") (binary_expression "uVar26 | (uint)*(byte *)((int)pvVar24 + iVar21 + iVar12) <<\n                                    ((char)iVar21 * '\b' & 0x1fU)" (identifier "uVar26") (| "|") (binary_expression "(uint)*(byte *)((int)pvVar24 + iVar21 + iVar12) <<\n                                    ((char)iVar21 * '\b' & 0x1fU)" (binary_expression "(uint)*(byte *)((int)pvVar24 + iVar21 + iVar12)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)((int)pvVar24 + iVar21 + iVar12)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pvVar24 + iVar21 + iVar12)" (( "(") (binary_expression "(int)pvVar24 + iVar21 + iVar12" (binary_expression "(int)pvVar24 + iVar21" (cast_expression "(int)pvVar24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar24")) (+ "+") (identifier "iVar21")) (+ "+") (identifier "iVar12")) () ")")))) (<< "<<") (parenthesized_expression "((char)iVar21 * '\b' & 0x1fU)" (( "(") (binary_expression "(char)iVar21 * '\b' & 0x1fU" (binary_expression "(char)iVar21 * '\b'" (cast_expression "(char)iVar21" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "iVar21")) (* "*") (char_literal "'\b'" (' "'") (escape_sequence "\b") (' "'"))) (& "&") (number_literal "0x1fU")) () ")"))))) (; ";")) (} "}"))) (expression_statement "sVar18 = *psVar45;" (assignment_expression "sVar18 = *psVar45" (identifier "sVar18") (= "=") (pointer_expression "*psVar45" (* "*") (identifier "psVar45"))) (; ";")) (expression_statement "local_5c = (int *)0x0;" (assignment_expression "local_5c = (int *)0x0" (identifier "local_5c") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (for_statement "for (uVar39 = 0; sVar18 - iVar12 != uVar39; uVar39 = uVar39 + 1) {\n                  local_5c = (int *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39] <<\n                                    ((char)uVar39 * '\b' & 0x1fU));\n                }" (for "for") (( "(") (assignment_expression "uVar39 = 0" (identifier "uVar39") (= "=") (number_literal "0")) (; ";") (binary_expression "sVar18 - iVar12 != uVar39" (binary_expression "sVar18 - iVar12" (identifier "sVar18") (- "-") (identifier "iVar12")) (!= "!=") (identifier "uVar39")) (; ";") (assignment_expression "uVar39 = uVar39 + 1" (identifier "uVar39") (= "=") (binary_expression "uVar39 + 1" (identifier "uVar39") (+ "+") (number_literal "1"))) () ")") (compound_statement "{\n                  local_5c = (int *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39] <<\n                                    ((char)uVar39 * '\b' & 0x1fU));\n                }" ({ "{") (expression_statement "local_5c = (int *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39] <<\n                                    ((char)uVar39 * '\b' & 0x1fU));" (assignment_expression "local_5c = (int *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39] <<\n                                    ((char)uVar39 * '\b' & 0x1fU))" (identifier "local_5c") (= "=") (cast_expression "(int *)((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39] <<\n                                    ((char)uVar39 * '\b' & 0x1fU))" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39] <<\n                                    ((char)uVar39 * '\b' & 0x1fU))" (( "(") (binary_expression "(uint)local_5c |\n                                    (uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39] <<\n                                    ((char)uVar39 * '\b' & 0x1fU)" (cast_expression "(uint)local_5c" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_5c")) (| "|") (binary_expression "(uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39] <<\n                                    ((char)uVar39 * '\b' & 0x1fU)" (subscript_expression "(uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39]" (call_expression "(uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(byte)" (( "(") (identifier "byte") () ")"))) (argument_list "((undefined1 *)((int)pvVar30 + iVar12))" (( "(") (cast_expression "(undefined1 *)((int)pvVar30 + iVar12)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pvVar30 + iVar12)" (( "(") (binary_expression "(int)pvVar30 + iVar12" (cast_expression "(int)pvVar30" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar30")) (+ "+") (identifier "iVar12")) () ")"))) () ")"))) ([ "[") (identifier "uVar39") (] "]")) (<< "<<") (parenthesized_expression "((char)uVar39 * '\b' & 0x1fU)" (( "(") (binary_expression "(char)uVar39 * '\b' & 0x1fU" (binary_expression "(char)uVar39 * '\b'" (cast_expression "(char)uVar39" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "uVar39")) (* "*") (char_literal "'\b'" (' "'") (escape_sequence "\b") (' "'"))) (& "&") (number_literal "0x1fU")) () ")")))) () ")")))) (; ";")) (} "}"))) (expression_statement "uVar28 = 0;" (assignment_expression "uVar28 = 0" (identifier "uVar28") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar26 = (int)local_5c + uVar26;" (assignment_expression "uVar26 = (int)local_5c + uVar26" (identifier "uVar26") (= "=") (binary_expression "(int)local_5c + uVar26" (cast_expression "(int)local_5c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_5c")) (+ "+") (identifier "uVar26"))) (; ";")) (for_statement "for (uVar27 = uVar26; uVar27 != 0; uVar27 = uVar27 >> 8) {\n                  uVar28 = uVar28 + 1;\n                }" (for "for") (( "(") (assignment_expression "uVar27 = uVar26" (identifier "uVar27") (= "=") (identifier "uVar26")) (; ";") (binary_expression "uVar27 != 0" (identifier "uVar27") (!= "!=") (number_literal "0")) (; ";") (assignment_expression "uVar27 = uVar27 >> 8" (identifier "uVar27") (= "=") (binary_expression "uVar27 >> 8" (identifier "uVar27") (>> ">>") (number_literal "8"))) () ")") (compound_statement "{\n                  uVar28 = uVar28 + 1;\n                }" ({ "{") (expression_statement "uVar28 = uVar28 + 1;" (assignment_expression "uVar28 = uVar28 + 1" (identifier "uVar28") (= "=") (binary_expression "uVar28 + 1" (identifier "uVar28") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (} "}")) (while "while") (parenthesized_expression "(uVar39 <= uVar28)" (( "(") (binary_expression "uVar39 <= uVar28" (identifier "uVar39") (<= "<=") (identifier "uVar28")) () ")")) (; ";")) (expression_statement "puVar29 = (undefined1 *)((int)pvVar30 + iVar12);" (assignment_expression "puVar29 = (undefined1 *)((int)pvVar30 + iVar12)" (identifier "puVar29") (= "=") (cast_expression "(undefined1 *)((int)pvVar30 + iVar12)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pvVar30 + iVar12)" (( "(") (binary_expression "(int)pvVar30 + iVar12" (cast_expression "(int)pvVar30" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar30")) (+ "+") (identifier "iVar12")) () ")")))) (; ";")) (while_statement "while (puVar29 < (undefined1 *)((int)pvVar30 + sVar18)) {\n                *puVar29 = (char)uVar26;\n                if (uVar26 == 0) break;\n                uVar26 = uVar26 >> 8;\n                puVar29 = puVar29 + 1;\n              }" (while "while") (parenthesized_expression "(puVar29 < (undefined1 *)((int)pvVar30 + sVar18))" (( "(") (binary_expression "puVar29 < (undefined1 *)((int)pvVar30 + sVar18)" (identifier "puVar29") (< "<") (cast_expression "(undefined1 *)((int)pvVar30 + sVar18)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pvVar30 + sVar18)" (( "(") (binary_expression "(int)pvVar30 + sVar18" (cast_expression "(int)pvVar30" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar30")) (+ "+") (identifier "sVar18")) () ")")))) () ")")) (compound_statement "{\n                *puVar29 = (char)uVar26;\n                if (uVar26 == 0) break;\n                uVar26 = uVar26 >> 8;\n                puVar29 = puVar29 + 1;\n              }" ({ "{") (expression_statement "*puVar29 = (char)uVar26;" (assignment_expression "*puVar29 = (char)uVar26" (pointer_expression "*puVar29" (* "*") (identifier "puVar29")) (= "=") (cast_expression "(char)uVar26" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "uVar26"))) (; ";")) (if_statement "if (uVar26 == 0) break;" (if "if") (parenthesized_expression "(uVar26 == 0)" (( "(") (binary_expression "uVar26 == 0" (identifier "uVar26") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "uVar26 = uVar26 >> 8;" (assignment_expression "uVar26 = uVar26 >> 8" (identifier "uVar26") (= "=") (binary_expression "uVar26 >> 8" (identifier "uVar26") (>> ">>") (number_literal "8"))) (; ";")) (expression_statement "puVar29 = puVar29 + 1;" (assignment_expression "puVar29 = puVar29 + 1" (identifier "puVar29") (= "=") (binary_expression "puVar29 + 1" (identifier "puVar29") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "psVar34[0xb] = 0;" (assignment_expression "psVar34[0xb] = 0" (subscript_expression "psVar34[0xb]" (identifier "psVar34") ([ "[") (number_literal "0xb") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "bVar40 = true;" (assignment_expression "bVar40 = true" (identifier "bVar40") (= "=") (true "true")) (; ";")) (} "}"))) (goto_statement "goto LAB_0001a954;" (goto "goto") (statement_identifier "LAB_0001a954") (; ";")) (} "}"))) (if_statement "if (!bVar40) goto LAB_0001a75c;" (if "if") (parenthesized_expression "(!bVar40)" (( "(") (unary_expression "!bVar40" (! "!") (identifier "bVar40")) () ")")) (goto_statement "goto LAB_0001a75c;" (goto "goto") (statement_identifier "LAB_0001a75c") (; ";"))) (expression_statement "pvVar24 = (void *)xmalloc(uVar35,pvVar44,psVar20,psVar46);" (assignment_expression "pvVar24 = (void *)xmalloc(uVar35,pvVar44,psVar20,psVar46)" (identifier "pvVar24") (= "=") (cast_expression "(void *)xmalloc(uVar35,pvVar44,psVar20,psVar46)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "xmalloc(uVar35,pvVar44,psVar20,psVar46)" (identifier "xmalloc") (argument_list "(uVar35,pvVar44,psVar20,psVar46)" (( "(") (identifier "uVar35") (, ",") (identifier "pvVar44") (, ",") (identifier "psVar20") (, ",") (identifier "psVar46") () ")"))))) (; ";")) (expression_statement "sVar18 = 0;" (assignment_expression "sVar18 = 0" (identifier "sVar18") (= "=") (number_literal "0")) (; ";")) (expression_statement "pvVar44 = pvVar24;" (assignment_expression "pvVar44 = pvVar24" (identifier "pvVar44") (= "=") (identifier "pvVar24")) (; ";")) (expression_statement "local_80 = psVar38;" (assignment_expression "local_80 = psVar38" (identifier "local_80") (= "=") (identifier "psVar38")) (; ";")) (for_statement "for (psVar20 = local_60; psVar20 < local_64; psVar20 = psVar20 + 9) {\n            sVar23 = *psVar20;\n            __n = psVar20[1] + sVar23 + 0xc;\n            sVar2 = psVar20[2];\n            pvVar30 = pvVar44;\n            if (sVar2 != 0) {\n              if (psVar20[8] == 0) {\n                memcpy(pvVar44,local_80,__n);\n                pvVar30 = (void *)((int)pvVar44 + __n);\n              }\n              else {\n                sVar5 = psVar20[6];\n                __dest = (void *)((int)pvVar44 + 0xc);\n                pvVar30 = (void *)((int)__dest + sVar23);\n                if ((sVar5 == local_74) && (psVar20[7] == sVar18)) {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar5,sVar5);\n                  (**(code **)(param_1[1] + 0x30))(0,(int)pvVar44 + 4);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                }\n                else {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar18,sVar18);\n                  cVar8 = '\b';\n                  if (*(int *)(param_1[1] + 4) == 5) {\n                    cVar8 = (*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b';\n                  }\n                  (**(code **)(param_1[1] + 0x30))(cVar8,(int)pvVar44 + 4,sVar23,sVar23);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                  sVar18 = param_1[1];\n                  psVar25 = param_1;\n                  if ((*(int *)(sVar18 + 4) == 5) &&\n                     (psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02')) {\n                    (**(code **)(sVar18 + 0x24))(sVar5,0,pvVar30,psVar25);\n                    (**(code **)(param_1[1] + 0x24))(psVar20[7],0,(void *)((int)pvVar30 + 8));\n                    pvVar30 = (void *)((int)pvVar30 + 0x10);\n                  }\n                  else {\n                    (**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25);\n                    (**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4);\n                    pvVar30 = (void *)((int)pvVar30 + 8);\n                  }\n                }\n              }\n              local_74 = psVar20[6];\n              sVar18 = psVar20[7];\n            }\n            local_80 = (size_t *)((int)local_80 + __n);\n            pvVar44 = pvVar30;\n          }" (for "for") (( "(") (assignment_expression "psVar20 = local_60" (identifier "psVar20") (= "=") (identifier "local_60")) (; ";") (binary_expression "psVar20 < local_64" (identifier "psVar20") (< "<") (identifier "local_64")) (; ";") (assignment_expression "psVar20 = psVar20 + 9" (identifier "psVar20") (= "=") (binary_expression "psVar20 + 9" (identifier "psVar20") (+ "+") (number_literal "9"))) () ")") (compound_statement "{\n            sVar23 = *psVar20;\n            __n = psVar20[1] + sVar23 + 0xc;\n            sVar2 = psVar20[2];\n            pvVar30 = pvVar44;\n            if (sVar2 != 0) {\n              if (psVar20[8] == 0) {\n                memcpy(pvVar44,local_80,__n);\n                pvVar30 = (void *)((int)pvVar44 + __n);\n              }\n              else {\n                sVar5 = psVar20[6];\n                __dest = (void *)((int)pvVar44 + 0xc);\n                pvVar30 = (void *)((int)__dest + sVar23);\n                if ((sVar5 == local_74) && (psVar20[7] == sVar18)) {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar5,sVar5);\n                  (**(code **)(param_1[1] + 0x30))(0,(int)pvVar44 + 4);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                }\n                else {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar18,sVar18);\n                  cVar8 = '\b';\n                  if (*(int *)(param_1[1] + 4) == 5) {\n                    cVar8 = (*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b';\n                  }\n                  (**(code **)(param_1[1] + 0x30))(cVar8,(int)pvVar44 + 4,sVar23,sVar23);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                  sVar18 = param_1[1];\n                  psVar25 = param_1;\n                  if ((*(int *)(sVar18 + 4) == 5) &&\n                     (psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02')) {\n                    (**(code **)(sVar18 + 0x24))(sVar5,0,pvVar30,psVar25);\n                    (**(code **)(param_1[1] + 0x24))(psVar20[7],0,(void *)((int)pvVar30 + 8));\n                    pvVar30 = (void *)((int)pvVar30 + 0x10);\n                  }\n                  else {\n                    (**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25);\n                    (**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4);\n                    pvVar30 = (void *)((int)pvVar30 + 8);\n                  }\n                }\n              }\n              local_74 = psVar20[6];\n              sVar18 = psVar20[7];\n            }\n            local_80 = (size_t *)((int)local_80 + __n);\n            pvVar44 = pvVar30;\n          }" ({ "{") (expression_statement "sVar23 = *psVar20;" (assignment_expression "sVar23 = *psVar20" (identifier "sVar23") (= "=") (pointer_expression "*psVar20" (* "*") (identifier "psVar20"))) (; ";")) (expression_statement "__n = psVar20[1] + sVar23 + 0xc;" (assignment_expression "__n = psVar20[1] + sVar23 + 0xc" (identifier "__n") (= "=") (binary_expression "psVar20[1] + sVar23 + 0xc" (binary_expression "psVar20[1] + sVar23" (subscript_expression "psVar20[1]" (identifier "psVar20") ([ "[") (number_literal "1") (] "]")) (+ "+") (identifier "sVar23")) (+ "+") (number_literal "0xc"))) (; ";")) (expression_statement "sVar2 = psVar20[2];" (assignment_expression "sVar2 = psVar20[2]" (identifier "sVar2") (= "=") (subscript_expression "psVar20[2]" (identifier "psVar20") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "pvVar30 = pvVar44;" (assignment_expression "pvVar30 = pvVar44" (identifier "pvVar30") (= "=") (identifier "pvVar44")) (; ";")) (if_statement "if (sVar2 != 0) {\n              if (psVar20[8] == 0) {\n                memcpy(pvVar44,local_80,__n);\n                pvVar30 = (void *)((int)pvVar44 + __n);\n              }\n              else {\n                sVar5 = psVar20[6];\n                __dest = (void *)((int)pvVar44 + 0xc);\n                pvVar30 = (void *)((int)__dest + sVar23);\n                if ((sVar5 == local_74) && (psVar20[7] == sVar18)) {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar5,sVar5);\n                  (**(code **)(param_1[1] + 0x30))(0,(int)pvVar44 + 4);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                }\n                else {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar18,sVar18);\n                  cVar8 = '\b';\n                  if (*(int *)(param_1[1] + 4) == 5) {\n                    cVar8 = (*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b';\n                  }\n                  (**(code **)(param_1[1] + 0x30))(cVar8,(int)pvVar44 + 4,sVar23,sVar23);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                  sVar18 = param_1[1];\n                  psVar25 = param_1;\n                  if ((*(int *)(sVar18 + 4) == 5) &&\n                     (psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02')) {\n                    (**(code **)(sVar18 + 0x24))(sVar5,0,pvVar30,psVar25);\n                    (**(code **)(param_1[1] + 0x24))(psVar20[7],0,(void *)((int)pvVar30 + 8));\n                    pvVar30 = (void *)((int)pvVar30 + 0x10);\n                  }\n                  else {\n                    (**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25);\n                    (**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4);\n                    pvVar30 = (void *)((int)pvVar30 + 8);\n                  }\n                }\n              }\n              local_74 = psVar20[6];\n              sVar18 = psVar20[7];\n            }" (if "if") (parenthesized_expression "(sVar2 != 0)" (( "(") (binary_expression "sVar2 != 0" (identifier "sVar2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              if (psVar20[8] == 0) {\n                memcpy(pvVar44,local_80,__n);\n                pvVar30 = (void *)((int)pvVar44 + __n);\n              }\n              else {\n                sVar5 = psVar20[6];\n                __dest = (void *)((int)pvVar44 + 0xc);\n                pvVar30 = (void *)((int)__dest + sVar23);\n                if ((sVar5 == local_74) && (psVar20[7] == sVar18)) {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar5,sVar5);\n                  (**(code **)(param_1[1] + 0x30))(0,(int)pvVar44 + 4);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                }\n                else {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar18,sVar18);\n                  cVar8 = '\b';\n                  if (*(int *)(param_1[1] + 4) == 5) {\n                    cVar8 = (*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b';\n                  }\n                  (**(code **)(param_1[1] + 0x30))(cVar8,(int)pvVar44 + 4,sVar23,sVar23);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                  sVar18 = param_1[1];\n                  psVar25 = param_1;\n                  if ((*(int *)(sVar18 + 4) == 5) &&\n                     (psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02')) {\n                    (**(code **)(sVar18 + 0x24))(sVar5,0,pvVar30,psVar25);\n                    (**(code **)(param_1[1] + 0x24))(psVar20[7],0,(void *)((int)pvVar30 + 8));\n                    pvVar30 = (void *)((int)pvVar30 + 0x10);\n                  }\n                  else {\n                    (**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25);\n                    (**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4);\n                    pvVar30 = (void *)((int)pvVar30 + 8);\n                  }\n                }\n              }\n              local_74 = psVar20[6];\n              sVar18 = psVar20[7];\n            }" ({ "{") (if_statement "if (psVar20[8] == 0) {\n                memcpy(pvVar44,local_80,__n);\n                pvVar30 = (void *)((int)pvVar44 + __n);\n              }\n              else {\n                sVar5 = psVar20[6];\n                __dest = (void *)((int)pvVar44 + 0xc);\n                pvVar30 = (void *)((int)__dest + sVar23);\n                if ((sVar5 == local_74) && (psVar20[7] == sVar18)) {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar5,sVar5);\n                  (**(code **)(param_1[1] + 0x30))(0,(int)pvVar44 + 4);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                }\n                else {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar18,sVar18);\n                  cVar8 = '\b';\n                  if (*(int *)(param_1[1] + 4) == 5) {\n                    cVar8 = (*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b';\n                  }\n                  (**(code **)(param_1[1] + 0x30))(cVar8,(int)pvVar44 + 4,sVar23,sVar23);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                  sVar18 = param_1[1];\n                  psVar25 = param_1;\n                  if ((*(int *)(sVar18 + 4) == 5) &&\n                     (psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02')) {\n                    (**(code **)(sVar18 + 0x24))(sVar5,0,pvVar30,psVar25);\n                    (**(code **)(param_1[1] + 0x24))(psVar20[7],0,(void *)((int)pvVar30 + 8));\n                    pvVar30 = (void *)((int)pvVar30 + 0x10);\n                  }\n                  else {\n                    (**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25);\n                    (**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4);\n                    pvVar30 = (void *)((int)pvVar30 + 8);\n                  }\n                }\n              }" (if "if") (parenthesized_expression "(psVar20[8] == 0)" (( "(") (binary_expression "psVar20[8] == 0" (subscript_expression "psVar20[8]" (identifier "psVar20") ([ "[") (number_literal "8") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                memcpy(pvVar44,local_80,__n);\n                pvVar30 = (void *)((int)pvVar44 + __n);\n              }" ({ "{") (expression_statement "memcpy(pvVar44,local_80,__n);" (call_expression "memcpy(pvVar44,local_80,__n)" (identifier "memcpy") (argument_list "(pvVar44,local_80,__n)" (( "(") (identifier "pvVar44") (, ",") (identifier "local_80") (, ",") (identifier "__n") () ")"))) (; ";")) (expression_statement "pvVar30 = (void *)((int)pvVar44 + __n);" (assignment_expression "pvVar30 = (void *)((int)pvVar44 + __n)" (identifier "pvVar30") (= "=") (cast_expression "(void *)((int)pvVar44 + __n)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pvVar44 + __n)" (( "(") (binary_expression "(int)pvVar44 + __n" (cast_expression "(int)pvVar44" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar44")) (+ "+") (identifier "__n")) () ")")))) (; ";")) (} "}")) (else_clause "else {\n                sVar5 = psVar20[6];\n                __dest = (void *)((int)pvVar44 + 0xc);\n                pvVar30 = (void *)((int)__dest + sVar23);\n                if ((sVar5 == local_74) && (psVar20[7] == sVar18)) {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar5,sVar5);\n                  (**(code **)(param_1[1] + 0x30))(0,(int)pvVar44 + 4);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                }\n                else {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar18,sVar18);\n                  cVar8 = '\b';\n                  if (*(int *)(param_1[1] + 4) == 5) {\n                    cVar8 = (*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b';\n                  }\n                  (**(code **)(param_1[1] + 0x30))(cVar8,(int)pvVar44 + 4,sVar23,sVar23);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                  sVar18 = param_1[1];\n                  psVar25 = param_1;\n                  if ((*(int *)(sVar18 + 4) == 5) &&\n                     (psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02')) {\n                    (**(code **)(sVar18 + 0x24))(sVar5,0,pvVar30,psVar25);\n                    (**(code **)(param_1[1] + 0x24))(psVar20[7],0,(void *)((int)pvVar30 + 8));\n                    pvVar30 = (void *)((int)pvVar30 + 0x10);\n                  }\n                  else {\n                    (**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25);\n                    (**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4);\n                    pvVar30 = (void *)((int)pvVar30 + 8);\n                  }\n                }\n              }" (else "else") (compound_statement "{\n                sVar5 = psVar20[6];\n                __dest = (void *)((int)pvVar44 + 0xc);\n                pvVar30 = (void *)((int)__dest + sVar23);\n                if ((sVar5 == local_74) && (psVar20[7] == sVar18)) {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar5,sVar5);\n                  (**(code **)(param_1[1] + 0x30))(0,(int)pvVar44 + 4);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                }\n                else {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar18,sVar18);\n                  cVar8 = '\b';\n                  if (*(int *)(param_1[1] + 4) == 5) {\n                    cVar8 = (*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b';\n                  }\n                  (**(code **)(param_1[1] + 0x30))(cVar8,(int)pvVar44 + 4,sVar23,sVar23);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                  sVar18 = param_1[1];\n                  psVar25 = param_1;\n                  if ((*(int *)(sVar18 + 4) == 5) &&\n                     (psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02')) {\n                    (**(code **)(sVar18 + 0x24))(sVar5,0,pvVar30,psVar25);\n                    (**(code **)(param_1[1] + 0x24))(psVar20[7],0,(void *)((int)pvVar30 + 8));\n                    pvVar30 = (void *)((int)pvVar30 + 0x10);\n                  }\n                  else {\n                    (**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25);\n                    (**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4);\n                    pvVar30 = (void *)((int)pvVar30 + 8);\n                  }\n                }\n              }" ({ "{") (expression_statement "sVar5 = psVar20[6];" (assignment_expression "sVar5 = psVar20[6]" (identifier "sVar5") (= "=") (subscript_expression "psVar20[6]" (identifier "psVar20") ([ "[") (number_literal "6") (] "]"))) (; ";")) (expression_statement "__dest = (void *)((int)pvVar44 + 0xc);" (assignment_expression "__dest = (void *)((int)pvVar44 + 0xc)" (identifier "__dest") (= "=") (cast_expression "(void *)((int)pvVar44 + 0xc)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pvVar44 + 0xc)" (( "(") (binary_expression "(int)pvVar44 + 0xc" (cast_expression "(int)pvVar44" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar44")) (+ "+") (number_literal "0xc")) () ")")))) (; ";")) (expression_statement "pvVar30 = (void *)((int)__dest + sVar23);" (assignment_expression "pvVar30 = (void *)((int)__dest + sVar23)" (identifier "pvVar30") (= "=") (cast_expression "(void *)((int)__dest + sVar23)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)__dest + sVar23)" (( "(") (binary_expression "(int)__dest + sVar23" (cast_expression "(int)__dest" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__dest")) (+ "+") (identifier "sVar23")) () ")")))) (; ";")) (if_statement "if ((sVar5 == local_74) && (psVar20[7] == sVar18)) {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar5,sVar5);\n                  (**(code **)(param_1[1] + 0x30))(0,(int)pvVar44 + 4);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                }\n                else {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar18,sVar18);\n                  cVar8 = '\b';\n                  if (*(int *)(param_1[1] + 4) == 5) {\n                    cVar8 = (*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b';\n                  }\n                  (**(code **)(param_1[1] + 0x30))(cVar8,(int)pvVar44 + 4,sVar23,sVar23);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                  sVar18 = param_1[1];\n                  psVar25 = param_1;\n                  if ((*(int *)(sVar18 + 4) == 5) &&\n                     (psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02')) {\n                    (**(code **)(sVar18 + 0x24))(sVar5,0,pvVar30,psVar25);\n                    (**(code **)(param_1[1] + 0x24))(psVar20[7],0,(void *)((int)pvVar30 + 8));\n                    pvVar30 = (void *)((int)pvVar30 + 0x10);\n                  }\n                  else {\n                    (**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25);\n                    (**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4);\n                    pvVar30 = (void *)((int)pvVar30 + 8);\n                  }\n                }" (if "if") (parenthesized_expression "((sVar5 == local_74) && (psVar20[7] == sVar18))" (( "(") (binary_expression "(sVar5 == local_74) && (psVar20[7] == sVar18)" (parenthesized_expression "(sVar5 == local_74)" (( "(") (binary_expression "sVar5 == local_74" (identifier "sVar5") (== "==") (identifier "local_74")) () ")")) (&& "&&") (parenthesized_expression "(psVar20[7] == sVar18)" (( "(") (binary_expression "psVar20[7] == sVar18" (subscript_expression "psVar20[7]" (identifier "psVar20") ([ "[") (number_literal "7") (] "]")) (== "==") (identifier "sVar18")) () ")"))) () ")")) (compound_statement "{\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar5,sVar5);\n                  (**(code **)(param_1[1] + 0x30))(0,(int)pvVar44 + 4);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                }" ({ "{") (expression_statement "(**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar5,sVar5);" (call_expression "(**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar5,sVar5)" (parenthesized_expression "(**(code **)(param_1[1] + 0x30))" (( "(") (pointer_expression "**(code **)(param_1[1] + 0x30)" (* "*") (pointer_expression "*(code **)(param_1[1] + 0x30)" (* "*") (cast_expression "(code **)(param_1[1] + 0x30)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1[1] + 0x30)" (( "(") (binary_expression "param_1[1] + 0x30" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "0x30")) () ")"))))) () ")")) (argument_list "(sVar23,pvVar44,sVar5,sVar5)" (( "(") (identifier "sVar23") (, ",") (identifier "pvVar44") (, ",") (identifier "sVar5") (, ",") (identifier "sVar5") () ")"))) (; ";")) (expression_statement "(**(code **)(param_1[1] + 0x30))(0,(int)pvVar44 + 4);" (call_expression "(**(code **)(param_1[1] + 0x30))(0,(int)pvVar44 + 4)" (parenthesized_expression "(**(code **)(param_1[1] + 0x30))" (( "(") (pointer_expression "**(code **)(param_1[1] + 0x30)" (* "*") (pointer_expression "*(code **)(param_1[1] + 0x30)" (* "*") (cast_expression "(code **)(param_1[1] + 0x30)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1[1] + 0x30)" (( "(") (binary_expression "param_1[1] + 0x30" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "0x30")) () ")"))))) () ")")) (argument_list "(0,(int)pvVar44 + 4)" (( "(") (number_literal "0") (, ",") (binary_expression "(int)pvVar44 + 4" (cast_expression "(int)pvVar44" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar44")) (+ "+") (number_literal "4")) () ")"))) (; ";")) (expression_statement "(**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);" (call_expression "(**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8)" (parenthesized_expression "(**(code **)(param_1[1] + 0x30))" (( "(") (pointer_expression "**(code **)(param_1[1] + 0x30)" (* "*") (pointer_expression "*(code **)(param_1[1] + 0x30)" (* "*") (cast_expression "(code **)(param_1[1] + 0x30)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1[1] + 0x30)" (( "(") (binary_expression "param_1[1] + 0x30" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "0x30")) () ")"))))) () ")")) (argument_list "(sVar2,(int)pvVar44 + 8)" (( "(") (identifier "sVar2") (, ",") (binary_expression "(int)pvVar44 + 8" (cast_expression "(int)pvVar44" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar44")) (+ "+") (number_literal "8")) () ")"))) (; ";")) (expression_statement "memcpy(__dest,(void *)psVar20[3],sVar23);" (call_expression "memcpy(__dest,(void *)psVar20[3],sVar23)" (identifier "memcpy") (argument_list "(__dest,(void *)psVar20[3],sVar23)" (( "(") (identifier "__dest") (, ",") (cast_expression "(void *)psVar20[3]" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "psVar20[3]" (identifier "psVar20") ([ "[") (number_literal "3") (] "]"))) (, ",") (identifier "sVar23") () ")"))) (; ";")) (} "}")) (else_clause "else {\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar18,sVar18);\n                  cVar8 = '\b';\n                  if (*(int *)(param_1[1] + 4) == 5) {\n                    cVar8 = (*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b';\n                  }\n                  (**(code **)(param_1[1] + 0x30))(cVar8,(int)pvVar44 + 4,sVar23,sVar23);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                  sVar18 = param_1[1];\n                  psVar25 = param_1;\n                  if ((*(int *)(sVar18 + 4) == 5) &&\n                     (psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02')) {\n                    (**(code **)(sVar18 + 0x24))(sVar5,0,pvVar30,psVar25);\n                    (**(code **)(param_1[1] + 0x24))(psVar20[7],0,(void *)((int)pvVar30 + 8));\n                    pvVar30 = (void *)((int)pvVar30 + 0x10);\n                  }\n                  else {\n                    (**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25);\n                    (**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4);\n                    pvVar30 = (void *)((int)pvVar30 + 8);\n                  }\n                }" (else "else") (compound_statement "{\n                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar18,sVar18);\n                  cVar8 = '\b';\n                  if (*(int *)(param_1[1] + 4) == 5) {\n                    cVar8 = (*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b';\n                  }\n                  (**(code **)(param_1[1] + 0x30))(cVar8,(int)pvVar44 + 4,sVar23,sVar23);\n                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);\n                  memcpy(__dest,(void *)psVar20[3],sVar23);\n                  sVar18 = param_1[1];\n                  psVar25 = param_1;\n                  if ((*(int *)(sVar18 + 4) == 5) &&\n                     (psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02')) {\n                    (**(code **)(sVar18 + 0x24))(sVar5,0,pvVar30,psVar25);\n                    (**(code **)(param_1[1] + 0x24))(psVar20[7],0,(void *)((int)pvVar30 + 8));\n                    pvVar30 = (void *)((int)pvVar30 + 0x10);\n                  }\n                  else {\n                    (**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25);\n                    (**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4);\n                    pvVar30 = (void *)((int)pvVar30 + 8);\n                  }\n                }" ({ "{") (expression_statement "(**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar18,sVar18);" (call_expression "(**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar18,sVar18)" (parenthesized_expression "(**(code **)(param_1[1] + 0x30))" (( "(") (pointer_expression "**(code **)(param_1[1] + 0x30)" (* "*") (pointer_expression "*(code **)(param_1[1] + 0x30)" (* "*") (cast_expression "(code **)(param_1[1] + 0x30)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1[1] + 0x30)" (( "(") (binary_expression "param_1[1] + 0x30" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "0x30")) () ")"))))) () ")")) (argument_list "(sVar23,pvVar44,sVar18,sVar18)" (( "(") (identifier "sVar23") (, ",") (identifier "pvVar44") (, ",") (identifier "sVar18") (, ",") (identifier "sVar18") () ")"))) (; ";")) (expression_statement "cVar8 = '\b';" (assignment_expression "cVar8 = '\b'" (identifier "cVar8") (= "=") (char_literal "'\b'" (' "'") (escape_sequence "\b") (' "'"))) (; ";")) (if_statement "if (*(int *)(param_1[1] + 4) == 5) {\n                    cVar8 = (*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b';\n                  }" (if "if") (parenthesized_expression "(*(int *)(param_1[1] + 4) == 5)" (( "(") (binary_expression "*(int *)(param_1[1] + 4) == 5" (pointer_expression "*(int *)(param_1[1] + 4)" (* "*") (cast_expression "(int *)(param_1[1] + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[1] + 4)" (( "(") (binary_expression "param_1[1] + 4" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "4")) () ")")))) (== "==") (number_literal "5")) () ")")) (compound_statement "{\n                    cVar8 = (*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b';\n                  }" ({ "{") (expression_statement "cVar8 = (*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b';" (assignment_expression "cVar8 = (*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b'" (identifier "cVar8") (= "=") (binary_expression "(*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b'" (binary_expression "(*(char *)(param_1[0x27] + 4) == '\x02') * '\b'" (parenthesized_expression "(*(char *)(param_1[0x27] + 4) == '\x02')" (( "(") (binary_expression "*(char *)(param_1[0x27] + 4) == '\x02'" (pointer_expression "*(char *)(param_1[0x27] + 4)" (* "*") (cast_expression "(char *)(param_1[0x27] + 4)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[0x27] + 4)" (( "(") (binary_expression "param_1[0x27] + 4" (subscript_expression "param_1[0x27]" (identifier "param_1") ([ "[") (number_literal "0x27") (] "]")) (+ "+") (number_literal "4")) () ")")))) (== "==") (char_literal "'\x02'" (' "'") (escape_sequence "\x02") (' "'"))) () ")")) (* "*") (char_literal "'\b'" (' "'") (escape_sequence "\b") (' "'"))) (+ "+") (char_literal "'\b'" (' "'") (escape_sequence "\b") (' "'")))) (; ";")) (} "}"))) (expression_statement "(**(code **)(param_1[1] + 0x30))(cVar8,(int)pvVar44 + 4,sVar23,sVar23);" (call_expression "(**(code **)(param_1[1] + 0x30))(cVar8,(int)pvVar44 + 4,sVar23,sVar23)" (parenthesized_expression "(**(code **)(param_1[1] + 0x30))" (( "(") (pointer_expression "**(code **)(param_1[1] + 0x30)" (* "*") (pointer_expression "*(code **)(param_1[1] + 0x30)" (* "*") (cast_expression "(code **)(param_1[1] + 0x30)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1[1] + 0x30)" (( "(") (binary_expression "param_1[1] + 0x30" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "0x30")) () ")"))))) () ")")) (argument_list "(cVar8,(int)pvVar44 + 4,sVar23,sVar23)" (( "(") (identifier "cVar8") (, ",") (binary_expression "(int)pvVar44 + 4" (cast_expression "(int)pvVar44" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar44")) (+ "+") (number_literal "4")) (, ",") (identifier "sVar23") (, ",") (identifier "sVar23") () ")"))) (; ";")) (expression_statement "(**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);" (call_expression "(**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8)" (parenthesized_expression "(**(code **)(param_1[1] + 0x30))" (( "(") (pointer_expression "**(code **)(param_1[1] + 0x30)" (* "*") (pointer_expression "*(code **)(param_1[1] + 0x30)" (* "*") (cast_expression "(code **)(param_1[1] + 0x30)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1[1] + 0x30)" (( "(") (binary_expression "param_1[1] + 0x30" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "0x30")) () ")"))))) () ")")) (argument_list "(sVar2,(int)pvVar44 + 8)" (( "(") (identifier "sVar2") (, ",") (binary_expression "(int)pvVar44 + 8" (cast_expression "(int)pvVar44" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar44")) (+ "+") (number_literal "8")) () ")"))) (; ";")) (expression_statement "memcpy(__dest,(void *)psVar20[3],sVar23);" (call_expression "memcpy(__dest,(void *)psVar20[3],sVar23)" (identifier "memcpy") (argument_list "(__dest,(void *)psVar20[3],sVar23)" (( "(") (identifier "__dest") (, ",") (cast_expression "(void *)psVar20[3]" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "psVar20[3]" (identifier "psVar20") ([ "[") (number_literal "3") (] "]"))) (, ",") (identifier "sVar23") () ")"))) (; ";")) (expression_statement "sVar18 = param_1[1];" (assignment_expression "sVar18 = param_1[1]" (identifier "sVar18") (= "=") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "psVar25 = param_1;" (assignment_expression "psVar25 = param_1" (identifier "psVar25") (= "=") (identifier "param_1")) (; ";")) (if_statement "if ((*(int *)(sVar18 + 4) == 5) &&\n                     (psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02')) {\n                    (**(code **)(sVar18 + 0x24))(sVar5,0,pvVar30,psVar25);\n                    (**(code **)(param_1[1] + 0x24))(psVar20[7],0,(void *)((int)pvVar30 + 8));\n                    pvVar30 = (void *)((int)pvVar30 + 0x10);\n                  }\n                  else {\n                    (**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25);\n                    (**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4);\n                    pvVar30 = (void *)((int)pvVar30 + 8);\n                  }" (if "if") (parenthesized_expression "((*(int *)(sVar18 + 4) == 5) &&\n                     (psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02'))" (( "(") (binary_expression "(*(int *)(sVar18 + 4) == 5) &&\n                     (psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02')" (parenthesized_expression "(*(int *)(sVar18 + 4) == 5)" (( "(") (binary_expression "*(int *)(sVar18 + 4) == 5" (pointer_expression "*(int *)(sVar18 + 4)" (* "*") (cast_expression "(int *)(sVar18 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(sVar18 + 4)" (( "(") (binary_expression "sVar18 + 4" (identifier "sVar18") (+ "+") (number_literal "4")) () ")")))) (== "==") (number_literal "5")) () ")")) (&& "&&") (parenthesized_expression "(psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02')" (( "(") (comma_expression "psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02'" (assignment_expression "psVar25 = (size_t *)param_1[0x27]" (identifier "psVar25") (= "=") (cast_expression "(size_t *)param_1[0x27]" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[0x27]" (identifier "param_1") ([ "[") (number_literal "0x27") (] "]")))) (, ",") (binary_expression "(char)psVar25[1] == '\x02'" (cast_expression "(char)psVar25[1]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "psVar25[1]" (identifier "psVar25") ([ "[") (number_literal "1") (] "]"))) (== "==") (char_literal "'\x02'" (' "'") (escape_sequence "\x02") (' "'")))) () ")"))) () ")")) (compound_statement "{\n                    (**(code **)(sVar18 + 0x24))(sVar5,0,pvVar30,psVar25);\n                    (**(code **)(param_1[1] + 0x24))(psVar20[7],0,(void *)((int)pvVar30 + 8));\n                    pvVar30 = (void *)((int)pvVar30 + 0x10);\n                  }" ({ "{") (expression_statement "(**(code **)(sVar18 + 0x24))(sVar5,0,pvVar30,psVar25);" (call_expression "(**(code **)(sVar18 + 0x24))(sVar5,0,pvVar30,psVar25)" (parenthesized_expression "(**(code **)(sVar18 + 0x24))" (( "(") (pointer_expression "**(code **)(sVar18 + 0x24)" (* "*") (pointer_expression "*(code **)(sVar18 + 0x24)" (* "*") (cast_expression "(code **)(sVar18 + 0x24)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(sVar18 + 0x24)" (( "(") (binary_expression "sVar18 + 0x24" (identifier "sVar18") (+ "+") (number_literal "0x24")) () ")"))))) () ")")) (argument_list "(sVar5,0,pvVar30,psVar25)" (( "(") (identifier "sVar5") (, ",") (number_literal "0") (, ",") (identifier "pvVar30") (, ",") (identifier "psVar25") () ")"))) (; ";")) (expression_statement "(**(code **)(param_1[1] + 0x24))(psVar20[7],0,(void *)((int)pvVar30 + 8));" (call_expression "(**(code **)(param_1[1] + 0x24))(psVar20[7],0,(void *)((int)pvVar30 + 8))" (parenthesized_expression "(**(code **)(param_1[1] + 0x24))" (( "(") (pointer_expression "**(code **)(param_1[1] + 0x24)" (* "*") (pointer_expression "*(code **)(param_1[1] + 0x24)" (* "*") (cast_expression "(code **)(param_1[1] + 0x24)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1[1] + 0x24)" (( "(") (binary_expression "param_1[1] + 0x24" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "0x24")) () ")"))))) () ")")) (argument_list "(psVar20[7],0,(void *)((int)pvVar30 + 8))" (( "(") (subscript_expression "psVar20[7]" (identifier "psVar20") ([ "[") (number_literal "7") (] "]")) (, ",") (number_literal "0") (, ",") (cast_expression "(void *)((int)pvVar30 + 8)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pvVar30 + 8)" (( "(") (binary_expression "(int)pvVar30 + 8" (cast_expression "(int)pvVar30" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar30")) (+ "+") (number_literal "8")) () ")"))) () ")"))) (; ";")) (expression_statement "pvVar30 = (void *)((int)pvVar30 + 0x10);" (assignment_expression "pvVar30 = (void *)((int)pvVar30 + 0x10)" (identifier "pvVar30") (= "=") (cast_expression "(void *)((int)pvVar30 + 0x10)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pvVar30 + 0x10)" (( "(") (binary_expression "(int)pvVar30 + 0x10" (cast_expression "(int)pvVar30" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar30")) (+ "+") (number_literal "0x10")) () ")")))) (; ";")) (} "}")) (else_clause "else {\n                    (**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25);\n                    (**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4);\n                    pvVar30 = (void *)((int)pvVar30 + 8);\n                  }" (else "else") (compound_statement "{\n                    (**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25);\n                    (**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4);\n                    pvVar30 = (void *)((int)pvVar30 + 8);\n                  }" ({ "{") (expression_statement "(**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25);" (call_expression "(**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25)" (parenthesized_expression "(**(code **)(sVar18 + 0x30))" (( "(") (pointer_expression "**(code **)(sVar18 + 0x30)" (* "*") (pointer_expression "*(code **)(sVar18 + 0x30)" (* "*") (cast_expression "(code **)(sVar18 + 0x30)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(sVar18 + 0x30)" (( "(") (binary_expression "sVar18 + 0x30" (identifier "sVar18") (+ "+") (number_literal "0x30")) () ")"))))) () ")")) (argument_list "(sVar5,pvVar30,psVar25,psVar25)" (( "(") (identifier "sVar5") (, ",") (identifier "pvVar30") (, ",") (identifier "psVar25") (, ",") (identifier "psVar25") () ")"))) (; ";")) (expression_statement "(**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4);" (call_expression "(**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4)" (parenthesized_expression "(**(code **)(param_1[1] + 0x30))" (( "(") (pointer_expression "**(code **)(param_1[1] + 0x30)" (* "*") (pointer_expression "*(code **)(param_1[1] + 0x30)" (* "*") (cast_expression "(code **)(param_1[1] + 0x30)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1[1] + 0x30)" (( "(") (binary_expression "param_1[1] + 0x30" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "0x30")) () ")"))))) () ")")) (argument_list "(psVar20[7],(int)pvVar30 + 4)" (( "(") (subscript_expression "psVar20[7]" (identifier "psVar20") ([ "[") (number_literal "7") (] "]")) (, ",") (binary_expression "(int)pvVar30 + 4" (cast_expression "(int)pvVar30" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar30")) (+ "+") (number_literal "4")) () ")"))) (; ";")) (expression_statement "pvVar30 = (void *)((int)pvVar30 + 8);" (assignment_expression "pvVar30 = (void *)((int)pvVar30 + 8)" (identifier "pvVar30") (= "=") (cast_expression "(void *)((int)pvVar30 + 8)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pvVar30 + 8)" (( "(") (binary_expression "(int)pvVar30 + 8" (cast_expression "(int)pvVar30" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar30")) (+ "+") (number_literal "8")) () ")")))) (; ";")) (} "}")))) (} "}")))) (} "}")))) (expression_statement "local_74 = psVar20[6];" (assignment_expression "local_74 = psVar20[6]" (identifier "local_74") (= "=") (subscript_expression "psVar20[6]" (identifier "psVar20") ([ "[") (number_literal "6") (] "]"))) (; ";")) (expression_statement "sVar18 = psVar20[7];" (assignment_expression "sVar18 = psVar20[7]" (identifier "sVar18") (= "=") (subscript_expression "psVar20[7]" (identifier "psVar20") ([ "[") (number_literal "7") (] "]"))) (; ";")) (} "}"))) (expression_statement "local_80 = (size_t *)((int)local_80 + __n);" (assignment_expression "local_80 = (size_t *)((int)local_80 + __n)" (identifier "local_80") (= "=") (cast_expression "(size_t *)((int)local_80 + __n)" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_80 + __n)" (( "(") (binary_expression "(int)local_80 + __n" (cast_expression "(int)local_80" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_80")) (+ "+") (identifier "__n")) () ")")))) (; ";")) (expression_statement "pvVar44 = pvVar30;" (assignment_expression "pvVar44 = pvVar30" (identifier "pvVar44") (= "=") (identifier "pvVar30")) (; ";")) (} "}"))) (expression_statement "sVar18 = (int)pvVar44 - (int)pvVar24;" (assignment_expression "sVar18 = (int)pvVar44 - (int)pvVar24" (identifier "sVar18") (= "=") (binary_expression "(int)pvVar44 - (int)pvVar24" (cast_expression "(int)pvVar44" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar44")) (- "-") (cast_expression "(int)pvVar24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar24")))) (; ";")) (expression_statement "memcpy(psVar38,pvVar24,sVar18);" (call_expression "memcpy(psVar38,pvVar24,sVar18)" (identifier "memcpy") (argument_list "(psVar38,pvVar24,sVar18)" (( "(") (identifier "psVar38") (, ",") (identifier "pvVar24") (, ",") (identifier "sVar18") () ")"))) (; ";")) (expression_statement "free(pvVar24);" (call_expression "free(pvVar24)" (identifier "free") (argument_list "(pvVar24)" (( "(") (identifier "pvVar24") () ")"))) (; ";")) (expression_statement "free(local_60);" (call_expression "free(local_60)" (identifier "free") (argument_list "(local_60)" (( "(") (identifier "local_60") () ")"))) (; ";")) (expression_statement "DAT_0003fb7c = sVar18;" (assignment_expression "DAT_0003fb7c = sVar18" (identifier "DAT_0003fb7c") (= "=") (identifier "sVar18")) (; ";")) (if_statement "if (uVar35 != sVar18) {\n            uVar10 = extraout_ECX_02;\n            if ((*(int *)(sVar17 + 0x3c) != 0) &&\n               (iVar9 = bfd_set_section_size(param_2,*(int *)(sVar17 + 0x3c),sVar18,extraout_EDX),\n               uVar10 = extraout_ECX_03, iVar9 != 0)) goto LAB_00018aad;\n            uVar10 = dcgettext(0,"warning: failed to set merged notes size",5,uVar10);\n            FUN_0002c160(0,param_2,sVar17,uVar10);\n          }" (if "if") (parenthesized_expression "(uVar35 != sVar18)" (( "(") (binary_expression "uVar35 != sVar18" (identifier "uVar35") (!= "!=") (identifier "sVar18")) () ")")) (compound_statement "{\n            uVar10 = extraout_ECX_02;\n            if ((*(int *)(sVar17 + 0x3c) != 0) &&\n               (iVar9 = bfd_set_section_size(param_2,*(int *)(sVar17 + 0x3c),sVar18,extraout_EDX),\n               uVar10 = extraout_ECX_03, iVar9 != 0)) goto LAB_00018aad;\n            uVar10 = dcgettext(0,"warning: failed to set merged notes size",5,uVar10);\n            FUN_0002c160(0,param_2,sVar17,uVar10);\n          }" ({ "{") (expression_statement "uVar10 = extraout_ECX_02;" (assignment_expression "uVar10 = extraout_ECX_02" (identifier "uVar10") (= "=") (identifier "extraout_ECX_02")) (; ";")) (if_statement "if ((*(int *)(sVar17 + 0x3c) != 0) &&\n               (iVar9 = bfd_set_section_size(param_2,*(int *)(sVar17 + 0x3c),sVar18,extraout_EDX),\n               uVar10 = extraout_ECX_03, iVar9 != 0)) goto LAB_00018aad;" (if "if") (parenthesized_expression "((*(int *)(sVar17 + 0x3c) != 0) &&\n               (iVar9 = bfd_set_section_size(param_2,*(int *)(sVar17 + 0x3c),sVar18,extraout_EDX),\n               uVar10 = extraout_ECX_03, iVar9 != 0))" (( "(") (binary_expression "(*(int *)(sVar17 + 0x3c) != 0) &&\n               (iVar9 = bfd_set_section_size(param_2,*(int *)(sVar17 + 0x3c),sVar18,extraout_EDX),\n               uVar10 = extraout_ECX_03, iVar9 != 0)" (parenthesized_expression "(*(int *)(sVar17 + 0x3c) != 0)" (( "(") (binary_expression "*(int *)(sVar17 + 0x3c) != 0" (pointer_expression "*(int *)(sVar17 + 0x3c)" (* "*") (cast_expression "(int *)(sVar17 + 0x3c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(sVar17 + 0x3c)" (( "(") (binary_expression "sVar17 + 0x3c" (identifier "sVar17") (+ "+") (number_literal "0x3c")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar9 = bfd_set_section_size(param_2,*(int *)(sVar17 + 0x3c),sVar18,extraout_EDX),\n               uVar10 = extraout_ECX_03, iVar9 != 0)" (( "(") (comma_expression "iVar9 = bfd_set_section_size(param_2,*(int *)(sVar17 + 0x3c),sVar18,extraout_EDX),\n               uVar10 = extraout_ECX_03, iVar9 != 0" (assignment_expression "iVar9 = bfd_set_section_size(param_2,*(int *)(sVar17 + 0x3c),sVar18,extraout_EDX)" (identifier "iVar9") (= "=") (call_expression "bfd_set_section_size(param_2,*(int *)(sVar17 + 0x3c),sVar18,extraout_EDX)" (identifier "bfd_set_section_size") (argument_list "(param_2,*(int *)(sVar17 + 0x3c),sVar18,extraout_EDX)" (( "(") (identifier "param_2") (, ",") (pointer_expression "*(int *)(sVar17 + 0x3c)" (* "*") (cast_expression "(int *)(sVar17 + 0x3c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(sVar17 + 0x3c)" (( "(") (binary_expression "sVar17 + 0x3c" (identifier "sVar17") (+ "+") (number_literal "0x3c")) () ")")))) (, ",") (identifier "sVar18") (, ",") (identifier "extraout_EDX") () ")")))) (, ",") (comma_expression "uVar10 = extraout_ECX_03, iVar9 != 0" (assignment_expression "uVar10 = extraout_ECX_03" (identifier "uVar10") (= "=") (identifier "extraout_ECX_03")) (, ",") (binary_expression "iVar9 != 0" (identifier "iVar9") (!= "!=") (number_literal "0")))) () ")"))) () ")")) (goto_statement "goto LAB_00018aad;" (goto "goto") (statement_identifier "LAB_00018aad") (; ";"))) (expression_statement "uVar10 = dcgettext(0,"warning: failed to set merged notes size",5,uVar10);" (assignment_expression "uVar10 = dcgettext(0,"warning: failed to set merged notes size",5,uVar10)" (identifier "uVar10") (= "=") (call_expression "dcgettext(0,"warning: failed to set merged notes size",5,uVar10)" (identifier "dcgettext") (argument_list "(0,"warning: failed to set merged notes size",5,uVar10)" (( "(") (number_literal "0") (, ",") (string_literal ""warning: failed to set merged notes size"" (" """) (string_content "warning: failed to set merged notes size") (" """)) (, ",") (number_literal "5") (, ",") (identifier "uVar10") () ")")))) (; ";")) (expression_statement "FUN_0002c160(0,param_2,sVar17,uVar10);" (call_expression "FUN_0002c160(0,param_2,sVar17,uVar10)" (identifier "FUN_0002c160") (argument_list "(0,param_2,sVar17,uVar10)" (( "(") (number_literal "0") (, ",") (identifier "param_2") (, ",") (identifier "sVar17") (, ",") (identifier "uVar10") () ")"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n          iVar9 = dcgettext(0,"corrupt GNU build attribute notes: excess data at end",5,local_64);\nLAB_0001a72d:\n          if (iVar9 != 0) {\n            bfd_set_error(0x11);\n            FUN_0002c160(0,param_1,sVar17,iVar9);\n            DAT_0003fb88 = 1;\n          }\nLAB_0001a75c:\n          free(local_60);\n        }" (else "else") (compound_statement "{\n          iVar9 = dcgettext(0,"corrupt GNU build attribute notes: excess data at end",5,local_64);\nLAB_0001a72d:\n          if (iVar9 != 0) {\n            bfd_set_error(0x11);\n            FUN_0002c160(0,param_1,sVar17,iVar9);\n            DAT_0003fb88 = 1;\n          }\nLAB_0001a75c:\n          free(local_60);\n        }" ({ "{") (expression_statement "iVar9 = dcgettext(0,"corrupt GNU build attribute notes: excess data at end",5,local_64);" (assignment_expression "iVar9 = dcgettext(0,"corrupt GNU build attribute notes: excess data at end",5,local_64)" (identifier "iVar9") (= "=") (call_expression "dcgettext(0,"corrupt GNU build attribute notes: excess data at end",5,local_64)" (identifier "dcgettext") (argument_list "(0,"corrupt GNU build attribute notes: excess data at end",5,local_64)" (( "(") (number_literal "0") (, ",") (string_literal ""corrupt GNU build attribute notes: excess data at end"" (" """) (string_content "corrupt GNU build attribute notes: excess data at end") (" """)) (, ",") (number_literal "5") (, ",") (identifier "local_64") () ")")))) (; ";")) (labeled_statement "LAB_0001a72d:\n          if (iVar9 != 0) {\n            bfd_set_error(0x11);\n            FUN_0002c160(0,param_1,sVar17,iVar9);\n            DAT_0003fb88 = 1;\n          }" (statement_identifier "LAB_0001a72d") (: ":") (if_statement "if (iVar9 != 0) {\n            bfd_set_error(0x11);\n            FUN_0002c160(0,param_1,sVar17,iVar9);\n            DAT_0003fb88 = 1;\n          }" (if "if") (parenthesized_expression "(iVar9 != 0)" (( "(") (binary_expression "iVar9 != 0" (identifier "iVar9") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            bfd_set_error(0x11);\n            FUN_0002c160(0,param_1,sVar17,iVar9);\n            DAT_0003fb88 = 1;\n          }" ({ "{") (expression_statement "bfd_set_error(0x11);" (call_expression "bfd_set_error(0x11)" (identifier "bfd_set_error") (argument_list "(0x11)" (( "(") (number_literal "0x11") () ")"))) (; ";")) (expression_statement "FUN_0002c160(0,param_1,sVar17,iVar9);" (call_expression "FUN_0002c160(0,param_1,sVar17,iVar9)" (identifier "FUN_0002c160") (argument_list "(0,param_1,sVar17,iVar9)" (( "(") (number_literal "0") (, ",") (identifier "param_1") (, ",") (identifier "sVar17") (, ",") (identifier "iVar9") () ")"))) (; ";")) (expression_statement "DAT_0003fb88 = 1;" (assignment_expression "DAT_0003fb88 = 1" (identifier "DAT_0003fb88") (= "=") (number_literal "1")) (; ";")) (} "}")))) (labeled_statement "LAB_0001a75c:\n          free(local_60);" (statement_identifier "LAB_0001a75c") (: ":") (expression_statement "free(local_60);" (call_expression "free(local_60)" (identifier "free") (argument_list "(local_60)" (( "(") (identifier "local_60") () ")"))) (; ";"))) (} "}")))) (expression_statement "free(DAT_0003fb80);" (call_expression "free(DAT_0003fb80)" (identifier "free") (argument_list "(DAT_0003fb80)" (( "(") (identifier "DAT_0003fb80") () ")"))) (; ";")) (expression_statement "DAT_0003fb80 = (size_t *)0x0;" (assignment_expression "DAT_0003fb80 = (size_t *)0x0" (identifier "DAT_0003fb80") (= "=") (cast_expression "(size_t *)0x0" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "DAT_0003fb84 = 0;" (assignment_expression "DAT_0003fb84 = 0" (identifier "DAT_0003fb84") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_0003fb7c = 0;" (assignment_expression "DAT_0003fb7c = 0" (identifier "DAT_0003fb7c") (= "=") (number_literal "0")) (; ";")) (} "}")))) (} "}")))) (} "}"))) (labeled_statement "LAB_00018aad:\n  local_98 = DAT_0003fb2c;" (statement_identifier "LAB_00018aad") (: ":") (expression_statement "local_98 = DAT_0003fb2c;" (assignment_expression "local_98 = DAT_0003fb2c" (identifier "local_98") (= "=") (identifier "DAT_0003fb2c")) (; ";"))) (for_statement "for (puVar33 = DAT_0003fb30; DAT_0003fb2c = local_98, puVar33 != (undefined4 *)0x0;\n      puVar33 = (undefined4 *)*puVar33) {\n    iVar9 = bfd_get_section_by_name(param_1,puVar33[1]);\n    if (iVar9 == 0) {\n      uVar10 = puVar33[1];\n      uVar11 = dcgettext(0,"can\'t dump section \'%s\' - it does not exist",5);\n      FUN_0002c160(0,param_1,0,uVar11,uVar10);\n    }\n    else {\n      if ((*(byte *)(iVar9 + 0x15) & 1) == 0) {\n        pcVar22 = "can\'t dump section - it has no contents";\n      }\n      else {\n        sVar17 = *(size_t *)(iVar9 + 0x24);\n        if (sVar17 != 0) {\n          __s = fopen64((char *)puVar33[2],"w");\n          if (__s == (FILE *)0x0) {\n            uVar10 = dcgettext(0,"could not open section dump file",5);\n            FUN_0002c160(puVar33[2],0,0,uVar10);\n          }\n          else {\n            iVar12 = bfd_malloc_and_get_section(param_1,iVar9,&local_30);\n            if (iVar12 == 0) {\n              uVar10 = dcgettext(0,"could not retrieve section contents",5);\n              FUN_0002c160(0,param_1,iVar9,uVar10);\n            }\n            else {\n              sVar18 = fwrite(local_30,1,sVar17,__s);\n              if (sVar17 != sVar18) {\n                piVar15 = __errno_location();\n                pcVar22 = strerror(*piVar15);\n                uVar10 = puVar33[2];\n                uVar11 = dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                FUN_0002b6d0(uVar11,uVar10,pcVar22);\n                free(local_30);\n                return 0;\n              }\n            }\n            fclose(__s);\n            free(local_30);\n          }\n          goto LAB_00018b49;\n        }\n        pcVar22 = "can\'t dump section - it is empty";\n      }\n      uVar10 = dcgettext(0,pcVar22,5);\n      FUN_0002c160(0,param_1,iVar9,uVar10);\n    }\nLAB_00018b49:\n    local_98 = DAT_0003fb2c;\n  }" (for "for") (( "(") (assignment_expression "puVar33 = DAT_0003fb30" (identifier "puVar33") (= "=") (identifier "DAT_0003fb30")) (; ";") (comma_expression "DAT_0003fb2c = local_98, puVar33 != (undefined4 *)0x0" (assignment_expression "DAT_0003fb2c = local_98" (identifier "DAT_0003fb2c") (= "=") (identifier "local_98")) (, ",") (binary_expression "puVar33 != (undefined4 *)0x0" (identifier "puVar33") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) (; ";") (assignment_expression "puVar33 = (undefined4 *)*puVar33" (identifier "puVar33") (= "=") (cast_expression "(undefined4 *)*puVar33" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar33" (* "*") (identifier "puVar33")))) () ")") (compound_statement "{\n    iVar9 = bfd_get_section_by_name(param_1,puVar33[1]);\n    if (iVar9 == 0) {\n      uVar10 = puVar33[1];\n      uVar11 = dcgettext(0,"can\'t dump section \'%s\' - it does not exist",5);\n      FUN_0002c160(0,param_1,0,uVar11,uVar10);\n    }\n    else {\n      if ((*(byte *)(iVar9 + 0x15) & 1) == 0) {\n        pcVar22 = "can\'t dump section - it has no contents";\n      }\n      else {\n        sVar17 = *(size_t *)(iVar9 + 0x24);\n        if (sVar17 != 0) {\n          __s = fopen64((char *)puVar33[2],"w");\n          if (__s == (FILE *)0x0) {\n            uVar10 = dcgettext(0,"could not open section dump file",5);\n            FUN_0002c160(puVar33[2],0,0,uVar10);\n          }\n          else {\n            iVar12 = bfd_malloc_and_get_section(param_1,iVar9,&local_30);\n            if (iVar12 == 0) {\n              uVar10 = dcgettext(0,"could not retrieve section contents",5);\n              FUN_0002c160(0,param_1,iVar9,uVar10);\n            }\n            else {\n              sVar18 = fwrite(local_30,1,sVar17,__s);\n              if (sVar17 != sVar18) {\n                piVar15 = __errno_location();\n                pcVar22 = strerror(*piVar15);\n                uVar10 = puVar33[2];\n                uVar11 = dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                FUN_0002b6d0(uVar11,uVar10,pcVar22);\n                free(local_30);\n                return 0;\n              }\n            }\n            fclose(__s);\n            free(local_30);\n          }\n          goto LAB_00018b49;\n        }\n        pcVar22 = "can\'t dump section - it is empty";\n      }\n      uVar10 = dcgettext(0,pcVar22,5);\n      FUN_0002c160(0,param_1,iVar9,uVar10);\n    }\nLAB_00018b49:\n    local_98 = DAT_0003fb2c;\n  }" ({ "{") (expression_statement "iVar9 = bfd_get_section_by_name(param_1,puVar33[1]);" (assignment_expression "iVar9 = bfd_get_section_by_name(param_1,puVar33[1])" (identifier "iVar9") (= "=") (call_expression "bfd_get_section_by_name(param_1,puVar33[1])" (identifier "bfd_get_section_by_name") (argument_list "(param_1,puVar33[1])" (( "(") (identifier "param_1") (, ",") (subscript_expression "puVar33[1]" (identifier "puVar33") ([ "[") (number_literal "1") (] "]")) () ")")))) (; ";")) (if_statement "if (iVar9 == 0) {\n      uVar10 = puVar33[1];\n      uVar11 = dcgettext(0,"can\'t dump section \'%s\' - it does not exist",5);\n      FUN_0002c160(0,param_1,0,uVar11,uVar10);\n    }\n    else {\n      if ((*(byte *)(iVar9 + 0x15) & 1) == 0) {\n        pcVar22 = "can\'t dump section - it has no contents";\n      }\n      else {\n        sVar17 = *(size_t *)(iVar9 + 0x24);\n        if (sVar17 != 0) {\n          __s = fopen64((char *)puVar33[2],"w");\n          if (__s == (FILE *)0x0) {\n            uVar10 = dcgettext(0,"could not open section dump file",5);\n            FUN_0002c160(puVar33[2],0,0,uVar10);\n          }\n          else {\n            iVar12 = bfd_malloc_and_get_section(param_1,iVar9,&local_30);\n            if (iVar12 == 0) {\n              uVar10 = dcgettext(0,"could not retrieve section contents",5);\n              FUN_0002c160(0,param_1,iVar9,uVar10);\n            }\n            else {\n              sVar18 = fwrite(local_30,1,sVar17,__s);\n              if (sVar17 != sVar18) {\n                piVar15 = __errno_location();\n                pcVar22 = strerror(*piVar15);\n                uVar10 = puVar33[2];\n                uVar11 = dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                FUN_0002b6d0(uVar11,uVar10,pcVar22);\n                free(local_30);\n                return 0;\n              }\n            }\n            fclose(__s);\n            free(local_30);\n          }\n          goto LAB_00018b49;\n        }\n        pcVar22 = "can\'t dump section - it is empty";\n      }\n      uVar10 = dcgettext(0,pcVar22,5);\n      FUN_0002c160(0,param_1,iVar9,uVar10);\n    }" (if "if") (parenthesized_expression "(iVar9 == 0)" (( "(") (binary_expression "iVar9 == 0" (identifier "iVar9") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      uVar10 = puVar33[1];\n      uVar11 = dcgettext(0,"can\'t dump section \'%s\' - it does not exist",5);\n      FUN_0002c160(0,param_1,0,uVar11,uVar10);\n    }" ({ "{") (expression_statement "uVar10 = puVar33[1];" (assignment_expression "uVar10 = puVar33[1]" (identifier "uVar10") (= "=") (subscript_expression "puVar33[1]" (identifier "puVar33") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "uVar11 = dcgettext(0,"can\'t dump section \'%s\' - it does not exist",5);" (assignment_expression "uVar11 = dcgettext(0,"can\'t dump section \'%s\' - it does not exist",5)" (identifier "uVar11") (= "=") (call_expression "dcgettext(0,"can\'t dump section \'%s\' - it does not exist",5)" (identifier "dcgettext") (argument_list "(0,"can\'t dump section \'%s\' - it does not exist",5)" (( "(") (number_literal "0") (, ",") (string_literal ""can\'t dump section \'%s\' - it does not exist"" (" """) (string_content "can") (escape_sequence "\'") (string_content "t dump section ") (escape_sequence "\'") (string_content "%s") (escape_sequence "\'") (string_content " - it does not exist") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0002c160(0,param_1,0,uVar11,uVar10);" (call_expression "FUN_0002c160(0,param_1,0,uVar11,uVar10)" (identifier "FUN_0002c160") (argument_list "(0,param_1,0,uVar11,uVar10)" (( "(") (number_literal "0") (, ",") (identifier "param_1") (, ",") (number_literal "0") (, ",") (identifier "uVar11") (, ",") (identifier "uVar10") () ")"))) (; ";")) (} "}")) (else_clause "else {\n      if ((*(byte *)(iVar9 + 0x15) & 1) == 0) {\n        pcVar22 = "can\'t dump section - it has no contents";\n      }\n      else {\n        sVar17 = *(size_t *)(iVar9 + 0x24);\n        if (sVar17 != 0) {\n          __s = fopen64((char *)puVar33[2],"w");\n          if (__s == (FILE *)0x0) {\n            uVar10 = dcgettext(0,"could not open section dump file",5);\n            FUN_0002c160(puVar33[2],0,0,uVar10);\n          }\n          else {\n            iVar12 = bfd_malloc_and_get_section(param_1,iVar9,&local_30);\n            if (iVar12 == 0) {\n              uVar10 = dcgettext(0,"could not retrieve section contents",5);\n              FUN_0002c160(0,param_1,iVar9,uVar10);\n            }\n            else {\n              sVar18 = fwrite(local_30,1,sVar17,__s);\n              if (sVar17 != sVar18) {\n                piVar15 = __errno_location();\n                pcVar22 = strerror(*piVar15);\n                uVar10 = puVar33[2];\n                uVar11 = dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                FUN_0002b6d0(uVar11,uVar10,pcVar22);\n                free(local_30);\n                return 0;\n              }\n            }\n            fclose(__s);\n            free(local_30);\n          }\n          goto LAB_00018b49;\n        }\n        pcVar22 = "can\'t dump section - it is empty";\n      }\n      uVar10 = dcgettext(0,pcVar22,5);\n      FUN_0002c160(0,param_1,iVar9,uVar10);\n    }" (else "else") (compound_statement "{\n      if ((*(byte *)(iVar9 + 0x15) & 1) == 0) {\n        pcVar22 = "can\'t dump section - it has no contents";\n      }\n      else {\n        sVar17 = *(size_t *)(iVar9 + 0x24);\n        if (sVar17 != 0) {\n          __s = fopen64((char *)puVar33[2],"w");\n          if (__s == (FILE *)0x0) {\n            uVar10 = dcgettext(0,"could not open section dump file",5);\n            FUN_0002c160(puVar33[2],0,0,uVar10);\n          }\n          else {\n            iVar12 = bfd_malloc_and_get_section(param_1,iVar9,&local_30);\n            if (iVar12 == 0) {\n              uVar10 = dcgettext(0,"could not retrieve section contents",5);\n              FUN_0002c160(0,param_1,iVar9,uVar10);\n            }\n            else {\n              sVar18 = fwrite(local_30,1,sVar17,__s);\n              if (sVar17 != sVar18) {\n                piVar15 = __errno_location();\n                pcVar22 = strerror(*piVar15);\n                uVar10 = puVar33[2];\n                uVar11 = dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                FUN_0002b6d0(uVar11,uVar10,pcVar22);\n                free(local_30);\n                return 0;\n              }\n            }\n            fclose(__s);\n            free(local_30);\n          }\n          goto LAB_00018b49;\n        }\n        pcVar22 = "can\'t dump section - it is empty";\n      }\n      uVar10 = dcgettext(0,pcVar22,5);\n      FUN_0002c160(0,param_1,iVar9,uVar10);\n    }" ({ "{") (if_statement "if ((*(byte *)(iVar9 + 0x15) & 1) == 0) {\n        pcVar22 = "can\'t dump section - it has no contents";\n      }\n      else {\n        sVar17 = *(size_t *)(iVar9 + 0x24);\n        if (sVar17 != 0) {\n          __s = fopen64((char *)puVar33[2],"w");\n          if (__s == (FILE *)0x0) {\n            uVar10 = dcgettext(0,"could not open section dump file",5);\n            FUN_0002c160(puVar33[2],0,0,uVar10);\n          }\n          else {\n            iVar12 = bfd_malloc_and_get_section(param_1,iVar9,&local_30);\n            if (iVar12 == 0) {\n              uVar10 = dcgettext(0,"could not retrieve section contents",5);\n              FUN_0002c160(0,param_1,iVar9,uVar10);\n            }\n            else {\n              sVar18 = fwrite(local_30,1,sVar17,__s);\n              if (sVar17 != sVar18) {\n                piVar15 = __errno_location();\n                pcVar22 = strerror(*piVar15);\n                uVar10 = puVar33[2];\n                uVar11 = dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                FUN_0002b6d0(uVar11,uVar10,pcVar22);\n                free(local_30);\n                return 0;\n              }\n            }\n            fclose(__s);\n            free(local_30);\n          }\n          goto LAB_00018b49;\n        }\n        pcVar22 = "can\'t dump section - it is empty";\n      }" (if "if") (parenthesized_expression "((*(byte *)(iVar9 + 0x15) & 1) == 0)" (( "(") (binary_expression "(*(byte *)(iVar9 + 0x15) & 1) == 0" (parenthesized_expression "(*(byte *)(iVar9 + 0x15) & 1)" (( "(") (binary_expression "*(byte *)(iVar9 + 0x15) & 1" (pointer_expression "*(byte *)(iVar9 + 0x15)" (* "*") (cast_expression "(byte *)(iVar9 + 0x15)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x15)" (( "(") (binary_expression "iVar9 + 0x15" (identifier "iVar9") (+ "+") (number_literal "0x15")) () ")")))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        pcVar22 = "can\'t dump section - it has no contents";\n      }" ({ "{") (expression_statement "pcVar22 = "can\'t dump section - it has no contents";" (assignment_expression "pcVar22 = "can\'t dump section - it has no contents"" (identifier "pcVar22") (= "=") (string_literal ""can\'t dump section - it has no contents"" (" """) (string_content "can") (escape_sequence "\'") (string_content "t dump section - it has no contents") (" """))) (; ";")) (} "}")) (else_clause "else {\n        sVar17 = *(size_t *)(iVar9 + 0x24);\n        if (sVar17 != 0) {\n          __s = fopen64((char *)puVar33[2],"w");\n          if (__s == (FILE *)0x0) {\n            uVar10 = dcgettext(0,"could not open section dump file",5);\n            FUN_0002c160(puVar33[2],0,0,uVar10);\n          }\n          else {\n            iVar12 = bfd_malloc_and_get_section(param_1,iVar9,&local_30);\n            if (iVar12 == 0) {\n              uVar10 = dcgettext(0,"could not retrieve section contents",5);\n              FUN_0002c160(0,param_1,iVar9,uVar10);\n            }\n            else {\n              sVar18 = fwrite(local_30,1,sVar17,__s);\n              if (sVar17 != sVar18) {\n                piVar15 = __errno_location();\n                pcVar22 = strerror(*piVar15);\n                uVar10 = puVar33[2];\n                uVar11 = dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                FUN_0002b6d0(uVar11,uVar10,pcVar22);\n                free(local_30);\n                return 0;\n              }\n            }\n            fclose(__s);\n            free(local_30);\n          }\n          goto LAB_00018b49;\n        }\n        pcVar22 = "can\'t dump section - it is empty";\n      }" (else "else") (compound_statement "{\n        sVar17 = *(size_t *)(iVar9 + 0x24);\n        if (sVar17 != 0) {\n          __s = fopen64((char *)puVar33[2],"w");\n          if (__s == (FILE *)0x0) {\n            uVar10 = dcgettext(0,"could not open section dump file",5);\n            FUN_0002c160(puVar33[2],0,0,uVar10);\n          }\n          else {\n            iVar12 = bfd_malloc_and_get_section(param_1,iVar9,&local_30);\n            if (iVar12 == 0) {\n              uVar10 = dcgettext(0,"could not retrieve section contents",5);\n              FUN_0002c160(0,param_1,iVar9,uVar10);\n            }\n            else {\n              sVar18 = fwrite(local_30,1,sVar17,__s);\n              if (sVar17 != sVar18) {\n                piVar15 = __errno_location();\n                pcVar22 = strerror(*piVar15);\n                uVar10 = puVar33[2];\n                uVar11 = dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                FUN_0002b6d0(uVar11,uVar10,pcVar22);\n                free(local_30);\n                return 0;\n              }\n            }\n            fclose(__s);\n            free(local_30);\n          }\n          goto LAB_00018b49;\n        }\n        pcVar22 = "can\'t dump section - it is empty";\n      }" ({ "{") (expression_statement "sVar17 = *(size_t *)(iVar9 + 0x24);" (assignment_expression "sVar17 = *(size_t *)(iVar9 + 0x24)" (identifier "sVar17") (= "=") (pointer_expression "*(size_t *)(iVar9 + 0x24)" (* "*") (cast_expression "(size_t *)(iVar9 + 0x24)" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x24)" (( "(") (binary_expression "iVar9 + 0x24" (identifier "iVar9") (+ "+") (number_literal "0x24")) () ")"))))) (; ";")) (if_statement "if (sVar17 != 0) {\n          __s = fopen64((char *)puVar33[2],"w");\n          if (__s == (FILE *)0x0) {\n            uVar10 = dcgettext(0,"could not open section dump file",5);\n            FUN_0002c160(puVar33[2],0,0,uVar10);\n          }\n          else {\n            iVar12 = bfd_malloc_and_get_section(param_1,iVar9,&local_30);\n            if (iVar12 == 0) {\n              uVar10 = dcgettext(0,"could not retrieve section contents",5);\n              FUN_0002c160(0,param_1,iVar9,uVar10);\n            }\n            else {\n              sVar18 = fwrite(local_30,1,sVar17,__s);\n              if (sVar17 != sVar18) {\n                piVar15 = __errno_location();\n                pcVar22 = strerror(*piVar15);\n                uVar10 = puVar33[2];\n                uVar11 = dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                FUN_0002b6d0(uVar11,uVar10,pcVar22);\n                free(local_30);\n                return 0;\n              }\n            }\n            fclose(__s);\n            free(local_30);\n          }\n          goto LAB_00018b49;\n        }" (if "if") (parenthesized_expression "(sVar17 != 0)" (( "(") (binary_expression "sVar17 != 0" (identifier "sVar17") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          __s = fopen64((char *)puVar33[2],"w");\n          if (__s == (FILE *)0x0) {\n            uVar10 = dcgettext(0,"could not open section dump file",5);\n            FUN_0002c160(puVar33[2],0,0,uVar10);\n          }\n          else {\n            iVar12 = bfd_malloc_and_get_section(param_1,iVar9,&local_30);\n            if (iVar12 == 0) {\n              uVar10 = dcgettext(0,"could not retrieve section contents",5);\n              FUN_0002c160(0,param_1,iVar9,uVar10);\n            }\n            else {\n              sVar18 = fwrite(local_30,1,sVar17,__s);\n              if (sVar17 != sVar18) {\n                piVar15 = __errno_location();\n                pcVar22 = strerror(*piVar15);\n                uVar10 = puVar33[2];\n                uVar11 = dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                FUN_0002b6d0(uVar11,uVar10,pcVar22);\n                free(local_30);\n                return 0;\n              }\n            }\n            fclose(__s);\n            free(local_30);\n          }\n          goto LAB_00018b49;\n        }" ({ "{") (expression_statement "__s = fopen64((char *)puVar33[2],"w");" (assignment_expression "__s = fopen64((char *)puVar33[2],"w")" (identifier "__s") (= "=") (call_expression "fopen64((char *)puVar33[2],"w")" (identifier "fopen64") (argument_list "((char *)puVar33[2],"w")" (( "(") (cast_expression "(char *)puVar33[2]" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar33[2]" (identifier "puVar33") ([ "[") (number_literal "2") (] "]"))) (, ",") (string_literal ""w"" (" """) (string_content "w") (" """)) () ")")))) (; ";")) (if_statement "if (__s == (FILE *)0x0) {\n            uVar10 = dcgettext(0,"could not open section dump file",5);\n            FUN_0002c160(puVar33[2],0,0,uVar10);\n          }\n          else {\n            iVar12 = bfd_malloc_and_get_section(param_1,iVar9,&local_30);\n            if (iVar12 == 0) {\n              uVar10 = dcgettext(0,"could not retrieve section contents",5);\n              FUN_0002c160(0,param_1,iVar9,uVar10);\n            }\n            else {\n              sVar18 = fwrite(local_30,1,sVar17,__s);\n              if (sVar17 != sVar18) {\n                piVar15 = __errno_location();\n                pcVar22 = strerror(*piVar15);\n                uVar10 = puVar33[2];\n                uVar11 = dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                FUN_0002b6d0(uVar11,uVar10,pcVar22);\n                free(local_30);\n                return 0;\n              }\n            }\n            fclose(__s);\n            free(local_30);\n          }" (if "if") (parenthesized_expression "(__s == (FILE *)0x0)" (( "(") (binary_expression "__s == (FILE *)0x0" (identifier "__s") (== "==") (cast_expression "(FILE *)0x0" (( "(") (type_descriptor "FILE *" (type_identifier "FILE") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            uVar10 = dcgettext(0,"could not open section dump file",5);\n            FUN_0002c160(puVar33[2],0,0,uVar10);\n          }" ({ "{") (expression_statement "uVar10 = dcgettext(0,"could not open section dump file",5);" (assignment_expression "uVar10 = dcgettext(0,"could not open section dump file",5)" (identifier "uVar10") (= "=") (call_expression "dcgettext(0,"could not open section dump file",5)" (identifier "dcgettext") (argument_list "(0,"could not open section dump file",5)" (( "(") (number_literal "0") (, ",") (string_literal ""could not open section dump file"" (" """) (string_content "could not open section dump file") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0002c160(puVar33[2],0,0,uVar10);" (call_expression "FUN_0002c160(puVar33[2],0,0,uVar10)" (identifier "FUN_0002c160") (argument_list "(puVar33[2],0,0,uVar10)" (( "(") (subscript_expression "puVar33[2]" (identifier "puVar33") ([ "[") (number_literal "2") (] "]")) (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (identifier "uVar10") () ")"))) (; ";")) (} "}")) (else_clause "else {\n            iVar12 = bfd_malloc_and_get_section(param_1,iVar9,&local_30);\n            if (iVar12 == 0) {\n              uVar10 = dcgettext(0,"could not retrieve section contents",5);\n              FUN_0002c160(0,param_1,iVar9,uVar10);\n            }\n            else {\n              sVar18 = fwrite(local_30,1,sVar17,__s);\n              if (sVar17 != sVar18) {\n                piVar15 = __errno_location();\n                pcVar22 = strerror(*piVar15);\n                uVar10 = puVar33[2];\n                uVar11 = dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                FUN_0002b6d0(uVar11,uVar10,pcVar22);\n                free(local_30);\n                return 0;\n              }\n            }\n            fclose(__s);\n            free(local_30);\n          }" (else "else") (compound_statement "{\n            iVar12 = bfd_malloc_and_get_section(param_1,iVar9,&local_30);\n            if (iVar12 == 0) {\n              uVar10 = dcgettext(0,"could not retrieve section contents",5);\n              FUN_0002c160(0,param_1,iVar9,uVar10);\n            }\n            else {\n              sVar18 = fwrite(local_30,1,sVar17,__s);\n              if (sVar17 != sVar18) {\n                piVar15 = __errno_location();\n                pcVar22 = strerror(*piVar15);\n                uVar10 = puVar33[2];\n                uVar11 = dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                FUN_0002b6d0(uVar11,uVar10,pcVar22);\n                free(local_30);\n                return 0;\n              }\n            }\n            fclose(__s);\n            free(local_30);\n          }" ({ "{") (expression_statement "iVar12 = bfd_malloc_and_get_section(param_1,iVar9,&local_30);" (assignment_expression "iVar12 = bfd_malloc_and_get_section(param_1,iVar9,&local_30)" (identifier "iVar12") (= "=") (call_expression "bfd_malloc_and_get_section(param_1,iVar9,&local_30)" (identifier "bfd_malloc_and_get_section") (argument_list "(param_1,iVar9,&local_30)" (( "(") (identifier "param_1") (, ",") (identifier "iVar9") (, ",") (pointer_expression "&local_30" (& "&") (identifier "local_30")) () ")")))) (; ";")) (if_statement "if (iVar12 == 0) {\n              uVar10 = dcgettext(0,"could not retrieve section contents",5);\n              FUN_0002c160(0,param_1,iVar9,uVar10);\n            }\n            else {\n              sVar18 = fwrite(local_30,1,sVar17,__s);\n              if (sVar17 != sVar18) {\n                piVar15 = __errno_location();\n                pcVar22 = strerror(*piVar15);\n                uVar10 = puVar33[2];\n                uVar11 = dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                FUN_0002b6d0(uVar11,uVar10,pcVar22);\n                free(local_30);\n                return 0;\n              }\n            }" (if "if") (parenthesized_expression "(iVar12 == 0)" (( "(") (binary_expression "iVar12 == 0" (identifier "iVar12") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              uVar10 = dcgettext(0,"could not retrieve section contents",5);\n              FUN_0002c160(0,param_1,iVar9,uVar10);\n            }" ({ "{") (expression_statement "uVar10 = dcgettext(0,"could not retrieve section contents",5);" (assignment_expression "uVar10 = dcgettext(0,"could not retrieve section contents",5)" (identifier "uVar10") (= "=") (call_expression "dcgettext(0,"could not retrieve section contents",5)" (identifier "dcgettext") (argument_list "(0,"could not retrieve section contents",5)" (( "(") (number_literal "0") (, ",") (string_literal ""could not retrieve section contents"" (" """) (string_content "could not retrieve section contents") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0002c160(0,param_1,iVar9,uVar10);" (call_expression "FUN_0002c160(0,param_1,iVar9,uVar10)" (identifier "FUN_0002c160") (argument_list "(0,param_1,iVar9,uVar10)" (( "(") (number_literal "0") (, ",") (identifier "param_1") (, ",") (identifier "iVar9") (, ",") (identifier "uVar10") () ")"))) (; ";")) (} "}")) (else_clause "else {\n              sVar18 = fwrite(local_30,1,sVar17,__s);\n              if (sVar17 != sVar18) {\n                piVar15 = __errno_location();\n                pcVar22 = strerror(*piVar15);\n                uVar10 = puVar33[2];\n                uVar11 = dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                FUN_0002b6d0(uVar11,uVar10,pcVar22);\n                free(local_30);\n                return 0;\n              }\n            }" (else "else") (compound_statement "{\n              sVar18 = fwrite(local_30,1,sVar17,__s);\n              if (sVar17 != sVar18) {\n                piVar15 = __errno_location();\n                pcVar22 = strerror(*piVar15);\n                uVar10 = puVar33[2];\n                uVar11 = dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                FUN_0002b6d0(uVar11,uVar10,pcVar22);\n                free(local_30);\n                return 0;\n              }\n            }" ({ "{") (expression_statement "sVar18 = fwrite(local_30,1,sVar17,__s);" (assignment_expression "sVar18 = fwrite(local_30,1,sVar17,__s)" (identifier "sVar18") (= "=") (call_expression "fwrite(local_30,1,sVar17,__s)" (identifier "fwrite") (argument_list "(local_30,1,sVar17,__s)" (( "(") (identifier "local_30") (, ",") (number_literal "1") (, ",") (identifier "sVar17") (, ",") (identifier "__s") () ")")))) (; ";")) (if_statement "if (sVar17 != sVar18) {\n                piVar15 = __errno_location();\n                pcVar22 = strerror(*piVar15);\n                uVar10 = puVar33[2];\n                uVar11 = dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                FUN_0002b6d0(uVar11,uVar10,pcVar22);\n                free(local_30);\n                return 0;\n              }" (if "if") (parenthesized_expression "(sVar17 != sVar18)" (( "(") (binary_expression "sVar17 != sVar18" (identifier "sVar17") (!= "!=") (identifier "sVar18")) () ")")) (compound_statement "{\n                piVar15 = __errno_location();\n                pcVar22 = strerror(*piVar15);\n                uVar10 = puVar33[2];\n                uVar11 = dcgettext(0,"error writing section contents to %s (error: %s)",5);\n                FUN_0002b6d0(uVar11,uVar10,pcVar22);\n                free(local_30);\n                return 0;\n              }" ({ "{") (expression_statement "piVar15 = __errno_location();" (assignment_expression "piVar15 = __errno_location()" (identifier "piVar15") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "pcVar22 = strerror(*piVar15);" (assignment_expression "pcVar22 = strerror(*piVar15)" (identifier "pcVar22") (= "=") (call_expression "strerror(*piVar15)" (identifier "strerror") (argument_list "(*piVar15)" (( "(") (pointer_expression "*piVar15" (* "*") (identifier "piVar15")) () ")")))) (; ";")) (expression_statement "uVar10 = puVar33[2];" (assignment_expression "uVar10 = puVar33[2]" (identifier "uVar10") (= "=") (subscript_expression "puVar33[2]" (identifier "puVar33") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "uVar11 = dcgettext(0,"error writing section contents to %s (error: %s)",5);" (assignment_expression "uVar11 = dcgettext(0,"error writing section contents to %s (error: %s)",5)" (identifier "uVar11") (= "=") (call_expression "dcgettext(0,"error writing section contents to %s (error: %s)",5)" (identifier "dcgettext") (argument_list "(0,"error writing section contents to %s (error: %s)",5)" (( "(") (number_literal "0") (, ",") (string_literal ""error writing section contents to %s (error: %s)"" (" """) (string_content "error writing section contents to %s (error: %s)") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0002b6d0(uVar11,uVar10,pcVar22);" (call_expression "FUN_0002b6d0(uVar11,uVar10,pcVar22)" (identifier "FUN_0002b6d0") (argument_list "(uVar11,uVar10,pcVar22)" (( "(") (identifier "uVar11") (, ",") (identifier "uVar10") (, ",") (identifier "pcVar22") () ")"))) (; ";")) (expression_statement "free(local_30);" (call_expression "free(local_30)" (identifier "free") (argument_list "(local_30)" (( "(") (identifier "local_30") () ")"))) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (} "}")))) (expression_statement "fclose(__s);" (call_expression "fclose(__s)" (identifier "fclose") (argument_list "(__s)" (( "(") (identifier "__s") () ")"))) (; ";")) (expression_statement "free(local_30);" (call_expression "free(local_30)" (identifier "free") (argument_list "(local_30)" (( "(") (identifier "local_30") () ")"))) (; ";")) (} "}")))) (goto_statement "goto LAB_00018b49;" (goto "goto") (statement_identifier "LAB_00018b49") (; ";")) (} "}"))) (expression_statement "pcVar22 = "can\'t dump section - it is empty";" (assignment_expression "pcVar22 = "can\'t dump section - it is empty"" (identifier "pcVar22") (= "=") (string_literal ""can\'t dump section - it is empty"" (" """) (string_content "can") (escape_sequence "\'") (string_content "t dump section - it is empty") (" """))) (; ";")) (} "}")))) (expression_statement "uVar10 = dcgettext(0,pcVar22,5);" (assignment_expression "uVar10 = dcgettext(0,pcVar22,5)" (identifier "uVar10") (= "=") (call_expression "dcgettext(0,pcVar22,5)" (identifier "dcgettext") (argument_list "(0,pcVar22,5)" (( "(") (number_literal "0") (, ",") (identifier "pcVar22") (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0002c160(0,param_1,iVar9,uVar10);" (call_expression "FUN_0002c160(0,param_1,iVar9,uVar10)" (identifier "FUN_0002c160") (argument_list "(0,param_1,iVar9,uVar10)" (( "(") (number_literal "0") (, ",") (identifier "param_1") (, ",") (identifier "iVar9") (, ",") (identifier "uVar10") () ")"))) (; ";")) (} "}")))) (labeled_statement "LAB_00018b49:\n    local_98 = DAT_0003fb2c;" (statement_identifier "LAB_00018b49") (: ":") (expression_statement "local_98 = DAT_0003fb2c;" (assignment_expression "local_98 = DAT_0003fb2c" (identifier "local_98") (= "=") (identifier "DAT_0003fb2c")) (; ";"))) (} "}"))) (if_statement "if (local_98 != 0) {\n    iVar9 = bfd_get_section_by_name(param_2,".gnu_debuglink");\n    if (iVar9 == 0) {\n      local_98 = bfd_create_gnu_debuglink_section(param_2,DAT_0003fb2c);\n      iVar9 = DAT_0003fb2c;\n      if (local_98 == 0) {\n        uVar10 = dcgettext(0,"cannot create debug link section `%s\'",5,param_2);\n        FUN_0002c160(0,param_2,0,uVar10,iVar9);\n        return 0;\n      }\n      if (*(int *)(param_2[1] + 4) == 2) {\n        sVar17 = param_2[0x18];\n        sVar18 = 0;\n        if (sVar17 == 0) {\nLAB_0001a360:\n          uVar26 = 0x1000;\n        }\n        else {\n          do {\n            sVar23 = sVar18;\n            if (((*(uint *)(sVar17 + 0x1c) != 0) && (sVar23 = sVar17, sVar18 != 0)) &&\n               (sVar23 = sVar18, *(uint *)(sVar18 + 0x1c) < *(uint *)(sVar17 + 0x1c))) {\n              sVar23 = sVar17;\n            }\n            sVar17 = *(size_t *)(sVar17 + 0xc);\n            sVar18 = sVar23;\n          } while (sVar17 != 0);\n          if (sVar23 == 0) goto LAB_0001a360;\n          uVar35 = *(int *)(sVar23 + 0x24) + *(int *)(sVar23 + 0x1c);\n          uVar26 = 0xffffffff;\n          if (uVar35 < 0xfffff001) {\n            uVar26 = uVar35 + 0xfff & 0xfffff000;\n          }\n        }\n        *(uint *)(local_98 + 0x20) = uVar26;\n        *(uint *)(local_98 + 0x1c) = uVar26;\n        *(byte *)(local_98 + 0x18) = *(byte *)(local_98 + 0x18) | 1;\n      }\n    }\n    else {\n      sVar17 = *param_2;\n      uVar10 = dcgettext(0,"%s: debuglink section already exists",5);\n      FUN_0002b6d0(uVar10,sVar17);\n      DAT_0003fb2c = 0;\n      local_98 = 0;\n    }\n  }" (if "if") (parenthesized_expression "(local_98 != 0)" (( "(") (binary_expression "local_98 != 0" (identifier "local_98") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    iVar9 = bfd_get_section_by_name(param_2,".gnu_debuglink");\n    if (iVar9 == 0) {\n      local_98 = bfd_create_gnu_debuglink_section(param_2,DAT_0003fb2c);\n      iVar9 = DAT_0003fb2c;\n      if (local_98 == 0) {\n        uVar10 = dcgettext(0,"cannot create debug link section `%s\'",5,param_2);\n        FUN_0002c160(0,param_2,0,uVar10,iVar9);\n        return 0;\n      }\n      if (*(int *)(param_2[1] + 4) == 2) {\n        sVar17 = param_2[0x18];\n        sVar18 = 0;\n        if (sVar17 == 0) {\nLAB_0001a360:\n          uVar26 = 0x1000;\n        }\n        else {\n          do {\n            sVar23 = sVar18;\n            if (((*(uint *)(sVar17 + 0x1c) != 0) && (sVar23 = sVar17, sVar18 != 0)) &&\n               (sVar23 = sVar18, *(uint *)(sVar18 + 0x1c) < *(uint *)(sVar17 + 0x1c))) {\n              sVar23 = sVar17;\n            }\n            sVar17 = *(size_t *)(sVar17 + 0xc);\n            sVar18 = sVar23;\n          } while (sVar17 != 0);\n          if (sVar23 == 0) goto LAB_0001a360;\n          uVar35 = *(int *)(sVar23 + 0x24) + *(int *)(sVar23 + 0x1c);\n          uVar26 = 0xffffffff;\n          if (uVar35 < 0xfffff001) {\n            uVar26 = uVar35 + 0xfff & 0xfffff000;\n          }\n        }\n        *(uint *)(local_98 + 0x20) = uVar26;\n        *(uint *)(local_98 + 0x1c) = uVar26;\n        *(byte *)(local_98 + 0x18) = *(byte *)(local_98 + 0x18) | 1;\n      }\n    }\n    else {\n      sVar17 = *param_2;\n      uVar10 = dcgettext(0,"%s: debuglink section already exists",5);\n      FUN_0002b6d0(uVar10,sVar17);\n      DAT_0003fb2c = 0;\n      local_98 = 0;\n    }\n  }" ({ "{") (expression_statement "iVar9 = bfd_get_section_by_name(param_2,".gnu_debuglink");" (assignment_expression "iVar9 = bfd_get_section_by_name(param_2,".gnu_debuglink")" (identifier "iVar9") (= "=") (call_expression "bfd_get_section_by_name(param_2,".gnu_debuglink")" (identifier "bfd_get_section_by_name") (argument_list "(param_2,".gnu_debuglink")" (( "(") (identifier "param_2") (, ",") (string_literal "".gnu_debuglink"" (" """) (string_content ".gnu_debuglink") (" """)) () ")")))) (; ";")) (if_statement "if (iVar9 == 0) {\n      local_98 = bfd_create_gnu_debuglink_section(param_2,DAT_0003fb2c);\n      iVar9 = DAT_0003fb2c;\n      if (local_98 == 0) {\n        uVar10 = dcgettext(0,"cannot create debug link section `%s\'",5,param_2);\n        FUN_0002c160(0,param_2,0,uVar10,iVar9);\n        return 0;\n      }\n      if (*(int *)(param_2[1] + 4) == 2) {\n        sVar17 = param_2[0x18];\n        sVar18 = 0;\n        if (sVar17 == 0) {\nLAB_0001a360:\n          uVar26 = 0x1000;\n        }\n        else {\n          do {\n            sVar23 = sVar18;\n            if (((*(uint *)(sVar17 + 0x1c) != 0) && (sVar23 = sVar17, sVar18 != 0)) &&\n               (sVar23 = sVar18, *(uint *)(sVar18 + 0x1c) < *(uint *)(sVar17 + 0x1c))) {\n              sVar23 = sVar17;\n            }\n            sVar17 = *(size_t *)(sVar17 + 0xc);\n            sVar18 = sVar23;\n          } while (sVar17 != 0);\n          if (sVar23 == 0) goto LAB_0001a360;\n          uVar35 = *(int *)(sVar23 + 0x24) + *(int *)(sVar23 + 0x1c);\n          uVar26 = 0xffffffff;\n          if (uVar35 < 0xfffff001) {\n            uVar26 = uVar35 + 0xfff & 0xfffff000;\n          }\n        }\n        *(uint *)(local_98 + 0x20) = uVar26;\n        *(uint *)(local_98 + 0x1c) = uVar26;\n        *(byte *)(local_98 + 0x18) = *(byte *)(local_98 + 0x18) | 1;\n      }\n    }\n    else {\n      sVar17 = *param_2;\n      uVar10 = dcgettext(0,"%s: debuglink section already exists",5);\n      FUN_0002b6d0(uVar10,sVar17);\n      DAT_0003fb2c = 0;\n      local_98 = 0;\n    }" (if "if") (parenthesized_expression "(iVar9 == 0)" (( "(") (binary_expression "iVar9 == 0" (identifier "iVar9") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      local_98 = bfd_create_gnu_debuglink_section(param_2,DAT_0003fb2c);\n      iVar9 = DAT_0003fb2c;\n      if (local_98 == 0) {\n        uVar10 = dcgettext(0,"cannot create debug link section `%s\'",5,param_2);\n        FUN_0002c160(0,param_2,0,uVar10,iVar9);\n        return 0;\n      }\n      if (*(int *)(param_2[1] + 4) == 2) {\n        sVar17 = param_2[0x18];\n        sVar18 = 0;\n        if (sVar17 == 0) {\nLAB_0001a360:\n          uVar26 = 0x1000;\n        }\n        else {\n          do {\n            sVar23 = sVar18;\n            if (((*(uint *)(sVar17 + 0x1c) != 0) && (sVar23 = sVar17, sVar18 != 0)) &&\n               (sVar23 = sVar18, *(uint *)(sVar18 + 0x1c) < *(uint *)(sVar17 + 0x1c))) {\n              sVar23 = sVar17;\n            }\n            sVar17 = *(size_t *)(sVar17 + 0xc);\n            sVar18 = sVar23;\n          } while (sVar17 != 0);\n          if (sVar23 == 0) goto LAB_0001a360;\n          uVar35 = *(int *)(sVar23 + 0x24) + *(int *)(sVar23 + 0x1c);\n          uVar26 = 0xffffffff;\n          if (uVar35 < 0xfffff001) {\n            uVar26 = uVar35 + 0xfff & 0xfffff000;\n          }\n        }\n        *(uint *)(local_98 + 0x20) = uVar26;\n        *(uint *)(local_98 + 0x1c) = uVar26;\n        *(byte *)(local_98 + 0x18) = *(byte *)(local_98 + 0x18) | 1;\n      }\n    }" ({ "{") (expression_statement "local_98 = bfd_create_gnu_debuglink_section(param_2,DAT_0003fb2c);" (assignment_expression "local_98 = bfd_create_gnu_debuglink_section(param_2,DAT_0003fb2c)" (identifier "local_98") (= "=") (call_expression "bfd_create_gnu_debuglink_section(param_2,DAT_0003fb2c)" (identifier "bfd_create_gnu_debuglink_section") (argument_list "(param_2,DAT_0003fb2c)" (( "(") (identifier "param_2") (, ",") (identifier "DAT_0003fb2c") () ")")))) (; ";")) (expression_statement "iVar9 = DAT_0003fb2c;" (assignment_expression "iVar9 = DAT_0003fb2c" (identifier "iVar9") (= "=") (identifier "DAT_0003fb2c")) (; ";")) (if_statement "if (local_98 == 0) {\n        uVar10 = dcgettext(0,"cannot create debug link section `%s\'",5,param_2);\n        FUN_0002c160(0,param_2,0,uVar10,iVar9);\n        return 0;\n      }" (if "if") (parenthesized_expression "(local_98 == 0)" (( "(") (binary_expression "local_98 == 0" (identifier "local_98") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        uVar10 = dcgettext(0,"cannot create debug link section `%s\'",5,param_2);\n        FUN_0002c160(0,param_2,0,uVar10,iVar9);\n        return 0;\n      }" ({ "{") (expression_statement "uVar10 = dcgettext(0,"cannot create debug link section `%s\'",5,param_2);" (assignment_expression "uVar10 = dcgettext(0,"cannot create debug link section `%s\'",5,param_2)" (identifier "uVar10") (= "=") (call_expression "dcgettext(0,"cannot create debug link section `%s\'",5,param_2)" (identifier "dcgettext") (argument_list "(0,"cannot create debug link section `%s\'",5,param_2)" (( "(") (number_literal "0") (, ",") (string_literal ""cannot create debug link section `%s\'"" (" """) (string_content "cannot create debug link section `%s") (escape_sequence "\'") (" """)) (, ",") (number_literal "5") (, ",") (identifier "param_2") () ")")))) (; ";")) (expression_statement "FUN_0002c160(0,param_2,0,uVar10,iVar9);" (call_expression "FUN_0002c160(0,param_2,0,uVar10,iVar9)" (identifier "FUN_0002c160") (argument_list "(0,param_2,0,uVar10,iVar9)" (( "(") (number_literal "0") (, ",") (identifier "param_2") (, ",") (number_literal "0") (, ",") (identifier "uVar10") (, ",") (identifier "iVar9") () ")"))) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (if_statement "if (*(int *)(param_2[1] + 4) == 2) {\n        sVar17 = param_2[0x18];\n        sVar18 = 0;\n        if (sVar17 == 0) {\nLAB_0001a360:\n          uVar26 = 0x1000;\n        }\n        else {\n          do {\n            sVar23 = sVar18;\n            if (((*(uint *)(sVar17 + 0x1c) != 0) && (sVar23 = sVar17, sVar18 != 0)) &&\n               (sVar23 = sVar18, *(uint *)(sVar18 + 0x1c) < *(uint *)(sVar17 + 0x1c))) {\n              sVar23 = sVar17;\n            }\n            sVar17 = *(size_t *)(sVar17 + 0xc);\n            sVar18 = sVar23;\n          } while (sVar17 != 0);\n          if (sVar23 == 0) goto LAB_0001a360;\n          uVar35 = *(int *)(sVar23 + 0x24) + *(int *)(sVar23 + 0x1c);\n          uVar26 = 0xffffffff;\n          if (uVar35 < 0xfffff001) {\n            uVar26 = uVar35 + 0xfff & 0xfffff000;\n          }\n        }\n        *(uint *)(local_98 + 0x20) = uVar26;\n        *(uint *)(local_98 + 0x1c) = uVar26;\n        *(byte *)(local_98 + 0x18) = *(byte *)(local_98 + 0x18) | 1;\n      }" (if "if") (parenthesized_expression "(*(int *)(param_2[1] + 4) == 2)" (( "(") (binary_expression "*(int *)(param_2[1] + 4) == 2" (pointer_expression "*(int *)(param_2[1] + 4)" (* "*") (cast_expression "(int *)(param_2[1] + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2[1] + 4)" (( "(") (binary_expression "param_2[1] + 4" (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "4")) () ")")))) (== "==") (number_literal "2")) () ")")) (compound_statement "{\n        sVar17 = param_2[0x18];\n        sVar18 = 0;\n        if (sVar17 == 0) {\nLAB_0001a360:\n          uVar26 = 0x1000;\n        }\n        else {\n          do {\n            sVar23 = sVar18;\n            if (((*(uint *)(sVar17 + 0x1c) != 0) && (sVar23 = sVar17, sVar18 != 0)) &&\n               (sVar23 = sVar18, *(uint *)(sVar18 + 0x1c) < *(uint *)(sVar17 + 0x1c))) {\n              sVar23 = sVar17;\n            }\n            sVar17 = *(size_t *)(sVar17 + 0xc);\n            sVar18 = sVar23;\n          } while (sVar17 != 0);\n          if (sVar23 == 0) goto LAB_0001a360;\n          uVar35 = *(int *)(sVar23 + 0x24) + *(int *)(sVar23 + 0x1c);\n          uVar26 = 0xffffffff;\n          if (uVar35 < 0xfffff001) {\n            uVar26 = uVar35 + 0xfff & 0xfffff000;\n          }\n        }\n        *(uint *)(local_98 + 0x20) = uVar26;\n        *(uint *)(local_98 + 0x1c) = uVar26;\n        *(byte *)(local_98 + 0x18) = *(byte *)(local_98 + 0x18) | 1;\n      }" ({ "{") (expression_statement "sVar17 = param_2[0x18];" (assignment_expression "sVar17 = param_2[0x18]" (identifier "sVar17") (= "=") (subscript_expression "param_2[0x18]" (identifier "param_2") ([ "[") (number_literal "0x18") (] "]"))) (; ";")) (expression_statement "sVar18 = 0;" (assignment_expression "sVar18 = 0" (identifier "sVar18") (= "=") (number_literal "0")) (; ";")) (if_statement "if (sVar17 == 0) {\nLAB_0001a360:\n          uVar26 = 0x1000;\n        }\n        else {\n          do {\n            sVar23 = sVar18;\n            if (((*(uint *)(sVar17 + 0x1c) != 0) && (sVar23 = sVar17, sVar18 != 0)) &&\n               (sVar23 = sVar18, *(uint *)(sVar18 + 0x1c) < *(uint *)(sVar17 + 0x1c))) {\n              sVar23 = sVar17;\n            }\n            sVar17 = *(size_t *)(sVar17 + 0xc);\n            sVar18 = sVar23;\n          } while (sVar17 != 0);\n          if (sVar23 == 0) goto LAB_0001a360;\n          uVar35 = *(int *)(sVar23 + 0x24) + *(int *)(sVar23 + 0x1c);\n          uVar26 = 0xffffffff;\n          if (uVar35 < 0xfffff001) {\n            uVar26 = uVar35 + 0xfff & 0xfffff000;\n          }\n        }" (if "if") (parenthesized_expression "(sVar17 == 0)" (( "(") (binary_expression "sVar17 == 0" (identifier "sVar17") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0001a360:\n          uVar26 = 0x1000;\n        }" ({ "{") (labeled_statement "LAB_0001a360:\n          uVar26 = 0x1000;" (statement_identifier "LAB_0001a360") (: ":") (expression_statement "uVar26 = 0x1000;" (assignment_expression "uVar26 = 0x1000" (identifier "uVar26") (= "=") (number_literal "0x1000")) (; ";"))) (} "}")) (else_clause "else {\n          do {\n            sVar23 = sVar18;\n            if (((*(uint *)(sVar17 + 0x1c) != 0) && (sVar23 = sVar17, sVar18 != 0)) &&\n               (sVar23 = sVar18, *(uint *)(sVar18 + 0x1c) < *(uint *)(sVar17 + 0x1c))) {\n              sVar23 = sVar17;\n            }\n            sVar17 = *(size_t *)(sVar17 + 0xc);\n            sVar18 = sVar23;\n          } while (sVar17 != 0);\n          if (sVar23 == 0) goto LAB_0001a360;\n          uVar35 = *(int *)(sVar23 + 0x24) + *(int *)(sVar23 + 0x1c);\n          uVar26 = 0xffffffff;\n          if (uVar35 < 0xfffff001) {\n            uVar26 = uVar35 + 0xfff & 0xfffff000;\n          }\n        }" (else "else") (compound_statement "{\n          do {\n            sVar23 = sVar18;\n            if (((*(uint *)(sVar17 + 0x1c) != 0) && (sVar23 = sVar17, sVar18 != 0)) &&\n               (sVar23 = sVar18, *(uint *)(sVar18 + 0x1c) < *(uint *)(sVar17 + 0x1c))) {\n              sVar23 = sVar17;\n            }\n            sVar17 = *(size_t *)(sVar17 + 0xc);\n            sVar18 = sVar23;\n          } while (sVar17 != 0);\n          if (sVar23 == 0) goto LAB_0001a360;\n          uVar35 = *(int *)(sVar23 + 0x24) + *(int *)(sVar23 + 0x1c);\n          uVar26 = 0xffffffff;\n          if (uVar35 < 0xfffff001) {\n            uVar26 = uVar35 + 0xfff & 0xfffff000;\n          }\n        }" ({ "{") (do_statement "do {\n            sVar23 = sVar18;\n            if (((*(uint *)(sVar17 + 0x1c) != 0) && (sVar23 = sVar17, sVar18 != 0)) &&\n               (sVar23 = sVar18, *(uint *)(sVar18 + 0x1c) < *(uint *)(sVar17 + 0x1c))) {\n              sVar23 = sVar17;\n            }\n            sVar17 = *(size_t *)(sVar17 + 0xc);\n            sVar18 = sVar23;\n          } while (sVar17 != 0);" (do "do") (compound_statement "{\n            sVar23 = sVar18;\n            if (((*(uint *)(sVar17 + 0x1c) != 0) && (sVar23 = sVar17, sVar18 != 0)) &&\n               (sVar23 = sVar18, *(uint *)(sVar18 + 0x1c) < *(uint *)(sVar17 + 0x1c))) {\n              sVar23 = sVar17;\n            }\n            sVar17 = *(size_t *)(sVar17 + 0xc);\n            sVar18 = sVar23;\n          }" ({ "{") (expression_statement "sVar23 = sVar18;" (assignment_expression "sVar23 = sVar18" (identifier "sVar23") (= "=") (identifier "sVar18")) (; ";")) (if_statement "if (((*(uint *)(sVar17 + 0x1c) != 0) && (sVar23 = sVar17, sVar18 != 0)) &&\n               (sVar23 = sVar18, *(uint *)(sVar18 + 0x1c) < *(uint *)(sVar17 + 0x1c))) {\n              sVar23 = sVar17;\n            }" (if "if") (parenthesized_expression "(((*(uint *)(sVar17 + 0x1c) != 0) && (sVar23 = sVar17, sVar18 != 0)) &&\n               (sVar23 = sVar18, *(uint *)(sVar18 + 0x1c) < *(uint *)(sVar17 + 0x1c)))" (( "(") (binary_expression "((*(uint *)(sVar17 + 0x1c) != 0) && (sVar23 = sVar17, sVar18 != 0)) &&\n               (sVar23 = sVar18, *(uint *)(sVar18 + 0x1c) < *(uint *)(sVar17 + 0x1c))" (parenthesized_expression "((*(uint *)(sVar17 + 0x1c) != 0) && (sVar23 = sVar17, sVar18 != 0))" (( "(") (binary_expression "(*(uint *)(sVar17 + 0x1c) != 0) && (sVar23 = sVar17, sVar18 != 0)" (parenthesized_expression "(*(uint *)(sVar17 + 0x1c) != 0)" (( "(") (binary_expression "*(uint *)(sVar17 + 0x1c) != 0" (pointer_expression "*(uint *)(sVar17 + 0x1c)" (* "*") (cast_expression "(uint *)(sVar17 + 0x1c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(sVar17 + 0x1c)" (( "(") (binary_expression "sVar17 + 0x1c" (identifier "sVar17") (+ "+") (number_literal "0x1c")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(sVar23 = sVar17, sVar18 != 0)" (( "(") (comma_expression "sVar23 = sVar17, sVar18 != 0" (assignment_expression "sVar23 = sVar17" (identifier "sVar23") (= "=") (identifier "sVar17")) (, ",") (binary_expression "sVar18 != 0" (identifier "sVar18") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(sVar23 = sVar18, *(uint *)(sVar18 + 0x1c) < *(uint *)(sVar17 + 0x1c))" (( "(") (comma_expression "sVar23 = sVar18, *(uint *)(sVar18 + 0x1c) < *(uint *)(sVar17 + 0x1c)" (assignment_expression "sVar23 = sVar18" (identifier "sVar23") (= "=") (identifier "sVar18")) (, ",") (binary_expression "*(uint *)(sVar18 + 0x1c) < *(uint *)(sVar17 + 0x1c)" (pointer_expression "*(uint *)(sVar18 + 0x1c)" (* "*") (cast_expression "(uint *)(sVar18 + 0x1c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(sVar18 + 0x1c)" (( "(") (binary_expression "sVar18 + 0x1c" (identifier "sVar18") (+ "+") (number_literal "0x1c")) () ")")))) (< "<") (pointer_expression "*(uint *)(sVar17 + 0x1c)" (* "*") (cast_expression "(uint *)(sVar17 + 0x1c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(sVar17 + 0x1c)" (( "(") (binary_expression "sVar17 + 0x1c" (identifier "sVar17") (+ "+") (number_literal "0x1c")) () ")")))))) () ")"))) () ")")) (compound_statement "{\n              sVar23 = sVar17;\n            }" ({ "{") (expression_statement "sVar23 = sVar17;" (assignment_expression "sVar23 = sVar17" (identifier "sVar23") (= "=") (identifier "sVar17")) (; ";")) (} "}"))) (expression_statement "sVar17 = *(size_t *)(sVar17 + 0xc);" (assignment_expression "sVar17 = *(size_t *)(sVar17 + 0xc)" (identifier "sVar17") (= "=") (pointer_expression "*(size_t *)(sVar17 + 0xc)" (* "*") (cast_expression "(size_t *)(sVar17 + 0xc)" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(sVar17 + 0xc)" (( "(") (binary_expression "sVar17 + 0xc" (identifier "sVar17") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "sVar18 = sVar23;" (assignment_expression "sVar18 = sVar23" (identifier "sVar18") (= "=") (identifier "sVar23")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(sVar17 != 0)" (( "(") (binary_expression "sVar17 != 0" (identifier "sVar17") (!= "!=") (number_literal "0")) () ")")) (; ";")) (if_statement "if (sVar23 == 0) goto LAB_0001a360;" (if "if") (parenthesized_expression "(sVar23 == 0)" (( "(") (binary_expression "sVar23 == 0" (identifier "sVar23") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001a360;" (goto "goto") (statement_identifier "LAB_0001a360") (; ";"))) (expression_statement "uVar35 = *(int *)(sVar23 + 0x24) + *(int *)(sVar23 + 0x1c);" (assignment_expression "uVar35 = *(int *)(sVar23 + 0x24) + *(int *)(sVar23 + 0x1c)" (identifier "uVar35") (= "=") (binary_expression "*(int *)(sVar23 + 0x24) + *(int *)(sVar23 + 0x1c)" (pointer_expression "*(int *)(sVar23 + 0x24)" (* "*") (cast_expression "(int *)(sVar23 + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(sVar23 + 0x24)" (( "(") (binary_expression "sVar23 + 0x24" (identifier "sVar23") (+ "+") (number_literal "0x24")) () ")")))) (+ "+") (pointer_expression "*(int *)(sVar23 + 0x1c)" (* "*") (cast_expression "(int *)(sVar23 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(sVar23 + 0x1c)" (( "(") (binary_expression "sVar23 + 0x1c" (identifier "sVar23") (+ "+") (number_literal "0x1c")) () ")")))))) (; ";")) (expression_statement "uVar26 = 0xffffffff;" (assignment_expression "uVar26 = 0xffffffff" (identifier "uVar26") (= "=") (number_literal "0xffffffff")) (; ";")) (if_statement "if (uVar35 < 0xfffff001) {\n            uVar26 = uVar35 + 0xfff & 0xfffff000;\n          }" (if "if") (parenthesized_expression "(uVar35 < 0xfffff001)" (( "(") (binary_expression "uVar35 < 0xfffff001" (identifier "uVar35") (< "<") (number_literal "0xfffff001")) () ")")) (compound_statement "{\n            uVar26 = uVar35 + 0xfff & 0xfffff000;\n          }" ({ "{") (expression_statement "uVar26 = uVar35 + 0xfff & 0xfffff000;" (assignment_expression "uVar26 = uVar35 + 0xfff & 0xfffff000" (identifier "uVar26") (= "=") (binary_expression "uVar35 + 0xfff & 0xfffff000" (binary_expression "uVar35 + 0xfff" (identifier "uVar35") (+ "+") (number_literal "0xfff")) (& "&") (number_literal "0xfffff000"))) (; ";")) (} "}"))) (} "}")))) (expression_statement "*(uint *)(local_98 + 0x20) = uVar26;" (assignment_expression "*(uint *)(local_98 + 0x20) = uVar26" (pointer_expression "*(uint *)(local_98 + 0x20)" (* "*") (cast_expression "(uint *)(local_98 + 0x20)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_98 + 0x20)" (( "(") (binary_expression "local_98 + 0x20" (identifier "local_98") (+ "+") (number_literal "0x20")) () ")")))) (= "=") (identifier "uVar26")) (; ";")) (expression_statement "*(uint *)(local_98 + 0x1c) = uVar26;" (assignment_expression "*(uint *)(local_98 + 0x1c) = uVar26" (pointer_expression "*(uint *)(local_98 + 0x1c)" (* "*") (cast_expression "(uint *)(local_98 + 0x1c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_98 + 0x1c)" (( "(") (binary_expression "local_98 + 0x1c" (identifier "local_98") (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (identifier "uVar26")) (; ";")) (expression_statement "*(byte *)(local_98 + 0x18) = *(byte *)(local_98 + 0x18) | 1;" (assignment_expression "*(byte *)(local_98 + 0x18) = *(byte *)(local_98 + 0x18) | 1" (pointer_expression "*(byte *)(local_98 + 0x18)" (* "*") (cast_expression "(byte *)(local_98 + 0x18)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_98 + 0x18)" (( "(") (binary_expression "local_98 + 0x18" (identifier "local_98") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (binary_expression "*(byte *)(local_98 + 0x18) | 1" (pointer_expression "*(byte *)(local_98 + 0x18)" (* "*") (cast_expression "(byte *)(local_98 + 0x18)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_98 + 0x18)" (( "(") (binary_expression "local_98 + 0x18" (identifier "local_98") (+ "+") (number_literal "0x18")) () ")")))) (| "|") (number_literal "1"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n      sVar17 = *param_2;\n      uVar10 = dcgettext(0,"%s: debuglink section already exists",5);\n      FUN_0002b6d0(uVar10,sVar17);\n      DAT_0003fb2c = 0;\n      local_98 = 0;\n    }" (else "else") (compound_statement "{\n      sVar17 = *param_2;\n      uVar10 = dcgettext(0,"%s: debuglink section already exists",5);\n      FUN_0002b6d0(uVar10,sVar17);\n      DAT_0003fb2c = 0;\n      local_98 = 0;\n    }" ({ "{") (expression_statement "sVar17 = *param_2;" (assignment_expression "sVar17 = *param_2" (identifier "sVar17") (= "=") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) (; ";")) (expression_statement "uVar10 = dcgettext(0,"%s: debuglink section already exists",5);" (assignment_expression "uVar10 = dcgettext(0,"%s: debuglink section already exists",5)" (identifier "uVar10") (= "=") (call_expression "dcgettext(0,"%s: debuglink section already exists",5)" (identifier "dcgettext") (argument_list "(0,"%s: debuglink section already exists",5)" (( "(") (number_literal "0") (, ",") (string_literal ""%s: debuglink section already exists"" (" """) (string_content "%s: debuglink section already exists") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0002b6d0(uVar10,sVar17);" (call_expression "FUN_0002b6d0(uVar10,sVar17)" (identifier "FUN_0002b6d0") (argument_list "(uVar10,sVar17)" (( "(") (identifier "uVar10") (, ",") (identifier "sVar17") () ")"))) (; ";")) (expression_statement "DAT_0003fb2c = 0;" (assignment_expression "DAT_0003fb2c = 0" (identifier "DAT_0003fb2c") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_98 = 0;" (assignment_expression "local_98 = 0" (identifier "local_98") (= "=") (number_literal "0")) (; ";")) (} "}")))) (} "}"))) (expression_statement "sVar17 = param_2[0x1a];" (assignment_expression "sVar17 = param_2[0x1a]" (identifier "sVar17") (= "=") (subscript_expression "param_2[0x1a]" (identifier "param_2") ([ "[") (number_literal "0x1a") (] "]"))) (; ";")) (expression_statement "local_8c = sVar17;" (assignment_expression "local_8c = sVar17" (identifier "local_8c") (= "=") (identifier "sVar17")) (; ";")) (if_statement "if (sVar17 == 0) {\nLAB_00018ff7:\n    local_90 = (void *)0x0;\n    local_84 = (int *)0x0;\n    sVar18 = local_8c;\n  }\n  else {\n    if (DAT_0003fb54 == 0 && DAT_0003fb4c == 0) {\n      local_8c = 0;\n      goto LAB_00018ff7;\n    }\n    sVar23 = sVar17 * 4;\n    local_84 = (int *)xmalloc(sVar23);\n    local_30 = local_84;\n    bfd_map_over_sections(param_2,FUN_00016710,&local_30);\n    qsort(local_84,sVar17,4,FUN_00016730);\n    local_90 = (void *)xmalloc(sVar23);\n    memset(local_90,0,sVar23);\n    if ((DAT_0003fb54 == 0) || (sVar17 == 1)) {\n      local_8c = 0;\n    }\n    else {\n      iVar9 = 0;\n      local_8c = 0;\n      piVar15 = local_84;\n      do {\n        iVar12 = *piVar15;\n        iVar9 = iVar9 + 1;\n        sVar18 = local_8c;\n        if ((*(uint *)(iVar12 + 0x14) & 0x102) == 0x102) {\n          uVar35 = *(int *)(iVar12 + 0x20) + *(int *)(iVar12 + 0x24);\n          if (uVar35 < *(uint *)(piVar15[1] + 0x20)) {\n            sVar18 = *(uint *)(piVar15[1] + 0x20) - uVar35;\n            uVar43 = bfd_set_section_size(param_2,iVar12,*(int *)(iVar12 + 0x24) + sVar18);\n            if ((int)uVar43 == 0) {\n              uVar10 = dcgettext(0,"Can\'t fill gap after section",5,\n                                 (int)((ulonglong)uVar43 >> 0x20));\n              FUN_0002c160(0,param_2,*piVar15,uVar10);\n              DAT_0003fb88 = 1;\n              break;\n            }\n            *(size_t *)((int)local_90 + iVar9 * 4 + -4) = sVar18;\n            if (sVar18 <= local_8c) {\n              sVar18 = local_8c;\n            }\n          }\n        }\n        local_8c = sVar18;\n        piVar15 = piVar15 + 1;\n      } while (sVar17 - 1 != iVar9);\n    }\n    sVar18 = local_8c;\n    if (DAT_0003fb4c != 0) {\n      iVar9 = local_84[sVar17 - 1];\n      uVar35 = *(int *)(iVar9 + 0x24) + *(int *)(iVar9 + 0x20);\n      if (uVar35 < DAT_0003fb48) {\n        iVar9 = bfd_set_section_size(param_2,iVar9,DAT_0003fb48 - *(int *)(iVar9 + 0x20));\n        if (iVar9 == 0) {\n          uVar10 = dcgettext(0,"can\'t add padding",5,uVar35);\n          FUN_0002c160(0,param_2,local_84[sVar17 - 1],uVar10);\n          DAT_0003fb88 = 1;\n        }\n        else {\n          sVar18 = DAT_0003fb48 - uVar35;\n          *(size_t *)((int)local_90 + (sVar23 - 4)) = sVar18;\n          if (sVar18 <= local_8c) {\n            sVar18 = local_8c;\n          }\n        }\n      }\n    }\n  }" (if "if") (parenthesized_expression "(sVar17 == 0)" (( "(") (binary_expression "sVar17 == 0" (identifier "sVar17") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00018ff7:\n    local_90 = (void *)0x0;\n    local_84 = (int *)0x0;\n    sVar18 = local_8c;\n  }" ({ "{") (labeled_statement "LAB_00018ff7:\n    local_90 = (void *)0x0;" (statement_identifier "LAB_00018ff7") (: ":") (expression_statement "local_90 = (void *)0x0;" (assignment_expression "local_90 = (void *)0x0" (identifier "local_90") (= "=") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";"))) (expression_statement "local_84 = (int *)0x0;" (assignment_expression "local_84 = (int *)0x0" (identifier "local_84") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "sVar18 = local_8c;" (assignment_expression "sVar18 = local_8c" (identifier "sVar18") (= "=") (identifier "local_8c")) (; ";")) (} "}")) (else_clause "else {\n    if (DAT_0003fb54 == 0 && DAT_0003fb4c == 0) {\n      local_8c = 0;\n      goto LAB_00018ff7;\n    }\n    sVar23 = sVar17 * 4;\n    local_84 = (int *)xmalloc(sVar23);\n    local_30 = local_84;\n    bfd_map_over_sections(param_2,FUN_00016710,&local_30);\n    qsort(local_84,sVar17,4,FUN_00016730);\n    local_90 = (void *)xmalloc(sVar23);\n    memset(local_90,0,sVar23);\n    if ((DAT_0003fb54 == 0) || (sVar17 == 1)) {\n      local_8c = 0;\n    }\n    else {\n      iVar9 = 0;\n      local_8c = 0;\n      piVar15 = local_84;\n      do {\n        iVar12 = *piVar15;\n        iVar9 = iVar9 + 1;\n        sVar18 = local_8c;\n        if ((*(uint *)(iVar12 + 0x14) & 0x102) == 0x102) {\n          uVar35 = *(int *)(iVar12 + 0x20) + *(int *)(iVar12 + 0x24);\n          if (uVar35 < *(uint *)(piVar15[1] + 0x20)) {\n            sVar18 = *(uint *)(piVar15[1] + 0x20) - uVar35;\n            uVar43 = bfd_set_section_size(param_2,iVar12,*(int *)(iVar12 + 0x24) + sVar18);\n            if ((int)uVar43 == 0) {\n              uVar10 = dcgettext(0,"Can\'t fill gap after section",5,\n                                 (int)((ulonglong)uVar43 >> 0x20));\n              FUN_0002c160(0,param_2,*piVar15,uVar10);\n              DAT_0003fb88 = 1;\n              break;\n            }\n            *(size_t *)((int)local_90 + iVar9 * 4 + -4) = sVar18;\n            if (sVar18 <= local_8c) {\n              sVar18 = local_8c;\n            }\n          }\n        }\n        local_8c = sVar18;\n        piVar15 = piVar15 + 1;\n      } while (sVar17 - 1 != iVar9);\n    }\n    sVar18 = local_8c;\n    if (DAT_0003fb4c != 0) {\n      iVar9 = local_84[sVar17 - 1];\n      uVar35 = *(int *)(iVar9 + 0x24) + *(int *)(iVar9 + 0x20);\n      if (uVar35 < DAT_0003fb48) {\n        iVar9 = bfd_set_section_size(param_2,iVar9,DAT_0003fb48 - *(int *)(iVar9 + 0x20));\n        if (iVar9 == 0) {\n          uVar10 = dcgettext(0,"can\'t add padding",5,uVar35);\n          FUN_0002c160(0,param_2,local_84[sVar17 - 1],uVar10);\n          DAT_0003fb88 = 1;\n        }\n        else {\n          sVar18 = DAT_0003fb48 - uVar35;\n          *(size_t *)((int)local_90 + (sVar23 - 4)) = sVar18;\n          if (sVar18 <= local_8c) {\n            sVar18 = local_8c;\n          }\n        }\n      }\n    }\n  }" (else "else") (compound_statement "{\n    if (DAT_0003fb54 == 0 && DAT_0003fb4c == 0) {\n      local_8c = 0;\n      goto LAB_00018ff7;\n    }\n    sVar23 = sVar17 * 4;\n    local_84 = (int *)xmalloc(sVar23);\n    local_30 = local_84;\n    bfd_map_over_sections(param_2,FUN_00016710,&local_30);\n    qsort(local_84,sVar17,4,FUN_00016730);\n    local_90 = (void *)xmalloc(sVar23);\n    memset(local_90,0,sVar23);\n    if ((DAT_0003fb54 == 0) || (sVar17 == 1)) {\n      local_8c = 0;\n    }\n    else {\n      iVar9 = 0;\n      local_8c = 0;\n      piVar15 = local_84;\n      do {\n        iVar12 = *piVar15;\n        iVar9 = iVar9 + 1;\n        sVar18 = local_8c;\n        if ((*(uint *)(iVar12 + 0x14) & 0x102) == 0x102) {\n          uVar35 = *(int *)(iVar12 + 0x20) + *(int *)(iVar12 + 0x24);\n          if (uVar35 < *(uint *)(piVar15[1] + 0x20)) {\n            sVar18 = *(uint *)(piVar15[1] + 0x20) - uVar35;\n            uVar43 = bfd_set_section_size(param_2,iVar12,*(int *)(iVar12 + 0x24) + sVar18);\n            if ((int)uVar43 == 0) {\n              uVar10 = dcgettext(0,"Can\'t fill gap after section",5,\n                                 (int)((ulonglong)uVar43 >> 0x20));\n              FUN_0002c160(0,param_2,*piVar15,uVar10);\n              DAT_0003fb88 = 1;\n              break;\n            }\n            *(size_t *)((int)local_90 + iVar9 * 4 + -4) = sVar18;\n            if (sVar18 <= local_8c) {\n              sVar18 = local_8c;\n            }\n          }\n        }\n        local_8c = sVar18;\n        piVar15 = piVar15 + 1;\n      } while (sVar17 - 1 != iVar9);\n    }\n    sVar18 = local_8c;\n    if (DAT_0003fb4c != 0) {\n      iVar9 = local_84[sVar17 - 1];\n      uVar35 = *(int *)(iVar9 + 0x24) + *(int *)(iVar9 + 0x20);\n      if (uVar35 < DAT_0003fb48) {\n        iVar9 = bfd_set_section_size(param_2,iVar9,DAT_0003fb48 - *(int *)(iVar9 + 0x20));\n        if (iVar9 == 0) {\n          uVar10 = dcgettext(0,"can\'t add padding",5,uVar35);\n          FUN_0002c160(0,param_2,local_84[sVar17 - 1],uVar10);\n          DAT_0003fb88 = 1;\n        }\n        else {\n          sVar18 = DAT_0003fb48 - uVar35;\n          *(size_t *)((int)local_90 + (sVar23 - 4)) = sVar18;\n          if (sVar18 <= local_8c) {\n            sVar18 = local_8c;\n          }\n        }\n      }\n    }\n  }" ({ "{") (if_statement "if (DAT_0003fb54 == 0 && DAT_0003fb4c == 0) {\n      local_8c = 0;\n      goto LAB_00018ff7;\n    }" (if "if") (parenthesized_expression "(DAT_0003fb54 == 0 && DAT_0003fb4c == 0)" (( "(") (binary_expression "DAT_0003fb54 == 0 && DAT_0003fb4c == 0" (binary_expression "DAT_0003fb54 == 0" (identifier "DAT_0003fb54") (== "==") (number_literal "0")) (&& "&&") (binary_expression "DAT_0003fb4c == 0" (identifier "DAT_0003fb4c") (== "==") (number_literal "0"))) () ")")) (compound_statement "{\n      local_8c = 0;\n      goto LAB_00018ff7;\n    }" ({ "{") (expression_statement "local_8c = 0;" (assignment_expression "local_8c = 0" (identifier "local_8c") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_00018ff7;" (goto "goto") (statement_identifier "LAB_00018ff7") (; ";")) (} "}"))) (expression_statement "sVar23 = sVar17 * 4;" (assignment_expression "sVar23 = sVar17 * 4" (identifier "sVar23") (= "=") (binary_expression "sVar17 * 4" (identifier "sVar17") (* "*") (number_literal "4"))) (; ";")) (expression_statement "local_84 = (int *)xmalloc(sVar23);" (assignment_expression "local_84 = (int *)xmalloc(sVar23)" (identifier "local_84") (= "=") (cast_expression "(int *)xmalloc(sVar23)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "xmalloc(sVar23)" (identifier "xmalloc") (argument_list "(sVar23)" (( "(") (identifier "sVar23") () ")"))))) (; ";")) (expression_statement "local_30 = local_84;" (assignment_expression "local_30 = local_84" (identifier "local_30") (= "=") (identifier "local_84")) (; ";")) (expression_statement "bfd_map_over_sections(param_2,FUN_00016710,&local_30);" (call_expression "bfd_map_over_sections(param_2,FUN_00016710,&local_30)" (identifier "bfd_map_over_sections") (argument_list "(param_2,FUN_00016710,&local_30)" (( "(") (identifier "param_2") (, ",") (identifier "FUN_00016710") (, ",") (pointer_expression "&local_30" (& "&") (identifier "local_30")) () ")"))) (; ";")) (expression_statement "qsort(local_84,sVar17,4,FUN_00016730);" (call_expression "qsort(local_84,sVar17,4,FUN_00016730)" (identifier "qsort") (argument_list "(local_84,sVar17,4,FUN_00016730)" (( "(") (identifier "local_84") (, ",") (identifier "sVar17") (, ",") (number_literal "4") (, ",") (identifier "FUN_00016730") () ")"))) (; ";")) (expression_statement "local_90 = (void *)xmalloc(sVar23);" (assignment_expression "local_90 = (void *)xmalloc(sVar23)" (identifier "local_90") (= "=") (cast_expression "(void *)xmalloc(sVar23)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "xmalloc(sVar23)" (identifier "xmalloc") (argument_list "(sVar23)" (( "(") (identifier "sVar23") () ")"))))) (; ";")) (expression_statement "memset(local_90,0,sVar23);" (call_expression "memset(local_90,0,sVar23)" (identifier "memset") (argument_list "(local_90,0,sVar23)" (( "(") (identifier "local_90") (, ",") (number_literal "0") (, ",") (identifier "sVar23") () ")"))) (; ";")) (if_statement "if ((DAT_0003fb54 == 0) || (sVar17 == 1)) {\n      local_8c = 0;\n    }\n    else {\n      iVar9 = 0;\n      local_8c = 0;\n      piVar15 = local_84;\n      do {\n        iVar12 = *piVar15;\n        iVar9 = iVar9 + 1;\n        sVar18 = local_8c;\n        if ((*(uint *)(iVar12 + 0x14) & 0x102) == 0x102) {\n          uVar35 = *(int *)(iVar12 + 0x20) + *(int *)(iVar12 + 0x24);\n          if (uVar35 < *(uint *)(piVar15[1] + 0x20)) {\n            sVar18 = *(uint *)(piVar15[1] + 0x20) - uVar35;\n            uVar43 = bfd_set_section_size(param_2,iVar12,*(int *)(iVar12 + 0x24) + sVar18);\n            if ((int)uVar43 == 0) {\n              uVar10 = dcgettext(0,"Can\'t fill gap after section",5,\n                                 (int)((ulonglong)uVar43 >> 0x20));\n              FUN_0002c160(0,param_2,*piVar15,uVar10);\n              DAT_0003fb88 = 1;\n              break;\n            }\n            *(size_t *)((int)local_90 + iVar9 * 4 + -4) = sVar18;\n            if (sVar18 <= local_8c) {\n              sVar18 = local_8c;\n            }\n          }\n        }\n        local_8c = sVar18;\n        piVar15 = piVar15 + 1;\n      } while (sVar17 - 1 != iVar9);\n    }" (if "if") (parenthesized_expression "((DAT_0003fb54 == 0) || (sVar17 == 1))" (( "(") (binary_expression "(DAT_0003fb54 == 0) || (sVar17 == 1)" (parenthesized_expression "(DAT_0003fb54 == 0)" (( "(") (binary_expression "DAT_0003fb54 == 0" (identifier "DAT_0003fb54") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(sVar17 == 1)" (( "(") (binary_expression "sVar17 == 1" (identifier "sVar17") (== "==") (number_literal "1")) () ")"))) () ")")) (compound_statement "{\n      local_8c = 0;\n    }" ({ "{") (expression_statement "local_8c = 0;" (assignment_expression "local_8c = 0" (identifier "local_8c") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n      iVar9 = 0;\n      local_8c = 0;\n      piVar15 = local_84;\n      do {\n        iVar12 = *piVar15;\n        iVar9 = iVar9 + 1;\n        sVar18 = local_8c;\n        if ((*(uint *)(iVar12 + 0x14) & 0x102) == 0x102) {\n          uVar35 = *(int *)(iVar12 + 0x20) + *(int *)(iVar12 + 0x24);\n          if (uVar35 < *(uint *)(piVar15[1] + 0x20)) {\n            sVar18 = *(uint *)(piVar15[1] + 0x20) - uVar35;\n            uVar43 = bfd_set_section_size(param_2,iVar12,*(int *)(iVar12 + 0x24) + sVar18);\n            if ((int)uVar43 == 0) {\n              uVar10 = dcgettext(0,"Can\'t fill gap after section",5,\n                                 (int)((ulonglong)uVar43 >> 0x20));\n              FUN_0002c160(0,param_2,*piVar15,uVar10);\n              DAT_0003fb88 = 1;\n              break;\n            }\n            *(size_t *)((int)local_90 + iVar9 * 4 + -4) = sVar18;\n            if (sVar18 <= local_8c) {\n              sVar18 = local_8c;\n            }\n          }\n        }\n        local_8c = sVar18;\n        piVar15 = piVar15 + 1;\n      } while (sVar17 - 1 != iVar9);\n    }" (else "else") (compound_statement "{\n      iVar9 = 0;\n      local_8c = 0;\n      piVar15 = local_84;\n      do {\n        iVar12 = *piVar15;\n        iVar9 = iVar9 + 1;\n        sVar18 = local_8c;\n        if ((*(uint *)(iVar12 + 0x14) & 0x102) == 0x102) {\n          uVar35 = *(int *)(iVar12 + 0x20) + *(int *)(iVar12 + 0x24);\n          if (uVar35 < *(uint *)(piVar15[1] + 0x20)) {\n            sVar18 = *(uint *)(piVar15[1] + 0x20) - uVar35;\n            uVar43 = bfd_set_section_size(param_2,iVar12,*(int *)(iVar12 + 0x24) + sVar18);\n            if ((int)uVar43 == 0) {\n              uVar10 = dcgettext(0,"Can\'t fill gap after section",5,\n                                 (int)((ulonglong)uVar43 >> 0x20));\n              FUN_0002c160(0,param_2,*piVar15,uVar10);\n              DAT_0003fb88 = 1;\n              break;\n            }\n            *(size_t *)((int)local_90 + iVar9 * 4 + -4) = sVar18;\n            if (sVar18 <= local_8c) {\n              sVar18 = local_8c;\n            }\n          }\n        }\n        local_8c = sVar18;\n        piVar15 = piVar15 + 1;\n      } while (sVar17 - 1 != iVar9);\n    }" ({ "{") (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" (identifier "iVar9") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_8c = 0;" (assignment_expression "local_8c = 0" (identifier "local_8c") (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar15 = local_84;" (assignment_expression "piVar15 = local_84" (identifier "piVar15") (= "=") (identifier "local_84")) (; ";")) (do_statement "do {\n        iVar12 = *piVar15;\n        iVar9 = iVar9 + 1;\n        sVar18 = local_8c;\n        if ((*(uint *)(iVar12 + 0x14) & 0x102) == 0x102) {\n          uVar35 = *(int *)(iVar12 + 0x20) + *(int *)(iVar12 + 0x24);\n          if (uVar35 < *(uint *)(piVar15[1] + 0x20)) {\n            sVar18 = *(uint *)(piVar15[1] + 0x20) - uVar35;\n            uVar43 = bfd_set_section_size(param_2,iVar12,*(int *)(iVar12 + 0x24) + sVar18);\n            if ((int)uVar43 == 0) {\n              uVar10 = dcgettext(0,"Can\'t fill gap after section",5,\n                                 (int)((ulonglong)uVar43 >> 0x20));\n              FUN_0002c160(0,param_2,*piVar15,uVar10);\n              DAT_0003fb88 = 1;\n              break;\n            }\n            *(size_t *)((int)local_90 + iVar9 * 4 + -4) = sVar18;\n            if (sVar18 <= local_8c) {\n              sVar18 = local_8c;\n            }\n          }\n        }\n        local_8c = sVar18;\n        piVar15 = piVar15 + 1;\n      } while (sVar17 - 1 != iVar9);" (do "do") (compound_statement "{\n        iVar12 = *piVar15;\n        iVar9 = iVar9 + 1;\n        sVar18 = local_8c;\n        if ((*(uint *)(iVar12 + 0x14) & 0x102) == 0x102) {\n          uVar35 = *(int *)(iVar12 + 0x20) + *(int *)(iVar12 + 0x24);\n          if (uVar35 < *(uint *)(piVar15[1] + 0x20)) {\n            sVar18 = *(uint *)(piVar15[1] + 0x20) - uVar35;\n            uVar43 = bfd_set_section_size(param_2,iVar12,*(int *)(iVar12 + 0x24) + sVar18);\n            if ((int)uVar43 == 0) {\n              uVar10 = dcgettext(0,"Can\'t fill gap after section",5,\n                                 (int)((ulonglong)uVar43 >> 0x20));\n              FUN_0002c160(0,param_2,*piVar15,uVar10);\n              DAT_0003fb88 = 1;\n              break;\n            }\n            *(size_t *)((int)local_90 + iVar9 * 4 + -4) = sVar18;\n            if (sVar18 <= local_8c) {\n              sVar18 = local_8c;\n            }\n          }\n        }\n        local_8c = sVar18;\n        piVar15 = piVar15 + 1;\n      }" ({ "{") (expression_statement "iVar12 = *piVar15;" (assignment_expression "iVar12 = *piVar15" (identifier "iVar12") (= "=") (pointer_expression "*piVar15" (* "*") (identifier "piVar15"))) (; ";")) (expression_statement "iVar9 = iVar9 + 1;" (assignment_expression "iVar9 = iVar9 + 1" (identifier "iVar9") (= "=") (binary_expression "iVar9 + 1" (identifier "iVar9") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "sVar18 = local_8c;" (assignment_expression "sVar18 = local_8c" (identifier "sVar18") (= "=") (identifier "local_8c")) (; ";")) (if_statement "if ((*(uint *)(iVar12 + 0x14) & 0x102) == 0x102) {\n          uVar35 = *(int *)(iVar12 + 0x20) + *(int *)(iVar12 + 0x24);\n          if (uVar35 < *(uint *)(piVar15[1] + 0x20)) {\n            sVar18 = *(uint *)(piVar15[1] + 0x20) - uVar35;\n            uVar43 = bfd_set_section_size(param_2,iVar12,*(int *)(iVar12 + 0x24) + sVar18);\n            if ((int)uVar43 == 0) {\n              uVar10 = dcgettext(0,"Can\'t fill gap after section",5,\n                                 (int)((ulonglong)uVar43 >> 0x20));\n              FUN_0002c160(0,param_2,*piVar15,uVar10);\n              DAT_0003fb88 = 1;\n              break;\n            }\n            *(size_t *)((int)local_90 + iVar9 * 4 + -4) = sVar18;\n            if (sVar18 <= local_8c) {\n              sVar18 = local_8c;\n            }\n          }\n        }" (if "if") (parenthesized_expression "((*(uint *)(iVar12 + 0x14) & 0x102) == 0x102)" (( "(") (binary_expression "(*(uint *)(iVar12 + 0x14) & 0x102) == 0x102" (parenthesized_expression "(*(uint *)(iVar12 + 0x14) & 0x102)" (( "(") (binary_expression "*(uint *)(iVar12 + 0x14) & 0x102" (pointer_expression "*(uint *)(iVar12 + 0x14)" (* "*") (cast_expression "(uint *)(iVar12 + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 + 0x14)" (( "(") (binary_expression "iVar12 + 0x14" (identifier "iVar12") (+ "+") (number_literal "0x14")) () ")")))) (& "&") (number_literal "0x102")) () ")")) (== "==") (number_literal "0x102")) () ")")) (compound_statement "{\n          uVar35 = *(int *)(iVar12 + 0x20) + *(int *)(iVar12 + 0x24);\n          if (uVar35 < *(uint *)(piVar15[1] + 0x20)) {\n            sVar18 = *(uint *)(piVar15[1] + 0x20) - uVar35;\n            uVar43 = bfd_set_section_size(param_2,iVar12,*(int *)(iVar12 + 0x24) + sVar18);\n            if ((int)uVar43 == 0) {\n              uVar10 = dcgettext(0,"Can\'t fill gap after section",5,\n                                 (int)((ulonglong)uVar43 >> 0x20));\n              FUN_0002c160(0,param_2,*piVar15,uVar10);\n              DAT_0003fb88 = 1;\n              break;\n            }\n            *(size_t *)((int)local_90 + iVar9 * 4 + -4) = sVar18;\n            if (sVar18 <= local_8c) {\n              sVar18 = local_8c;\n            }\n          }\n        }" ({ "{") (expression_statement "uVar35 = *(int *)(iVar12 + 0x20) + *(int *)(iVar12 + 0x24);" (assignment_expression "uVar35 = *(int *)(iVar12 + 0x20) + *(int *)(iVar12 + 0x24)" (identifier "uVar35") (= "=") (binary_expression "*(int *)(iVar12 + 0x20) + *(int *)(iVar12 + 0x24)" (pointer_expression "*(int *)(iVar12 + 0x20)" (* "*") (cast_expression "(int *)(iVar12 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 + 0x20)" (( "(") (binary_expression "iVar12 + 0x20" (identifier "iVar12") (+ "+") (number_literal "0x20")) () ")")))) (+ "+") (pointer_expression "*(int *)(iVar12 + 0x24)" (* "*") (cast_expression "(int *)(iVar12 + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 + 0x24)" (( "(") (binary_expression "iVar12 + 0x24" (identifier "iVar12") (+ "+") (number_literal "0x24")) () ")")))))) (; ";")) (if_statement "if (uVar35 < *(uint *)(piVar15[1] + 0x20)) {\n            sVar18 = *(uint *)(piVar15[1] + 0x20) - uVar35;\n            uVar43 = bfd_set_section_size(param_2,iVar12,*(int *)(iVar12 + 0x24) + sVar18);\n            if ((int)uVar43 == 0) {\n              uVar10 = dcgettext(0,"Can\'t fill gap after section",5,\n                                 (int)((ulonglong)uVar43 >> 0x20));\n              FUN_0002c160(0,param_2,*piVar15,uVar10);\n              DAT_0003fb88 = 1;\n              break;\n            }\n            *(size_t *)((int)local_90 + iVar9 * 4 + -4) = sVar18;\n            if (sVar18 <= local_8c) {\n              sVar18 = local_8c;\n            }\n          }" (if "if") (parenthesized_expression "(uVar35 < *(uint *)(piVar15[1] + 0x20))" (( "(") (binary_expression "uVar35 < *(uint *)(piVar15[1] + 0x20)" (identifier "uVar35") (< "<") (pointer_expression "*(uint *)(piVar15[1] + 0x20)" (* "*") (cast_expression "(uint *)(piVar15[1] + 0x20)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar15[1] + 0x20)" (( "(") (binary_expression "piVar15[1] + 0x20" (subscript_expression "piVar15[1]" (identifier "piVar15") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "0x20")) () ")"))))) () ")")) (compound_statement "{\n            sVar18 = *(uint *)(piVar15[1] + 0x20) - uVar35;\n            uVar43 = bfd_set_section_size(param_2,iVar12,*(int *)(iVar12 + 0x24) + sVar18);\n            if ((int)uVar43 == 0) {\n              uVar10 = dcgettext(0,"Can\'t fill gap after section",5,\n                                 (int)((ulonglong)uVar43 >> 0x20));\n              FUN_0002c160(0,param_2,*piVar15,uVar10);\n              DAT_0003fb88 = 1;\n              break;\n            }\n            *(size_t *)((int)local_90 + iVar9 * 4 + -4) = sVar18;\n            if (sVar18 <= local_8c) {\n              sVar18 = local_8c;\n            }\n          }" ({ "{") (expression_statement "sVar18 = *(uint *)(piVar15[1] + 0x20) - uVar35;" (assignment_expression "sVar18 = *(uint *)(piVar15[1] + 0x20) - uVar35" (identifier "sVar18") (= "=") (binary_expression "*(uint *)(piVar15[1] + 0x20) - uVar35" (pointer_expression "*(uint *)(piVar15[1] + 0x20)" (* "*") (cast_expression "(uint *)(piVar15[1] + 0x20)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar15[1] + 0x20)" (( "(") (binary_expression "piVar15[1] + 0x20" (subscript_expression "piVar15[1]" (identifier "piVar15") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "0x20")) () ")")))) (- "-") (identifier "uVar35"))) (; ";")) (expression_statement "uVar43 = bfd_set_section_size(param_2,iVar12,*(int *)(iVar12 + 0x24) + sVar18);" (assignment_expression "uVar43 = bfd_set_section_size(param_2,iVar12,*(int *)(iVar12 + 0x24) + sVar18)" (identifier "uVar43") (= "=") (call_expression "bfd_set_section_size(param_2,iVar12,*(int *)(iVar12 + 0x24) + sVar18)" (identifier "bfd_set_section_size") (argument_list "(param_2,iVar12,*(int *)(iVar12 + 0x24) + sVar18)" (( "(") (identifier "param_2") (, ",") (identifier "iVar12") (, ",") (binary_expression "*(int *)(iVar12 + 0x24) + sVar18" (pointer_expression "*(int *)(iVar12 + 0x24)" (* "*") (cast_expression "(int *)(iVar12 + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 + 0x24)" (( "(") (binary_expression "iVar12 + 0x24" (identifier "iVar12") (+ "+") (number_literal "0x24")) () ")")))) (+ "+") (identifier "sVar18")) () ")")))) (; ";")) (if_statement "if ((int)uVar43 == 0) {\n              uVar10 = dcgettext(0,"Can\'t fill gap after section",5,\n                                 (int)((ulonglong)uVar43 >> 0x20));\n              FUN_0002c160(0,param_2,*piVar15,uVar10);\n              DAT_0003fb88 = 1;\n              break;\n            }" (if "if") (parenthesized_expression "((int)uVar43 == 0)" (( "(") (binary_expression "(int)uVar43 == 0" (cast_expression "(int)uVar43" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar43")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              uVar10 = dcgettext(0,"Can\'t fill gap after section",5,\n                                 (int)((ulonglong)uVar43 >> 0x20));\n              FUN_0002c160(0,param_2,*piVar15,uVar10);\n              DAT_0003fb88 = 1;\n              break;\n            }" ({ "{") (expression_statement "uVar10 = dcgettext(0,"Can\'t fill gap after section",5,\n                                 (int)((ulonglong)uVar43 >> 0x20));" (assignment_expression "uVar10 = dcgettext(0,"Can\'t fill gap after section",5,\n                                 (int)((ulonglong)uVar43 >> 0x20))" (identifier "uVar10") (= "=") (call_expression "dcgettext(0,"Can\'t fill gap after section",5,\n                                 (int)((ulonglong)uVar43 >> 0x20))" (identifier "dcgettext") (argument_list "(0,"Can\'t fill gap after section",5,\n                                 (int)((ulonglong)uVar43 >> 0x20))" (( "(") (number_literal "0") (, ",") (string_literal ""Can\'t fill gap after section"" (" """) (string_content "Can") (escape_sequence "\'") (string_content "t fill gap after section") (" """)) (, ",") (number_literal "5") (, ",") (cast_expression "(int)((ulonglong)uVar43 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar43 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar43 >> 0x20" (cast_expression "(ulonglong)uVar43" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar43")) (>> ">>") (number_literal "0x20")) () ")"))) () ")")))) (; ";")) (expression_statement "FUN_0002c160(0,param_2,*piVar15,uVar10);" (call_expression "FUN_0002c160(0,param_2,*piVar15,uVar10)" (identifier "FUN_0002c160") (argument_list "(0,param_2,*piVar15,uVar10)" (( "(") (number_literal "0") (, ",") (identifier "param_2") (, ",") (pointer_expression "*piVar15" (* "*") (identifier "piVar15")) (, ",") (identifier "uVar10") () ")"))) (; ";")) (expression_statement "DAT_0003fb88 = 1;" (assignment_expression "DAT_0003fb88 = 1" (identifier "DAT_0003fb88") (= "=") (number_literal "1")) (; ";")) (break_statement "break;" (break "break") (; ";")) (} "}"))) (expression_statement "*(size_t *)((int)local_90 + iVar9 * 4 + -4) = sVar18;" (assignment_expression "*(size_t *)((int)local_90 + iVar9 * 4 + -4) = sVar18" (pointer_expression "*(size_t *)((int)local_90 + iVar9 * 4 + -4)" (* "*") (cast_expression "(size_t *)((int)local_90 + iVar9 * 4 + -4)" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_90 + iVar9 * 4 + -4)" (( "(") (binary_expression "(int)local_90 + iVar9 * 4 + -4" (binary_expression "(int)local_90 + iVar9 * 4" (cast_expression "(int)local_90" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_90")) (+ "+") (binary_expression "iVar9 * 4" (identifier "iVar9") (* "*") (number_literal "4"))) (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "sVar18")) (; ";")) (if_statement "if (sVar18 <= local_8c) {\n              sVar18 = local_8c;\n            }" (if "if") (parenthesized_expression "(sVar18 <= local_8c)" (( "(") (binary_expression "sVar18 <= local_8c" (identifier "sVar18") (<= "<=") (identifier "local_8c")) () ")")) (compound_statement "{\n              sVar18 = local_8c;\n            }" ({ "{") (expression_statement "sVar18 = local_8c;" (assignment_expression "sVar18 = local_8c" (identifier "sVar18") (= "=") (identifier "local_8c")) (; ";")) (} "}"))) (} "}"))) (} "}"))) (expression_statement "local_8c = sVar18;" (assignment_expression "local_8c = sVar18" (identifier "local_8c") (= "=") (identifier "sVar18")) (; ";")) (expression_statement "piVar15 = piVar15 + 1;" (assignment_expression "piVar15 = piVar15 + 1" (identifier "piVar15") (= "=") (binary_expression "piVar15 + 1" (identifier "piVar15") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(sVar17 - 1 != iVar9)" (( "(") (binary_expression "sVar17 - 1 != iVar9" (binary_expression "sVar17 - 1" (identifier "sVar17") (- "-") (number_literal "1")) (!= "!=") (identifier "iVar9")) () ")")) (; ";")) (} "}")))) (expression_statement "sVar18 = local_8c;" (assignment_expression "sVar18 = local_8c" (identifier "sVar18") (= "=") (identifier "local_8c")) (; ";")) (if_statement "if (DAT_0003fb4c != 0) {\n      iVar9 = local_84[sVar17 - 1];\n      uVar35 = *(int *)(iVar9 + 0x24) + *(int *)(iVar9 + 0x20);\n      if (uVar35 < DAT_0003fb48) {\n        iVar9 = bfd_set_section_size(param_2,iVar9,DAT_0003fb48 - *(int *)(iVar9 + 0x20));\n        if (iVar9 == 0) {\n          uVar10 = dcgettext(0,"can\'t add padding",5,uVar35);\n          FUN_0002c160(0,param_2,local_84[sVar17 - 1],uVar10);\n          DAT_0003fb88 = 1;\n        }\n        else {\n          sVar18 = DAT_0003fb48 - uVar35;\n          *(size_t *)((int)local_90 + (sVar23 - 4)) = sVar18;\n          if (sVar18 <= local_8c) {\n            sVar18 = local_8c;\n          }\n        }\n      }\n    }" (if "if") (parenthesized_expression "(DAT_0003fb4c != 0)" (( "(") (binary_expression "DAT_0003fb4c != 0" (identifier "DAT_0003fb4c") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      iVar9 = local_84[sVar17 - 1];\n      uVar35 = *(int *)(iVar9 + 0x24) + *(int *)(iVar9 + 0x20);\n      if (uVar35 < DAT_0003fb48) {\n        iVar9 = bfd_set_section_size(param_2,iVar9,DAT_0003fb48 - *(int *)(iVar9 + 0x20));\n        if (iVar9 == 0) {\n          uVar10 = dcgettext(0,"can\'t add padding",5,uVar35);\n          FUN_0002c160(0,param_2,local_84[sVar17 - 1],uVar10);\n          DAT_0003fb88 = 1;\n        }\n        else {\n          sVar18 = DAT_0003fb48 - uVar35;\n          *(size_t *)((int)local_90 + (sVar23 - 4)) = sVar18;\n          if (sVar18 <= local_8c) {\n            sVar18 = local_8c;\n          }\n        }\n      }\n    }" ({ "{") (expression_statement "iVar9 = local_84[sVar17 - 1];" (assignment_expression "iVar9 = local_84[sVar17 - 1]" (identifier "iVar9") (= "=") (subscript_expression "local_84[sVar17 - 1]" (identifier "local_84") ([ "[") (binary_expression "sVar17 - 1" (identifier "sVar17") (- "-") (number_literal "1")) (] "]"))) (; ";")) (expression_statement "uVar35 = *(int *)(iVar9 + 0x24) + *(int *)(iVar9 + 0x20);" (assignment_expression "uVar35 = *(int *)(iVar9 + 0x24) + *(int *)(iVar9 + 0x20)" (identifier "uVar35") (= "=") (binary_expression "*(int *)(iVar9 + 0x24) + *(int *)(iVar9 + 0x20)" (pointer_expression "*(int *)(iVar9 + 0x24)" (* "*") (cast_expression "(int *)(iVar9 + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x24)" (( "(") (binary_expression "iVar9 + 0x24" (identifier "iVar9") (+ "+") (number_literal "0x24")) () ")")))) (+ "+") (pointer_expression "*(int *)(iVar9 + 0x20)" (* "*") (cast_expression "(int *)(iVar9 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x20)" (( "(") (binary_expression "iVar9 + 0x20" (identifier "iVar9") (+ "+") (number_literal "0x20")) () ")")))))) (; ";")) (if_statement "if (uVar35 < DAT_0003fb48) {\n        iVar9 = bfd_set_section_size(param_2,iVar9,DAT_0003fb48 - *(int *)(iVar9 + 0x20));\n        if (iVar9 == 0) {\n          uVar10 = dcgettext(0,"can\'t add padding",5,uVar35);\n          FUN_0002c160(0,param_2,local_84[sVar17 - 1],uVar10);\n          DAT_0003fb88 = 1;\n        }\n        else {\n          sVar18 = DAT_0003fb48 - uVar35;\n          *(size_t *)((int)local_90 + (sVar23 - 4)) = sVar18;\n          if (sVar18 <= local_8c) {\n            sVar18 = local_8c;\n          }\n        }\n      }" (if "if") (parenthesized_expression "(uVar35 < DAT_0003fb48)" (( "(") (binary_expression "uVar35 < DAT_0003fb48" (identifier "uVar35") (< "<") (identifier "DAT_0003fb48")) () ")")) (compound_statement "{\n        iVar9 = bfd_set_section_size(param_2,iVar9,DAT_0003fb48 - *(int *)(iVar9 + 0x20));\n        if (iVar9 == 0) {\n          uVar10 = dcgettext(0,"can\'t add padding",5,uVar35);\n          FUN_0002c160(0,param_2,local_84[sVar17 - 1],uVar10);\n          DAT_0003fb88 = 1;\n        }\n        else {\n          sVar18 = DAT_0003fb48 - uVar35;\n          *(size_t *)((int)local_90 + (sVar23 - 4)) = sVar18;\n          if (sVar18 <= local_8c) {\n            sVar18 = local_8c;\n          }\n        }\n      }" ({ "{") (expression_statement "iVar9 = bfd_set_section_size(param_2,iVar9,DAT_0003fb48 - *(int *)(iVar9 + 0x20));" (assignment_expression "iVar9 = bfd_set_section_size(param_2,iVar9,DAT_0003fb48 - *(int *)(iVar9 + 0x20))" (identifier "iVar9") (= "=") (call_expression "bfd_set_section_size(param_2,iVar9,DAT_0003fb48 - *(int *)(iVar9 + 0x20))" (identifier "bfd_set_section_size") (argument_list "(param_2,iVar9,DAT_0003fb48 - *(int *)(iVar9 + 0x20))" (( "(") (identifier "param_2") (, ",") (identifier "iVar9") (, ",") (binary_expression "DAT_0003fb48 - *(int *)(iVar9 + 0x20)" (identifier "DAT_0003fb48") (- "-") (pointer_expression "*(int *)(iVar9 + 0x20)" (* "*") (cast_expression "(int *)(iVar9 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x20)" (( "(") (binary_expression "iVar9 + 0x20" (identifier "iVar9") (+ "+") (number_literal "0x20")) () ")"))))) () ")")))) (; ";")) (if_statement "if (iVar9 == 0) {\n          uVar10 = dcgettext(0,"can\'t add padding",5,uVar35);\n          FUN_0002c160(0,param_2,local_84[sVar17 - 1],uVar10);\n          DAT_0003fb88 = 1;\n        }\n        else {\n          sVar18 = DAT_0003fb48 - uVar35;\n          *(size_t *)((int)local_90 + (sVar23 - 4)) = sVar18;\n          if (sVar18 <= local_8c) {\n            sVar18 = local_8c;\n          }\n        }" (if "if") (parenthesized_expression "(iVar9 == 0)" (( "(") (binary_expression "iVar9 == 0" (identifier "iVar9") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          uVar10 = dcgettext(0,"can\'t add padding",5,uVar35);\n          FUN_0002c160(0,param_2,local_84[sVar17 - 1],uVar10);\n          DAT_0003fb88 = 1;\n        }" ({ "{") (expression_statement "uVar10 = dcgettext(0,"can\'t add padding",5,uVar35);" (assignment_expression "uVar10 = dcgettext(0,"can\'t add padding",5,uVar35)" (identifier "uVar10") (= "=") (call_expression "dcgettext(0,"can\'t add padding",5,uVar35)" (identifier "dcgettext") (argument_list "(0,"can\'t add padding",5,uVar35)" (( "(") (number_literal "0") (, ",") (string_literal ""can\'t add padding"" (" """) (string_content "can") (escape_sequence "\'") (string_content "t add padding") (" """)) (, ",") (number_literal "5") (, ",") (identifier "uVar35") () ")")))) (; ";")) (expression_statement "FUN_0002c160(0,param_2,local_84[sVar17 - 1],uVar10);" (call_expression "FUN_0002c160(0,param_2,local_84[sVar17 - 1],uVar10)" (identifier "FUN_0002c160") (argument_list "(0,param_2,local_84[sVar17 - 1],uVar10)" (( "(") (number_literal "0") (, ",") (identifier "param_2") (, ",") (subscript_expression "local_84[sVar17 - 1]" (identifier "local_84") ([ "[") (binary_expression "sVar17 - 1" (identifier "sVar17") (- "-") (number_literal "1")) (] "]")) (, ",") (identifier "uVar10") () ")"))) (; ";")) (expression_statement "DAT_0003fb88 = 1;" (assignment_expression "DAT_0003fb88 = 1" (identifier "DAT_0003fb88") (= "=") (number_literal "1")) (; ";")) (} "}")) (else_clause "else {\n          sVar18 = DAT_0003fb48 - uVar35;\n          *(size_t *)((int)local_90 + (sVar23 - 4)) = sVar18;\n          if (sVar18 <= local_8c) {\n            sVar18 = local_8c;\n          }\n        }" (else "else") (compound_statement "{\n          sVar18 = DAT_0003fb48 - uVar35;\n          *(size_t *)((int)local_90 + (sVar23 - 4)) = sVar18;\n          if (sVar18 <= local_8c) {\n            sVar18 = local_8c;\n          }\n        }" ({ "{") (expression_statement "sVar18 = DAT_0003fb48 - uVar35;" (assignment_expression "sVar18 = DAT_0003fb48 - uVar35" (identifier "sVar18") (= "=") (binary_expression "DAT_0003fb48 - uVar35" (identifier "DAT_0003fb48") (- "-") (identifier "uVar35"))) (; ";")) (expression_statement "*(size_t *)((int)local_90 + (sVar23 - 4)) = sVar18;" (assignment_expression "*(size_t *)((int)local_90 + (sVar23 - 4)) = sVar18" (pointer_expression "*(size_t *)((int)local_90 + (sVar23 - 4))" (* "*") (cast_expression "(size_t *)((int)local_90 + (sVar23 - 4))" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_90 + (sVar23 - 4))" (( "(") (binary_expression "(int)local_90 + (sVar23 - 4)" (cast_expression "(int)local_90" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_90")) (+ "+") (parenthesized_expression "(sVar23 - 4)" (( "(") (binary_expression "sVar23 - 4" (identifier "sVar23") (- "-") (number_literal "4")) () ")"))) () ")")))) (= "=") (identifier "sVar18")) (; ";")) (if_statement "if (sVar18 <= local_8c) {\n            sVar18 = local_8c;\n          }" (if "if") (parenthesized_expression "(sVar18 <= local_8c)" (( "(") (binary_expression "sVar18 <= local_8c" (identifier "sVar18") (<= "<=") (identifier "local_8c")) () ")")) (compound_statement "{\n            sVar18 = local_8c;\n          }" ({ "{") (expression_statement "sVar18 = local_8c;" (assignment_expression "sVar18 = local_8c" (identifier "sVar18") (= "=") (identifier "local_8c")) (; ";")) (} "}"))) (} "}")))) (} "}"))) (} "}"))) (} "}")))) (expression_statement "local_8c = sVar18;" (assignment_expression "local_8c = sVar18" (identifier "local_8c") (= "=") (identifier "sVar18")) (; ";")) (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" (identifier "local_94") (= "=") (number_literal "0")) (; ";")) (if_statement "if (DAT_0003fb28 != 0) {\n    local_94 = FUN_0001c0f0(param_1,DAT_0003fb9c,local_70,0);\n  }" (if "if") (parenthesized_expression "(DAT_0003fb28 != 0)" (( "(") (binary_expression "DAT_0003fb28 != 0" (identifier "DAT_0003fb28") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    local_94 = FUN_0001c0f0(param_1,DAT_0003fb9c,local_70,0);\n  }" ({ "{") (expression_statement "local_94 = FUN_0001c0f0(param_1,DAT_0003fb9c,local_70,0);" (assignment_expression "local_94 = FUN_0001c0f0(param_1,DAT_0003fb9c,local_70,0)" (identifier "local_94") (= "=") (call_expression "FUN_0001c0f0(param_1,DAT_0003fb9c,local_70,0)" (identifier "FUN_0001c0f0") (argument_list "(param_1,DAT_0003fb9c,local_70,0)" (( "(") (identifier "param_1") (, ",") (identifier "DAT_0003fb9c") (, ",") (identifier "local_70") (, ",") (number_literal "0") () ")")))) (; ";")) (} "}"))) (if_statement "if (DAT_0003fb78 - 2U < 6) {\nLAB_00019032:\n    if (DAT_0003fb78 != 7) {\nLAB_00019037:\n      bfd_set_error(0);\n      bfd_map_over_sections(param_1,FUN_00018470,DAT_0003fb9c);\n      iVar9 = bfd_get_error();\n      if (iVar9 != 0) {\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n    }\n    piVar15 = (int *)xmalloc((DAT_0003fae4 + local_70) * 4 + 4);\n    local_68 = DAT_0003fb9c;\n    uVar35 = param_1[10];\n    DAT_0003fb98 = piVar15;\n    if (local_70 != 0) {\n      piVar1 = DAT_0003fb9c + local_70;\n      local_70 = 0;\n      puVar16 = PTR__bfd_std_section_0003efc8 + 0xa8;\n      do {\n        iVar9 = DAT_0003fae4;\n        piVar3 = (int *)*local_68;\n        uVar26 = piVar3[3];\n        piVar19 = (int *)piVar3[1];\n        puVar4 = (undefined *)piVar3[4];\n        if (((DAT_0003fae8 != (int *)0x0) && (0 < DAT_0003fae4)) &&\n           (pcVar22 = (char *)DAT_0003fae8[5], pcVar22 != (char *)0x0)) {\n          local_5c = (int *)0x0;\n          piVar31 = DAT_0003fae8;\n          while (iVar12 = strcmp(pcVar22,(char *)piVar19), iVar12 != 0) {\n            local_5c = (int *)((int)local_5c + 1);\n            piVar31 = (int *)*piVar31;\n            if ((local_5c == (int *)iVar9) || (pcVar22 = (char *)piVar31[5], pcVar22 == (char *)0x0)\n               ) goto LAB_00019180;\n          }\n          free(pcVar22);\n          piVar31[5] = (int)"";\n          piVar31 = piVar15 + local_70;\n          local_70 = local_70 + 1;\n          iVar9 = FUN_000177e0();\n          *piVar31 = iVar9;\n        }\nLAB_00019180:\n        iVar9 = htab_elements(DAT_0003faf0);\n        piVar31 = piVar19;\n        if ((iVar9 != 0) || (DAT_0003fba0 != (undefined4 *)0x0)) {\n          local_2c = 0;\n          local_30 = piVar19;\n          iVar9 = htab_find(DAT_0003faf0,&local_30);\n          if (((iVar9 == 0) || (piVar31 = *(int **)(iVar9 + 4), piVar19 == piVar31)) &&\n             (puVar33 = DAT_0003fba0, (uVar26 & 0x100) != 0)) {\n            for (; piVar31 = piVar19, puVar33 != (undefined4 *)0x0;\n                puVar33 = (undefined4 *)puVar33[3]) {\n              iVar9 = strcmp((char *)*puVar33,(char *)piVar19);\n              if (iVar9 == 0) {\n                piVar31 = (int *)puVar33[1];\n                break;\n              }\n            }\n          }\n          piVar3[1] = (int)piVar31;\n        }\n        pcVar22 = DAT_0003fad8;\n        if ((char)*piVar31 == *(char *)(param_1[1] + 0x18)) {\n          if (DAT_0003fb1c == 0) {\n            if ((DAT_0003fb18 == 0) ||\n               ((((uVar26 & 0x82) == 0 && (puVar4 != puVar16)) &&\n                ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)))) goto LAB_00019203;\nLAB_0001943c:\n            piVar31 = (int *)((int)piVar31 + 1);\n            piVar3[1] = (int)piVar31;\n            goto LAB_00019203;\n          }\n          if (*(char *)(param_2[1] + 0x18) == '\0') goto LAB_0001943c;\n          if (DAT_0003fad8 != (char *)0x0) {\n            piVar31 = (int *)((int)piVar31 + 1);\n            piVar3[1] = (int)piVar31;\n            goto LAB_0001945b;\n          }\n          *(char *)piVar31 = *(char *)(param_2[1] + 0x18);\n          piVar3[1] = (int)piVar31;\n        }\n        else {\n          if (((DAT_0003fb1c == 0) || (*(char *)(param_2[1] + 0x18) == '\0')) ||\n             (*(char *)(param_1[1] + 0x18) != '\0')) {\nLAB_00019203:\n            if (pcVar22 == (char *)0x0) goto LAB_0001926f;\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = piVar19;\n          }\n          else {\nLAB_0001945b:\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = (int *)((int)piVar19 + 1);\n            *(char *)piVar19 = *(char *)(param_2[1] + 0x18);\n          }\n          pcVar22 = DAT_0003fad8;\n          if (DAT_0003fad8 != (char *)0x0) {\n            strcpy((char *)local_5c,DAT_0003fad8);\n            sVar17 = strlen(pcVar22);\n            local_5c = (int *)((int)local_5c + sVar17);\n          }\n          strcpy((char *)local_5c,(char *)piVar31);\n          piVar3[1] = (int)piVar19;\n          piVar31 = piVar19;\n        }\nLAB_0001926f:\n        if (DAT_0003fb78 == 7) goto LAB_000192f8;\n        if ((uVar26 & 0x20) == 0) {\n          if (((uVar26 & 0x100) == 0) ||\n             ((*(byte *)(**(int **)(piVar3[4] + 0x9c) + 0xc) & 0x20) == 0)) {\n            if ((((uVar35 >> 5 & 0x42) == 0) &&\n                (((uVar26 & 0x82) != 0 || ((*(byte *)(piVar3[4] + 0x15) & 0x10) != 0)))) ||\n               (iVar9 = bfd_decode_symclass(piVar3), iVar9 == 0x49)) {\nLAB_00019528:\n              iVar9 = FUN_00017880();\n              if (iVar9 == 0) goto LAB_000192e0;\n            }\n            else if ((((uVar26 & 0x82) == 0) && (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8)) &&\n                    ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)) {\n              if ((uVar26 & 4) == 0) {\n                if (((*(int *)(param_1[1] + 4) != 2) ||\n                    (iVar9 = *(int *)(piVar3[4] + 0x8c), iVar9 == 0)) ||\n                   (*(int *)(iVar9 + 0x24) == 0)) {\n                  if ((DAT_0003fb78 == 3) || (DAT_0003fb74 == 2)) goto LAB_000192f8;\n                  if (DAT_0003fb74 == 1) {\n                    iVar9 = bfd_is_local_label(param_1,piVar3,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }\n                goto LAB_00019528;\n              }\n              iVar9 = DAT_0003fb28;\n              if (1 < DAT_0003fb78 - 2U) {\njoined_r0x0001a13f:\n                if (iVar9 == 0) goto LAB_00019528;\n              }\n            }\n            else if (DAT_0003fb78 != 3) goto LAB_00019528;\n          }\n          else {\n            iVar9 = FUN_00017880();\n            if (iVar9 != 0) {\n              uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",\n                                 5,iVar9);\n              FUN_0002b6d0(uVar10,piVar31);\n              DAT_0003fb88 = 1;\n            }\nLAB_000192e0:\n            iVar9 = FUN_00017880();\n            if (iVar9 == 0) goto LAB_0001931c;\n          }\nLAB_000192f8:\n          if (((DAT_0003fadc != 0) && ((uVar26 & 0x4000) != 0)) ||\n             (iVar9 = FUN_00017880(), iVar9 != 0)) goto LAB_0001931c;\n        }\n        else {\n          iVar9 = FUN_00017880();\n          if (iVar9 != 0) {\n            uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",5)\n            ;\n            FUN_0002b6d0(uVar10,piVar31);\n            DAT_0003fb88 = 1;\n          }\nLAB_0001931c:\n          iVar9 = FUN_000178f0();\n          if (iVar9 == 0) {\n            if (((uVar26 & 2) != 0) && ((DAT_0003fae0 != 0 || (iVar9 = FUN_00017880(), iVar9 != 0)))\n               ) {\n              piVar3[3] = piVar3[3] & 0xfffffffdU | 0x80;\n            }\n            if (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8) {\n              if (((uVar26 & 0x82) != 0) &&\n                 (((iVar9 = FUN_00017880(), iVar9 != 0 ||\n                   ((iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0)))) ||\n                  ((DAT_0003fb10 != 0 &&\n                   ((((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)\n                    ))))))) {\n                piVar3[3] = piVar3[3] & 0xffffff7dU | 1;\n              }\n              if (((uVar26 & 1) != 0) && (iVar9 = FUN_00017880(), iVar9 != 0)) {\n                piVar3[3] = piVar3[3] & 0xfffffffeU | 2;\n              }\n            }\n            piVar15[local_70] = (int)piVar3;\n            local_70 = local_70 + 1;\n          }\n        }\n        local_68 = local_68 + 1;\n      } while (piVar1 != local_68);\n    }\n    local_5c = DAT_0003fae8;\n    if ((DAT_0003fae8 != (int *)0x0) && (0 < DAT_0003fae4)) {\n      iVar9 = 0;\n      do {\n        pcVar22 = (char *)local_5c[5];\n        if (pcVar22 == (char *)0x0) {\n          iVar12 = FUN_000177e0();\n          piVar15[local_70] = iVar12;\n          local_70 = local_70 + 1;\n        }\n        else if (*pcVar22 != '\0') {\n          uVar10 = dcgettext(0,"\'before=%s\' not found",5,local_70);\n                    \n          FUN_0002b6a0(uVar10,pcVar22);\n        }\n        iVar9 = iVar9 + 1;\n        local_5c = (int *)*local_5c;\n      } while (iVar9 < DAT_0003fae4);\n    }\n    piVar15[local_70] = 0;\n    if ((DAT_0003fb28 != 0) && (local_94 != 0)) {\n      iVar9 = ((undefined4 *)param_2[1])[1];\n      if ((iVar9 != 2) && (iVar9 != 5)) {\n        uVar10 = *(undefined4 *)param_2[1];\n        uVar11 = dcgettext(0,"don\'t know how to write debugging information for %s",5);\n        FUN_0002c160(0,param_2,0,uVar11,uVar10);\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n      iVar9 = FUN_0002b050(param_2,local_94,&local_4c,local_44,&local_48,&local_30);\n      if (iVar9 == 0) {\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n      iVar9 = bfd_make_section_with_flags(param_2,".stab",0x2108);\n      iVar12 = bfd_make_section_with_flags(param_2,".stabstr",0x2108);\n      if ((((iVar9 == 0) || (iVar12 == 0)) ||\n          (iVar21 = bfd_set_section_size(param_2,iVar9,local_44[0],iVar12), iVar21 == 0)) ||\n         (iVar21 = bfd_set_section_size(param_2,iVar12,local_30,iVar21), iVar21 == 0)) {\n        pcVar22 = "can\'t create debugging section";\nLAB_00019fcf:\n        uVar10 = dcgettext(0,pcVar22,5,iVar9);\n        FUN_0002c160(0,param_2,0,uVar10);\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n      *(undefined4 *)(iVar9 + 0x40) = 2;\n      *(undefined4 *)(iVar12 + 0x40) = 0;\n      iVar9 = bfd_set_section_contents(param_2,iVar9,local_4c,0,0,local_44[0],iVar21,iVar21);\n      if ((iVar9 == 0) ||\n         (iVar9 = bfd_set_section_contents\n                            (param_2,iVar12,local_48,0,0,local_30,extraout_ECX,extraout_ECX),\n         iVar9 == 0)) {\n        pcVar22 = "can\'t set debugging section contents";\n        iVar9 = iVar12;\n        goto LAB_00019fcf;\n      }\n    }\n  }\n  else {\n    if (DAT_0003fb10 != 0 || DAT_0003fb74 != 0) goto LAB_00019037;\n    iVar9 = htab_elements(DAT_0003fb0c);\n    if (((iVar9 != 0) || (iVar9 = htab_elements(DAT_0003fb04), iVar9 != 0)) ||\n       ((iVar9 = htab_elements(DAT_0003fb00), iVar9 != 0 ||\n        (((((iVar9 = htab_elements(DAT_0003fafc), iVar9 != 0 ||\n            (iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0)) ||\n           (iVar9 = htab_elements(DAT_0003faf4), iVar9 != 0)) ||\n          ((iVar9 = htab_elements(DAT_0003faf0), DAT_0003fad8 != (char *)0x0 ||\n           (DAT_0003fba0 != (undefined4 *)0x0)))) ||\n         (((((((DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0) || DAT_0003fb1c != 0)\n            || DAT_0003fb18 != 0) || DAT_0003fae0 != 0) || DAT_0003fae4 != 0) || iVar9 != 0))))))\n    goto LAB_00019032;\n  }" (if "if") (parenthesized_expression "(DAT_0003fb78 - 2U < 6)" (( "(") (binary_expression "DAT_0003fb78 - 2U < 6" (binary_expression "DAT_0003fb78 - 2U" (identifier "DAT_0003fb78") (- "-") (number_literal "2U")) (< "<") (number_literal "6")) () ")")) (compound_statement "{\nLAB_00019032:\n    if (DAT_0003fb78 != 7) {\nLAB_00019037:\n      bfd_set_error(0);\n      bfd_map_over_sections(param_1,FUN_00018470,DAT_0003fb9c);\n      iVar9 = bfd_get_error();\n      if (iVar9 != 0) {\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n    }\n    piVar15 = (int *)xmalloc((DAT_0003fae4 + local_70) * 4 + 4);\n    local_68 = DAT_0003fb9c;\n    uVar35 = param_1[10];\n    DAT_0003fb98 = piVar15;\n    if (local_70 != 0) {\n      piVar1 = DAT_0003fb9c + local_70;\n      local_70 = 0;\n      puVar16 = PTR__bfd_std_section_0003efc8 + 0xa8;\n      do {\n        iVar9 = DAT_0003fae4;\n        piVar3 = (int *)*local_68;\n        uVar26 = piVar3[3];\n        piVar19 = (int *)piVar3[1];\n        puVar4 = (undefined *)piVar3[4];\n        if (((DAT_0003fae8 != (int *)0x0) && (0 < DAT_0003fae4)) &&\n           (pcVar22 = (char *)DAT_0003fae8[5], pcVar22 != (char *)0x0)) {\n          local_5c = (int *)0x0;\n          piVar31 = DAT_0003fae8;\n          while (iVar12 = strcmp(pcVar22,(char *)piVar19), iVar12 != 0) {\n            local_5c = (int *)((int)local_5c + 1);\n            piVar31 = (int *)*piVar31;\n            if ((local_5c == (int *)iVar9) || (pcVar22 = (char *)piVar31[5], pcVar22 == (char *)0x0)\n               ) goto LAB_00019180;\n          }\n          free(pcVar22);\n          piVar31[5] = (int)"";\n          piVar31 = piVar15 + local_70;\n          local_70 = local_70 + 1;\n          iVar9 = FUN_000177e0();\n          *piVar31 = iVar9;\n        }\nLAB_00019180:\n        iVar9 = htab_elements(DAT_0003faf0);\n        piVar31 = piVar19;\n        if ((iVar9 != 0) || (DAT_0003fba0 != (undefined4 *)0x0)) {\n          local_2c = 0;\n          local_30 = piVar19;\n          iVar9 = htab_find(DAT_0003faf0,&local_30);\n          if (((iVar9 == 0) || (piVar31 = *(int **)(iVar9 + 4), piVar19 == piVar31)) &&\n             (puVar33 = DAT_0003fba0, (uVar26 & 0x100) != 0)) {\n            for (; piVar31 = piVar19, puVar33 != (undefined4 *)0x0;\n                puVar33 = (undefined4 *)puVar33[3]) {\n              iVar9 = strcmp((char *)*puVar33,(char *)piVar19);\n              if (iVar9 == 0) {\n                piVar31 = (int *)puVar33[1];\n                break;\n              }\n            }\n          }\n          piVar3[1] = (int)piVar31;\n        }\n        pcVar22 = DAT_0003fad8;\n        if ((char)*piVar31 == *(char *)(param_1[1] + 0x18)) {\n          if (DAT_0003fb1c == 0) {\n            if ((DAT_0003fb18 == 0) ||\n               ((((uVar26 & 0x82) == 0 && (puVar4 != puVar16)) &&\n                ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)))) goto LAB_00019203;\nLAB_0001943c:\n            piVar31 = (int *)((int)piVar31 + 1);\n            piVar3[1] = (int)piVar31;\n            goto LAB_00019203;\n          }\n          if (*(char *)(param_2[1] + 0x18) == '\0') goto LAB_0001943c;\n          if (DAT_0003fad8 != (char *)0x0) {\n            piVar31 = (int *)((int)piVar31 + 1);\n            piVar3[1] = (int)piVar31;\n            goto LAB_0001945b;\n          }\n          *(char *)piVar31 = *(char *)(param_2[1] + 0x18);\n          piVar3[1] = (int)piVar31;\n        }\n        else {\n          if (((DAT_0003fb1c == 0) || (*(char *)(param_2[1] + 0x18) == '\0')) ||\n             (*(char *)(param_1[1] + 0x18) != '\0')) {\nLAB_00019203:\n            if (pcVar22 == (char *)0x0) goto LAB_0001926f;\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = piVar19;\n          }\n          else {\nLAB_0001945b:\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = (int *)((int)piVar19 + 1);\n            *(char *)piVar19 = *(char *)(param_2[1] + 0x18);\n          }\n          pcVar22 = DAT_0003fad8;\n          if (DAT_0003fad8 != (char *)0x0) {\n            strcpy((char *)local_5c,DAT_0003fad8);\n            sVar17 = strlen(pcVar22);\n            local_5c = (int *)((int)local_5c + sVar17);\n          }\n          strcpy((char *)local_5c,(char *)piVar31);\n          piVar3[1] = (int)piVar19;\n          piVar31 = piVar19;\n        }\nLAB_0001926f:\n        if (DAT_0003fb78 == 7) goto LAB_000192f8;\n        if ((uVar26 & 0x20) == 0) {\n          if (((uVar26 & 0x100) == 0) ||\n             ((*(byte *)(**(int **)(piVar3[4] + 0x9c) + 0xc) & 0x20) == 0)) {\n            if ((((uVar35 >> 5 & 0x42) == 0) &&\n                (((uVar26 & 0x82) != 0 || ((*(byte *)(piVar3[4] + 0x15) & 0x10) != 0)))) ||\n               (iVar9 = bfd_decode_symclass(piVar3), iVar9 == 0x49)) {\nLAB_00019528:\n              iVar9 = FUN_00017880();\n              if (iVar9 == 0) goto LAB_000192e0;\n            }\n            else if ((((uVar26 & 0x82) == 0) && (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8)) &&\n                    ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)) {\n              if ((uVar26 & 4) == 0) {\n                if (((*(int *)(param_1[1] + 4) != 2) ||\n                    (iVar9 = *(int *)(piVar3[4] + 0x8c), iVar9 == 0)) ||\n                   (*(int *)(iVar9 + 0x24) == 0)) {\n                  if ((DAT_0003fb78 == 3) || (DAT_0003fb74 == 2)) goto LAB_000192f8;\n                  if (DAT_0003fb74 == 1) {\n                    iVar9 = bfd_is_local_label(param_1,piVar3,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }\n                goto LAB_00019528;\n              }\n              iVar9 = DAT_0003fb28;\n              if (1 < DAT_0003fb78 - 2U) {\njoined_r0x0001a13f:\n                if (iVar9 == 0) goto LAB_00019528;\n              }\n            }\n            else if (DAT_0003fb78 != 3) goto LAB_00019528;\n          }\n          else {\n            iVar9 = FUN_00017880();\n            if (iVar9 != 0) {\n              uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",\n                                 5,iVar9);\n              FUN_0002b6d0(uVar10,piVar31);\n              DAT_0003fb88 = 1;\n            }\nLAB_000192e0:\n            iVar9 = FUN_00017880();\n            if (iVar9 == 0) goto LAB_0001931c;\n          }\nLAB_000192f8:\n          if (((DAT_0003fadc != 0) && ((uVar26 & 0x4000) != 0)) ||\n             (iVar9 = FUN_00017880(), iVar9 != 0)) goto LAB_0001931c;\n        }\n        else {\n          iVar9 = FUN_00017880();\n          if (iVar9 != 0) {\n            uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",5)\n            ;\n            FUN_0002b6d0(uVar10,piVar31);\n            DAT_0003fb88 = 1;\n          }\nLAB_0001931c:\n          iVar9 = FUN_000178f0();\n          if (iVar9 == 0) {\n            if (((uVar26 & 2) != 0) && ((DAT_0003fae0 != 0 || (iVar9 = FUN_00017880(), iVar9 != 0)))\n               ) {\n              piVar3[3] = piVar3[3] & 0xfffffffdU | 0x80;\n            }\n            if (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8) {\n              if (((uVar26 & 0x82) != 0) &&\n                 (((iVar9 = FUN_00017880(), iVar9 != 0 ||\n                   ((iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0)))) ||\n                  ((DAT_0003fb10 != 0 &&\n                   ((((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)\n                    ))))))) {\n                piVar3[3] = piVar3[3] & 0xffffff7dU | 1;\n              }\n              if (((uVar26 & 1) != 0) && (iVar9 = FUN_00017880(), iVar9 != 0)) {\n                piVar3[3] = piVar3[3] & 0xfffffffeU | 2;\n              }\n            }\n            piVar15[local_70] = (int)piVar3;\n            local_70 = local_70 + 1;\n          }\n        }\n        local_68 = local_68 + 1;\n      } while (piVar1 != local_68);\n    }\n    local_5c = DAT_0003fae8;\n    if ((DAT_0003fae8 != (int *)0x0) && (0 < DAT_0003fae4)) {\n      iVar9 = 0;\n      do {\n        pcVar22 = (char *)local_5c[5];\n        if (pcVar22 == (char *)0x0) {\n          iVar12 = FUN_000177e0();\n          piVar15[local_70] = iVar12;\n          local_70 = local_70 + 1;\n        }\n        else if (*pcVar22 != '\0') {\n          uVar10 = dcgettext(0,"\'before=%s\' not found",5,local_70);\n                    \n          FUN_0002b6a0(uVar10,pcVar22);\n        }\n        iVar9 = iVar9 + 1;\n        local_5c = (int *)*local_5c;\n      } while (iVar9 < DAT_0003fae4);\n    }\n    piVar15[local_70] = 0;\n    if ((DAT_0003fb28 != 0) && (local_94 != 0)) {\n      iVar9 = ((undefined4 *)param_2[1])[1];\n      if ((iVar9 != 2) && (iVar9 != 5)) {\n        uVar10 = *(undefined4 *)param_2[1];\n        uVar11 = dcgettext(0,"don\'t know how to write debugging information for %s",5);\n        FUN_0002c160(0,param_2,0,uVar11,uVar10);\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n      iVar9 = FUN_0002b050(param_2,local_94,&local_4c,local_44,&local_48,&local_30);\n      if (iVar9 == 0) {\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n      iVar9 = bfd_make_section_with_flags(param_2,".stab",0x2108);\n      iVar12 = bfd_make_section_with_flags(param_2,".stabstr",0x2108);\n      if ((((iVar9 == 0) || (iVar12 == 0)) ||\n          (iVar21 = bfd_set_section_size(param_2,iVar9,local_44[0],iVar12), iVar21 == 0)) ||\n         (iVar21 = bfd_set_section_size(param_2,iVar12,local_30,iVar21), iVar21 == 0)) {\n        pcVar22 = "can\'t create debugging section";\nLAB_00019fcf:\n        uVar10 = dcgettext(0,pcVar22,5,iVar9);\n        FUN_0002c160(0,param_2,0,uVar10);\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n      *(undefined4 *)(iVar9 + 0x40) = 2;\n      *(undefined4 *)(iVar12 + 0x40) = 0;\n      iVar9 = bfd_set_section_contents(param_2,iVar9,local_4c,0,0,local_44[0],iVar21,iVar21);\n      if ((iVar9 == 0) ||\n         (iVar9 = bfd_set_section_contents\n                            (param_2,iVar12,local_48,0,0,local_30,extraout_ECX,extraout_ECX),\n         iVar9 == 0)) {\n        pcVar22 = "can\'t set debugging section contents";\n        iVar9 = iVar12;\n        goto LAB_00019fcf;\n      }\n    }\n  }" ({ "{") (labeled_statement "LAB_00019032:\n    if (DAT_0003fb78 != 7) {\nLAB_00019037:\n      bfd_set_error(0);\n      bfd_map_over_sections(param_1,FUN_00018470,DAT_0003fb9c);\n      iVar9 = bfd_get_error();\n      if (iVar9 != 0) {\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n    }" (statement_identifier "LAB_00019032") (: ":") (if_statement "if (DAT_0003fb78 != 7) {\nLAB_00019037:\n      bfd_set_error(0);\n      bfd_map_over_sections(param_1,FUN_00018470,DAT_0003fb9c);\n      iVar9 = bfd_get_error();\n      if (iVar9 != 0) {\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n    }" (if "if") (parenthesized_expression "(DAT_0003fb78 != 7)" (( "(") (binary_expression "DAT_0003fb78 != 7" (identifier "DAT_0003fb78") (!= "!=") (number_literal "7")) () ")")) (compound_statement "{\nLAB_00019037:\n      bfd_set_error(0);\n      bfd_map_over_sections(param_1,FUN_00018470,DAT_0003fb9c);\n      iVar9 = bfd_get_error();\n      if (iVar9 != 0) {\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n    }" ({ "{") (labeled_statement "LAB_00019037:\n      bfd_set_error(0);" (statement_identifier "LAB_00019037") (: ":") (expression_statement "bfd_set_error(0);" (call_expression "bfd_set_error(0)" (identifier "bfd_set_error") (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";"))) (expression_statement "bfd_map_over_sections(param_1,FUN_00018470,DAT_0003fb9c);" (call_expression "bfd_map_over_sections(param_1,FUN_00018470,DAT_0003fb9c)" (identifier "bfd_map_over_sections") (argument_list "(param_1,FUN_00018470,DAT_0003fb9c)" (( "(") (identifier "param_1") (, ",") (identifier "FUN_00018470") (, ",") (identifier "DAT_0003fb9c") () ")"))) (; ";")) (expression_statement "iVar9 = bfd_get_error();" (assignment_expression "iVar9 = bfd_get_error()" (identifier "iVar9") (= "=") (call_expression "bfd_get_error()" (identifier "bfd_get_error") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar9 != 0) {\n        DAT_0003fb88 = 1;\n        return 0;\n      }" (if "if") (parenthesized_expression "(iVar9 != 0)" (( "(") (binary_expression "iVar9 != 0" (identifier "iVar9") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        DAT_0003fb88 = 1;\n        return 0;\n      }" ({ "{") (expression_statement "DAT_0003fb88 = 1;" (assignment_expression "DAT_0003fb88 = 1" (identifier "DAT_0003fb88") (= "=") (number_literal "1")) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (} "}")))) (expression_statement "piVar15 = (int *)xmalloc((DAT_0003fae4 + local_70) * 4 + 4);" (assignment_expression "piVar15 = (int *)xmalloc((DAT_0003fae4 + local_70) * 4 + 4)" (identifier "piVar15") (= "=") (cast_expression "(int *)xmalloc((DAT_0003fae4 + local_70) * 4 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "xmalloc((DAT_0003fae4 + local_70) * 4 + 4)" (identifier "xmalloc") (argument_list "((DAT_0003fae4 + local_70) * 4 + 4)" (( "(") (binary_expression "(DAT_0003fae4 + local_70) * 4 + 4" (binary_expression "(DAT_0003fae4 + local_70) * 4" (parenthesized_expression "(DAT_0003fae4 + local_70)" (( "(") (binary_expression "DAT_0003fae4 + local_70" (identifier "DAT_0003fae4") (+ "+") (identifier "local_70")) () ")")) (* "*") (number_literal "4")) (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "local_68 = DAT_0003fb9c;" (assignment_expression "local_68 = DAT_0003fb9c" (identifier "local_68") (= "=") (identifier "DAT_0003fb9c")) (; ";")) (expression_statement "uVar35 = param_1[10];" (assignment_expression "uVar35 = param_1[10]" (identifier "uVar35") (= "=") (subscript_expression "param_1[10]" (identifier "param_1") ([ "[") (number_literal "10") (] "]"))) (; ";")) (expression_statement "DAT_0003fb98 = piVar15;" (assignment_expression "DAT_0003fb98 = piVar15" (identifier "DAT_0003fb98") (= "=") (identifier "piVar15")) (; ";")) (if_statement "if (local_70 != 0) {\n      piVar1 = DAT_0003fb9c + local_70;\n      local_70 = 0;\n      puVar16 = PTR__bfd_std_section_0003efc8 + 0xa8;\n      do {\n        iVar9 = DAT_0003fae4;\n        piVar3 = (int *)*local_68;\n        uVar26 = piVar3[3];\n        piVar19 = (int *)piVar3[1];\n        puVar4 = (undefined *)piVar3[4];\n        if (((DAT_0003fae8 != (int *)0x0) && (0 < DAT_0003fae4)) &&\n           (pcVar22 = (char *)DAT_0003fae8[5], pcVar22 != (char *)0x0)) {\n          local_5c = (int *)0x0;\n          piVar31 = DAT_0003fae8;\n          while (iVar12 = strcmp(pcVar22,(char *)piVar19), iVar12 != 0) {\n            local_5c = (int *)((int)local_5c + 1);\n            piVar31 = (int *)*piVar31;\n            if ((local_5c == (int *)iVar9) || (pcVar22 = (char *)piVar31[5], pcVar22 == (char *)0x0)\n               ) goto LAB_00019180;\n          }\n          free(pcVar22);\n          piVar31[5] = (int)"";\n          piVar31 = piVar15 + local_70;\n          local_70 = local_70 + 1;\n          iVar9 = FUN_000177e0();\n          *piVar31 = iVar9;\n        }\nLAB_00019180:\n        iVar9 = htab_elements(DAT_0003faf0);\n        piVar31 = piVar19;\n        if ((iVar9 != 0) || (DAT_0003fba0 != (undefined4 *)0x0)) {\n          local_2c = 0;\n          local_30 = piVar19;\n          iVar9 = htab_find(DAT_0003faf0,&local_30);\n          if (((iVar9 == 0) || (piVar31 = *(int **)(iVar9 + 4), piVar19 == piVar31)) &&\n             (puVar33 = DAT_0003fba0, (uVar26 & 0x100) != 0)) {\n            for (; piVar31 = piVar19, puVar33 != (undefined4 *)0x0;\n                puVar33 = (undefined4 *)puVar33[3]) {\n              iVar9 = strcmp((char *)*puVar33,(char *)piVar19);\n              if (iVar9 == 0) {\n                piVar31 = (int *)puVar33[1];\n                break;\n              }\n            }\n          }\n          piVar3[1] = (int)piVar31;\n        }\n        pcVar22 = DAT_0003fad8;\n        if ((char)*piVar31 == *(char *)(param_1[1] + 0x18)) {\n          if (DAT_0003fb1c == 0) {\n            if ((DAT_0003fb18 == 0) ||\n               ((((uVar26 & 0x82) == 0 && (puVar4 != puVar16)) &&\n                ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)))) goto LAB_00019203;\nLAB_0001943c:\n            piVar31 = (int *)((int)piVar31 + 1);\n            piVar3[1] = (int)piVar31;\n            goto LAB_00019203;\n          }\n          if (*(char *)(param_2[1] + 0x18) == '\0') goto LAB_0001943c;\n          if (DAT_0003fad8 != (char *)0x0) {\n            piVar31 = (int *)((int)piVar31 + 1);\n            piVar3[1] = (int)piVar31;\n            goto LAB_0001945b;\n          }\n          *(char *)piVar31 = *(char *)(param_2[1] + 0x18);\n          piVar3[1] = (int)piVar31;\n        }\n        else {\n          if (((DAT_0003fb1c == 0) || (*(char *)(param_2[1] + 0x18) == '\0')) ||\n             (*(char *)(param_1[1] + 0x18) != '\0')) {\nLAB_00019203:\n            if (pcVar22 == (char *)0x0) goto LAB_0001926f;\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = piVar19;\n          }\n          else {\nLAB_0001945b:\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = (int *)((int)piVar19 + 1);\n            *(char *)piVar19 = *(char *)(param_2[1] + 0x18);\n          }\n          pcVar22 = DAT_0003fad8;\n          if (DAT_0003fad8 != (char *)0x0) {\n            strcpy((char *)local_5c,DAT_0003fad8);\n            sVar17 = strlen(pcVar22);\n            local_5c = (int *)((int)local_5c + sVar17);\n          }\n          strcpy((char *)local_5c,(char *)piVar31);\n          piVar3[1] = (int)piVar19;\n          piVar31 = piVar19;\n        }\nLAB_0001926f:\n        if (DAT_0003fb78 == 7) goto LAB_000192f8;\n        if ((uVar26 & 0x20) == 0) {\n          if (((uVar26 & 0x100) == 0) ||\n             ((*(byte *)(**(int **)(piVar3[4] + 0x9c) + 0xc) & 0x20) == 0)) {\n            if ((((uVar35 >> 5 & 0x42) == 0) &&\n                (((uVar26 & 0x82) != 0 || ((*(byte *)(piVar3[4] + 0x15) & 0x10) != 0)))) ||\n               (iVar9 = bfd_decode_symclass(piVar3), iVar9 == 0x49)) {\nLAB_00019528:\n              iVar9 = FUN_00017880();\n              if (iVar9 == 0) goto LAB_000192e0;\n            }\n            else if ((((uVar26 & 0x82) == 0) && (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8)) &&\n                    ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)) {\n              if ((uVar26 & 4) == 0) {\n                if (((*(int *)(param_1[1] + 4) != 2) ||\n                    (iVar9 = *(int *)(piVar3[4] + 0x8c), iVar9 == 0)) ||\n                   (*(int *)(iVar9 + 0x24) == 0)) {\n                  if ((DAT_0003fb78 == 3) || (DAT_0003fb74 == 2)) goto LAB_000192f8;\n                  if (DAT_0003fb74 == 1) {\n                    iVar9 = bfd_is_local_label(param_1,piVar3,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }\n                goto LAB_00019528;\n              }\n              iVar9 = DAT_0003fb28;\n              if (1 < DAT_0003fb78 - 2U) {\njoined_r0x0001a13f:\n                if (iVar9 == 0) goto LAB_00019528;\n              }\n            }\n            else if (DAT_0003fb78 != 3) goto LAB_00019528;\n          }\n          else {\n            iVar9 = FUN_00017880();\n            if (iVar9 != 0) {\n              uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",\n                                 5,iVar9);\n              FUN_0002b6d0(uVar10,piVar31);\n              DAT_0003fb88 = 1;\n            }\nLAB_000192e0:\n            iVar9 = FUN_00017880();\n            if (iVar9 == 0) goto LAB_0001931c;\n          }\nLAB_000192f8:\n          if (((DAT_0003fadc != 0) && ((uVar26 & 0x4000) != 0)) ||\n             (iVar9 = FUN_00017880(), iVar9 != 0)) goto LAB_0001931c;\n        }\n        else {\n          iVar9 = FUN_00017880();\n          if (iVar9 != 0) {\n            uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",5)\n            ;\n            FUN_0002b6d0(uVar10,piVar31);\n            DAT_0003fb88 = 1;\n          }\nLAB_0001931c:\n          iVar9 = FUN_000178f0();\n          if (iVar9 == 0) {\n            if (((uVar26 & 2) != 0) && ((DAT_0003fae0 != 0 || (iVar9 = FUN_00017880(), iVar9 != 0)))\n               ) {\n              piVar3[3] = piVar3[3] & 0xfffffffdU | 0x80;\n            }\n            if (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8) {\n              if (((uVar26 & 0x82) != 0) &&\n                 (((iVar9 = FUN_00017880(), iVar9 != 0 ||\n                   ((iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0)))) ||\n                  ((DAT_0003fb10 != 0 &&\n                   ((((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)\n                    ))))))) {\n                piVar3[3] = piVar3[3] & 0xffffff7dU | 1;\n              }\n              if (((uVar26 & 1) != 0) && (iVar9 = FUN_00017880(), iVar9 != 0)) {\n                piVar3[3] = piVar3[3] & 0xfffffffeU | 2;\n              }\n            }\n            piVar15[local_70] = (int)piVar3;\n            local_70 = local_70 + 1;\n          }\n        }\n        local_68 = local_68 + 1;\n      } while (piVar1 != local_68);\n    }" (if "if") (parenthesized_expression "(local_70 != 0)" (( "(") (binary_expression "local_70 != 0" (identifier "local_70") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      piVar1 = DAT_0003fb9c + local_70;\n      local_70 = 0;\n      puVar16 = PTR__bfd_std_section_0003efc8 + 0xa8;\n      do {\n        iVar9 = DAT_0003fae4;\n        piVar3 = (int *)*local_68;\n        uVar26 = piVar3[3];\n        piVar19 = (int *)piVar3[1];\n        puVar4 = (undefined *)piVar3[4];\n        if (((DAT_0003fae8 != (int *)0x0) && (0 < DAT_0003fae4)) &&\n           (pcVar22 = (char *)DAT_0003fae8[5], pcVar22 != (char *)0x0)) {\n          local_5c = (int *)0x0;\n          piVar31 = DAT_0003fae8;\n          while (iVar12 = strcmp(pcVar22,(char *)piVar19), iVar12 != 0) {\n            local_5c = (int *)((int)local_5c + 1);\n            piVar31 = (int *)*piVar31;\n            if ((local_5c == (int *)iVar9) || (pcVar22 = (char *)piVar31[5], pcVar22 == (char *)0x0)\n               ) goto LAB_00019180;\n          }\n          free(pcVar22);\n          piVar31[5] = (int)"";\n          piVar31 = piVar15 + local_70;\n          local_70 = local_70 + 1;\n          iVar9 = FUN_000177e0();\n          *piVar31 = iVar9;\n        }\nLAB_00019180:\n        iVar9 = htab_elements(DAT_0003faf0);\n        piVar31 = piVar19;\n        if ((iVar9 != 0) || (DAT_0003fba0 != (undefined4 *)0x0)) {\n          local_2c = 0;\n          local_30 = piVar19;\n          iVar9 = htab_find(DAT_0003faf0,&local_30);\n          if (((iVar9 == 0) || (piVar31 = *(int **)(iVar9 + 4), piVar19 == piVar31)) &&\n             (puVar33 = DAT_0003fba0, (uVar26 & 0x100) != 0)) {\n            for (; piVar31 = piVar19, puVar33 != (undefined4 *)0x0;\n                puVar33 = (undefined4 *)puVar33[3]) {\n              iVar9 = strcmp((char *)*puVar33,(char *)piVar19);\n              if (iVar9 == 0) {\n                piVar31 = (int *)puVar33[1];\n                break;\n              }\n            }\n          }\n          piVar3[1] = (int)piVar31;\n        }\n        pcVar22 = DAT_0003fad8;\n        if ((char)*piVar31 == *(char *)(param_1[1] + 0x18)) {\n          if (DAT_0003fb1c == 0) {\n            if ((DAT_0003fb18 == 0) ||\n               ((((uVar26 & 0x82) == 0 && (puVar4 != puVar16)) &&\n                ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)))) goto LAB_00019203;\nLAB_0001943c:\n            piVar31 = (int *)((int)piVar31 + 1);\n            piVar3[1] = (int)piVar31;\n            goto LAB_00019203;\n          }\n          if (*(char *)(param_2[1] + 0x18) == '\0') goto LAB_0001943c;\n          if (DAT_0003fad8 != (char *)0x0) {\n            piVar31 = (int *)((int)piVar31 + 1);\n            piVar3[1] = (int)piVar31;\n            goto LAB_0001945b;\n          }\n          *(char *)piVar31 = *(char *)(param_2[1] + 0x18);\n          piVar3[1] = (int)piVar31;\n        }\n        else {\n          if (((DAT_0003fb1c == 0) || (*(char *)(param_2[1] + 0x18) == '\0')) ||\n             (*(char *)(param_1[1] + 0x18) != '\0')) {\nLAB_00019203:\n            if (pcVar22 == (char *)0x0) goto LAB_0001926f;\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = piVar19;\n          }\n          else {\nLAB_0001945b:\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = (int *)((int)piVar19 + 1);\n            *(char *)piVar19 = *(char *)(param_2[1] + 0x18);\n          }\n          pcVar22 = DAT_0003fad8;\n          if (DAT_0003fad8 != (char *)0x0) {\n            strcpy((char *)local_5c,DAT_0003fad8);\n            sVar17 = strlen(pcVar22);\n            local_5c = (int *)((int)local_5c + sVar17);\n          }\n          strcpy((char *)local_5c,(char *)piVar31);\n          piVar3[1] = (int)piVar19;\n          piVar31 = piVar19;\n        }\nLAB_0001926f:\n        if (DAT_0003fb78 == 7) goto LAB_000192f8;\n        if ((uVar26 & 0x20) == 0) {\n          if (((uVar26 & 0x100) == 0) ||\n             ((*(byte *)(**(int **)(piVar3[4] + 0x9c) + 0xc) & 0x20) == 0)) {\n            if ((((uVar35 >> 5 & 0x42) == 0) &&\n                (((uVar26 & 0x82) != 0 || ((*(byte *)(piVar3[4] + 0x15) & 0x10) != 0)))) ||\n               (iVar9 = bfd_decode_symclass(piVar3), iVar9 == 0x49)) {\nLAB_00019528:\n              iVar9 = FUN_00017880();\n              if (iVar9 == 0) goto LAB_000192e0;\n            }\n            else if ((((uVar26 & 0x82) == 0) && (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8)) &&\n                    ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)) {\n              if ((uVar26 & 4) == 0) {\n                if (((*(int *)(param_1[1] + 4) != 2) ||\n                    (iVar9 = *(int *)(piVar3[4] + 0x8c), iVar9 == 0)) ||\n                   (*(int *)(iVar9 + 0x24) == 0)) {\n                  if ((DAT_0003fb78 == 3) || (DAT_0003fb74 == 2)) goto LAB_000192f8;\n                  if (DAT_0003fb74 == 1) {\n                    iVar9 = bfd_is_local_label(param_1,piVar3,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }\n                goto LAB_00019528;\n              }\n              iVar9 = DAT_0003fb28;\n              if (1 < DAT_0003fb78 - 2U) {\njoined_r0x0001a13f:\n                if (iVar9 == 0) goto LAB_00019528;\n              }\n            }\n            else if (DAT_0003fb78 != 3) goto LAB_00019528;\n          }\n          else {\n            iVar9 = FUN_00017880();\n            if (iVar9 != 0) {\n              uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",\n                                 5,iVar9);\n              FUN_0002b6d0(uVar10,piVar31);\n              DAT_0003fb88 = 1;\n            }\nLAB_000192e0:\n            iVar9 = FUN_00017880();\n            if (iVar9 == 0) goto LAB_0001931c;\n          }\nLAB_000192f8:\n          if (((DAT_0003fadc != 0) && ((uVar26 & 0x4000) != 0)) ||\n             (iVar9 = FUN_00017880(), iVar9 != 0)) goto LAB_0001931c;\n        }\n        else {\n          iVar9 = FUN_00017880();\n          if (iVar9 != 0) {\n            uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",5)\n            ;\n            FUN_0002b6d0(uVar10,piVar31);\n            DAT_0003fb88 = 1;\n          }\nLAB_0001931c:\n          iVar9 = FUN_000178f0();\n          if (iVar9 == 0) {\n            if (((uVar26 & 2) != 0) && ((DAT_0003fae0 != 0 || (iVar9 = FUN_00017880(), iVar9 != 0)))\n               ) {\n              piVar3[3] = piVar3[3] & 0xfffffffdU | 0x80;\n            }\n            if (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8) {\n              if (((uVar26 & 0x82) != 0) &&\n                 (((iVar9 = FUN_00017880(), iVar9 != 0 ||\n                   ((iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0)))) ||\n                  ((DAT_0003fb10 != 0 &&\n                   ((((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)\n                    ))))))) {\n                piVar3[3] = piVar3[3] & 0xffffff7dU | 1;\n              }\n              if (((uVar26 & 1) != 0) && (iVar9 = FUN_00017880(), iVar9 != 0)) {\n                piVar3[3] = piVar3[3] & 0xfffffffeU | 2;\n              }\n            }\n            piVar15[local_70] = (int)piVar3;\n            local_70 = local_70 + 1;\n          }\n        }\n        local_68 = local_68 + 1;\n      } while (piVar1 != local_68);\n    }" ({ "{") (expression_statement "piVar1 = DAT_0003fb9c + local_70;" (assignment_expression "piVar1 = DAT_0003fb9c + local_70" (identifier "piVar1") (= "=") (binary_expression "DAT_0003fb9c + local_70" (identifier "DAT_0003fb9c") (+ "+") (identifier "local_70"))) (; ";")) (expression_statement "local_70 = 0;" (assignment_expression "local_70 = 0" (identifier "local_70") (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar16 = PTR__bfd_std_section_0003efc8 + 0xa8;" (assignment_expression "puVar16 = PTR__bfd_std_section_0003efc8 + 0xa8" (identifier "puVar16") (= "=") (binary_expression "PTR__bfd_std_section_0003efc8 + 0xa8" (identifier "PTR__bfd_std_section_0003efc8") (+ "+") (number_literal "0xa8"))) (; ";")) (do_statement "do {\n        iVar9 = DAT_0003fae4;\n        piVar3 = (int *)*local_68;\n        uVar26 = piVar3[3];\n        piVar19 = (int *)piVar3[1];\n        puVar4 = (undefined *)piVar3[4];\n        if (((DAT_0003fae8 != (int *)0x0) && (0 < DAT_0003fae4)) &&\n           (pcVar22 = (char *)DAT_0003fae8[5], pcVar22 != (char *)0x0)) {\n          local_5c = (int *)0x0;\n          piVar31 = DAT_0003fae8;\n          while (iVar12 = strcmp(pcVar22,(char *)piVar19), iVar12 != 0) {\n            local_5c = (int *)((int)local_5c + 1);\n            piVar31 = (int *)*piVar31;\n            if ((local_5c == (int *)iVar9) || (pcVar22 = (char *)piVar31[5], pcVar22 == (char *)0x0)\n               ) goto LAB_00019180;\n          }\n          free(pcVar22);\n          piVar31[5] = (int)"";\n          piVar31 = piVar15 + local_70;\n          local_70 = local_70 + 1;\n          iVar9 = FUN_000177e0();\n          *piVar31 = iVar9;\n        }\nLAB_00019180:\n        iVar9 = htab_elements(DAT_0003faf0);\n        piVar31 = piVar19;\n        if ((iVar9 != 0) || (DAT_0003fba0 != (undefined4 *)0x0)) {\n          local_2c = 0;\n          local_30 = piVar19;\n          iVar9 = htab_find(DAT_0003faf0,&local_30);\n          if (((iVar9 == 0) || (piVar31 = *(int **)(iVar9 + 4), piVar19 == piVar31)) &&\n             (puVar33 = DAT_0003fba0, (uVar26 & 0x100) != 0)) {\n            for (; piVar31 = piVar19, puVar33 != (undefined4 *)0x0;\n                puVar33 = (undefined4 *)puVar33[3]) {\n              iVar9 = strcmp((char *)*puVar33,(char *)piVar19);\n              if (iVar9 == 0) {\n                piVar31 = (int *)puVar33[1];\n                break;\n              }\n            }\n          }\n          piVar3[1] = (int)piVar31;\n        }\n        pcVar22 = DAT_0003fad8;\n        if ((char)*piVar31 == *(char *)(param_1[1] + 0x18)) {\n          if (DAT_0003fb1c == 0) {\n            if ((DAT_0003fb18 == 0) ||\n               ((((uVar26 & 0x82) == 0 && (puVar4 != puVar16)) &&\n                ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)))) goto LAB_00019203;\nLAB_0001943c:\n            piVar31 = (int *)((int)piVar31 + 1);\n            piVar3[1] = (int)piVar31;\n            goto LAB_00019203;\n          }\n          if (*(char *)(param_2[1] + 0x18) == '\0') goto LAB_0001943c;\n          if (DAT_0003fad8 != (char *)0x0) {\n            piVar31 = (int *)((int)piVar31 + 1);\n            piVar3[1] = (int)piVar31;\n            goto LAB_0001945b;\n          }\n          *(char *)piVar31 = *(char *)(param_2[1] + 0x18);\n          piVar3[1] = (int)piVar31;\n        }\n        else {\n          if (((DAT_0003fb1c == 0) || (*(char *)(param_2[1] + 0x18) == '\0')) ||\n             (*(char *)(param_1[1] + 0x18) != '\0')) {\nLAB_00019203:\n            if (pcVar22 == (char *)0x0) goto LAB_0001926f;\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = piVar19;\n          }\n          else {\nLAB_0001945b:\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = (int *)((int)piVar19 + 1);\n            *(char *)piVar19 = *(char *)(param_2[1] + 0x18);\n          }\n          pcVar22 = DAT_0003fad8;\n          if (DAT_0003fad8 != (char *)0x0) {\n            strcpy((char *)local_5c,DAT_0003fad8);\n            sVar17 = strlen(pcVar22);\n            local_5c = (int *)((int)local_5c + sVar17);\n          }\n          strcpy((char *)local_5c,(char *)piVar31);\n          piVar3[1] = (int)piVar19;\n          piVar31 = piVar19;\n        }\nLAB_0001926f:\n        if (DAT_0003fb78 == 7) goto LAB_000192f8;\n        if ((uVar26 & 0x20) == 0) {\n          if (((uVar26 & 0x100) == 0) ||\n             ((*(byte *)(**(int **)(piVar3[4] + 0x9c) + 0xc) & 0x20) == 0)) {\n            if ((((uVar35 >> 5 & 0x42) == 0) &&\n                (((uVar26 & 0x82) != 0 || ((*(byte *)(piVar3[4] + 0x15) & 0x10) != 0)))) ||\n               (iVar9 = bfd_decode_symclass(piVar3), iVar9 == 0x49)) {\nLAB_00019528:\n              iVar9 = FUN_00017880();\n              if (iVar9 == 0) goto LAB_000192e0;\n            }\n            else if ((((uVar26 & 0x82) == 0) && (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8)) &&\n                    ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)) {\n              if ((uVar26 & 4) == 0) {\n                if (((*(int *)(param_1[1] + 4) != 2) ||\n                    (iVar9 = *(int *)(piVar3[4] + 0x8c), iVar9 == 0)) ||\n                   (*(int *)(iVar9 + 0x24) == 0)) {\n                  if ((DAT_0003fb78 == 3) || (DAT_0003fb74 == 2)) goto LAB_000192f8;\n                  if (DAT_0003fb74 == 1) {\n                    iVar9 = bfd_is_local_label(param_1,piVar3,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }\n                goto LAB_00019528;\n              }\n              iVar9 = DAT_0003fb28;\n              if (1 < DAT_0003fb78 - 2U) {\njoined_r0x0001a13f:\n                if (iVar9 == 0) goto LAB_00019528;\n              }\n            }\n            else if (DAT_0003fb78 != 3) goto LAB_00019528;\n          }\n          else {\n            iVar9 = FUN_00017880();\n            if (iVar9 != 0) {\n              uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",\n                                 5,iVar9);\n              FUN_0002b6d0(uVar10,piVar31);\n              DAT_0003fb88 = 1;\n            }\nLAB_000192e0:\n            iVar9 = FUN_00017880();\n            if (iVar9 == 0) goto LAB_0001931c;\n          }\nLAB_000192f8:\n          if (((DAT_0003fadc != 0) && ((uVar26 & 0x4000) != 0)) ||\n             (iVar9 = FUN_00017880(), iVar9 != 0)) goto LAB_0001931c;\n        }\n        else {\n          iVar9 = FUN_00017880();\n          if (iVar9 != 0) {\n            uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",5)\n            ;\n            FUN_0002b6d0(uVar10,piVar31);\n            DAT_0003fb88 = 1;\n          }\nLAB_0001931c:\n          iVar9 = FUN_000178f0();\n          if (iVar9 == 0) {\n            if (((uVar26 & 2) != 0) && ((DAT_0003fae0 != 0 || (iVar9 = FUN_00017880(), iVar9 != 0)))\n               ) {\n              piVar3[3] = piVar3[3] & 0xfffffffdU | 0x80;\n            }\n            if (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8) {\n              if (((uVar26 & 0x82) != 0) &&\n                 (((iVar9 = FUN_00017880(), iVar9 != 0 ||\n                   ((iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0)))) ||\n                  ((DAT_0003fb10 != 0 &&\n                   ((((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)\n                    ))))))) {\n                piVar3[3] = piVar3[3] & 0xffffff7dU | 1;\n              }\n              if (((uVar26 & 1) != 0) && (iVar9 = FUN_00017880(), iVar9 != 0)) {\n                piVar3[3] = piVar3[3] & 0xfffffffeU | 2;\n              }\n            }\n            piVar15[local_70] = (int)piVar3;\n            local_70 = local_70 + 1;\n          }\n        }\n        local_68 = local_68 + 1;\n      } while (piVar1 != local_68);" (do "do") (compound_statement "{\n        iVar9 = DAT_0003fae4;\n        piVar3 = (int *)*local_68;\n        uVar26 = piVar3[3];\n        piVar19 = (int *)piVar3[1];\n        puVar4 = (undefined *)piVar3[4];\n        if (((DAT_0003fae8 != (int *)0x0) && (0 < DAT_0003fae4)) &&\n           (pcVar22 = (char *)DAT_0003fae8[5], pcVar22 != (char *)0x0)) {\n          local_5c = (int *)0x0;\n          piVar31 = DAT_0003fae8;\n          while (iVar12 = strcmp(pcVar22,(char *)piVar19), iVar12 != 0) {\n            local_5c = (int *)((int)local_5c + 1);\n            piVar31 = (int *)*piVar31;\n            if ((local_5c == (int *)iVar9) || (pcVar22 = (char *)piVar31[5], pcVar22 == (char *)0x0)\n               ) goto LAB_00019180;\n          }\n          free(pcVar22);\n          piVar31[5] = (int)"";\n          piVar31 = piVar15 + local_70;\n          local_70 = local_70 + 1;\n          iVar9 = FUN_000177e0();\n          *piVar31 = iVar9;\n        }\nLAB_00019180:\n        iVar9 = htab_elements(DAT_0003faf0);\n        piVar31 = piVar19;\n        if ((iVar9 != 0) || (DAT_0003fba0 != (undefined4 *)0x0)) {\n          local_2c = 0;\n          local_30 = piVar19;\n          iVar9 = htab_find(DAT_0003faf0,&local_30);\n          if (((iVar9 == 0) || (piVar31 = *(int **)(iVar9 + 4), piVar19 == piVar31)) &&\n             (puVar33 = DAT_0003fba0, (uVar26 & 0x100) != 0)) {\n            for (; piVar31 = piVar19, puVar33 != (undefined4 *)0x0;\n                puVar33 = (undefined4 *)puVar33[3]) {\n              iVar9 = strcmp((char *)*puVar33,(char *)piVar19);\n              if (iVar9 == 0) {\n                piVar31 = (int *)puVar33[1];\n                break;\n              }\n            }\n          }\n          piVar3[1] = (int)piVar31;\n        }\n        pcVar22 = DAT_0003fad8;\n        if ((char)*piVar31 == *(char *)(param_1[1] + 0x18)) {\n          if (DAT_0003fb1c == 0) {\n            if ((DAT_0003fb18 == 0) ||\n               ((((uVar26 & 0x82) == 0 && (puVar4 != puVar16)) &&\n                ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)))) goto LAB_00019203;\nLAB_0001943c:\n            piVar31 = (int *)((int)piVar31 + 1);\n            piVar3[1] = (int)piVar31;\n            goto LAB_00019203;\n          }\n          if (*(char *)(param_2[1] + 0x18) == '\0') goto LAB_0001943c;\n          if (DAT_0003fad8 != (char *)0x0) {\n            piVar31 = (int *)((int)piVar31 + 1);\n            piVar3[1] = (int)piVar31;\n            goto LAB_0001945b;\n          }\n          *(char *)piVar31 = *(char *)(param_2[1] + 0x18);\n          piVar3[1] = (int)piVar31;\n        }\n        else {\n          if (((DAT_0003fb1c == 0) || (*(char *)(param_2[1] + 0x18) == '\0')) ||\n             (*(char *)(param_1[1] + 0x18) != '\0')) {\nLAB_00019203:\n            if (pcVar22 == (char *)0x0) goto LAB_0001926f;\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = piVar19;\n          }\n          else {\nLAB_0001945b:\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = (int *)((int)piVar19 + 1);\n            *(char *)piVar19 = *(char *)(param_2[1] + 0x18);\n          }\n          pcVar22 = DAT_0003fad8;\n          if (DAT_0003fad8 != (char *)0x0) {\n            strcpy((char *)local_5c,DAT_0003fad8);\n            sVar17 = strlen(pcVar22);\n            local_5c = (int *)((int)local_5c + sVar17);\n          }\n          strcpy((char *)local_5c,(char *)piVar31);\n          piVar3[1] = (int)piVar19;\n          piVar31 = piVar19;\n        }\nLAB_0001926f:\n        if (DAT_0003fb78 == 7) goto LAB_000192f8;\n        if ((uVar26 & 0x20) == 0) {\n          if (((uVar26 & 0x100) == 0) ||\n             ((*(byte *)(**(int **)(piVar3[4] + 0x9c) + 0xc) & 0x20) == 0)) {\n            if ((((uVar35 >> 5 & 0x42) == 0) &&\n                (((uVar26 & 0x82) != 0 || ((*(byte *)(piVar3[4] + 0x15) & 0x10) != 0)))) ||\n               (iVar9 = bfd_decode_symclass(piVar3), iVar9 == 0x49)) {\nLAB_00019528:\n              iVar9 = FUN_00017880();\n              if (iVar9 == 0) goto LAB_000192e0;\n            }\n            else if ((((uVar26 & 0x82) == 0) && (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8)) &&\n                    ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)) {\n              if ((uVar26 & 4) == 0) {\n                if (((*(int *)(param_1[1] + 4) != 2) ||\n                    (iVar9 = *(int *)(piVar3[4] + 0x8c), iVar9 == 0)) ||\n                   (*(int *)(iVar9 + 0x24) == 0)) {\n                  if ((DAT_0003fb78 == 3) || (DAT_0003fb74 == 2)) goto LAB_000192f8;\n                  if (DAT_0003fb74 == 1) {\n                    iVar9 = bfd_is_local_label(param_1,piVar3,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }\n                goto LAB_00019528;\n              }\n              iVar9 = DAT_0003fb28;\n              if (1 < DAT_0003fb78 - 2U) {\njoined_r0x0001a13f:\n                if (iVar9 == 0) goto LAB_00019528;\n              }\n            }\n            else if (DAT_0003fb78 != 3) goto LAB_00019528;\n          }\n          else {\n            iVar9 = FUN_00017880();\n            if (iVar9 != 0) {\n              uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",\n                                 5,iVar9);\n              FUN_0002b6d0(uVar10,piVar31);\n              DAT_0003fb88 = 1;\n            }\nLAB_000192e0:\n            iVar9 = FUN_00017880();\n            if (iVar9 == 0) goto LAB_0001931c;\n          }\nLAB_000192f8:\n          if (((DAT_0003fadc != 0) && ((uVar26 & 0x4000) != 0)) ||\n             (iVar9 = FUN_00017880(), iVar9 != 0)) goto LAB_0001931c;\n        }\n        else {\n          iVar9 = FUN_00017880();\n          if (iVar9 != 0) {\n            uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",5)\n            ;\n            FUN_0002b6d0(uVar10,piVar31);\n            DAT_0003fb88 = 1;\n          }\nLAB_0001931c:\n          iVar9 = FUN_000178f0();\n          if (iVar9 == 0) {\n            if (((uVar26 & 2) != 0) && ((DAT_0003fae0 != 0 || (iVar9 = FUN_00017880(), iVar9 != 0)))\n               ) {\n              piVar3[3] = piVar3[3] & 0xfffffffdU | 0x80;\n            }\n            if (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8) {\n              if (((uVar26 & 0x82) != 0) &&\n                 (((iVar9 = FUN_00017880(), iVar9 != 0 ||\n                   ((iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0)))) ||\n                  ((DAT_0003fb10 != 0 &&\n                   ((((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)\n                    ))))))) {\n                piVar3[3] = piVar3[3] & 0xffffff7dU | 1;\n              }\n              if (((uVar26 & 1) != 0) && (iVar9 = FUN_00017880(), iVar9 != 0)) {\n                piVar3[3] = piVar3[3] & 0xfffffffeU | 2;\n              }\n            }\n            piVar15[local_70] = (int)piVar3;\n            local_70 = local_70 + 1;\n          }\n        }\n        local_68 = local_68 + 1;\n      }" ({ "{") (expression_statement "iVar9 = DAT_0003fae4;" (assignment_expression "iVar9 = DAT_0003fae4" (identifier "iVar9") (= "=") (identifier "DAT_0003fae4")) (; ";")) (expression_statement "piVar3 = (int *)*local_68;" (assignment_expression "piVar3 = (int *)*local_68" (identifier "piVar3") (= "=") (cast_expression "(int *)*local_68" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*local_68" (* "*") (identifier "local_68")))) (; ";")) (expression_statement "uVar26 = piVar3[3];" (assignment_expression "uVar26 = piVar3[3]" (identifier "uVar26") (= "=") (subscript_expression "piVar3[3]" (identifier "piVar3") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "piVar19 = (int *)piVar3[1];" (assignment_expression "piVar19 = (int *)piVar3[1]" (identifier "piVar19") (= "=") (cast_expression "(int *)piVar3[1]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar3[1]" (identifier "piVar3") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "puVar4 = (undefined *)piVar3[4];" (assignment_expression "puVar4 = (undefined *)piVar3[4]" (identifier "puVar4") (= "=") (cast_expression "(undefined *)piVar3[4]" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar3[4]" (identifier "piVar3") ([ "[") (number_literal "4") (] "]")))) (; ";")) (if_statement "if (((DAT_0003fae8 != (int *)0x0) && (0 < DAT_0003fae4)) &&\n           (pcVar22 = (char *)DAT_0003fae8[5], pcVar22 != (char *)0x0)) {\n          local_5c = (int *)0x0;\n          piVar31 = DAT_0003fae8;\n          while (iVar12 = strcmp(pcVar22,(char *)piVar19), iVar12 != 0) {\n            local_5c = (int *)((int)local_5c + 1);\n            piVar31 = (int *)*piVar31;\n            if ((local_5c == (int *)iVar9) || (pcVar22 = (char *)piVar31[5], pcVar22 == (char *)0x0)\n               ) goto LAB_00019180;\n          }\n          free(pcVar22);\n          piVar31[5] = (int)"";\n          piVar31 = piVar15 + local_70;\n          local_70 = local_70 + 1;\n          iVar9 = FUN_000177e0();\n          *piVar31 = iVar9;\n        }" (if "if") (parenthesized_expression "(((DAT_0003fae8 != (int *)0x0) && (0 < DAT_0003fae4)) &&\n           (pcVar22 = (char *)DAT_0003fae8[5], pcVar22 != (char *)0x0))" (( "(") (binary_expression "((DAT_0003fae8 != (int *)0x0) && (0 < DAT_0003fae4)) &&\n           (pcVar22 = (char *)DAT_0003fae8[5], pcVar22 != (char *)0x0)" (parenthesized_expression "((DAT_0003fae8 != (int *)0x0) && (0 < DAT_0003fae4))" (( "(") (binary_expression "(DAT_0003fae8 != (int *)0x0) && (0 < DAT_0003fae4)" (parenthesized_expression "(DAT_0003fae8 != (int *)0x0)" (( "(") (binary_expression "DAT_0003fae8 != (int *)0x0" (identifier "DAT_0003fae8") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(0 < DAT_0003fae4)" (( "(") (binary_expression "0 < DAT_0003fae4" (number_literal "0") (< "<") (identifier "DAT_0003fae4")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(pcVar22 = (char *)DAT_0003fae8[5], pcVar22 != (char *)0x0)" (( "(") (comma_expression "pcVar22 = (char *)DAT_0003fae8[5], pcVar22 != (char *)0x0" (assignment_expression "pcVar22 = (char *)DAT_0003fae8[5]" (identifier "pcVar22") (= "=") (cast_expression "(char *)DAT_0003fae8[5]" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "DAT_0003fae8[5]" (identifier "DAT_0003fae8") ([ "[") (number_literal "5") (] "]")))) (, ",") (binary_expression "pcVar22 != (char *)0x0" (identifier "pcVar22") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (compound_statement "{\n          local_5c = (int *)0x0;\n          piVar31 = DAT_0003fae8;\n          while (iVar12 = strcmp(pcVar22,(char *)piVar19), iVar12 != 0) {\n            local_5c = (int *)((int)local_5c + 1);\n            piVar31 = (int *)*piVar31;\n            if ((local_5c == (int *)iVar9) || (pcVar22 = (char *)piVar31[5], pcVar22 == (char *)0x0)\n               ) goto LAB_00019180;\n          }\n          free(pcVar22);\n          piVar31[5] = (int)"";\n          piVar31 = piVar15 + local_70;\n          local_70 = local_70 + 1;\n          iVar9 = FUN_000177e0();\n          *piVar31 = iVar9;\n        }" ({ "{") (expression_statement "local_5c = (int *)0x0;" (assignment_expression "local_5c = (int *)0x0" (identifier "local_5c") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "piVar31 = DAT_0003fae8;" (assignment_expression "piVar31 = DAT_0003fae8" (identifier "piVar31") (= "=") (identifier "DAT_0003fae8")) (; ";")) (while_statement "while (iVar12 = strcmp(pcVar22,(char *)piVar19), iVar12 != 0) {\n            local_5c = (int *)((int)local_5c + 1);\n            piVar31 = (int *)*piVar31;\n            if ((local_5c == (int *)iVar9) || (pcVar22 = (char *)piVar31[5], pcVar22 == (char *)0x0)\n               ) goto LAB_00019180;\n          }" (while "while") (parenthesized_expression "(iVar12 = strcmp(pcVar22,(char *)piVar19), iVar12 != 0)" (( "(") (comma_expression "iVar12 = strcmp(pcVar22,(char *)piVar19), iVar12 != 0" (assignment_expression "iVar12 = strcmp(pcVar22,(char *)piVar19)" (identifier "iVar12") (= "=") (call_expression "strcmp(pcVar22,(char *)piVar19)" (identifier "strcmp") (argument_list "(pcVar22,(char *)piVar19)" (( "(") (identifier "pcVar22") (, ",") (cast_expression "(char *)piVar19" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "piVar19")) () ")")))) (, ",") (binary_expression "iVar12 != 0" (identifier "iVar12") (!= "!=") (number_literal "0"))) () ")")) (compound_statement "{\n            local_5c = (int *)((int)local_5c + 1);\n            piVar31 = (int *)*piVar31;\n            if ((local_5c == (int *)iVar9) || (pcVar22 = (char *)piVar31[5], pcVar22 == (char *)0x0)\n               ) goto LAB_00019180;\n          }" ({ "{") (expression_statement "local_5c = (int *)((int)local_5c + 1);" (assignment_expression "local_5c = (int *)((int)local_5c + 1)" (identifier "local_5c") (= "=") (cast_expression "(int *)((int)local_5c + 1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_5c + 1)" (( "(") (binary_expression "(int)local_5c + 1" (cast_expression "(int)local_5c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_5c")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "piVar31 = (int *)*piVar31;" (assignment_expression "piVar31 = (int *)*piVar31" (identifier "piVar31") (= "=") (cast_expression "(int *)*piVar31" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar31" (* "*") (identifier "piVar31")))) (; ";")) (if_statement "if ((local_5c == (int *)iVar9) || (pcVar22 = (char *)piVar31[5], pcVar22 == (char *)0x0)\n               ) goto LAB_00019180;" (if "if") (parenthesized_expression "((local_5c == (int *)iVar9) || (pcVar22 = (char *)piVar31[5], pcVar22 == (char *)0x0)\n               )" (( "(") (binary_expression "(local_5c == (int *)iVar9) || (pcVar22 = (char *)piVar31[5], pcVar22 == (char *)0x0)" (parenthesized_expression "(local_5c == (int *)iVar9)" (( "(") (binary_expression "local_5c == (int *)iVar9" (identifier "local_5c") (== "==") (cast_expression "(int *)iVar9" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "iVar9"))) () ")")) (|| "||") (parenthesized_expression "(pcVar22 = (char *)piVar31[5], pcVar22 == (char *)0x0)" (( "(") (comma_expression "pcVar22 = (char *)piVar31[5], pcVar22 == (char *)0x0" (assignment_expression "pcVar22 = (char *)piVar31[5]" (identifier "pcVar22") (= "=") (cast_expression "(char *)piVar31[5]" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar31[5]" (identifier "piVar31") ([ "[") (number_literal "5") (] "]")))) (, ",") (binary_expression "pcVar22 == (char *)0x0" (identifier "pcVar22") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (goto_statement "goto LAB_00019180;" (goto "goto") (statement_identifier "LAB_00019180") (; ";"))) (} "}"))) (expression_statement "free(pcVar22);" (call_expression "free(pcVar22)" (identifier "free") (argument_list "(pcVar22)" (( "(") (identifier "pcVar22") () ")"))) (; ";")) (expression_statement "piVar31[5] = (int)"";" (assignment_expression "piVar31[5] = (int)""" (subscript_expression "piVar31[5]" (identifier "piVar31") ([ "[") (number_literal "5") (] "]")) (= "=") (cast_expression "(int)""" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (string_literal """" (" """) (" """)))) (; ";")) (expression_statement "piVar31 = piVar15 + local_70;" (assignment_expression "piVar31 = piVar15 + local_70" (identifier "piVar31") (= "=") (binary_expression "piVar15 + local_70" (identifier "piVar15") (+ "+") (identifier "local_70"))) (; ";")) (expression_statement "local_70 = local_70 + 1;" (assignment_expression "local_70 = local_70 + 1" (identifier "local_70") (= "=") (binary_expression "local_70 + 1" (identifier "local_70") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar9 = FUN_000177e0();" (assignment_expression "iVar9 = FUN_000177e0()" (identifier "iVar9") (= "=") (call_expression "FUN_000177e0()" (identifier "FUN_000177e0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*piVar31 = iVar9;" (assignment_expression "*piVar31 = iVar9" (pointer_expression "*piVar31" (* "*") (identifier "piVar31")) (= "=") (identifier "iVar9")) (; ";")) (} "}"))) (labeled_statement "LAB_00019180:\n        iVar9 = htab_elements(DAT_0003faf0);" (statement_identifier "LAB_00019180") (: ":") (expression_statement "iVar9 = htab_elements(DAT_0003faf0);" (assignment_expression "iVar9 = htab_elements(DAT_0003faf0)" (identifier "iVar9") (= "=") (call_expression "htab_elements(DAT_0003faf0)" (identifier "htab_elements") (argument_list "(DAT_0003faf0)" (( "(") (identifier "DAT_0003faf0") () ")")))) (; ";"))) (expression_statement "piVar31 = piVar19;" (assignment_expression "piVar31 = piVar19" (identifier "piVar31") (= "=") (identifier "piVar19")) (; ";")) (if_statement "if ((iVar9 != 0) || (DAT_0003fba0 != (undefined4 *)0x0)) {\n          local_2c = 0;\n          local_30 = piVar19;\n          iVar9 = htab_find(DAT_0003faf0,&local_30);\n          if (((iVar9 == 0) || (piVar31 = *(int **)(iVar9 + 4), piVar19 == piVar31)) &&\n             (puVar33 = DAT_0003fba0, (uVar26 & 0x100) != 0)) {\n            for (; piVar31 = piVar19, puVar33 != (undefined4 *)0x0;\n                puVar33 = (undefined4 *)puVar33[3]) {\n              iVar9 = strcmp((char *)*puVar33,(char *)piVar19);\n              if (iVar9 == 0) {\n                piVar31 = (int *)puVar33[1];\n                break;\n              }\n            }\n          }\n          piVar3[1] = (int)piVar31;\n        }" (if "if") (parenthesized_expression "((iVar9 != 0) || (DAT_0003fba0 != (undefined4 *)0x0))" (( "(") (binary_expression "(iVar9 != 0) || (DAT_0003fba0 != (undefined4 *)0x0)" (parenthesized_expression "(iVar9 != 0)" (( "(") (binary_expression "iVar9 != 0" (identifier "iVar9") (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(DAT_0003fba0 != (undefined4 *)0x0)" (( "(") (binary_expression "DAT_0003fba0 != (undefined4 *)0x0" (identifier "DAT_0003fba0") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")"))) () ")")) (compound_statement "{\n          local_2c = 0;\n          local_30 = piVar19;\n          iVar9 = htab_find(DAT_0003faf0,&local_30);\n          if (((iVar9 == 0) || (piVar31 = *(int **)(iVar9 + 4), piVar19 == piVar31)) &&\n             (puVar33 = DAT_0003fba0, (uVar26 & 0x100) != 0)) {\n            for (; piVar31 = piVar19, puVar33 != (undefined4 *)0x0;\n                puVar33 = (undefined4 *)puVar33[3]) {\n              iVar9 = strcmp((char *)*puVar33,(char *)piVar19);\n              if (iVar9 == 0) {\n                piVar31 = (int *)puVar33[1];\n                break;\n              }\n            }\n          }\n          piVar3[1] = (int)piVar31;\n        }" ({ "{") (expression_statement "local_2c = 0;" (assignment_expression "local_2c = 0" (identifier "local_2c") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_30 = piVar19;" (assignment_expression "local_30 = piVar19" (identifier "local_30") (= "=") (identifier "piVar19")) (; ";")) (expression_statement "iVar9 = htab_find(DAT_0003faf0,&local_30);" (assignment_expression "iVar9 = htab_find(DAT_0003faf0,&local_30)" (identifier "iVar9") (= "=") (call_expression "htab_find(DAT_0003faf0,&local_30)" (identifier "htab_find") (argument_list "(DAT_0003faf0,&local_30)" (( "(") (identifier "DAT_0003faf0") (, ",") (pointer_expression "&local_30" (& "&") (identifier "local_30")) () ")")))) (; ";")) (if_statement "if (((iVar9 == 0) || (piVar31 = *(int **)(iVar9 + 4), piVar19 == piVar31)) &&\n             (puVar33 = DAT_0003fba0, (uVar26 & 0x100) != 0)) {\n            for (; piVar31 = piVar19, puVar33 != (undefined4 *)0x0;\n                puVar33 = (undefined4 *)puVar33[3]) {\n              iVar9 = strcmp((char *)*puVar33,(char *)piVar19);\n              if (iVar9 == 0) {\n                piVar31 = (int *)puVar33[1];\n                break;\n              }\n            }\n          }" (if "if") (parenthesized_expression "(((iVar9 == 0) || (piVar31 = *(int **)(iVar9 + 4), piVar19 == piVar31)) &&\n             (puVar33 = DAT_0003fba0, (uVar26 & 0x100) != 0))" (( "(") (binary_expression "((iVar9 == 0) || (piVar31 = *(int **)(iVar9 + 4), piVar19 == piVar31)) &&\n             (puVar33 = DAT_0003fba0, (uVar26 & 0x100) != 0)" (parenthesized_expression "((iVar9 == 0) || (piVar31 = *(int **)(iVar9 + 4), piVar19 == piVar31))" (( "(") (binary_expression "(iVar9 == 0) || (piVar31 = *(int **)(iVar9 + 4), piVar19 == piVar31)" (parenthesized_expression "(iVar9 == 0)" (( "(") (binary_expression "iVar9 == 0" (identifier "iVar9") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(piVar31 = *(int **)(iVar9 + 4), piVar19 == piVar31)" (( "(") (comma_expression "piVar31 = *(int **)(iVar9 + 4), piVar19 == piVar31" (assignment_expression "piVar31 = *(int **)(iVar9 + 4)" (identifier "piVar31") (= "=") (pointer_expression "*(int **)(iVar9 + 4)" (* "*") (cast_expression "(int **)(iVar9 + 4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar9 + 4)" (( "(") (binary_expression "iVar9 + 4" (identifier "iVar9") (+ "+") (number_literal "4")) () ")"))))) (, ",") (binary_expression "piVar19 == piVar31" (identifier "piVar19") (== "==") (identifier "piVar31"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(puVar33 = DAT_0003fba0, (uVar26 & 0x100) != 0)" (( "(") (comma_expression "puVar33 = DAT_0003fba0, (uVar26 & 0x100) != 0" (assignment_expression "puVar33 = DAT_0003fba0" (identifier "puVar33") (= "=") (identifier "DAT_0003fba0")) (, ",") (binary_expression "(uVar26 & 0x100) != 0" (parenthesized_expression "(uVar26 & 0x100)" (( "(") (binary_expression "uVar26 & 0x100" (identifier "uVar26") (& "&") (number_literal "0x100")) () ")")) (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n            for (; piVar31 = piVar19, puVar33 != (undefined4 *)0x0;\n                puVar33 = (undefined4 *)puVar33[3]) {\n              iVar9 = strcmp((char *)*puVar33,(char *)piVar19);\n              if (iVar9 == 0) {\n                piVar31 = (int *)puVar33[1];\n                break;\n              }\n            }\n          }" ({ "{") (for_statement "for (; piVar31 = piVar19, puVar33 != (undefined4 *)0x0;\n                puVar33 = (undefined4 *)puVar33[3]) {\n              iVar9 = strcmp((char *)*puVar33,(char *)piVar19);\n              if (iVar9 == 0) {\n                piVar31 = (int *)puVar33[1];\n                break;\n              }\n            }" (for "for") (( "(") (; ";") (comma_expression "piVar31 = piVar19, puVar33 != (undefined4 *)0x0" (assignment_expression "piVar31 = piVar19" (identifier "piVar31") (= "=") (identifier "piVar19")) (, ",") (binary_expression "puVar33 != (undefined4 *)0x0" (identifier "puVar33") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) (; ";") (assignment_expression "puVar33 = (undefined4 *)puVar33[3]" (identifier "puVar33") (= "=") (cast_expression "(undefined4 *)puVar33[3]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar33[3]" (identifier "puVar33") ([ "[") (number_literal "3") (] "]")))) () ")") (compound_statement "{\n              iVar9 = strcmp((char *)*puVar33,(char *)piVar19);\n              if (iVar9 == 0) {\n                piVar31 = (int *)puVar33[1];\n                break;\n              }\n            }" ({ "{") (expression_statement "iVar9 = strcmp((char *)*puVar33,(char *)piVar19);" (assignment_expression "iVar9 = strcmp((char *)*puVar33,(char *)piVar19)" (identifier "iVar9") (= "=") (call_expression "strcmp((char *)*puVar33,(char *)piVar19)" (identifier "strcmp") (argument_list "((char *)*puVar33,(char *)piVar19)" (( "(") (cast_expression "(char *)*puVar33" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar33" (* "*") (identifier "puVar33"))) (, ",") (cast_expression "(char *)piVar19" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "piVar19")) () ")")))) (; ";")) (if_statement "if (iVar9 == 0) {\n                piVar31 = (int *)puVar33[1];\n                break;\n              }" (if "if") (parenthesized_expression "(iVar9 == 0)" (( "(") (binary_expression "iVar9 == 0" (identifier "iVar9") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                piVar31 = (int *)puVar33[1];\n                break;\n              }" ({ "{") (expression_statement "piVar31 = (int *)puVar33[1];" (assignment_expression "piVar31 = (int *)puVar33[1]" (identifier "piVar31") (= "=") (cast_expression "(int *)puVar33[1]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar33[1]" (identifier "puVar33") ([ "[") (number_literal "1") (] "]")))) (; ";")) (break_statement "break;" (break "break") (; ";")) (} "}"))) (} "}"))) (} "}"))) (expression_statement "piVar3[1] = (int)piVar31;" (assignment_expression "piVar3[1] = (int)piVar31" (subscript_expression "piVar3[1]" (identifier "piVar3") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(int)piVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar31"))) (; ";")) (} "}"))) (expression_statement "pcVar22 = DAT_0003fad8;" (assignment_expression "pcVar22 = DAT_0003fad8" (identifier "pcVar22") (= "=") (identifier "DAT_0003fad8")) (; ";")) (if_statement "if ((char)*piVar31 == *(char *)(param_1[1] + 0x18)) {\n          if (DAT_0003fb1c == 0) {\n            if ((DAT_0003fb18 == 0) ||\n               ((((uVar26 & 0x82) == 0 && (puVar4 != puVar16)) &&\n                ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)))) goto LAB_00019203;\nLAB_0001943c:\n            piVar31 = (int *)((int)piVar31 + 1);\n            piVar3[1] = (int)piVar31;\n            goto LAB_00019203;\n          }\n          if (*(char *)(param_2[1] + 0x18) == '\0') goto LAB_0001943c;\n          if (DAT_0003fad8 != (char *)0x0) {\n            piVar31 = (int *)((int)piVar31 + 1);\n            piVar3[1] = (int)piVar31;\n            goto LAB_0001945b;\n          }\n          *(char *)piVar31 = *(char *)(param_2[1] + 0x18);\n          piVar3[1] = (int)piVar31;\n        }\n        else {\n          if (((DAT_0003fb1c == 0) || (*(char *)(param_2[1] + 0x18) == '\0')) ||\n             (*(char *)(param_1[1] + 0x18) != '\0')) {\nLAB_00019203:\n            if (pcVar22 == (char *)0x0) goto LAB_0001926f;\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = piVar19;\n          }\n          else {\nLAB_0001945b:\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = (int *)((int)piVar19 + 1);\n            *(char *)piVar19 = *(char *)(param_2[1] + 0x18);\n          }\n          pcVar22 = DAT_0003fad8;\n          if (DAT_0003fad8 != (char *)0x0) {\n            strcpy((char *)local_5c,DAT_0003fad8);\n            sVar17 = strlen(pcVar22);\n            local_5c = (int *)((int)local_5c + sVar17);\n          }\n          strcpy((char *)local_5c,(char *)piVar31);\n          piVar3[1] = (int)piVar19;\n          piVar31 = piVar19;\n        }" (if "if") (parenthesized_expression "((char)*piVar31 == *(char *)(param_1[1] + 0x18))" (( "(") (binary_expression "(char)*piVar31 == *(char *)(param_1[1] + 0x18)" (cast_expression "(char)*piVar31" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (pointer_expression "*piVar31" (* "*") (identifier "piVar31"))) (== "==") (pointer_expression "*(char *)(param_1[1] + 0x18)" (* "*") (cast_expression "(char *)(param_1[1] + 0x18)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[1] + 0x18)" (( "(") (binary_expression "param_1[1] + 0x18" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "0x18")) () ")"))))) () ")")) (compound_statement "{\n          if (DAT_0003fb1c == 0) {\n            if ((DAT_0003fb18 == 0) ||\n               ((((uVar26 & 0x82) == 0 && (puVar4 != puVar16)) &&\n                ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)))) goto LAB_00019203;\nLAB_0001943c:\n            piVar31 = (int *)((int)piVar31 + 1);\n            piVar3[1] = (int)piVar31;\n            goto LAB_00019203;\n          }\n          if (*(char *)(param_2[1] + 0x18) == '\0') goto LAB_0001943c;\n          if (DAT_0003fad8 != (char *)0x0) {\n            piVar31 = (int *)((int)piVar31 + 1);\n            piVar3[1] = (int)piVar31;\n            goto LAB_0001945b;\n          }\n          *(char *)piVar31 = *(char *)(param_2[1] + 0x18);\n          piVar3[1] = (int)piVar31;\n        }" ({ "{") (if_statement "if (DAT_0003fb1c == 0) {\n            if ((DAT_0003fb18 == 0) ||\n               ((((uVar26 & 0x82) == 0 && (puVar4 != puVar16)) &&\n                ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)))) goto LAB_00019203;\nLAB_0001943c:\n            piVar31 = (int *)((int)piVar31 + 1);\n            piVar3[1] = (int)piVar31;\n            goto LAB_00019203;\n          }" (if "if") (parenthesized_expression "(DAT_0003fb1c == 0)" (( "(") (binary_expression "DAT_0003fb1c == 0" (identifier "DAT_0003fb1c") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            if ((DAT_0003fb18 == 0) ||\n               ((((uVar26 & 0x82) == 0 && (puVar4 != puVar16)) &&\n                ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)))) goto LAB_00019203;\nLAB_0001943c:\n            piVar31 = (int *)((int)piVar31 + 1);\n            piVar3[1] = (int)piVar31;\n            goto LAB_00019203;\n          }" ({ "{") (if_statement "if ((DAT_0003fb18 == 0) ||\n               ((((uVar26 & 0x82) == 0 && (puVar4 != puVar16)) &&\n                ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)))) goto LAB_00019203;" (if "if") (parenthesized_expression "((DAT_0003fb18 == 0) ||\n               ((((uVar26 & 0x82) == 0 && (puVar4 != puVar16)) &&\n                ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0))))" (( "(") (binary_expression "(DAT_0003fb18 == 0) ||\n               ((((uVar26 & 0x82) == 0 && (puVar4 != puVar16)) &&\n                ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)))" (parenthesized_expression "(DAT_0003fb18 == 0)" (( "(") (binary_expression "DAT_0003fb18 == 0" (identifier "DAT_0003fb18") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "((((uVar26 & 0x82) == 0 && (puVar4 != puVar16)) &&\n                ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)))" (( "(") (parenthesized_expression "(((uVar26 & 0x82) == 0 && (puVar4 != puVar16)) &&\n                ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0))" (( "(") (binary_expression "((uVar26 & 0x82) == 0 && (puVar4 != puVar16)) &&\n                ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)" (parenthesized_expression "((uVar26 & 0x82) == 0 && (puVar4 != puVar16))" (( "(") (binary_expression "(uVar26 & 0x82) == 0 && (puVar4 != puVar16)" (binary_expression "(uVar26 & 0x82) == 0" (parenthesized_expression "(uVar26 & 0x82)" (( "(") (binary_expression "uVar26 & 0x82" (identifier "uVar26") (& "&") (number_literal "0x82")) () ")")) (== "==") (number_literal "0")) (&& "&&") (parenthesized_expression "(puVar4 != puVar16)" (( "(") (binary_expression "puVar4 != puVar16" (identifier "puVar4") (!= "!=") (identifier "puVar16")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)" (( "(") (binary_expression "(*(byte *)(piVar3[4] + 0x15) & 0x10) == 0" (parenthesized_expression "(*(byte *)(piVar3[4] + 0x15) & 0x10)" (( "(") (binary_expression "*(byte *)(piVar3[4] + 0x15) & 0x10" (pointer_expression "*(byte *)(piVar3[4] + 0x15)" (* "*") (cast_expression "(byte *)(piVar3[4] + 0x15)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar3[4] + 0x15)" (( "(") (binary_expression "piVar3[4] + 0x15" (subscript_expression "piVar3[4]" (identifier "piVar3") ([ "[") (number_literal "4") (] "]")) (+ "+") (number_literal "0x15")) () ")")))) (& "&") (number_literal "0x10")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_00019203;" (goto "goto") (statement_identifier "LAB_00019203") (; ";"))) (labeled_statement "LAB_0001943c:\n            piVar31 = (int *)((int)piVar31 + 1);" (statement_identifier "LAB_0001943c") (: ":") (expression_statement "piVar31 = (int *)((int)piVar31 + 1);" (assignment_expression "piVar31 = (int *)((int)piVar31 + 1)" (identifier "piVar31") (= "=") (cast_expression "(int *)((int)piVar31 + 1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar31 + 1)" (( "(") (binary_expression "(int)piVar31 + 1" (cast_expression "(int)piVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar31")) (+ "+") (number_literal "1")) () ")")))) (; ";"))) (expression_statement "piVar3[1] = (int)piVar31;" (assignment_expression "piVar3[1] = (int)piVar31" (subscript_expression "piVar3[1]" (identifier "piVar3") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(int)piVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar31"))) (; ";")) (goto_statement "goto LAB_00019203;" (goto "goto") (statement_identifier "LAB_00019203") (; ";")) (} "}"))) (if_statement "if (*(char *)(param_2[1] + 0x18) == '\0') goto LAB_0001943c;" (if "if") (parenthesized_expression "(*(char *)(param_2[1] + 0x18) == '\0')" (( "(") (binary_expression "*(char *)(param_2[1] + 0x18) == '\0'" (pointer_expression "*(char *)(param_2[1] + 0x18)" (* "*") (cast_expression "(char *)(param_2[1] + 0x18)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2[1] + 0x18)" (( "(") (binary_expression "param_2[1] + 0x18" (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "0x18")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_0001943c;" (goto "goto") (statement_identifier "LAB_0001943c") (; ";"))) (if_statement "if (DAT_0003fad8 != (char *)0x0) {\n            piVar31 = (int *)((int)piVar31 + 1);\n            piVar3[1] = (int)piVar31;\n            goto LAB_0001945b;\n          }" (if "if") (parenthesized_expression "(DAT_0003fad8 != (char *)0x0)" (( "(") (binary_expression "DAT_0003fad8 != (char *)0x0" (identifier "DAT_0003fad8") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            piVar31 = (int *)((int)piVar31 + 1);\n            piVar3[1] = (int)piVar31;\n            goto LAB_0001945b;\n          }" ({ "{") (expression_statement "piVar31 = (int *)((int)piVar31 + 1);" (assignment_expression "piVar31 = (int *)((int)piVar31 + 1)" (identifier "piVar31") (= "=") (cast_expression "(int *)((int)piVar31 + 1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar31 + 1)" (( "(") (binary_expression "(int)piVar31 + 1" (cast_expression "(int)piVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar31")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "piVar3[1] = (int)piVar31;" (assignment_expression "piVar3[1] = (int)piVar31" (subscript_expression "piVar3[1]" (identifier "piVar3") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(int)piVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar31"))) (; ";")) (goto_statement "goto LAB_0001945b;" (goto "goto") (statement_identifier "LAB_0001945b") (; ";")) (} "}"))) (expression_statement "*(char *)piVar31 = *(char *)(param_2[1] + 0x18);" (assignment_expression "*(char *)piVar31 = *(char *)(param_2[1] + 0x18)" (pointer_expression "*(char *)piVar31" (* "*") (cast_expression "(char *)piVar31" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "piVar31"))) (= "=") (pointer_expression "*(char *)(param_2[1] + 0x18)" (* "*") (cast_expression "(char *)(param_2[1] + 0x18)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2[1] + 0x18)" (( "(") (binary_expression "param_2[1] + 0x18" (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "piVar3[1] = (int)piVar31;" (assignment_expression "piVar3[1] = (int)piVar31" (subscript_expression "piVar3[1]" (identifier "piVar3") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(int)piVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar31"))) (; ";")) (} "}")) (else_clause "else {\n          if (((DAT_0003fb1c == 0) || (*(char *)(param_2[1] + 0x18) == '\0')) ||\n             (*(char *)(param_1[1] + 0x18) != '\0')) {\nLAB_00019203:\n            if (pcVar22 == (char *)0x0) goto LAB_0001926f;\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = piVar19;\n          }\n          else {\nLAB_0001945b:\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = (int *)((int)piVar19 + 1);\n            *(char *)piVar19 = *(char *)(param_2[1] + 0x18);\n          }\n          pcVar22 = DAT_0003fad8;\n          if (DAT_0003fad8 != (char *)0x0) {\n            strcpy((char *)local_5c,DAT_0003fad8);\n            sVar17 = strlen(pcVar22);\n            local_5c = (int *)((int)local_5c + sVar17);\n          }\n          strcpy((char *)local_5c,(char *)piVar31);\n          piVar3[1] = (int)piVar19;\n          piVar31 = piVar19;\n        }" (else "else") (compound_statement "{\n          if (((DAT_0003fb1c == 0) || (*(char *)(param_2[1] + 0x18) == '\0')) ||\n             (*(char *)(param_1[1] + 0x18) != '\0')) {\nLAB_00019203:\n            if (pcVar22 == (char *)0x0) goto LAB_0001926f;\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = piVar19;\n          }\n          else {\nLAB_0001945b:\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = (int *)((int)piVar19 + 1);\n            *(char *)piVar19 = *(char *)(param_2[1] + 0x18);\n          }\n          pcVar22 = DAT_0003fad8;\n          if (DAT_0003fad8 != (char *)0x0) {\n            strcpy((char *)local_5c,DAT_0003fad8);\n            sVar17 = strlen(pcVar22);\n            local_5c = (int *)((int)local_5c + sVar17);\n          }\n          strcpy((char *)local_5c,(char *)piVar31);\n          piVar3[1] = (int)piVar19;\n          piVar31 = piVar19;\n        }" ({ "{") (if_statement "if (((DAT_0003fb1c == 0) || (*(char *)(param_2[1] + 0x18) == '\0')) ||\n             (*(char *)(param_1[1] + 0x18) != '\0')) {\nLAB_00019203:\n            if (pcVar22 == (char *)0x0) goto LAB_0001926f;\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = piVar19;\n          }\n          else {\nLAB_0001945b:\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = (int *)((int)piVar19 + 1);\n            *(char *)piVar19 = *(char *)(param_2[1] + 0x18);\n          }" (if "if") (parenthesized_expression "(((DAT_0003fb1c == 0) || (*(char *)(param_2[1] + 0x18) == '\0')) ||\n             (*(char *)(param_1[1] + 0x18) != '\0'))" (( "(") (binary_expression "((DAT_0003fb1c == 0) || (*(char *)(param_2[1] + 0x18) == '\0')) ||\n             (*(char *)(param_1[1] + 0x18) != '\0')" (parenthesized_expression "((DAT_0003fb1c == 0) || (*(char *)(param_2[1] + 0x18) == '\0'))" (( "(") (binary_expression "(DAT_0003fb1c == 0) || (*(char *)(param_2[1] + 0x18) == '\0')" (parenthesized_expression "(DAT_0003fb1c == 0)" (( "(") (binary_expression "DAT_0003fb1c == 0" (identifier "DAT_0003fb1c") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(*(char *)(param_2[1] + 0x18) == '\0')" (( "(") (binary_expression "*(char *)(param_2[1] + 0x18) == '\0'" (pointer_expression "*(char *)(param_2[1] + 0x18)" (* "*") (cast_expression "(char *)(param_2[1] + 0x18)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2[1] + 0x18)" (( "(") (binary_expression "param_2[1] + 0x18" (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "0x18")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (|| "||") (parenthesized_expression "(*(char *)(param_1[1] + 0x18) != '\0')" (( "(") (binary_expression "*(char *)(param_1[1] + 0x18) != '\0'" (pointer_expression "*(char *)(param_1[1] + 0x18)" (* "*") (cast_expression "(char *)(param_1[1] + 0x18)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[1] + 0x18)" (( "(") (binary_expression "param_1[1] + 0x18" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "0x18")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (compound_statement "{\nLAB_00019203:\n            if (pcVar22 == (char *)0x0) goto LAB_0001926f;\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = piVar19;\n          }" ({ "{") (labeled_statement "LAB_00019203:\n            if (pcVar22 == (char *)0x0) goto LAB_0001926f;" (statement_identifier "LAB_00019203") (: ":") (if_statement "if (pcVar22 == (char *)0x0) goto LAB_0001926f;" (if "if") (parenthesized_expression "(pcVar22 == (char *)0x0)" (( "(") (binary_expression "pcVar22 == (char *)0x0" (identifier "pcVar22") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0001926f;" (goto "goto") (statement_identifier "LAB_0001926f") (; ";")))) (expression_statement "sVar17 = strlen(pcVar22);" (assignment_expression "sVar17 = strlen(pcVar22)" (identifier "sVar17") (= "=") (call_expression "strlen(pcVar22)" (identifier "strlen") (argument_list "(pcVar22)" (( "(") (identifier "pcVar22") () ")")))) (; ";")) (expression_statement "sVar18 = strlen((char *)piVar31);" (assignment_expression "sVar18 = strlen((char *)piVar31)" (identifier "sVar18") (= "=") (call_expression "strlen((char *)piVar31)" (identifier "strlen") (argument_list "((char *)piVar31)" (( "(") (cast_expression "(char *)piVar31" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "piVar31")) () ")")))) (; ";")) (expression_statement "piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);" (assignment_expression "piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18)" (identifier "piVar19") (= "=") (cast_expression "(int *)xmalloc(sVar17 + 2 + sVar18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "xmalloc(sVar17 + 2 + sVar18)" (identifier "xmalloc") (argument_list "(sVar17 + 2 + sVar18)" (( "(") (binary_expression "sVar17 + 2 + sVar18" (binary_expression "sVar17 + 2" (identifier "sVar17") (+ "+") (number_literal "2")) (+ "+") (identifier "sVar18")) () ")"))))) (; ";")) (expression_statement "local_5c = piVar19;" (assignment_expression "local_5c = piVar19" (identifier "local_5c") (= "=") (identifier "piVar19")) (; ";")) (} "}")) (else_clause "else {\nLAB_0001945b:\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = (int *)((int)piVar19 + 1);\n            *(char *)piVar19 = *(char *)(param_2[1] + 0x18);\n          }" (else "else") (compound_statement "{\nLAB_0001945b:\n            sVar17 = strlen(pcVar22);\n            sVar18 = strlen((char *)piVar31);\n            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);\n            local_5c = (int *)((int)piVar19 + 1);\n            *(char *)piVar19 = *(char *)(param_2[1] + 0x18);\n          }" ({ "{") (labeled_statement "LAB_0001945b:\n            sVar17 = strlen(pcVar22);" (statement_identifier "LAB_0001945b") (: ":") (expression_statement "sVar17 = strlen(pcVar22);" (assignment_expression "sVar17 = strlen(pcVar22)" (identifier "sVar17") (= "=") (call_expression "strlen(pcVar22)" (identifier "strlen") (argument_list "(pcVar22)" (( "(") (identifier "pcVar22") () ")")))) (; ";"))) (expression_statement "sVar18 = strlen((char *)piVar31);" (assignment_expression "sVar18 = strlen((char *)piVar31)" (identifier "sVar18") (= "=") (call_expression "strlen((char *)piVar31)" (identifier "strlen") (argument_list "((char *)piVar31)" (( "(") (cast_expression "(char *)piVar31" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "piVar31")) () ")")))) (; ";")) (expression_statement "piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);" (assignment_expression "piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18)" (identifier "piVar19") (= "=") (cast_expression "(int *)xmalloc(sVar17 + 2 + sVar18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "xmalloc(sVar17 + 2 + sVar18)" (identifier "xmalloc") (argument_list "(sVar17 + 2 + sVar18)" (( "(") (binary_expression "sVar17 + 2 + sVar18" (binary_expression "sVar17 + 2" (identifier "sVar17") (+ "+") (number_literal "2")) (+ "+") (identifier "sVar18")) () ")"))))) (; ";")) (expression_statement "local_5c = (int *)((int)piVar19 + 1);" (assignment_expression "local_5c = (int *)((int)piVar19 + 1)" (identifier "local_5c") (= "=") (cast_expression "(int *)((int)piVar19 + 1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar19 + 1)" (( "(") (binary_expression "(int)piVar19 + 1" (cast_expression "(int)piVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar19")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "*(char *)piVar19 = *(char *)(param_2[1] + 0x18);" (assignment_expression "*(char *)piVar19 = *(char *)(param_2[1] + 0x18)" (pointer_expression "*(char *)piVar19" (* "*") (cast_expression "(char *)piVar19" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "piVar19"))) (= "=") (pointer_expression "*(char *)(param_2[1] + 0x18)" (* "*") (cast_expression "(char *)(param_2[1] + 0x18)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2[1] + 0x18)" (( "(") (binary_expression "param_2[1] + 0x18" (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (} "}")))) (expression_statement "pcVar22 = DAT_0003fad8;" (assignment_expression "pcVar22 = DAT_0003fad8" (identifier "pcVar22") (= "=") (identifier "DAT_0003fad8")) (; ";")) (if_statement "if (DAT_0003fad8 != (char *)0x0) {\n            strcpy((char *)local_5c,DAT_0003fad8);\n            sVar17 = strlen(pcVar22);\n            local_5c = (int *)((int)local_5c + sVar17);\n          }" (if "if") (parenthesized_expression "(DAT_0003fad8 != (char *)0x0)" (( "(") (binary_expression "DAT_0003fad8 != (char *)0x0" (identifier "DAT_0003fad8") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            strcpy((char *)local_5c,DAT_0003fad8);\n            sVar17 = strlen(pcVar22);\n            local_5c = (int *)((int)local_5c + sVar17);\n          }" ({ "{") (expression_statement "strcpy((char *)local_5c,DAT_0003fad8);" (call_expression "strcpy((char *)local_5c,DAT_0003fad8)" (identifier "strcpy") (argument_list "((char *)local_5c,DAT_0003fad8)" (( "(") (cast_expression "(char *)local_5c" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_5c")) (, ",") (identifier "DAT_0003fad8") () ")"))) (; ";")) (expression_statement "sVar17 = strlen(pcVar22);" (assignment_expression "sVar17 = strlen(pcVar22)" (identifier "sVar17") (= "=") (call_expression "strlen(pcVar22)" (identifier "strlen") (argument_list "(pcVar22)" (( "(") (identifier "pcVar22") () ")")))) (; ";")) (expression_statement "local_5c = (int *)((int)local_5c + sVar17);" (assignment_expression "local_5c = (int *)((int)local_5c + sVar17)" (identifier "local_5c") (= "=") (cast_expression "(int *)((int)local_5c + sVar17)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_5c + sVar17)" (( "(") (binary_expression "(int)local_5c + sVar17" (cast_expression "(int)local_5c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_5c")) (+ "+") (identifier "sVar17")) () ")")))) (; ";")) (} "}"))) (expression_statement "strcpy((char *)local_5c,(char *)piVar31);" (call_expression "strcpy((char *)local_5c,(char *)piVar31)" (identifier "strcpy") (argument_list "((char *)local_5c,(char *)piVar31)" (( "(") (cast_expression "(char *)local_5c" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_5c")) (, ",") (cast_expression "(char *)piVar31" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "piVar31")) () ")"))) (; ";")) (expression_statement "piVar3[1] = (int)piVar19;" (assignment_expression "piVar3[1] = (int)piVar19" (subscript_expression "piVar3[1]" (identifier "piVar3") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(int)piVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar19"))) (; ";")) (expression_statement "piVar31 = piVar19;" (assignment_expression "piVar31 = piVar19" (identifier "piVar31") (= "=") (identifier "piVar19")) (; ";")) (} "}")))) (labeled_statement "LAB_0001926f:\n        if (DAT_0003fb78 == 7) goto LAB_000192f8;" (statement_identifier "LAB_0001926f") (: ":") (if_statement "if (DAT_0003fb78 == 7) goto LAB_000192f8;" (if "if") (parenthesized_expression "(DAT_0003fb78 == 7)" (( "(") (binary_expression "DAT_0003fb78 == 7" (identifier "DAT_0003fb78") (== "==") (number_literal "7")) () ")")) (goto_statement "goto LAB_000192f8;" (goto "goto") (statement_identifier "LAB_000192f8") (; ";")))) (if_statement "if ((uVar26 & 0x20) == 0) {\n          if (((uVar26 & 0x100) == 0) ||\n             ((*(byte *)(**(int **)(piVar3[4] + 0x9c) + 0xc) & 0x20) == 0)) {\n            if ((((uVar35 >> 5 & 0x42) == 0) &&\n                (((uVar26 & 0x82) != 0 || ((*(byte *)(piVar3[4] + 0x15) & 0x10) != 0)))) ||\n               (iVar9 = bfd_decode_symclass(piVar3), iVar9 == 0x49)) {\nLAB_00019528:\n              iVar9 = FUN_00017880();\n              if (iVar9 == 0) goto LAB_000192e0;\n            }\n            else if ((((uVar26 & 0x82) == 0) && (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8)) &&\n                    ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)) {\n              if ((uVar26 & 4) == 0) {\n                if (((*(int *)(param_1[1] + 4) != 2) ||\n                    (iVar9 = *(int *)(piVar3[4] + 0x8c), iVar9 == 0)) ||\n                   (*(int *)(iVar9 + 0x24) == 0)) {\n                  if ((DAT_0003fb78 == 3) || (DAT_0003fb74 == 2)) goto LAB_000192f8;\n                  if (DAT_0003fb74 == 1) {\n                    iVar9 = bfd_is_local_label(param_1,piVar3,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }\n                goto LAB_00019528;\n              }\n              iVar9 = DAT_0003fb28;\n              if (1 < DAT_0003fb78 - 2U) {\njoined_r0x0001a13f:\n                if (iVar9 == 0) goto LAB_00019528;\n              }\n            }\n            else if (DAT_0003fb78 != 3) goto LAB_00019528;\n          }\n          else {\n            iVar9 = FUN_00017880();\n            if (iVar9 != 0) {\n              uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",\n                                 5,iVar9);\n              FUN_0002b6d0(uVar10,piVar31);\n              DAT_0003fb88 = 1;\n            }\nLAB_000192e0:\n            iVar9 = FUN_00017880();\n            if (iVar9 == 0) goto LAB_0001931c;\n          }\nLAB_000192f8:\n          if (((DAT_0003fadc != 0) && ((uVar26 & 0x4000) != 0)) ||\n             (iVar9 = FUN_00017880(), iVar9 != 0)) goto LAB_0001931c;\n        }\n        else {\n          iVar9 = FUN_00017880();\n          if (iVar9 != 0) {\n            uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",5)\n            ;\n            FUN_0002b6d0(uVar10,piVar31);\n            DAT_0003fb88 = 1;\n          }\nLAB_0001931c:\n          iVar9 = FUN_000178f0();\n          if (iVar9 == 0) {\n            if (((uVar26 & 2) != 0) && ((DAT_0003fae0 != 0 || (iVar9 = FUN_00017880(), iVar9 != 0)))\n               ) {\n              piVar3[3] = piVar3[3] & 0xfffffffdU | 0x80;\n            }\n            if (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8) {\n              if (((uVar26 & 0x82) != 0) &&\n                 (((iVar9 = FUN_00017880(), iVar9 != 0 ||\n                   ((iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0)))) ||\n                  ((DAT_0003fb10 != 0 &&\n                   ((((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)\n                    ))))))) {\n                piVar3[3] = piVar3[3] & 0xffffff7dU | 1;\n              }\n              if (((uVar26 & 1) != 0) && (iVar9 = FUN_00017880(), iVar9 != 0)) {\n                piVar3[3] = piVar3[3] & 0xfffffffeU | 2;\n              }\n            }\n            piVar15[local_70] = (int)piVar3;\n            local_70 = local_70 + 1;\n          }\n        }" (if "if") (parenthesized_expression "((uVar26 & 0x20) == 0)" (( "(") (binary_expression "(uVar26 & 0x20) == 0" (parenthesized_expression "(uVar26 & 0x20)" (( "(") (binary_expression "uVar26 & 0x20" (identifier "uVar26") (& "&") (number_literal "0x20")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          if (((uVar26 & 0x100) == 0) ||\n             ((*(byte *)(**(int **)(piVar3[4] + 0x9c) + 0xc) & 0x20) == 0)) {\n            if ((((uVar35 >> 5 & 0x42) == 0) &&\n                (((uVar26 & 0x82) != 0 || ((*(byte *)(piVar3[4] + 0x15) & 0x10) != 0)))) ||\n               (iVar9 = bfd_decode_symclass(piVar3), iVar9 == 0x49)) {\nLAB_00019528:\n              iVar9 = FUN_00017880();\n              if (iVar9 == 0) goto LAB_000192e0;\n            }\n            else if ((((uVar26 & 0x82) == 0) && (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8)) &&\n                    ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)) {\n              if ((uVar26 & 4) == 0) {\n                if (((*(int *)(param_1[1] + 4) != 2) ||\n                    (iVar9 = *(int *)(piVar3[4] + 0x8c), iVar9 == 0)) ||\n                   (*(int *)(iVar9 + 0x24) == 0)) {\n                  if ((DAT_0003fb78 == 3) || (DAT_0003fb74 == 2)) goto LAB_000192f8;\n                  if (DAT_0003fb74 == 1) {\n                    iVar9 = bfd_is_local_label(param_1,piVar3,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }\n                goto LAB_00019528;\n              }\n              iVar9 = DAT_0003fb28;\n              if (1 < DAT_0003fb78 - 2U) {\njoined_r0x0001a13f:\n                if (iVar9 == 0) goto LAB_00019528;\n              }\n            }\n            else if (DAT_0003fb78 != 3) goto LAB_00019528;\n          }\n          else {\n            iVar9 = FUN_00017880();\n            if (iVar9 != 0) {\n              uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",\n                                 5,iVar9);\n              FUN_0002b6d0(uVar10,piVar31);\n              DAT_0003fb88 = 1;\n            }\nLAB_000192e0:\n            iVar9 = FUN_00017880();\n            if (iVar9 == 0) goto LAB_0001931c;\n          }\nLAB_000192f8:\n          if (((DAT_0003fadc != 0) && ((uVar26 & 0x4000) != 0)) ||\n             (iVar9 = FUN_00017880(), iVar9 != 0)) goto LAB_0001931c;\n        }" ({ "{") (if_statement "if (((uVar26 & 0x100) == 0) ||\n             ((*(byte *)(**(int **)(piVar3[4] + 0x9c) + 0xc) & 0x20) == 0)) {\n            if ((((uVar35 >> 5 & 0x42) == 0) &&\n                (((uVar26 & 0x82) != 0 || ((*(byte *)(piVar3[4] + 0x15) & 0x10) != 0)))) ||\n               (iVar9 = bfd_decode_symclass(piVar3), iVar9 == 0x49)) {\nLAB_00019528:\n              iVar9 = FUN_00017880();\n              if (iVar9 == 0) goto LAB_000192e0;\n            }\n            else if ((((uVar26 & 0x82) == 0) && (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8)) &&\n                    ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)) {\n              if ((uVar26 & 4) == 0) {\n                if (((*(int *)(param_1[1] + 4) != 2) ||\n                    (iVar9 = *(int *)(piVar3[4] + 0x8c), iVar9 == 0)) ||\n                   (*(int *)(iVar9 + 0x24) == 0)) {\n                  if ((DAT_0003fb78 == 3) || (DAT_0003fb74 == 2)) goto LAB_000192f8;\n                  if (DAT_0003fb74 == 1) {\n                    iVar9 = bfd_is_local_label(param_1,piVar3,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }\n                goto LAB_00019528;\n              }\n              iVar9 = DAT_0003fb28;\n              if (1 < DAT_0003fb78 - 2U) {\njoined_r0x0001a13f:\n                if (iVar9 == 0) goto LAB_00019528;\n              }\n            }\n            else if (DAT_0003fb78 != 3) goto LAB_00019528;\n          }\n          else {\n            iVar9 = FUN_00017880();\n            if (iVar9 != 0) {\n              uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",\n                                 5,iVar9);\n              FUN_0002b6d0(uVar10,piVar31);\n              DAT_0003fb88 = 1;\n            }\nLAB_000192e0:\n            iVar9 = FUN_00017880();\n            if (iVar9 == 0) goto LAB_0001931c;\n          }" (if "if") (parenthesized_expression "(((uVar26 & 0x100) == 0) ||\n             ((*(byte *)(**(int **)(piVar3[4] + 0x9c) + 0xc) & 0x20) == 0))" (( "(") (binary_expression "((uVar26 & 0x100) == 0) ||\n             ((*(byte *)(**(int **)(piVar3[4] + 0x9c) + 0xc) & 0x20) == 0)" (parenthesized_expression "((uVar26 & 0x100) == 0)" (( "(") (binary_expression "(uVar26 & 0x100) == 0" (parenthesized_expression "(uVar26 & 0x100)" (( "(") (binary_expression "uVar26 & 0x100" (identifier "uVar26") (& "&") (number_literal "0x100")) () ")")) (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "((*(byte *)(**(int **)(piVar3[4] + 0x9c) + 0xc) & 0x20) == 0)" (( "(") (binary_expression "(*(byte *)(**(int **)(piVar3[4] + 0x9c) + 0xc) & 0x20) == 0" (parenthesized_expression "(*(byte *)(**(int **)(piVar3[4] + 0x9c) + 0xc) & 0x20)" (( "(") (binary_expression "*(byte *)(**(int **)(piVar3[4] + 0x9c) + 0xc) & 0x20" (pointer_expression "*(byte *)(**(int **)(piVar3[4] + 0x9c) + 0xc)" (* "*") (cast_expression "(byte *)(**(int **)(piVar3[4] + 0x9c) + 0xc)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(**(int **)(piVar3[4] + 0x9c) + 0xc)" (( "(") (binary_expression "**(int **)(piVar3[4] + 0x9c) + 0xc" (pointer_expression "**(int **)(piVar3[4] + 0x9c)" (* "*") (pointer_expression "*(int **)(piVar3[4] + 0x9c)" (* "*") (cast_expression "(int **)(piVar3[4] + 0x9c)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(piVar3[4] + 0x9c)" (( "(") (binary_expression "piVar3[4] + 0x9c" (subscript_expression "piVar3[4]" (identifier "piVar3") ([ "[") (number_literal "4") (] "]")) (+ "+") (number_literal "0x9c")) () ")"))))) (+ "+") (number_literal "0xc")) () ")")))) (& "&") (number_literal "0x20")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n            if ((((uVar35 >> 5 & 0x42) == 0) &&\n                (((uVar26 & 0x82) != 0 || ((*(byte *)(piVar3[4] + 0x15) & 0x10) != 0)))) ||\n               (iVar9 = bfd_decode_symclass(piVar3), iVar9 == 0x49)) {\nLAB_00019528:\n              iVar9 = FUN_00017880();\n              if (iVar9 == 0) goto LAB_000192e0;\n            }\n            else if ((((uVar26 & 0x82) == 0) && (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8)) &&\n                    ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)) {\n              if ((uVar26 & 4) == 0) {\n                if (((*(int *)(param_1[1] + 4) != 2) ||\n                    (iVar9 = *(int *)(piVar3[4] + 0x8c), iVar9 == 0)) ||\n                   (*(int *)(iVar9 + 0x24) == 0)) {\n                  if ((DAT_0003fb78 == 3) || (DAT_0003fb74 == 2)) goto LAB_000192f8;\n                  if (DAT_0003fb74 == 1) {\n                    iVar9 = bfd_is_local_label(param_1,piVar3,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }\n                goto LAB_00019528;\n              }\n              iVar9 = DAT_0003fb28;\n              if (1 < DAT_0003fb78 - 2U) {\njoined_r0x0001a13f:\n                if (iVar9 == 0) goto LAB_00019528;\n              }\n            }\n            else if (DAT_0003fb78 != 3) goto LAB_00019528;\n          }" ({ "{") (if_statement "if ((((uVar35 >> 5 & 0x42) == 0) &&\n                (((uVar26 & 0x82) != 0 || ((*(byte *)(piVar3[4] + 0x15) & 0x10) != 0)))) ||\n               (iVar9 = bfd_decode_symclass(piVar3), iVar9 == 0x49)) {\nLAB_00019528:\n              iVar9 = FUN_00017880();\n              if (iVar9 == 0) goto LAB_000192e0;\n            }\n            else if ((((uVar26 & 0x82) == 0) && (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8)) &&\n                    ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)) {\n              if ((uVar26 & 4) == 0) {\n                if (((*(int *)(param_1[1] + 4) != 2) ||\n                    (iVar9 = *(int *)(piVar3[4] + 0x8c), iVar9 == 0)) ||\n                   (*(int *)(iVar9 + 0x24) == 0)) {\n                  if ((DAT_0003fb78 == 3) || (DAT_0003fb74 == 2)) goto LAB_000192f8;\n                  if (DAT_0003fb74 == 1) {\n                    iVar9 = bfd_is_local_label(param_1,piVar3,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }\n                goto LAB_00019528;\n              }\n              iVar9 = DAT_0003fb28;\n              if (1 < DAT_0003fb78 - 2U) {\njoined_r0x0001a13f:\n                if (iVar9 == 0) goto LAB_00019528;\n              }\n            }\n            else if (DAT_0003fb78 != 3) goto LAB_00019528;" (if "if") (parenthesized_expression "((((uVar35 >> 5 & 0x42) == 0) &&\n                (((uVar26 & 0x82) != 0 || ((*(byte *)(piVar3[4] + 0x15) & 0x10) != 0)))) ||\n               (iVar9 = bfd_decode_symclass(piVar3), iVar9 == 0x49))" (( "(") (binary_expression "(((uVar35 >> 5 & 0x42) == 0) &&\n                (((uVar26 & 0x82) != 0 || ((*(byte *)(piVar3[4] + 0x15) & 0x10) != 0)))) ||\n               (iVar9 = bfd_decode_symclass(piVar3), iVar9 == 0x49)" (parenthesized_expression "(((uVar35 >> 5 & 0x42) == 0) &&\n                (((uVar26 & 0x82) != 0 || ((*(byte *)(piVar3[4] + 0x15) & 0x10) != 0))))" (( "(") (binary_expression "((uVar35 >> 5 & 0x42) == 0) &&\n                (((uVar26 & 0x82) != 0 || ((*(byte *)(piVar3[4] + 0x15) & 0x10) != 0)))" (parenthesized_expression "((uVar35 >> 5 & 0x42) == 0)" (( "(") (binary_expression "(uVar35 >> 5 & 0x42) == 0" (parenthesized_expression "(uVar35 >> 5 & 0x42)" (( "(") (binary_expression "uVar35 >> 5 & 0x42" (binary_expression "uVar35 >> 5" (identifier "uVar35") (>> ">>") (number_literal "5")) (& "&") (number_literal "0x42")) () ")")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(((uVar26 & 0x82) != 0 || ((*(byte *)(piVar3[4] + 0x15) & 0x10) != 0)))" (( "(") (parenthesized_expression "((uVar26 & 0x82) != 0 || ((*(byte *)(piVar3[4] + 0x15) & 0x10) != 0))" (( "(") (binary_expression "(uVar26 & 0x82) != 0 || ((*(byte *)(piVar3[4] + 0x15) & 0x10) != 0)" (binary_expression "(uVar26 & 0x82) != 0" (parenthesized_expression "(uVar26 & 0x82)" (( "(") (binary_expression "uVar26 & 0x82" (identifier "uVar26") (& "&") (number_literal "0x82")) () ")")) (!= "!=") (number_literal "0")) (|| "||") (parenthesized_expression "((*(byte *)(piVar3[4] + 0x15) & 0x10) != 0)" (( "(") (binary_expression "(*(byte *)(piVar3[4] + 0x15) & 0x10) != 0" (parenthesized_expression "(*(byte *)(piVar3[4] + 0x15) & 0x10)" (( "(") (binary_expression "*(byte *)(piVar3[4] + 0x15) & 0x10" (pointer_expression "*(byte *)(piVar3[4] + 0x15)" (* "*") (cast_expression "(byte *)(piVar3[4] + 0x15)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar3[4] + 0x15)" (( "(") (binary_expression "piVar3[4] + 0x15" (subscript_expression "piVar3[4]" (identifier "piVar3") ([ "[") (number_literal "4") (] "]")) (+ "+") (number_literal "0x15")) () ")")))) (& "&") (number_literal "0x10")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(iVar9 = bfd_decode_symclass(piVar3), iVar9 == 0x49)" (( "(") (comma_expression "iVar9 = bfd_decode_symclass(piVar3), iVar9 == 0x49" (assignment_expression "iVar9 = bfd_decode_symclass(piVar3)" (identifier "iVar9") (= "=") (call_expression "bfd_decode_symclass(piVar3)" (identifier "bfd_decode_symclass") (argument_list "(piVar3)" (( "(") (identifier "piVar3") () ")")))) (, ",") (binary_expression "iVar9 == 0x49" (identifier "iVar9") (== "==") (number_literal "0x49"))) () ")"))) () ")")) (compound_statement "{\nLAB_00019528:\n              iVar9 = FUN_00017880();\n              if (iVar9 == 0) goto LAB_000192e0;\n            }" ({ "{") (labeled_statement "LAB_00019528:\n              iVar9 = FUN_00017880();" (statement_identifier "LAB_00019528") (: ":") (expression_statement "iVar9 = FUN_00017880();" (assignment_expression "iVar9 = FUN_00017880()" (identifier "iVar9") (= "=") (call_expression "FUN_00017880()" (identifier "FUN_00017880") (argument_list "()" (( "(") () ")")))) (; ";"))) (if_statement "if (iVar9 == 0) goto LAB_000192e0;" (if "if") (parenthesized_expression "(iVar9 == 0)" (( "(") (binary_expression "iVar9 == 0" (identifier "iVar9") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000192e0;" (goto "goto") (statement_identifier "LAB_000192e0") (; ";"))) (} "}")) (else_clause "else if ((((uVar26 & 0x82) == 0) && (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8)) &&\n                    ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)) {\n              if ((uVar26 & 4) == 0) {\n                if (((*(int *)(param_1[1] + 4) != 2) ||\n                    (iVar9 = *(int *)(piVar3[4] + 0x8c), iVar9 == 0)) ||\n                   (*(int *)(iVar9 + 0x24) == 0)) {\n                  if ((DAT_0003fb78 == 3) || (DAT_0003fb74 == 2)) goto LAB_000192f8;\n                  if (DAT_0003fb74 == 1) {\n                    iVar9 = bfd_is_local_label(param_1,piVar3,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }\n                goto LAB_00019528;\n              }\n              iVar9 = DAT_0003fb28;\n              if (1 < DAT_0003fb78 - 2U) {\njoined_r0x0001a13f:\n                if (iVar9 == 0) goto LAB_00019528;\n              }\n            }\n            else if (DAT_0003fb78 != 3) goto LAB_00019528;" (else "else") (if_statement "if ((((uVar26 & 0x82) == 0) && (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8)) &&\n                    ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)) {\n              if ((uVar26 & 4) == 0) {\n                if (((*(int *)(param_1[1] + 4) != 2) ||\n                    (iVar9 = *(int *)(piVar3[4] + 0x8c), iVar9 == 0)) ||\n                   (*(int *)(iVar9 + 0x24) == 0)) {\n                  if ((DAT_0003fb78 == 3) || (DAT_0003fb74 == 2)) goto LAB_000192f8;\n                  if (DAT_0003fb74 == 1) {\n                    iVar9 = bfd_is_local_label(param_1,piVar3,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }\n                goto LAB_00019528;\n              }\n              iVar9 = DAT_0003fb28;\n              if (1 < DAT_0003fb78 - 2U) {\njoined_r0x0001a13f:\n                if (iVar9 == 0) goto LAB_00019528;\n              }\n            }\n            else if (DAT_0003fb78 != 3) goto LAB_00019528;" (if "if") (parenthesized_expression "((((uVar26 & 0x82) == 0) && (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8)) &&\n                    ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0))" (( "(") (binary_expression "(((uVar26 & 0x82) == 0) && (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8)) &&\n                    ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)" (parenthesized_expression "(((uVar26 & 0x82) == 0) && (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8))" (( "(") (binary_expression "((uVar26 & 0x82) == 0) && (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8)" (parenthesized_expression "((uVar26 & 0x82) == 0)" (( "(") (binary_expression "(uVar26 & 0x82) == 0" (parenthesized_expression "(uVar26 & 0x82)" (( "(") (binary_expression "uVar26 & 0x82" (identifier "uVar26") (& "&") (number_literal "0x82")) () ")")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8)" (( "(") (binary_expression "puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8" (identifier "puVar4") (!= "!=") (binary_expression "PTR__bfd_std_section_0003efc8 + 0xa8" (identifier "PTR__bfd_std_section_0003efc8") (+ "+") (number_literal "0xa8"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)" (( "(") (binary_expression "(*(byte *)(piVar3[4] + 0x15) & 0x10) == 0" (parenthesized_expression "(*(byte *)(piVar3[4] + 0x15) & 0x10)" (( "(") (binary_expression "*(byte *)(piVar3[4] + 0x15) & 0x10" (pointer_expression "*(byte *)(piVar3[4] + 0x15)" (* "*") (cast_expression "(byte *)(piVar3[4] + 0x15)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar3[4] + 0x15)" (( "(") (binary_expression "piVar3[4] + 0x15" (subscript_expression "piVar3[4]" (identifier "piVar3") ([ "[") (number_literal "4") (] "]")) (+ "+") (number_literal "0x15")) () ")")))) (& "&") (number_literal "0x10")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n              if ((uVar26 & 4) == 0) {\n                if (((*(int *)(param_1[1] + 4) != 2) ||\n                    (iVar9 = *(int *)(piVar3[4] + 0x8c), iVar9 == 0)) ||\n                   (*(int *)(iVar9 + 0x24) == 0)) {\n                  if ((DAT_0003fb78 == 3) || (DAT_0003fb74 == 2)) goto LAB_000192f8;\n                  if (DAT_0003fb74 == 1) {\n                    iVar9 = bfd_is_local_label(param_1,piVar3,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }\n                goto LAB_00019528;\n              }\n              iVar9 = DAT_0003fb28;\n              if (1 < DAT_0003fb78 - 2U) {\njoined_r0x0001a13f:\n                if (iVar9 == 0) goto LAB_00019528;\n              }\n            }" ({ "{") (if_statement "if ((uVar26 & 4) == 0) {\n                if (((*(int *)(param_1[1] + 4) != 2) ||\n                    (iVar9 = *(int *)(piVar3[4] + 0x8c), iVar9 == 0)) ||\n                   (*(int *)(iVar9 + 0x24) == 0)) {\n                  if ((DAT_0003fb78 == 3) || (DAT_0003fb74 == 2)) goto LAB_000192f8;\n                  if (DAT_0003fb74 == 1) {\n                    iVar9 = bfd_is_local_label(param_1,piVar3,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }\n                goto LAB_00019528;\n              }" (if "if") (parenthesized_expression "((uVar26 & 4) == 0)" (( "(") (binary_expression "(uVar26 & 4) == 0" (parenthesized_expression "(uVar26 & 4)" (( "(") (binary_expression "uVar26 & 4" (identifier "uVar26") (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                if (((*(int *)(param_1[1] + 4) != 2) ||\n                    (iVar9 = *(int *)(piVar3[4] + 0x8c), iVar9 == 0)) ||\n                   (*(int *)(iVar9 + 0x24) == 0)) {\n                  if ((DAT_0003fb78 == 3) || (DAT_0003fb74 == 2)) goto LAB_000192f8;\n                  if (DAT_0003fb74 == 1) {\n                    iVar9 = bfd_is_local_label(param_1,piVar3,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }\n                goto LAB_00019528;\n              }" ({ "{") (if_statement "if (((*(int *)(param_1[1] + 4) != 2) ||\n                    (iVar9 = *(int *)(piVar3[4] + 0x8c), iVar9 == 0)) ||\n                   (*(int *)(iVar9 + 0x24) == 0)) {\n                  if ((DAT_0003fb78 == 3) || (DAT_0003fb74 == 2)) goto LAB_000192f8;\n                  if (DAT_0003fb74 == 1) {\n                    iVar9 = bfd_is_local_label(param_1,piVar3,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }" (if "if") (parenthesized_expression "(((*(int *)(param_1[1] + 4) != 2) ||\n                    (iVar9 = *(int *)(piVar3[4] + 0x8c), iVar9 == 0)) ||\n                   (*(int *)(iVar9 + 0x24) == 0))" (( "(") (binary_expression "((*(int *)(param_1[1] + 4) != 2) ||\n                    (iVar9 = *(int *)(piVar3[4] + 0x8c), iVar9 == 0)) ||\n                   (*(int *)(iVar9 + 0x24) == 0)" (parenthesized_expression "((*(int *)(param_1[1] + 4) != 2) ||\n                    (iVar9 = *(int *)(piVar3[4] + 0x8c), iVar9 == 0))" (( "(") (binary_expression "(*(int *)(param_1[1] + 4) != 2) ||\n                    (iVar9 = *(int *)(piVar3[4] + 0x8c), iVar9 == 0)" (parenthesized_expression "(*(int *)(param_1[1] + 4) != 2)" (( "(") (binary_expression "*(int *)(param_1[1] + 4) != 2" (pointer_expression "*(int *)(param_1[1] + 4)" (* "*") (cast_expression "(int *)(param_1[1] + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[1] + 4)" (( "(") (binary_expression "param_1[1] + 4" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "4")) () ")")))) (!= "!=") (number_literal "2")) () ")")) (|| "||") (parenthesized_expression "(iVar9 = *(int *)(piVar3[4] + 0x8c), iVar9 == 0)" (( "(") (comma_expression "iVar9 = *(int *)(piVar3[4] + 0x8c), iVar9 == 0" (assignment_expression "iVar9 = *(int *)(piVar3[4] + 0x8c)" (identifier "iVar9") (= "=") (pointer_expression "*(int *)(piVar3[4] + 0x8c)" (* "*") (cast_expression "(int *)(piVar3[4] + 0x8c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar3[4] + 0x8c)" (( "(") (binary_expression "piVar3[4] + 0x8c" (subscript_expression "piVar3[4]" (identifier "piVar3") ([ "[") (number_literal "4") (] "]")) (+ "+") (number_literal "0x8c")) () ")"))))) (, ",") (binary_expression "iVar9 == 0" (identifier "iVar9") (== "==") (number_literal "0"))) () ")"))) () ")")) (|| "||") (parenthesized_expression "(*(int *)(iVar9 + 0x24) == 0)" (( "(") (binary_expression "*(int *)(iVar9 + 0x24) == 0" (pointer_expression "*(int *)(iVar9 + 0x24)" (* "*") (cast_expression "(int *)(iVar9 + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x24)" (( "(") (binary_expression "iVar9 + 0x24" (identifier "iVar9") (+ "+") (number_literal "0x24")) () ")")))) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n                  if ((DAT_0003fb78 == 3) || (DAT_0003fb74 == 2)) goto LAB_000192f8;\n                  if (DAT_0003fb74 == 1) {\n                    iVar9 = bfd_is_local_label(param_1,piVar3,0,0);\n                    goto joined_r0x0001a13f;\n                  }\n                }" ({ "{") (if_statement "if ((DAT_0003fb78 == 3) || (DAT_0003fb74 == 2)) goto LAB_000192f8;" (if "if") (parenthesized_expression "((DAT_0003fb78 == 3) || (DAT_0003fb74 == 2))" (( "(") (binary_expression "(DAT_0003fb78 == 3) || (DAT_0003fb74 == 2)" (parenthesized_expression "(DAT_0003fb78 == 3)" (( "(") (binary_expression "DAT_0003fb78 == 3" (identifier "DAT_0003fb78") (== "==") (number_literal "3")) () ")")) (|| "||") (parenthesized_expression "(DAT_0003fb74 == 2)" (( "(") (binary_expression "DAT_0003fb74 == 2" (identifier "DAT_0003fb74") (== "==") (number_literal "2")) () ")"))) () ")")) (goto_statement "goto LAB_000192f8;" (goto "goto") (statement_identifier "LAB_000192f8") (; ";"))) (if_statement "if (DAT_0003fb74 == 1) {\n                    iVar9 = bfd_is_local_label(param_1,piVar3,0,0);\n                    goto joined_r0x0001a13f;\n                  }" (if "if") (parenthesized_expression "(DAT_0003fb74 == 1)" (( "(") (binary_expression "DAT_0003fb74 == 1" (identifier "DAT_0003fb74") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n                    iVar9 = bfd_is_local_label(param_1,piVar3,0,0);\n                    goto joined_r0x0001a13f;\n                  }" ({ "{") (expression_statement "iVar9 = bfd_is_local_label(param_1,piVar3,0,0);" (assignment_expression "iVar9 = bfd_is_local_label(param_1,piVar3,0,0)" (identifier "iVar9") (= "=") (call_expression "bfd_is_local_label(param_1,piVar3,0,0)" (identifier "bfd_is_local_label") (argument_list "(param_1,piVar3,0,0)" (( "(") (identifier "param_1") (, ",") (identifier "piVar3") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")")))) (; ";")) (goto_statement "goto joined_r0x0001a13f;" (goto "goto") (statement_identifier "joined_r0x0001a13f") (; ";")) (} "}"))) (} "}"))) (goto_statement "goto LAB_00019528;" (goto "goto") (statement_identifier "LAB_00019528") (; ";")) (} "}"))) (expression_statement "iVar9 = DAT_0003fb28;" (assignment_expression "iVar9 = DAT_0003fb28" (identifier "iVar9") (= "=") (identifier "DAT_0003fb28")) (; ";")) (if_statement "if (1 < DAT_0003fb78 - 2U) {\njoined_r0x0001a13f:\n                if (iVar9 == 0) goto LAB_00019528;\n              }" (if "if") (parenthesized_expression "(1 < DAT_0003fb78 - 2U)" (( "(") (binary_expression "1 < DAT_0003fb78 - 2U" (number_literal "1") (< "<") (binary_expression "DAT_0003fb78 - 2U" (identifier "DAT_0003fb78") (- "-") (number_literal "2U"))) () ")")) (compound_statement "{\njoined_r0x0001a13f:\n                if (iVar9 == 0) goto LAB_00019528;\n              }" ({ "{") (labeled_statement "joined_r0x0001a13f:\n                if (iVar9 == 0) goto LAB_00019528;" (statement_identifier "joined_r0x0001a13f") (: ":") (if_statement "if (iVar9 == 0) goto LAB_00019528;" (if "if") (parenthesized_expression "(iVar9 == 0)" (( "(") (binary_expression "iVar9 == 0" (identifier "iVar9") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00019528;" (goto "goto") (statement_identifier "LAB_00019528") (; ";")))) (} "}"))) (} "}")) (else_clause "else if (DAT_0003fb78 != 3) goto LAB_00019528;" (else "else") (if_statement "if (DAT_0003fb78 != 3) goto LAB_00019528;" (if "if") (parenthesized_expression "(DAT_0003fb78 != 3)" (( "(") (binary_expression "DAT_0003fb78 != 3" (identifier "DAT_0003fb78") (!= "!=") (number_literal "3")) () ")")) (goto_statement "goto LAB_00019528;" (goto "goto") (statement_identifier "LAB_00019528") (; ";"))))))) (} "}")) (else_clause "else {\n            iVar9 = FUN_00017880();\n            if (iVar9 != 0) {\n              uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",\n                                 5,iVar9);\n              FUN_0002b6d0(uVar10,piVar31);\n              DAT_0003fb88 = 1;\n            }\nLAB_000192e0:\n            iVar9 = FUN_00017880();\n            if (iVar9 == 0) goto LAB_0001931c;\n          }" (else "else") (compound_statement "{\n            iVar9 = FUN_00017880();\n            if (iVar9 != 0) {\n              uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",\n                                 5,iVar9);\n              FUN_0002b6d0(uVar10,piVar31);\n              DAT_0003fb88 = 1;\n            }\nLAB_000192e0:\n            iVar9 = FUN_00017880();\n            if (iVar9 == 0) goto LAB_0001931c;\n          }" ({ "{") (expression_statement "iVar9 = FUN_00017880();" (assignment_expression "iVar9 = FUN_00017880()" (identifier "iVar9") (= "=") (call_expression "FUN_00017880()" (identifier "FUN_00017880") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar9 != 0) {\n              uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",\n                                 5,iVar9);\n              FUN_0002b6d0(uVar10,piVar31);\n              DAT_0003fb88 = 1;\n            }" (if "if") (parenthesized_expression "(iVar9 != 0)" (( "(") (binary_expression "iVar9 != 0" (identifier "iVar9") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",\n                                 5,iVar9);\n              FUN_0002b6d0(uVar10,piVar31);\n              DAT_0003fb88 = 1;\n            }" ({ "{") (expression_statement "uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",\n                                 5,iVar9);" (assignment_expression "uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",\n                                 5,iVar9)" (identifier "uVar10") (= "=") (call_expression "dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",\n                                 5,iVar9)" (identifier "dcgettext") (argument_list "(0,"not stripping symbol `%s\' because it is named in a relocation",\n                                 5,iVar9)" (( "(") (number_literal "0") (, ",") (string_literal ""not stripping symbol `%s\' because it is named in a relocation"" (" """) (string_content "not stripping symbol `%s") (escape_sequence "\'") (string_content " because it is named in a relocation") (" """)) (, ",") (number_literal "5") (, ",") (identifier "iVar9") () ")")))) (; ";")) (expression_statement "FUN_0002b6d0(uVar10,piVar31);" (call_expression "FUN_0002b6d0(uVar10,piVar31)" (identifier "FUN_0002b6d0") (argument_list "(uVar10,piVar31)" (( "(") (identifier "uVar10") (, ",") (identifier "piVar31") () ")"))) (; ";")) (expression_statement "DAT_0003fb88 = 1;" (assignment_expression "DAT_0003fb88 = 1" (identifier "DAT_0003fb88") (= "=") (number_literal "1")) (; ";")) (} "}"))) (labeled_statement "LAB_000192e0:\n            iVar9 = FUN_00017880();" (statement_identifier "LAB_000192e0") (: ":") (expression_statement "iVar9 = FUN_00017880();" (assignment_expression "iVar9 = FUN_00017880()" (identifier "iVar9") (= "=") (call_expression "FUN_00017880()" (identifier "FUN_00017880") (argument_list "()" (( "(") () ")")))) (; ";"))) (if_statement "if (iVar9 == 0) goto LAB_0001931c;" (if "if") (parenthesized_expression "(iVar9 == 0)" (( "(") (binary_expression "iVar9 == 0" (identifier "iVar9") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001931c;" (goto "goto") (statement_identifier "LAB_0001931c") (; ";"))) (} "}")))) (labeled_statement "LAB_000192f8:\n          if (((DAT_0003fadc != 0) && ((uVar26 & 0x4000) != 0)) ||\n             (iVar9 = FUN_00017880(), iVar9 != 0)) goto LAB_0001931c;" (statement_identifier "LAB_000192f8") (: ":") (if_statement "if (((DAT_0003fadc != 0) && ((uVar26 & 0x4000) != 0)) ||\n             (iVar9 = FUN_00017880(), iVar9 != 0)) goto LAB_0001931c;" (if "if") (parenthesized_expression "(((DAT_0003fadc != 0) && ((uVar26 & 0x4000) != 0)) ||\n             (iVar9 = FUN_00017880(), iVar9 != 0))" (( "(") (binary_expression "((DAT_0003fadc != 0) && ((uVar26 & 0x4000) != 0)) ||\n             (iVar9 = FUN_00017880(), iVar9 != 0)" (parenthesized_expression "((DAT_0003fadc != 0) && ((uVar26 & 0x4000) != 0))" (( "(") (binary_expression "(DAT_0003fadc != 0) && ((uVar26 & 0x4000) != 0)" (parenthesized_expression "(DAT_0003fadc != 0)" (( "(") (binary_expression "DAT_0003fadc != 0" (identifier "DAT_0003fadc") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((uVar26 & 0x4000) != 0)" (( "(") (binary_expression "(uVar26 & 0x4000) != 0" (parenthesized_expression "(uVar26 & 0x4000)" (( "(") (binary_expression "uVar26 & 0x4000" (identifier "uVar26") (& "&") (number_literal "0x4000")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(iVar9 = FUN_00017880(), iVar9 != 0)" (( "(") (comma_expression "iVar9 = FUN_00017880(), iVar9 != 0" (assignment_expression "iVar9 = FUN_00017880()" (identifier "iVar9") (= "=") (call_expression "FUN_00017880()" (identifier "FUN_00017880") (argument_list "()" (( "(") () ")")))) (, ",") (binary_expression "iVar9 != 0" (identifier "iVar9") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (goto_statement "goto LAB_0001931c;" (goto "goto") (statement_identifier "LAB_0001931c") (; ";")))) (} "}")) (else_clause "else {\n          iVar9 = FUN_00017880();\n          if (iVar9 != 0) {\n            uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",5)\n            ;\n            FUN_0002b6d0(uVar10,piVar31);\n            DAT_0003fb88 = 1;\n          }\nLAB_0001931c:\n          iVar9 = FUN_000178f0();\n          if (iVar9 == 0) {\n            if (((uVar26 & 2) != 0) && ((DAT_0003fae0 != 0 || (iVar9 = FUN_00017880(), iVar9 != 0)))\n               ) {\n              piVar3[3] = piVar3[3] & 0xfffffffdU | 0x80;\n            }\n            if (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8) {\n              if (((uVar26 & 0x82) != 0) &&\n                 (((iVar9 = FUN_00017880(), iVar9 != 0 ||\n                   ((iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0)))) ||\n                  ((DAT_0003fb10 != 0 &&\n                   ((((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)\n                    ))))))) {\n                piVar3[3] = piVar3[3] & 0xffffff7dU | 1;\n              }\n              if (((uVar26 & 1) != 0) && (iVar9 = FUN_00017880(), iVar9 != 0)) {\n                piVar3[3] = piVar3[3] & 0xfffffffeU | 2;\n              }\n            }\n            piVar15[local_70] = (int)piVar3;\n            local_70 = local_70 + 1;\n          }\n        }" (else "else") (compound_statement "{\n          iVar9 = FUN_00017880();\n          if (iVar9 != 0) {\n            uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",5)\n            ;\n            FUN_0002b6d0(uVar10,piVar31);\n            DAT_0003fb88 = 1;\n          }\nLAB_0001931c:\n          iVar9 = FUN_000178f0();\n          if (iVar9 == 0) {\n            if (((uVar26 & 2) != 0) && ((DAT_0003fae0 != 0 || (iVar9 = FUN_00017880(), iVar9 != 0)))\n               ) {\n              piVar3[3] = piVar3[3] & 0xfffffffdU | 0x80;\n            }\n            if (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8) {\n              if (((uVar26 & 0x82) != 0) &&\n                 (((iVar9 = FUN_00017880(), iVar9 != 0 ||\n                   ((iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0)))) ||\n                  ((DAT_0003fb10 != 0 &&\n                   ((((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)\n                    ))))))) {\n                piVar3[3] = piVar3[3] & 0xffffff7dU | 1;\n              }\n              if (((uVar26 & 1) != 0) && (iVar9 = FUN_00017880(), iVar9 != 0)) {\n                piVar3[3] = piVar3[3] & 0xfffffffeU | 2;\n              }\n            }\n            piVar15[local_70] = (int)piVar3;\n            local_70 = local_70 + 1;\n          }\n        }" ({ "{") (expression_statement "iVar9 = FUN_00017880();" (assignment_expression "iVar9 = FUN_00017880()" (identifier "iVar9") (= "=") (call_expression "FUN_00017880()" (identifier "FUN_00017880") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar9 != 0) {\n            uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",5)\n            ;\n            FUN_0002b6d0(uVar10,piVar31);\n            DAT_0003fb88 = 1;\n          }" (if "if") (parenthesized_expression "(iVar9 != 0)" (( "(") (binary_expression "iVar9 != 0" (identifier "iVar9") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",5)\n            ;\n            FUN_0002b6d0(uVar10,piVar31);\n            DAT_0003fb88 = 1;\n          }" ({ "{") (expression_statement "uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",5)\n            ;" (assignment_expression "uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",5)" (identifier "uVar10") (= "=") (call_expression "dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",5)" (identifier "dcgettext") (argument_list "(0,"not stripping symbol `%s\' because it is named in a relocation",5)" (( "(") (number_literal "0") (, ",") (string_literal ""not stripping symbol `%s\' because it is named in a relocation"" (" """) (string_content "not stripping symbol `%s") (escape_sequence "\'") (string_content " because it is named in a relocation") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0002b6d0(uVar10,piVar31);" (call_expression "FUN_0002b6d0(uVar10,piVar31)" (identifier "FUN_0002b6d0") (argument_list "(uVar10,piVar31)" (( "(") (identifier "uVar10") (, ",") (identifier "piVar31") () ")"))) (; ";")) (expression_statement "DAT_0003fb88 = 1;" (assignment_expression "DAT_0003fb88 = 1" (identifier "DAT_0003fb88") (= "=") (number_literal "1")) (; ";")) (} "}"))) (labeled_statement "LAB_0001931c:\n          iVar9 = FUN_000178f0();" (statement_identifier "LAB_0001931c") (: ":") (expression_statement "iVar9 = FUN_000178f0();" (assignment_expression "iVar9 = FUN_000178f0()" (identifier "iVar9") (= "=") (call_expression "FUN_000178f0()" (identifier "FUN_000178f0") (argument_list "()" (( "(") () ")")))) (; ";"))) (if_statement "if (iVar9 == 0) {\n            if (((uVar26 & 2) != 0) && ((DAT_0003fae0 != 0 || (iVar9 = FUN_00017880(), iVar9 != 0)))\n               ) {\n              piVar3[3] = piVar3[3] & 0xfffffffdU | 0x80;\n            }\n            if (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8) {\n              if (((uVar26 & 0x82) != 0) &&\n                 (((iVar9 = FUN_00017880(), iVar9 != 0 ||\n                   ((iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0)))) ||\n                  ((DAT_0003fb10 != 0 &&\n                   ((((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)\n                    ))))))) {\n                piVar3[3] = piVar3[3] & 0xffffff7dU | 1;\n              }\n              if (((uVar26 & 1) != 0) && (iVar9 = FUN_00017880(), iVar9 != 0)) {\n                piVar3[3] = piVar3[3] & 0xfffffffeU | 2;\n              }\n            }\n            piVar15[local_70] = (int)piVar3;\n            local_70 = local_70 + 1;\n          }" (if "if") (parenthesized_expression "(iVar9 == 0)" (( "(") (binary_expression "iVar9 == 0" (identifier "iVar9") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            if (((uVar26 & 2) != 0) && ((DAT_0003fae0 != 0 || (iVar9 = FUN_00017880(), iVar9 != 0)))\n               ) {\n              piVar3[3] = piVar3[3] & 0xfffffffdU | 0x80;\n            }\n            if (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8) {\n              if (((uVar26 & 0x82) != 0) &&\n                 (((iVar9 = FUN_00017880(), iVar9 != 0 ||\n                   ((iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0)))) ||\n                  ((DAT_0003fb10 != 0 &&\n                   ((((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)\n                    ))))))) {\n                piVar3[3] = piVar3[3] & 0xffffff7dU | 1;\n              }\n              if (((uVar26 & 1) != 0) && (iVar9 = FUN_00017880(), iVar9 != 0)) {\n                piVar3[3] = piVar3[3] & 0xfffffffeU | 2;\n              }\n            }\n            piVar15[local_70] = (int)piVar3;\n            local_70 = local_70 + 1;\n          }" ({ "{") (if_statement "if (((uVar26 & 2) != 0) && ((DAT_0003fae0 != 0 || (iVar9 = FUN_00017880(), iVar9 != 0)))\n               ) {\n              piVar3[3] = piVar3[3] & 0xfffffffdU | 0x80;\n            }" (if "if") (parenthesized_expression "(((uVar26 & 2) != 0) && ((DAT_0003fae0 != 0 || (iVar9 = FUN_00017880(), iVar9 != 0)))\n               )" (( "(") (binary_expression "((uVar26 & 2) != 0) && ((DAT_0003fae0 != 0 || (iVar9 = FUN_00017880(), iVar9 != 0)))" (parenthesized_expression "((uVar26 & 2) != 0)" (( "(") (binary_expression "(uVar26 & 2) != 0" (parenthesized_expression "(uVar26 & 2)" (( "(") (binary_expression "uVar26 & 2" (identifier "uVar26") (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((DAT_0003fae0 != 0 || (iVar9 = FUN_00017880(), iVar9 != 0)))" (( "(") (parenthesized_expression "(DAT_0003fae0 != 0 || (iVar9 = FUN_00017880(), iVar9 != 0))" (( "(") (binary_expression "DAT_0003fae0 != 0 || (iVar9 = FUN_00017880(), iVar9 != 0)" (binary_expression "DAT_0003fae0 != 0" (identifier "DAT_0003fae0") (!= "!=") (number_literal "0")) (|| "||") (parenthesized_expression "(iVar9 = FUN_00017880(), iVar9 != 0)" (( "(") (comma_expression "iVar9 = FUN_00017880(), iVar9 != 0" (assignment_expression "iVar9 = FUN_00017880()" (identifier "iVar9") (= "=") (call_expression "FUN_00017880()" (identifier "FUN_00017880") (argument_list "()" (( "(") () ")")))) (, ",") (binary_expression "iVar9 != 0" (identifier "iVar9") (!= "!=") (number_literal "0"))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n              piVar3[3] = piVar3[3] & 0xfffffffdU | 0x80;\n            }" ({ "{") (expression_statement "piVar3[3] = piVar3[3] & 0xfffffffdU | 0x80;" (assignment_expression "piVar3[3] = piVar3[3] & 0xfffffffdU | 0x80" (subscript_expression "piVar3[3]" (identifier "piVar3") ([ "[") (number_literal "3") (] "]")) (= "=") (binary_expression "piVar3[3] & 0xfffffffdU | 0x80" (binary_expression "piVar3[3] & 0xfffffffdU" (subscript_expression "piVar3[3]" (identifier "piVar3") ([ "[") (number_literal "3") (] "]")) (& "&") (number_literal "0xfffffffdU")) (| "|") (number_literal "0x80"))) (; ";")) (} "}"))) (if_statement "if (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8) {\n              if (((uVar26 & 0x82) != 0) &&\n                 (((iVar9 = FUN_00017880(), iVar9 != 0 ||\n                   ((iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0)))) ||\n                  ((DAT_0003fb10 != 0 &&\n                   ((((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)\n                    ))))))) {\n                piVar3[3] = piVar3[3] & 0xffffff7dU | 1;\n              }\n              if (((uVar26 & 1) != 0) && (iVar9 = FUN_00017880(), iVar9 != 0)) {\n                piVar3[3] = piVar3[3] & 0xfffffffeU | 2;\n              }\n            }" (if "if") (parenthesized_expression "(puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8)" (( "(") (binary_expression "puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8" (identifier "puVar4") (!= "!=") (binary_expression "PTR__bfd_std_section_0003efc8 + 0xa8" (identifier "PTR__bfd_std_section_0003efc8") (+ "+") (number_literal "0xa8"))) () ")")) (compound_statement "{\n              if (((uVar26 & 0x82) != 0) &&\n                 (((iVar9 = FUN_00017880(), iVar9 != 0 ||\n                   ((iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0)))) ||\n                  ((DAT_0003fb10 != 0 &&\n                   ((((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)\n                    ))))))) {\n                piVar3[3] = piVar3[3] & 0xffffff7dU | 1;\n              }\n              if (((uVar26 & 1) != 0) && (iVar9 = FUN_00017880(), iVar9 != 0)) {\n                piVar3[3] = piVar3[3] & 0xfffffffeU | 2;\n              }\n            }" ({ "{") (if_statement "if (((uVar26 & 0x82) != 0) &&\n                 (((iVar9 = FUN_00017880(), iVar9 != 0 ||\n                   ((iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0)))) ||\n                  ((DAT_0003fb10 != 0 &&\n                   ((((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)\n                    ))))))) {\n                piVar3[3] = piVar3[3] & 0xffffff7dU | 1;\n              }" (if "if") (parenthesized_expression "(((uVar26 & 0x82) != 0) &&\n                 (((iVar9 = FUN_00017880(), iVar9 != 0 ||\n                   ((iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0)))) ||\n                  ((DAT_0003fb10 != 0 &&\n                   ((((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)\n                    )))))))" (( "(") (binary_expression "((uVar26 & 0x82) != 0) &&\n                 (((iVar9 = FUN_00017880(), iVar9 != 0 ||\n                   ((iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0)))) ||\n                  ((DAT_0003fb10 != 0 &&\n                   ((((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)\n                    ))))))" (parenthesized_expression "((uVar26 & 0x82) != 0)" (( "(") (binary_expression "(uVar26 & 0x82) != 0" (parenthesized_expression "(uVar26 & 0x82)" (( "(") (binary_expression "uVar26 & 0x82" (identifier "uVar26") (& "&") (number_literal "0x82")) () ")")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(((iVar9 = FUN_00017880(), iVar9 != 0 ||\n                   ((iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0)))) ||\n                  ((DAT_0003fb10 != 0 &&\n                   ((((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)\n                    ))))))" (( "(") (parenthesized_expression "((iVar9 = FUN_00017880(), iVar9 != 0 ||\n                   ((iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0)))) ||\n                  ((DAT_0003fb10 != 0 &&\n                   ((((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)\n                    )))))" (( "(") (binary_expression "(iVar9 = FUN_00017880(), iVar9 != 0 ||\n                   ((iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0)))) ||\n                  ((DAT_0003fb10 != 0 &&\n                   ((((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)\n                    ))))" (parenthesized_expression "(iVar9 = FUN_00017880(), iVar9 != 0 ||\n                   ((iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0))))" (( "(") (comma_expression "iVar9 = FUN_00017880(), iVar9 != 0 ||\n                   ((iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0)))" (assignment_expression "iVar9 = FUN_00017880()" (identifier "iVar9") (= "=") (call_expression "FUN_00017880()" (identifier "FUN_00017880") (argument_list "()" (( "(") () ")")))) (, ",") (binary_expression "iVar9 != 0 ||\n                   ((iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0)))" (binary_expression "iVar9 != 0" (identifier "iVar9") (!= "!=") (number_literal "0")) (|| "||") (parenthesized_expression "((iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0)))" (( "(") (parenthesized_expression "(iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0))" (( "(") (comma_expression "iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0)" (assignment_expression "iVar9 = htab_elements(DAT_0003faf8)" (identifier "iVar9") (= "=") (call_expression "htab_elements(DAT_0003faf8)" (identifier "htab_elements") (argument_list "(DAT_0003faf8)" (( "(") (identifier "DAT_0003faf8") () ")")))) (, ",") (binary_expression "iVar9 != 0 &&\n                    (iVar9 = FUN_00017880(), iVar9 == 0)" (binary_expression "iVar9 != 0" (identifier "iVar9") (!= "!=") (number_literal "0")) (&& "&&") (parenthesized_expression "(iVar9 = FUN_00017880(), iVar9 == 0)" (( "(") (comma_expression "iVar9 = FUN_00017880(), iVar9 == 0" (assignment_expression "iVar9 = FUN_00017880()" (identifier "iVar9") (= "=") (call_expression "FUN_00017880()" (identifier "FUN_00017880") (argument_list "()" (( "(") () ")")))) (, ",") (binary_expression "iVar9 == 0" (identifier "iVar9") (== "==") (number_literal "0"))) () ")")))) () ")")) () ")")))) () ")")) (|| "||") (parenthesized_expression "((DAT_0003fb10 != 0 &&\n                   ((((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)\n                    ))))" (( "(") (parenthesized_expression "(DAT_0003fb10 != 0 &&\n                   ((((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)\n                    )))" (( "(") (binary_expression "DAT_0003fb10 != 0 &&\n                   ((((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)\n                    ))" (binary_expression "DAT_0003fb10 != 0" (identifier "DAT_0003fb10") (!= "!=") (number_literal "0")) (&& "&&") (parenthesized_expression "((((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)\n                    ))" (( "(") (parenthesized_expression "(((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)\n                    )" (( "(") (binary_expression "((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)" (parenthesized_expression "((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0))" (( "(") (binary_expression "(iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&\n                     (*(int *)(iVar9 + 0x9c) != 0)" (parenthesized_expression "(iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5))" (( "(") (comma_expression "iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)" (assignment_expression "iVar9 = *piVar3" (identifier "iVar9") (= "=") (pointer_expression "*piVar3" (* "*") (identifier "piVar3"))) (, ",") (binary_expression "iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)" (binary_expression "iVar9 != 0" (identifier "iVar9") (!= "!=") (number_literal "0")) (&& "&&") (parenthesized_expression "(*(int *)(*(int *)(iVar9 + 4) + 4) == 5)" (( "(") (binary_expression "*(int *)(*(int *)(iVar9 + 4) + 4) == 5" (pointer_expression "*(int *)(*(int *)(iVar9 + 4) + 4)" (* "*") (cast_expression "(int *)(*(int *)(iVar9 + 4) + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar9 + 4) + 4)" (( "(") (binary_expression "*(int *)(iVar9 + 4) + 4" (pointer_expression "*(int *)(iVar9 + 4)" (* "*") (cast_expression "(int *)(iVar9 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 4)" (( "(") (binary_expression "iVar9 + 4" (identifier "iVar9") (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "4")) () ")")))) (== "==") (number_literal "5")) () ")")))) () ")")) (&& "&&") (parenthesized_expression "(*(int *)(iVar9 + 0x9c) != 0)" (( "(") (binary_expression "*(int *)(iVar9 + 0x9c) != 0" (pointer_expression "*(int *)(iVar9 + 0x9c)" (* "*") (cast_expression "(int *)(iVar9 + 0x9c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x9c)" (( "(") (binary_expression "iVar9 + 0x9c" (identifier "iVar9") (+ "+") (number_literal "0x9c")) () ")")))) (!= "!=") (number_literal "0")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)" (( "(") (binary_expression "(*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2" (binary_expression "(*(byte *)((int)piVar3 + 0x25) & 3) - 1" (parenthesized_expression "(*(byte *)((int)piVar3 + 0x25) & 3)" (( "(") (binary_expression "*(byte *)((int)piVar3 + 0x25) & 3" (pointer_expression "*(byte *)((int)piVar3 + 0x25)" (* "*") (cast_expression "(byte *)((int)piVar3 + 0x25)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar3 + 0x25)" (( "(") (binary_expression "(int)piVar3 + 0x25" (cast_expression "(int)piVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar3")) (+ "+") (number_literal "0x25")) () ")")))) (& "&") (number_literal "3")) () ")")) (- "-") (number_literal "1")) (< "<") (number_literal "2")) () ")"))) () ")")) () ")"))) () ")")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n                piVar3[3] = piVar3[3] & 0xffffff7dU | 1;\n              }" ({ "{") (expression_statement "piVar3[3] = piVar3[3] & 0xffffff7dU | 1;" (assignment_expression "piVar3[3] = piVar3[3] & 0xffffff7dU | 1" (subscript_expression "piVar3[3]" (identifier "piVar3") ([ "[") (number_literal "3") (] "]")) (= "=") (binary_expression "piVar3[3] & 0xffffff7dU | 1" (binary_expression "piVar3[3] & 0xffffff7dU" (subscript_expression "piVar3[3]" (identifier "piVar3") ([ "[") (number_literal "3") (] "]")) (& "&") (number_literal "0xffffff7dU")) (| "|") (number_literal "1"))) (; ";")) (} "}"))) (if_statement "if (((uVar26 & 1) != 0) && (iVar9 = FUN_00017880(), iVar9 != 0)) {\n                piVar3[3] = piVar3[3] & 0xfffffffeU | 2;\n              }" (if "if") (parenthesized_expression "(((uVar26 & 1) != 0) && (iVar9 = FUN_00017880(), iVar9 != 0))" (( "(") (binary_expression "((uVar26 & 1) != 0) && (iVar9 = FUN_00017880(), iVar9 != 0)" (parenthesized_expression "((uVar26 & 1) != 0)" (( "(") (binary_expression "(uVar26 & 1) != 0" (parenthesized_expression "(uVar26 & 1)" (( "(") (binary_expression "uVar26 & 1" (identifier "uVar26") (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar9 = FUN_00017880(), iVar9 != 0)" (( "(") (comma_expression "iVar9 = FUN_00017880(), iVar9 != 0" (assignment_expression "iVar9 = FUN_00017880()" (identifier "iVar9") (= "=") (call_expression "FUN_00017880()" (identifier "FUN_00017880") (argument_list "()" (( "(") () ")")))) (, ",") (binary_expression "iVar9 != 0" (identifier "iVar9") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n                piVar3[3] = piVar3[3] & 0xfffffffeU | 2;\n              }" ({ "{") (expression_statement "piVar3[3] = piVar3[3] & 0xfffffffeU | 2;" (assignment_expression "piVar3[3] = piVar3[3] & 0xfffffffeU | 2" (subscript_expression "piVar3[3]" (identifier "piVar3") ([ "[") (number_literal "3") (] "]")) (= "=") (binary_expression "piVar3[3] & 0xfffffffeU | 2" (binary_expression "piVar3[3] & 0xfffffffeU" (subscript_expression "piVar3[3]" (identifier "piVar3") ([ "[") (number_literal "3") (] "]")) (& "&") (number_literal "0xfffffffeU")) (| "|") (number_literal "2"))) (; ";")) (} "}"))) (} "}"))) (expression_statement "piVar15[local_70] = (int)piVar3;" (assignment_expression "piVar15[local_70] = (int)piVar3" (subscript_expression "piVar15[local_70]" (identifier "piVar15") ([ "[") (identifier "local_70") (] "]")) (= "=") (cast_expression "(int)piVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar3"))) (; ";")) (expression_statement "local_70 = local_70 + 1;" (assignment_expression "local_70 = local_70 + 1" (identifier "local_70") (= "=") (binary_expression "local_70 + 1" (identifier "local_70") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (} "}")))) (expression_statement "local_68 = local_68 + 1;" (assignment_expression "local_68 = local_68 + 1" (identifier "local_68") (= "=") (binary_expression "local_68 + 1" (identifier "local_68") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(piVar1 != local_68)" (( "(") (binary_expression "piVar1 != local_68" (identifier "piVar1") (!= "!=") (identifier "local_68")) () ")")) (; ";")) (} "}"))) (expression_statement "local_5c = DAT_0003fae8;" (assignment_expression "local_5c = DAT_0003fae8" (identifier "local_5c") (= "=") (identifier "DAT_0003fae8")) (; ";")) (if_statement "if ((DAT_0003fae8 != (int *)0x0) && (0 < DAT_0003fae4)) {\n      iVar9 = 0;\n      do {\n        pcVar22 = (char *)local_5c[5];\n        if (pcVar22 == (char *)0x0) {\n          iVar12 = FUN_000177e0();\n          piVar15[local_70] = iVar12;\n          local_70 = local_70 + 1;\n        }\n        else if (*pcVar22 != '\0') {\n          uVar10 = dcgettext(0,"\'before=%s\' not found",5,local_70);\n                    \n          FUN_0002b6a0(uVar10,pcVar22);\n        }\n        iVar9 = iVar9 + 1;\n        local_5c = (int *)*local_5c;\n      } while (iVar9 < DAT_0003fae4);\n    }" (if "if") (parenthesized_expression "((DAT_0003fae8 != (int *)0x0) && (0 < DAT_0003fae4))" (( "(") (binary_expression "(DAT_0003fae8 != (int *)0x0) && (0 < DAT_0003fae4)" (parenthesized_expression "(DAT_0003fae8 != (int *)0x0)" (( "(") (binary_expression "DAT_0003fae8 != (int *)0x0" (identifier "DAT_0003fae8") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(0 < DAT_0003fae4)" (( "(") (binary_expression "0 < DAT_0003fae4" (number_literal "0") (< "<") (identifier "DAT_0003fae4")) () ")"))) () ")")) (compound_statement "{\n      iVar9 = 0;\n      do {\n        pcVar22 = (char *)local_5c[5];\n        if (pcVar22 == (char *)0x0) {\n          iVar12 = FUN_000177e0();\n          piVar15[local_70] = iVar12;\n          local_70 = local_70 + 1;\n        }\n        else if (*pcVar22 != '\0') {\n          uVar10 = dcgettext(0,"\'before=%s\' not found",5,local_70);\n                    \n          FUN_0002b6a0(uVar10,pcVar22);\n        }\n        iVar9 = iVar9 + 1;\n        local_5c = (int *)*local_5c;\n      } while (iVar9 < DAT_0003fae4);\n    }" ({ "{") (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" (identifier "iVar9") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n        pcVar22 = (char *)local_5c[5];\n        if (pcVar22 == (char *)0x0) {\n          iVar12 = FUN_000177e0();\n          piVar15[local_70] = iVar12;\n          local_70 = local_70 + 1;\n        }\n        else if (*pcVar22 != '\0') {\n          uVar10 = dcgettext(0,"\'before=%s\' not found",5,local_70);\n                    \n          FUN_0002b6a0(uVar10,pcVar22);\n        }\n        iVar9 = iVar9 + 1;\n        local_5c = (int *)*local_5c;\n      } while (iVar9 < DAT_0003fae4);" (do "do") (compound_statement "{\n        pcVar22 = (char *)local_5c[5];\n        if (pcVar22 == (char *)0x0) {\n          iVar12 = FUN_000177e0();\n          piVar15[local_70] = iVar12;\n          local_70 = local_70 + 1;\n        }\n        else if (*pcVar22 != '\0') {\n          uVar10 = dcgettext(0,"\'before=%s\' not found",5,local_70);\n                    \n          FUN_0002b6a0(uVar10,pcVar22);\n        }\n        iVar9 = iVar9 + 1;\n        local_5c = (int *)*local_5c;\n      }" ({ "{") (expression_statement "pcVar22 = (char *)local_5c[5];" (assignment_expression "pcVar22 = (char *)local_5c[5]" (identifier "pcVar22") (= "=") (cast_expression "(char *)local_5c[5]" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "local_5c[5]" (identifier "local_5c") ([ "[") (number_literal "5") (] "]")))) (; ";")) (if_statement "if (pcVar22 == (char *)0x0) {\n          iVar12 = FUN_000177e0();\n          piVar15[local_70] = iVar12;\n          local_70 = local_70 + 1;\n        }\n        else if (*pcVar22 != '\0') {\n          uVar10 = dcgettext(0,"\'before=%s\' not found",5,local_70);\n                    \n          FUN_0002b6a0(uVar10,pcVar22);\n        }" (if "if") (parenthesized_expression "(pcVar22 == (char *)0x0)" (( "(") (binary_expression "pcVar22 == (char *)0x0" (identifier "pcVar22") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          iVar12 = FUN_000177e0();\n          piVar15[local_70] = iVar12;\n          local_70 = local_70 + 1;\n        }" ({ "{") (expression_statement "iVar12 = FUN_000177e0();" (assignment_expression "iVar12 = FUN_000177e0()" (identifier "iVar12") (= "=") (call_expression "FUN_000177e0()" (identifier "FUN_000177e0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "piVar15[local_70] = iVar12;" (assignment_expression "piVar15[local_70] = iVar12" (subscript_expression "piVar15[local_70]" (identifier "piVar15") ([ "[") (identifier "local_70") (] "]")) (= "=") (identifier "iVar12")) (; ";")) (expression_statement "local_70 = local_70 + 1;" (assignment_expression "local_70 = local_70 + 1" (identifier "local_70") (= "=") (binary_expression "local_70 + 1" (identifier "local_70") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (else_clause "else if (*pcVar22 != '\0') {\n          uVar10 = dcgettext(0,"\'before=%s\' not found",5,local_70);\n                    \n          FUN_0002b6a0(uVar10,pcVar22);\n        }" (else "else") (if_statement "if (*pcVar22 != '\0') {\n          uVar10 = dcgettext(0,"\'before=%s\' not found",5,local_70);\n                    \n          FUN_0002b6a0(uVar10,pcVar22);\n        }" (if "if") (parenthesized_expression "(*pcVar22 != '\0')" (( "(") (binary_expression "*pcVar22 != '\0'" (pointer_expression "*pcVar22" (* "*") (identifier "pcVar22")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          uVar10 = dcgettext(0,"\'before=%s\' not found",5,local_70);\n                    \n          FUN_0002b6a0(uVar10,pcVar22);\n        }" ({ "{") (expression_statement "uVar10 = dcgettext(0,"\'before=%s\' not found",5,local_70);" (assignment_expression "uVar10 = dcgettext(0,"\'before=%s\' not found",5,local_70)" (identifier "uVar10") (= "=") (call_expression "dcgettext(0,"\'before=%s\' not found",5,local_70)" (identifier "dcgettext") (argument_list "(0,"\'before=%s\' not found",5,local_70)" (( "(") (number_literal "0") (, ",") (string_literal ""\'before=%s\' not found"" (" """) (escape_sequence "\'") (string_content "before=%s") (escape_sequence "\'") (string_content " not found") (" """)) (, ",") (number_literal "5") (, ",") (identifier "local_70") () ")")))) (; ";")) (expression_statement "FUN_0002b6a0(uVar10,pcVar22);" (call_expression "FUN_0002b6a0(uVar10,pcVar22)" (identifier "FUN_0002b6a0") (argument_list "(uVar10,pcVar22)" (( "(") (identifier "uVar10") (, ",") (identifier "pcVar22") () ")"))) (; ";")) (} "}"))))) (expression_statement "iVar9 = iVar9 + 1;" (assignment_expression "iVar9 = iVar9 + 1" (identifier "iVar9") (= "=") (binary_expression "iVar9 + 1" (identifier "iVar9") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "local_5c = (int *)*local_5c;" (assignment_expression "local_5c = (int *)*local_5c" (identifier "local_5c") (= "=") (cast_expression "(int *)*local_5c" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*local_5c" (* "*") (identifier "local_5c")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar9 < DAT_0003fae4)" (( "(") (binary_expression "iVar9 < DAT_0003fae4" (identifier "iVar9") (< "<") (identifier "DAT_0003fae4")) () ")")) (; ";")) (} "}"))) (expression_statement "piVar15[local_70] = 0;" (assignment_expression "piVar15[local_70] = 0" (subscript_expression "piVar15[local_70]" (identifier "piVar15") ([ "[") (identifier "local_70") (] "]")) (= "=") (number_literal "0")) (; ";")) (if_statement "if ((DAT_0003fb28 != 0) && (local_94 != 0)) {\n      iVar9 = ((undefined4 *)param_2[1])[1];\n      if ((iVar9 != 2) && (iVar9 != 5)) {\n        uVar10 = *(undefined4 *)param_2[1];\n        uVar11 = dcgettext(0,"don\'t know how to write debugging information for %s",5);\n        FUN_0002c160(0,param_2,0,uVar11,uVar10);\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n      iVar9 = FUN_0002b050(param_2,local_94,&local_4c,local_44,&local_48,&local_30);\n      if (iVar9 == 0) {\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n      iVar9 = bfd_make_section_with_flags(param_2,".stab",0x2108);\n      iVar12 = bfd_make_section_with_flags(param_2,".stabstr",0x2108);\n      if ((((iVar9 == 0) || (iVar12 == 0)) ||\n          (iVar21 = bfd_set_section_size(param_2,iVar9,local_44[0],iVar12), iVar21 == 0)) ||\n         (iVar21 = bfd_set_section_size(param_2,iVar12,local_30,iVar21), iVar21 == 0)) {\n        pcVar22 = "can\'t create debugging section";\nLAB_00019fcf:\n        uVar10 = dcgettext(0,pcVar22,5,iVar9);\n        FUN_0002c160(0,param_2,0,uVar10);\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n      *(undefined4 *)(iVar9 + 0x40) = 2;\n      *(undefined4 *)(iVar12 + 0x40) = 0;\n      iVar9 = bfd_set_section_contents(param_2,iVar9,local_4c,0,0,local_44[0],iVar21,iVar21);\n      if ((iVar9 == 0) ||\n         (iVar9 = bfd_set_section_contents\n                            (param_2,iVar12,local_48,0,0,local_30,extraout_ECX,extraout_ECX),\n         iVar9 == 0)) {\n        pcVar22 = "can\'t set debugging section contents";\n        iVar9 = iVar12;\n        goto LAB_00019fcf;\n      }\n    }" (if "if") (parenthesized_expression "((DAT_0003fb28 != 0) && (local_94 != 0))" (( "(") (binary_expression "(DAT_0003fb28 != 0) && (local_94 != 0)" (parenthesized_expression "(DAT_0003fb28 != 0)" (( "(") (binary_expression "DAT_0003fb28 != 0" (identifier "DAT_0003fb28") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(local_94 != 0)" (( "(") (binary_expression "local_94 != 0" (identifier "local_94") (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n      iVar9 = ((undefined4 *)param_2[1])[1];\n      if ((iVar9 != 2) && (iVar9 != 5)) {\n        uVar10 = *(undefined4 *)param_2[1];\n        uVar11 = dcgettext(0,"don\'t know how to write debugging information for %s",5);\n        FUN_0002c160(0,param_2,0,uVar11,uVar10);\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n      iVar9 = FUN_0002b050(param_2,local_94,&local_4c,local_44,&local_48,&local_30);\n      if (iVar9 == 0) {\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n      iVar9 = bfd_make_section_with_flags(param_2,".stab",0x2108);\n      iVar12 = bfd_make_section_with_flags(param_2,".stabstr",0x2108);\n      if ((((iVar9 == 0) || (iVar12 == 0)) ||\n          (iVar21 = bfd_set_section_size(param_2,iVar9,local_44[0],iVar12), iVar21 == 0)) ||\n         (iVar21 = bfd_set_section_size(param_2,iVar12,local_30,iVar21), iVar21 == 0)) {\n        pcVar22 = "can\'t create debugging section";\nLAB_00019fcf:\n        uVar10 = dcgettext(0,pcVar22,5,iVar9);\n        FUN_0002c160(0,param_2,0,uVar10);\n        DAT_0003fb88 = 1;\n        return 0;\n      }\n      *(undefined4 *)(iVar9 + 0x40) = 2;\n      *(undefined4 *)(iVar12 + 0x40) = 0;\n      iVar9 = bfd_set_section_contents(param_2,iVar9,local_4c,0,0,local_44[0],iVar21,iVar21);\n      if ((iVar9 == 0) ||\n         (iVar9 = bfd_set_section_contents\n                            (param_2,iVar12,local_48,0,0,local_30,extraout_ECX,extraout_ECX),\n         iVar9 == 0)) {\n        pcVar22 = "can\'t set debugging section contents";\n        iVar9 = iVar12;\n        goto LAB_00019fcf;\n      }\n    }" ({ "{") (expression_statement "iVar9 = ((undefined4 *)param_2[1])[1];" (assignment_expression "iVar9 = ((undefined4 *)param_2[1])[1]" (identifier "iVar9") (= "=") (subscript_expression "((undefined4 *)param_2[1])[1]" (parenthesized_expression "((undefined4 *)param_2[1])" (( "(") (cast_expression "(undefined4 *)param_2[1]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]"))) () ")")) ([ "[") (number_literal "1") (] "]"))) (; ";")) (if_statement "if ((iVar9 != 2) && (iVar9 != 5)) {\n        uVar10 = *(undefined4 *)param_2[1];\n        uVar11 = dcgettext(0,"don\'t know how to write debugging information for %s",5);\n        FUN_0002c160(0,param_2,0,uVar11,uVar10);\n        DAT_0003fb88 = 1;\n        return 0;\n      }" (if "if") (parenthesized_expression "((iVar9 != 2) && (iVar9 != 5))" (( "(") (binary_expression "(iVar9 != 2) && (iVar9 != 5)" (parenthesized_expression "(iVar9 != 2)" (( "(") (binary_expression "iVar9 != 2" (identifier "iVar9") (!= "!=") (number_literal "2")) () ")")) (&& "&&") (parenthesized_expression "(iVar9 != 5)" (( "(") (binary_expression "iVar9 != 5" (identifier "iVar9") (!= "!=") (number_literal "5")) () ")"))) () ")")) (compound_statement "{\n        uVar10 = *(undefined4 *)param_2[1];\n        uVar11 = dcgettext(0,"don\'t know how to write debugging information for %s",5);\n        FUN_0002c160(0,param_2,0,uVar11,uVar10);\n        DAT_0003fb88 = 1;\n        return 0;\n      }" ({ "{") (expression_statement "uVar10 = *(undefined4 *)param_2[1];" (assignment_expression "uVar10 = *(undefined4 *)param_2[1]" (identifier "uVar10") (= "=") (pointer_expression "*(undefined4 *)param_2[1]" (* "*") (cast_expression "(undefined4 *)param_2[1]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]"))))) (; ";")) (expression_statement "uVar11 = dcgettext(0,"don\'t know how to write debugging information for %s",5);" (assignment_expression "uVar11 = dcgettext(0,"don\'t know how to write debugging information for %s",5)" (identifier "uVar11") (= "=") (call_expression "dcgettext(0,"don\'t know how to write debugging information for %s",5)" (identifier "dcgettext") (argument_list "(0,"don\'t know how to write debugging information for %s",5)" (( "(") (number_literal "0") (, ",") (string_literal ""don\'t know how to write debugging information for %s"" (" """) (string_content "don") (escape_sequence "\'") (string_content "t know how to write debugging information for %s") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0002c160(0,param_2,0,uVar11,uVar10);" (call_expression "FUN_0002c160(0,param_2,0,uVar11,uVar10)" (identifier "FUN_0002c160") (argument_list "(0,param_2,0,uVar11,uVar10)" (( "(") (number_literal "0") (, ",") (identifier "param_2") (, ",") (number_literal "0") (, ",") (identifier "uVar11") (, ",") (identifier "uVar10") () ")"))) (; ";")) (expression_statement "DAT_0003fb88 = 1;" (assignment_expression "DAT_0003fb88 = 1" (identifier "DAT_0003fb88") (= "=") (number_literal "1")) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "iVar9 = FUN_0002b050(param_2,local_94,&local_4c,local_44,&local_48,&local_30);" (assignment_expression "iVar9 = FUN_0002b050(param_2,local_94,&local_4c,local_44,&local_48,&local_30)" (identifier "iVar9") (= "=") (call_expression "FUN_0002b050(param_2,local_94,&local_4c,local_44,&local_48,&local_30)" (identifier "FUN_0002b050") (argument_list "(param_2,local_94,&local_4c,local_44,&local_48,&local_30)" (( "(") (identifier "param_2") (, ",") (identifier "local_94") (, ",") (pointer_expression "&local_4c" (& "&") (identifier "local_4c")) (, ",") (identifier "local_44") (, ",") (pointer_expression "&local_48" (& "&") (identifier "local_48")) (, ",") (pointer_expression "&local_30" (& "&") (identifier "local_30")) () ")")))) (; ";")) (if_statement "if (iVar9 == 0) {\n        DAT_0003fb88 = 1;\n        return 0;\n      }" (if "if") (parenthesized_expression "(iVar9 == 0)" (( "(") (binary_expression "iVar9 == 0" (identifier "iVar9") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        DAT_0003fb88 = 1;\n        return 0;\n      }" ({ "{") (expression_statement "DAT_0003fb88 = 1;" (assignment_expression "DAT_0003fb88 = 1" (identifier "DAT_0003fb88") (= "=") (number_literal "1")) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "iVar9 = bfd_make_section_with_flags(param_2,".stab",0x2108);" (assignment_expression "iVar9 = bfd_make_section_with_flags(param_2,".stab",0x2108)" (identifier "iVar9") (= "=") (call_expression "bfd_make_section_with_flags(param_2,".stab",0x2108)" (identifier "bfd_make_section_with_flags") (argument_list "(param_2,".stab",0x2108)" (( "(") (identifier "param_2") (, ",") (string_literal "".stab"" (" """) (string_content ".stab") (" """)) (, ",") (number_literal "0x2108") () ")")))) (; ";")) (expression_statement "iVar12 = bfd_make_section_with_flags(param_2,".stabstr",0x2108);" (assignment_expression "iVar12 = bfd_make_section_with_flags(param_2,".stabstr",0x2108)" (identifier "iVar12") (= "=") (call_expression "bfd_make_section_with_flags(param_2,".stabstr",0x2108)" (identifier "bfd_make_section_with_flags") (argument_list "(param_2,".stabstr",0x2108)" (( "(") (identifier "param_2") (, ",") (string_literal "".stabstr"" (" """) (string_content ".stabstr") (" """)) (, ",") (number_literal "0x2108") () ")")))) (; ";")) (if_statement "if ((((iVar9 == 0) || (iVar12 == 0)) ||\n          (iVar21 = bfd_set_section_size(param_2,iVar9,local_44[0],iVar12), iVar21 == 0)) ||\n         (iVar21 = bfd_set_section_size(param_2,iVar12,local_30,iVar21), iVar21 == 0)) {\n        pcVar22 = "can\'t create debugging section";\nLAB_00019fcf:\n        uVar10 = dcgettext(0,pcVar22,5,iVar9);\n        FUN_0002c160(0,param_2,0,uVar10);\n        DAT_0003fb88 = 1;\n        return 0;\n      }" (if "if") (parenthesized_expression "((((iVar9 == 0) || (iVar12 == 0)) ||\n          (iVar21 = bfd_set_section_size(param_2,iVar9,local_44[0],iVar12), iVar21 == 0)) ||\n         (iVar21 = bfd_set_section_size(param_2,iVar12,local_30,iVar21), iVar21 == 0))" (( "(") (binary_expression "(((iVar9 == 0) || (iVar12 == 0)) ||\n          (iVar21 = bfd_set_section_size(param_2,iVar9,local_44[0],iVar12), iVar21 == 0)) ||\n         (iVar21 = bfd_set_section_size(param_2,iVar12,local_30,iVar21), iVar21 == 0)" (parenthesized_expression "(((iVar9 == 0) || (iVar12 == 0)) ||\n          (iVar21 = bfd_set_section_size(param_2,iVar9,local_44[0],iVar12), iVar21 == 0))" (( "(") (binary_expression "((iVar9 == 0) || (iVar12 == 0)) ||\n          (iVar21 = bfd_set_section_size(param_2,iVar9,local_44[0],iVar12), iVar21 == 0)" (parenthesized_expression "((iVar9 == 0) || (iVar12 == 0))" (( "(") (binary_expression "(iVar9 == 0) || (iVar12 == 0)" (parenthesized_expression "(iVar9 == 0)" (( "(") (binary_expression "iVar9 == 0" (identifier "iVar9") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar12 == 0)" (( "(") (binary_expression "iVar12 == 0" (identifier "iVar12") (== "==") (number_literal "0")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(iVar21 = bfd_set_section_size(param_2,iVar9,local_44[0],iVar12), iVar21 == 0)" (( "(") (comma_expression "iVar21 = bfd_set_section_size(param_2,iVar9,local_44[0],iVar12), iVar21 == 0" (assignment_expression "iVar21 = bfd_set_section_size(param_2,iVar9,local_44[0],iVar12)" (identifier "iVar21") (= "=") (call_expression "bfd_set_section_size(param_2,iVar9,local_44[0],iVar12)" (identifier "bfd_set_section_size") (argument_list "(param_2,iVar9,local_44[0],iVar12)" (( "(") (identifier "param_2") (, ",") (identifier "iVar9") (, ",") (subscript_expression "local_44[0]" (identifier "local_44") ([ "[") (number_literal "0") (] "]")) (, ",") (identifier "iVar12") () ")")))) (, ",") (binary_expression "iVar21 == 0" (identifier "iVar21") (== "==") (number_literal "0"))) () ")"))) () ")")) (|| "||") (parenthesized_expression "(iVar21 = bfd_set_section_size(param_2,iVar12,local_30,iVar21), iVar21 == 0)" (( "(") (comma_expression "iVar21 = bfd_set_section_size(param_2,iVar12,local_30,iVar21), iVar21 == 0" (assignment_expression "iVar21 = bfd_set_section_size(param_2,iVar12,local_30,iVar21)" (identifier "iVar21") (= "=") (call_expression "bfd_set_section_size(param_2,iVar12,local_30,iVar21)" (identifier "bfd_set_section_size") (argument_list "(param_2,iVar12,local_30,iVar21)" (( "(") (identifier "param_2") (, ",") (identifier "iVar12") (, ",") (identifier "local_30") (, ",") (identifier "iVar21") () ")")))) (, ",") (binary_expression "iVar21 == 0" (identifier "iVar21") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n        pcVar22 = "can\'t create debugging section";\nLAB_00019fcf:\n        uVar10 = dcgettext(0,pcVar22,5,iVar9);\n        FUN_0002c160(0,param_2,0,uVar10);\n        DAT_0003fb88 = 1;\n        return 0;\n      }" ({ "{") (expression_statement "pcVar22 = "can\'t create debugging section";" (assignment_expression "pcVar22 = "can\'t create debugging section"" (identifier "pcVar22") (= "=") (string_literal ""can\'t create debugging section"" (" """) (string_content "can") (escape_sequence "\'") (string_content "t create debugging section") (" """))) (; ";")) (labeled_statement "LAB_00019fcf:\n        uVar10 = dcgettext(0,pcVar22,5,iVar9);" (statement_identifier "LAB_00019fcf") (: ":") (expression_statement "uVar10 = dcgettext(0,pcVar22,5,iVar9);" (assignment_expression "uVar10 = dcgettext(0,pcVar22,5,iVar9)" (identifier "uVar10") (= "=") (call_expression "dcgettext(0,pcVar22,5,iVar9)" (identifier "dcgettext") (argument_list "(0,pcVar22,5,iVar9)" (( "(") (number_literal "0") (, ",") (identifier "pcVar22") (, ",") (number_literal "5") (, ",") (identifier "iVar9") () ")")))) (; ";"))) (expression_statement "FUN_0002c160(0,param_2,0,uVar10);" (call_expression "FUN_0002c160(0,param_2,0,uVar10)" (identifier "FUN_0002c160") (argument_list "(0,param_2,0,uVar10)" (( "(") (number_literal "0") (, ",") (identifier "param_2") (, ",") (number_literal "0") (, ",") (identifier "uVar10") () ")"))) (; ";")) (expression_statement "DAT_0003fb88 = 1;" (assignment_expression "DAT_0003fb88 = 1" (identifier "DAT_0003fb88") (= "=") (number_literal "1")) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "*(undefined4 *)(iVar9 + 0x40) = 2;" (assignment_expression "*(undefined4 *)(iVar9 + 0x40) = 2" (pointer_expression "*(undefined4 *)(iVar9 + 0x40)" (* "*") (cast_expression "(undefined4 *)(iVar9 + 0x40)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x40)" (( "(") (binary_expression "iVar9 + 0x40" (identifier "iVar9") (+ "+") (number_literal "0x40")) () ")")))) (= "=") (number_literal "2")) (; ";")) (expression_statement "*(undefined4 *)(iVar12 + 0x40) = 0;" (assignment_expression "*(undefined4 *)(iVar12 + 0x40) = 0" (pointer_expression "*(undefined4 *)(iVar12 + 0x40)" (* "*") (cast_expression "(undefined4 *)(iVar12 + 0x40)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 + 0x40)" (( "(") (binary_expression "iVar12 + 0x40" (identifier "iVar12") (+ "+") (number_literal "0x40")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar9 = bfd_set_section_contents(param_2,iVar9,local_4c,0,0,local_44[0],iVar21,iVar21);" (assignment_expression "iVar9 = bfd_set_section_contents(param_2,iVar9,local_4c,0,0,local_44[0],iVar21,iVar21)" (identifier "iVar9") (= "=") (call_expression "bfd_set_section_contents(param_2,iVar9,local_4c,0,0,local_44[0],iVar21,iVar21)" (identifier "bfd_set_section_contents") (argument_list "(param_2,iVar9,local_4c,0,0,local_44[0],iVar21,iVar21)" (( "(") (identifier "param_2") (, ",") (identifier "iVar9") (, ",") (identifier "local_4c") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (subscript_expression "local_44[0]" (identifier "local_44") ([ "[") (number_literal "0") (] "]")) (, ",") (identifier "iVar21") (, ",") (identifier "iVar21") () ")")))) (; ";")) (if_statement "if ((iVar9 == 0) ||\n         (iVar9 = bfd_set_section_contents\n                            (param_2,iVar12,local_48,0,0,local_30,extraout_ECX,extraout_ECX),\n         iVar9 == 0)) {\n        pcVar22 = "can\'t set debugging section contents";\n        iVar9 = iVar12;\n        goto LAB_00019fcf;\n      }" (if "if") (parenthesized_expression "((iVar9 == 0) ||\n         (iVar9 = bfd_set_section_contents\n                            (param_2,iVar12,local_48,0,0,local_30,extraout_ECX,extraout_ECX),\n         iVar9 == 0))" (( "(") (binary_expression "(iVar9 == 0) ||\n         (iVar9 = bfd_set_section_contents\n                            (param_2,iVar12,local_48,0,0,local_30,extraout_ECX,extraout_ECX),\n         iVar9 == 0)" (parenthesized_expression "(iVar9 == 0)" (( "(") (binary_expression "iVar9 == 0" (identifier "iVar9") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar9 = bfd_set_section_contents\n                            (param_2,iVar12,local_48,0,0,local_30,extraout_ECX,extraout_ECX),\n         iVar9 == 0)" (( "(") (comma_expression "iVar9 = bfd_set_section_contents\n                            (param_2,iVar12,local_48,0,0,local_30,extraout_ECX,extraout_ECX),\n         iVar9 == 0" (assignment_expression "iVar9 = bfd_set_section_contents\n                            (param_2,iVar12,local_48,0,0,local_30,extraout_ECX,extraout_ECX)" (identifier "iVar9") (= "=") (call_expression "bfd_set_section_contents\n                            (param_2,iVar12,local_48,0,0,local_30,extraout_ECX,extraout_ECX)" (identifier "bfd_set_section_contents") (argument_list "(param_2,iVar12,local_48,0,0,local_30,extraout_ECX,extraout_ECX)" (( "(") (identifier "param_2") (, ",") (identifier "iVar12") (, ",") (identifier "local_48") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (identifier "local_30") (, ",") (identifier "extraout_ECX") (, ",") (identifier "extraout_ECX") () ")")))) (, ",") (binary_expression "iVar9 == 0" (identifier "iVar9") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n        pcVar22 = "can\'t set debugging section contents";\n        iVar9 = iVar12;\n        goto LAB_00019fcf;\n      }" ({ "{") (expression_statement "pcVar22 = "can\'t set debugging section contents";" (assignment_expression "pcVar22 = "can\'t set debugging section contents"" (identifier "pcVar22") (= "=") (string_literal ""can\'t set debugging section contents"" (" """) (string_content "can") (escape_sequence "\'") (string_content "t set debugging section contents") (" """))) (; ";")) (expression_statement "iVar9 = iVar12;" (assignment_expression "iVar9 = iVar12" (identifier "iVar9") (= "=") (identifier "iVar12")) (; ";")) (goto_statement "goto LAB_00019fcf;" (goto "goto") (statement_identifier "LAB_00019fcf") (; ";")) (} "}"))) (} "}"))) (} "}")) (else_clause "else {\n    if (DAT_0003fb10 != 0 || DAT_0003fb74 != 0) goto LAB_00019037;\n    iVar9 = htab_elements(DAT_0003fb0c);\n    if (((iVar9 != 0) || (iVar9 = htab_elements(DAT_0003fb04), iVar9 != 0)) ||\n       ((iVar9 = htab_elements(DAT_0003fb00), iVar9 != 0 ||\n        (((((iVar9 = htab_elements(DAT_0003fafc), iVar9 != 0 ||\n            (iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0)) ||\n           (iVar9 = htab_elements(DAT_0003faf4), iVar9 != 0)) ||\n          ((iVar9 = htab_elements(DAT_0003faf0), DAT_0003fad8 != (char *)0x0 ||\n           (DAT_0003fba0 != (undefined4 *)0x0)))) ||\n         (((((((DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0) || DAT_0003fb1c != 0)\n            || DAT_0003fb18 != 0) || DAT_0003fae0 != 0) || DAT_0003fae4 != 0) || iVar9 != 0))))))\n    goto LAB_00019032;\n  }" (else "else") (compound_statement "{\n    if (DAT_0003fb10 != 0 || DAT_0003fb74 != 0) goto LAB_00019037;\n    iVar9 = htab_elements(DAT_0003fb0c);\n    if (((iVar9 != 0) || (iVar9 = htab_elements(DAT_0003fb04), iVar9 != 0)) ||\n       ((iVar9 = htab_elements(DAT_0003fb00), iVar9 != 0 ||\n        (((((iVar9 = htab_elements(DAT_0003fafc), iVar9 != 0 ||\n            (iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0)) ||\n           (iVar9 = htab_elements(DAT_0003faf4), iVar9 != 0)) ||\n          ((iVar9 = htab_elements(DAT_0003faf0), DAT_0003fad8 != (char *)0x0 ||\n           (DAT_0003fba0 != (undefined4 *)0x0)))) ||\n         (((((((DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0) || DAT_0003fb1c != 0)\n            || DAT_0003fb18 != 0) || DAT_0003fae0 != 0) || DAT_0003fae4 != 0) || iVar9 != 0))))))\n    goto LAB_00019032;\n  }" ({ "{") (if_statement "if (DAT_0003fb10 != 0 || DAT_0003fb74 != 0) goto LAB_00019037;" (if "if") (parenthesized_expression "(DAT_0003fb10 != 0 || DAT_0003fb74 != 0)" (( "(") (binary_expression "DAT_0003fb10 != 0 || DAT_0003fb74 != 0" (binary_expression "DAT_0003fb10 != 0" (identifier "DAT_0003fb10") (!= "!=") (number_literal "0")) (|| "||") (binary_expression "DAT_0003fb74 != 0" (identifier "DAT_0003fb74") (!= "!=") (number_literal "0"))) () ")")) (goto_statement "goto LAB_00019037;" (goto "goto") (statement_identifier "LAB_00019037") (; ";"))) (expression_statement "iVar9 = htab_elements(DAT_0003fb0c);" (assignment_expression "iVar9 = htab_elements(DAT_0003fb0c)" (identifier "iVar9") (= "=") (call_expression "htab_elements(DAT_0003fb0c)" (identifier "htab_elements") (argument_list "(DAT_0003fb0c)" (( "(") (identifier "DAT_0003fb0c") () ")")))) (; ";")) (if_statement "if (((iVar9 != 0) || (iVar9 = htab_elements(DAT_0003fb04), iVar9 != 0)) ||\n       ((iVar9 = htab_elements(DAT_0003fb00), iVar9 != 0 ||\n        (((((iVar9 = htab_elements(DAT_0003fafc), iVar9 != 0 ||\n            (iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0)) ||\n           (iVar9 = htab_elements(DAT_0003faf4), iVar9 != 0)) ||\n          ((iVar9 = htab_elements(DAT_0003faf0), DAT_0003fad8 != (char *)0x0 ||\n           (DAT_0003fba0 != (undefined4 *)0x0)))) ||\n         (((((((DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0) || DAT_0003fb1c != 0)\n            || DAT_0003fb18 != 0) || DAT_0003fae0 != 0) || DAT_0003fae4 != 0) || iVar9 != 0))))))\n    goto LAB_00019032;" (if "if") (parenthesized_expression "(((iVar9 != 0) || (iVar9 = htab_elements(DAT_0003fb04), iVar9 != 0)) ||\n       ((iVar9 = htab_elements(DAT_0003fb00), iVar9 != 0 ||\n        (((((iVar9 = htab_elements(DAT_0003fafc), iVar9 != 0 ||\n            (iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0)) ||\n           (iVar9 = htab_elements(DAT_0003faf4), iVar9 != 0)) ||\n          ((iVar9 = htab_elements(DAT_0003faf0), DAT_0003fad8 != (char *)0x0 ||\n           (DAT_0003fba0 != (undefined4 *)0x0)))) ||\n         (((((((DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0) || DAT_0003fb1c != 0)\n            || DAT_0003fb18 != 0) || DAT_0003fae0 != 0) || DAT_0003fae4 != 0) || iVar9 != 0))))))" (( "(") (binary_expression "((iVar9 != 0) || (iVar9 = htab_elements(DAT_0003fb04), iVar9 != 0)) ||\n       ((iVar9 = htab_elements(DAT_0003fb00), iVar9 != 0 ||\n        (((((iVar9 = htab_elements(DAT_0003fafc), iVar9 != 0 ||\n            (iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0)) ||\n           (iVar9 = htab_elements(DAT_0003faf4), iVar9 != 0)) ||\n          ((iVar9 = htab_elements(DAT_0003faf0), DAT_0003fad8 != (char *)0x0 ||\n           (DAT_0003fba0 != (undefined4 *)0x0)))) ||\n         (((((((DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0) || DAT_0003fb1c != 0)\n            || DAT_0003fb18 != 0) || DAT_0003fae0 != 0) || DAT_0003fae4 != 0) || iVar9 != 0)))))" (parenthesized_expression "((iVar9 != 0) || (iVar9 = htab_elements(DAT_0003fb04), iVar9 != 0))" (( "(") (binary_expression "(iVar9 != 0) || (iVar9 = htab_elements(DAT_0003fb04), iVar9 != 0)" (parenthesized_expression "(iVar9 != 0)" (( "(") (binary_expression "iVar9 != 0" (identifier "iVar9") (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar9 = htab_elements(DAT_0003fb04), iVar9 != 0)" (( "(") (comma_expression "iVar9 = htab_elements(DAT_0003fb04), iVar9 != 0" (assignment_expression "iVar9 = htab_elements(DAT_0003fb04)" (identifier "iVar9") (= "=") (call_expression "htab_elements(DAT_0003fb04)" (identifier "htab_elements") (argument_list "(DAT_0003fb04)" (( "(") (identifier "DAT_0003fb04") () ")")))) (, ",") (binary_expression "iVar9 != 0" (identifier "iVar9") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (|| "||") (parenthesized_expression "((iVar9 = htab_elements(DAT_0003fb00), iVar9 != 0 ||\n        (((((iVar9 = htab_elements(DAT_0003fafc), iVar9 != 0 ||\n            (iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0)) ||\n           (iVar9 = htab_elements(DAT_0003faf4), iVar9 != 0)) ||\n          ((iVar9 = htab_elements(DAT_0003faf0), DAT_0003fad8 != (char *)0x0 ||\n           (DAT_0003fba0 != (undefined4 *)0x0)))) ||\n         (((((((DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0) || DAT_0003fb1c != 0)\n            || DAT_0003fb18 != 0) || DAT_0003fae0 != 0) || DAT_0003fae4 != 0) || iVar9 != 0)))))" (( "(") (parenthesized_expression "(iVar9 = htab_elements(DAT_0003fb00), iVar9 != 0 ||\n        (((((iVar9 = htab_elements(DAT_0003fafc), iVar9 != 0 ||\n            (iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0)) ||\n           (iVar9 = htab_elements(DAT_0003faf4), iVar9 != 0)) ||\n          ((iVar9 = htab_elements(DAT_0003faf0), DAT_0003fad8 != (char *)0x0 ||\n           (DAT_0003fba0 != (undefined4 *)0x0)))) ||\n         (((((((DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0) || DAT_0003fb1c != 0)\n            || DAT_0003fb18 != 0) || DAT_0003fae0 != 0) || DAT_0003fae4 != 0) || iVar9 != 0))))" (( "(") (comma_expression "iVar9 = htab_elements(DAT_0003fb00), iVar9 != 0 ||\n        (((((iVar9 = htab_elements(DAT_0003fafc), iVar9 != 0 ||\n            (iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0)) ||\n           (iVar9 = htab_elements(DAT_0003faf4), iVar9 != 0)) ||\n          ((iVar9 = htab_elements(DAT_0003faf0), DAT_0003fad8 != (char *)0x0 ||\n           (DAT_0003fba0 != (undefined4 *)0x0)))) ||\n         (((((((DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0) || DAT_0003fb1c != 0)\n            || DAT_0003fb18 != 0) || DAT_0003fae0 != 0) || DAT_0003fae4 != 0) || iVar9 != 0)))" (assignment_expression "iVar9 = htab_elements(DAT_0003fb00)" (identifier "iVar9") (= "=") (call_expression "htab_elements(DAT_0003fb00)" (identifier "htab_elements") (argument_list "(DAT_0003fb00)" (( "(") (identifier "DAT_0003fb00") () ")")))) (, ",") (binary_expression "iVar9 != 0 ||\n        (((((iVar9 = htab_elements(DAT_0003fafc), iVar9 != 0 ||\n            (iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0)) ||\n           (iVar9 = htab_elements(DAT_0003faf4), iVar9 != 0)) ||\n          ((iVar9 = htab_elements(DAT_0003faf0), DAT_0003fad8 != (char *)0x0 ||\n           (DAT_0003fba0 != (undefined4 *)0x0)))) ||\n         (((((((DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0) || DAT_0003fb1c != 0)\n            || DAT_0003fb18 != 0) || DAT_0003fae0 != 0) || DAT_0003fae4 != 0) || iVar9 != 0)))" (binary_expression "iVar9 != 0" (identifier "iVar9") (!= "!=") (number_literal "0")) (|| "||") (parenthesized_expression "(((((iVar9 = htab_elements(DAT_0003fafc), iVar9 != 0 ||\n            (iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0)) ||\n           (iVar9 = htab_elements(DAT_0003faf4), iVar9 != 0)) ||\n          ((iVar9 = htab_elements(DAT_0003faf0), DAT_0003fad8 != (char *)0x0 ||\n           (DAT_0003fba0 != (undefined4 *)0x0)))) ||\n         (((((((DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0) || DAT_0003fb1c != 0)\n            || DAT_0003fb18 != 0) || DAT_0003fae0 != 0) || DAT_0003fae4 != 0) || iVar9 != 0)))" (( "(") (parenthesized_expression "((((iVar9 = htab_elements(DAT_0003fafc), iVar9 != 0 ||\n            (iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0)) ||\n           (iVar9 = htab_elements(DAT_0003faf4), iVar9 != 0)) ||\n          ((iVar9 = htab_elements(DAT_0003faf0), DAT_0003fad8 != (char *)0x0 ||\n           (DAT_0003fba0 != (undefined4 *)0x0)))) ||\n         (((((((DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0) || DAT_0003fb1c != 0)\n            || DAT_0003fb18 != 0) || DAT_0003fae0 != 0) || DAT_0003fae4 != 0) || iVar9 != 0))" (( "(") (binary_expression "(((iVar9 = htab_elements(DAT_0003fafc), iVar9 != 0 ||\n            (iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0)) ||\n           (iVar9 = htab_elements(DAT_0003faf4), iVar9 != 0)) ||\n          ((iVar9 = htab_elements(DAT_0003faf0), DAT_0003fad8 != (char *)0x0 ||\n           (DAT_0003fba0 != (undefined4 *)0x0)))) ||\n         (((((((DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0) || DAT_0003fb1c != 0)\n            || DAT_0003fb18 != 0) || DAT_0003fae0 != 0) || DAT_0003fae4 != 0) || iVar9 != 0)" (parenthesized_expression "(((iVar9 = htab_elements(DAT_0003fafc), iVar9 != 0 ||\n            (iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0)) ||\n           (iVar9 = htab_elements(DAT_0003faf4), iVar9 != 0)) ||\n          ((iVar9 = htab_elements(DAT_0003faf0), DAT_0003fad8 != (char *)0x0 ||\n           (DAT_0003fba0 != (undefined4 *)0x0))))" (( "(") (binary_expression "((iVar9 = htab_elements(DAT_0003fafc), iVar9 != 0 ||\n            (iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0)) ||\n           (iVar9 = htab_elements(DAT_0003faf4), iVar9 != 0)) ||\n          ((iVar9 = htab_elements(DAT_0003faf0), DAT_0003fad8 != (char *)0x0 ||\n           (DAT_0003fba0 != (undefined4 *)0x0)))" (parenthesized_expression "((iVar9 = htab_elements(DAT_0003fafc), iVar9 != 0 ||\n            (iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0)) ||\n           (iVar9 = htab_elements(DAT_0003faf4), iVar9 != 0))" (( "(") (binary_expression "(iVar9 = htab_elements(DAT_0003fafc), iVar9 != 0 ||\n            (iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0)) ||\n           (iVar9 = htab_elements(DAT_0003faf4), iVar9 != 0)" (parenthesized_expression "(iVar9 = htab_elements(DAT_0003fafc), iVar9 != 0 ||\n            (iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0))" (( "(") (comma_expression "iVar9 = htab_elements(DAT_0003fafc), iVar9 != 0 ||\n            (iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0)" (assignment_expression "iVar9 = htab_elements(DAT_0003fafc)" (identifier "iVar9") (= "=") (call_expression "htab_elements(DAT_0003fafc)" (identifier "htab_elements") (argument_list "(DAT_0003fafc)" (( "(") (identifier "DAT_0003fafc") () ")")))) (, ",") (binary_expression "iVar9 != 0 ||\n            (iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0)" (binary_expression "iVar9 != 0" (identifier "iVar9") (!= "!=") (number_literal "0")) (|| "||") (parenthesized_expression "(iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0)" (( "(") (comma_expression "iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0" (assignment_expression "iVar9 = htab_elements(DAT_0003faf8)" (identifier "iVar9") (= "=") (call_expression "htab_elements(DAT_0003faf8)" (identifier "htab_elements") (argument_list "(DAT_0003faf8)" (( "(") (identifier "DAT_0003faf8") () ")")))) (, ",") (binary_expression "iVar9 != 0" (identifier "iVar9") (!= "!=") (number_literal "0"))) () ")")))) () ")")) (|| "||") (parenthesized_expression "(iVar9 = htab_elements(DAT_0003faf4), iVar9 != 0)" (( "(") (comma_expression "iVar9 = htab_elements(DAT_0003faf4), iVar9 != 0" (assignment_expression "iVar9 = htab_elements(DAT_0003faf4)" (identifier "iVar9") (= "=") (call_expression "htab_elements(DAT_0003faf4)" (identifier "htab_elements") (argument_list "(DAT_0003faf4)" (( "(") (identifier "DAT_0003faf4") () ")")))) (, ",") (binary_expression "iVar9 != 0" (identifier "iVar9") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (|| "||") (parenthesized_expression "((iVar9 = htab_elements(DAT_0003faf0), DAT_0003fad8 != (char *)0x0 ||\n           (DAT_0003fba0 != (undefined4 *)0x0)))" (( "(") (parenthesized_expression "(iVar9 = htab_elements(DAT_0003faf0), DAT_0003fad8 != (char *)0x0 ||\n           (DAT_0003fba0 != (undefined4 *)0x0))" (( "(") (comma_expression "iVar9 = htab_elements(DAT_0003faf0), DAT_0003fad8 != (char *)0x0 ||\n           (DAT_0003fba0 != (undefined4 *)0x0)" (assignment_expression "iVar9 = htab_elements(DAT_0003faf0)" (identifier "iVar9") (= "=") (call_expression "htab_elements(DAT_0003faf0)" (identifier "htab_elements") (argument_list "(DAT_0003faf0)" (( "(") (identifier "DAT_0003faf0") () ")")))) (, ",") (binary_expression "DAT_0003fad8 != (char *)0x0 ||\n           (DAT_0003fba0 != (undefined4 *)0x0)" (binary_expression "DAT_0003fad8 != (char *)0x0" (identifier "DAT_0003fad8") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (|| "||") (parenthesized_expression "(DAT_0003fba0 != (undefined4 *)0x0)" (( "(") (binary_expression "DAT_0003fba0 != (undefined4 *)0x0" (identifier "DAT_0003fba0") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")))) () ")")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(((((((DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0) || DAT_0003fb1c != 0)\n            || DAT_0003fb18 != 0) || DAT_0003fae0 != 0) || DAT_0003fae4 != 0) || iVar9 != 0)" (( "(") (binary_expression "((((((DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0) || DAT_0003fb1c != 0)\n            || DAT_0003fb18 != 0) || DAT_0003fae0 != 0) || DAT_0003fae4 != 0) || iVar9 != 0" (parenthesized_expression "((((((DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0) || DAT_0003fb1c != 0)\n            || DAT_0003fb18 != 0) || DAT_0003fae0 != 0) || DAT_0003fae4 != 0)" (( "(") (binary_expression "(((((DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0) || DAT_0003fb1c != 0)\n            || DAT_0003fb18 != 0) || DAT_0003fae0 != 0) || DAT_0003fae4 != 0" (parenthesized_expression "(((((DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0) || DAT_0003fb1c != 0)\n            || DAT_0003fb18 != 0) || DAT_0003fae0 != 0)" (( "(") (binary_expression "((((DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0) || DAT_0003fb1c != 0)\n            || DAT_0003fb18 != 0) || DAT_0003fae0 != 0" (parenthesized_expression "((((DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0) || DAT_0003fb1c != 0)\n            || DAT_0003fb18 != 0)" (( "(") (binary_expression "(((DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0) || DAT_0003fb1c != 0)\n            || DAT_0003fb18 != 0" (parenthesized_expression "(((DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0) || DAT_0003fb1c != 0)" (( "(") (binary_expression "((DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0) || DAT_0003fb1c != 0" (parenthesized_expression "((DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0)" (( "(") (binary_expression "(DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0" (parenthesized_expression "(DAT_0003fb6c != 0 || DAT_0003fb68 != 0)" (( "(") (binary_expression "DAT_0003fb6c != 0 || DAT_0003fb68 != 0" (binary_expression "DAT_0003fb6c != 0" (identifier "DAT_0003fb6c") (!= "!=") (number_literal "0")) (|| "||") (binary_expression "DAT_0003fb68 != 0" (identifier "DAT_0003fb68") (!= "!=") (number_literal "0"))) () ")")) (|| "||") (binary_expression "DAT_0003fb28 != 0" (identifier "DAT_0003fb28") (!= "!=") (number_literal "0"))) () ")")) (|| "||") (binary_expression "DAT_0003fb1c != 0" (identifier "DAT_0003fb1c") (!= "!=") (number_literal "0"))) () ")")) (|| "||") (binary_expression "DAT_0003fb18 != 0" (identifier "DAT_0003fb18") (!= "!=") (number_literal "0"))) () ")")) (|| "||") (binary_expression "DAT_0003fae0 != 0" (identifier "DAT_0003fae0") (!= "!=") (number_literal "0"))) () ")")) (|| "||") (binary_expression "DAT_0003fae4 != 0" (identifier "DAT_0003fae4") (!= "!=") (number_literal "0"))) () ")")) (|| "||") (binary_expression "iVar9 != 0" (identifier "iVar9") (!= "!=") (number_literal "0"))) () ")"))) () ")")) () ")")))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_00019032;" (goto "goto") (statement_identifier "LAB_00019032") (; ";"))) (} "}")))) (expression_statement "bfd_set_symtab(param_2,DAT_0003fb98,local_70);" (call_expression "bfd_set_symtab(param_2,DAT_0003fb98,local_70)" (identifier "bfd_set_symtab") (argument_list "(param_2,DAT_0003fb98,local_70)" (( "(") (identifier "param_2") (, ",") (identifier "DAT_0003fb98") (, ",") (identifier "local_70") () ")"))) (; ";")) (expression_statement "bfd_map_over_sections(param_1,FUN_000181d0,param_2);" (call_expression "bfd_map_over_sections(param_1,FUN_000181d0,param_2)" (identifier "bfd_map_over_sections") (argument_list "(param_1,FUN_000181d0,param_2)" (( "(") (identifier "param_1") (, ",") (identifier "FUN_000181d0") (, ",") (identifier "param_2") () ")"))) (; ";")) (expression_statement "bfd_map_over_sections(param_1,FUN_00017e40,param_2);" (call_expression "bfd_map_over_sections(param_1,FUN_00017e40,param_2)" (identifier "bfd_map_over_sections") (argument_list "(param_1,FUN_00017e40,param_2)" (( "(") (identifier "param_1") (, ",") (identifier "FUN_00017e40") (, ",") (identifier "param_2") () ")"))) (; ";")) (expression_statement "psVar38 = param_1;" (assignment_expression "psVar38 = param_1" (identifier "psVar38") (= "=") (identifier "param_1")) (; ";")) (for_statement "for (puVar33 = DAT_0003fb38; puVar37 = DAT_0003fb34, puVar33 != (undefined4 *)0x0;\n      puVar33 = (undefined4 *)*puVar33) {\n    iVar9 = bfd_set_section_contents(param_2,puVar33[5],puVar33[4],0,0,puVar33[3]);\n    if (iVar9 == 0) {\n      psVar38 = (size_t *)puVar33[5];\n      local_50 = 0;\n      goto LAB_00019763;\n    }\n    psVar38 = param_2;\n  }" (for "for") (( "(") (assignment_expression "puVar33 = DAT_0003fb38" (identifier "puVar33") (= "=") (identifier "DAT_0003fb38")) (; ";") (comma_expression "puVar37 = DAT_0003fb34, puVar33 != (undefined4 *)0x0" (assignment_expression "puVar37 = DAT_0003fb34" (identifier "puVar37") (= "=") (identifier "DAT_0003fb34")) (, ",") (binary_expression "puVar33 != (undefined4 *)0x0" (identifier "puVar33") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) (; ";") (assignment_expression "puVar33 = (undefined4 *)*puVar33" (identifier "puVar33") (= "=") (cast_expression "(undefined4 *)*puVar33" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar33" (* "*") (identifier "puVar33")))) () ")") (compound_statement "{\n    iVar9 = bfd_set_section_contents(param_2,puVar33[5],puVar33[4],0,0,puVar33[3]);\n    if (iVar9 == 0) {\n      psVar38 = (size_t *)puVar33[5];\n      local_50 = 0;\n      goto LAB_00019763;\n    }\n    psVar38 = param_2;\n  }" ({ "{") (expression_statement "iVar9 = bfd_set_section_contents(param_2,puVar33[5],puVar33[4],0,0,puVar33[3]);" (assignment_expression "iVar9 = bfd_set_section_contents(param_2,puVar33[5],puVar33[4],0,0,puVar33[3])" (identifier "iVar9") (= "=") (call_expression "bfd_set_section_contents(param_2,puVar33[5],puVar33[4],0,0,puVar33[3])" (identifier "bfd_set_section_contents") (argument_list "(param_2,puVar33[5],puVar33[4],0,0,puVar33[3])" (( "(") (identifier "param_2") (, ",") (subscript_expression "puVar33[5]" (identifier "puVar33") ([ "[") (number_literal "5") (] "]")) (, ",") (subscript_expression "puVar33[4]" (identifier "puVar33") ([ "[") (number_literal "4") (] "]")) (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (subscript_expression "puVar33[3]" (identifier "puVar33") ([ "[") (number_literal "3") (] "]")) () ")")))) (; ";")) (if_statement "if (iVar9 == 0) {\n      psVar38 = (size_t *)puVar33[5];\n      local_50 = 0;\n      goto LAB_00019763;\n    }" (if "if") (parenthesized_expression "(iVar9 == 0)" (( "(") (binary_expression "iVar9 == 0" (identifier "iVar9") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      psVar38 = (size_t *)puVar33[5];\n      local_50 = 0;\n      goto LAB_00019763;\n    }" ({ "{") (expression_statement "psVar38 = (size_t *)puVar33[5];" (assignment_expression "psVar38 = (size_t *)puVar33[5]" (identifier "psVar38") (= "=") (cast_expression "(size_t *)puVar33[5]" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar33[5]" (identifier "puVar33") ([ "[") (number_literal "5") (] "]")))) (; ";")) (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" (identifier "local_50") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_00019763;" (goto "goto") (statement_identifier "LAB_00019763") (; ";")) (} "}"))) (expression_statement "psVar38 = param_2;" (assignment_expression "psVar38 = param_2" (identifier "psVar38") (= "=") (identifier "param_2")) (; ";")) (} "}"))) (for_statement "for (; puVar37 != (undefined4 *)0x0; puVar37 = (undefined4 *)*puVar37) {\n    psVar38 = *(size_t **)(puVar37[5] + 0x3c);\n    local_50 = bfd_set_section_contents(param_2,psVar38,puVar37[4],0,0,puVar37[3]);\n    if (local_50 == 0) {\nLAB_00019763:\n      FUN_0002c160(0,param_2,psVar38,0);\n      return local_50;\n    }\n  }" (for "for") (( "(") (; ";") (binary_expression "puVar37 != (undefined4 *)0x0" (identifier "puVar37") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";") (assignment_expression "puVar37 = (undefined4 *)*puVar37" (identifier "puVar37") (= "=") (cast_expression "(undefined4 *)*puVar37" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar37" (* "*") (identifier "puVar37")))) () ")") (compound_statement "{\n    psVar38 = *(size_t **)(puVar37[5] + 0x3c);\n    local_50 = bfd_set_section_contents(param_2,psVar38,puVar37[4],0,0,puVar37[3]);\n    if (local_50 == 0) {\nLAB_00019763:\n      FUN_0002c160(0,param_2,psVar38,0);\n      return local_50;\n    }\n  }" ({ "{") (expression_statement "psVar38 = *(size_t **)(puVar37[5] + 0x3c);" (assignment_expression "psVar38 = *(size_t **)(puVar37[5] + 0x3c)" (identifier "psVar38") (= "=") (pointer_expression "*(size_t **)(puVar37[5] + 0x3c)" (* "*") (cast_expression "(size_t **)(puVar37[5] + 0x3c)" (( "(") (type_descriptor "size_t **" (primitive_type "size_t") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar37[5] + 0x3c)" (( "(") (binary_expression "puVar37[5] + 0x3c" (subscript_expression "puVar37[5]" (identifier "puVar37") ([ "[") (number_literal "5") (] "]")) (+ "+") (number_literal "0x3c")) () ")"))))) (; ";")) (expression_statement "local_50 = bfd_set_section_contents(param_2,psVar38,puVar37[4],0,0,puVar37[3]);" (assignment_expression "local_50 = bfd_set_section_contents(param_2,psVar38,puVar37[4],0,0,puVar37[3])" (identifier "local_50") (= "=") (call_expression "bfd_set_section_contents(param_2,psVar38,puVar37[4],0,0,puVar37[3])" (identifier "bfd_set_section_contents") (argument_list "(param_2,psVar38,puVar37[4],0,0,puVar37[3])" (( "(") (identifier "param_2") (, ",") (identifier "psVar38") (, ",") (subscript_expression "puVar37[4]" (identifier "puVar37") ([ "[") (number_literal "4") (] "]")) (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (subscript_expression "puVar37[3]" (identifier "puVar37") ([ "[") (number_literal "3") (] "]")) () ")")))) (; ";")) (if_statement "if (local_50 == 0) {\nLAB_00019763:\n      FUN_0002c160(0,param_2,psVar38,0);\n      return local_50;\n    }" (if "if") (parenthesized_expression "(local_50 == 0)" (( "(") (binary_expression "local_50 == 0" (identifier "local_50") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00019763:\n      FUN_0002c160(0,param_2,psVar38,0);\n      return local_50;\n    }" ({ "{") (labeled_statement "LAB_00019763:\n      FUN_0002c160(0,param_2,psVar38,0);" (statement_identifier "LAB_00019763") (: ":") (expression_statement "FUN_0002c160(0,param_2,psVar38,0);" (call_expression "FUN_0002c160(0,param_2,psVar38,0)" (identifier "FUN_0002c160") (argument_list "(0,param_2,psVar38,0)" (( "(") (number_literal "0") (, ",") (identifier "param_2") (, ",") (identifier "psVar38") (, ",") (number_literal "0") () ")"))) (; ";"))) (return_statement "return local_50;" (return "return") (identifier "local_50") (; ";")) (} "}"))) (} "}"))) (expression_statement "uVar35 = 0;" (assignment_expression "uVar35 = 0" (identifier "uVar35") (= "=") (number_literal "0")) (; ";")) (if_statement "if (DAT_0003fb84 != 0) {\n    uVar35 = bfd_get_section_by_name(param_2,".gnu.build.attributes");\n    if (((uVar35 == 0) || (DAT_0003fb84 == 0)) ||\n       ((*(int *)(param_2[1] + 4) != 5 || (iVar9 = FUN_00017590(), iVar9 == 0)))) {\n      if (DAT_0003fba4 == 0) {\n        uVar10 = dcgettext(0,"could not find any mergeable note sections",5,0);\n        FUN_0002c160(0,param_2,uVar35,uVar10);\n      }\n    }\n    else {\n      iVar9 = bfd_set_section_contents(param_2,uVar35,DAT_0003fb80,0,0,DAT_0003fb7c,iVar9,iVar9);\n      if (iVar9 == 0) {\n        uVar10 = dcgettext(0,"error: failed to copy merged notes into output",5,0);\n        goto LAB_0001a2cd;\n      }\n    }\n    free(DAT_0003fb80);\n    DAT_0003fb80 = (size_t *)0x0;\n    DAT_0003fb84 = 0;\n    psVar38 = param_2;\n  }" (if "if") (parenthesized_expression "(DAT_0003fb84 != 0)" (( "(") (binary_expression "DAT_0003fb84 != 0" (identifier "DAT_0003fb84") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    uVar35 = bfd_get_section_by_name(param_2,".gnu.build.attributes");\n    if (((uVar35 == 0) || (DAT_0003fb84 == 0)) ||\n       ((*(int *)(param_2[1] + 4) != 5 || (iVar9 = FUN_00017590(), iVar9 == 0)))) {\n      if (DAT_0003fba4 == 0) {\n        uVar10 = dcgettext(0,"could not find any mergeable note sections",5,0);\n        FUN_0002c160(0,param_2,uVar35,uVar10);\n      }\n    }\n    else {\n      iVar9 = bfd_set_section_contents(param_2,uVar35,DAT_0003fb80,0,0,DAT_0003fb7c,iVar9,iVar9);\n      if (iVar9 == 0) {\n        uVar10 = dcgettext(0,"error: failed to copy merged notes into output",5,0);\n        goto LAB_0001a2cd;\n      }\n    }\n    free(DAT_0003fb80);\n    DAT_0003fb80 = (size_t *)0x0;\n    DAT_0003fb84 = 0;\n    psVar38 = param_2;\n  }" ({ "{") (expression_statement "uVar35 = bfd_get_section_by_name(param_2,".gnu.build.attributes");" (assignment_expression "uVar35 = bfd_get_section_by_name(param_2,".gnu.build.attributes")" (identifier "uVar35") (= "=") (call_expression "bfd_get_section_by_name(param_2,".gnu.build.attributes")" (identifier "bfd_get_section_by_name") (argument_list "(param_2,".gnu.build.attributes")" (( "(") (identifier "param_2") (, ",") (string_literal "".gnu.build.attributes"" (" """) (string_content ".gnu.build.attributes") (" """)) () ")")))) (; ";")) (if_statement "if (((uVar35 == 0) || (DAT_0003fb84 == 0)) ||\n       ((*(int *)(param_2[1] + 4) != 5 || (iVar9 = FUN_00017590(), iVar9 == 0)))) {\n      if (DAT_0003fba4 == 0) {\n        uVar10 = dcgettext(0,"could not find any mergeable note sections",5,0);\n        FUN_0002c160(0,param_2,uVar35,uVar10);\n      }\n    }\n    else {\n      iVar9 = bfd_set_section_contents(param_2,uVar35,DAT_0003fb80,0,0,DAT_0003fb7c,iVar9,iVar9);\n      if (iVar9 == 0) {\n        uVar10 = dcgettext(0,"error: failed to copy merged notes into output",5,0);\n        goto LAB_0001a2cd;\n      }\n    }" (if "if") (parenthesized_expression "(((uVar35 == 0) || (DAT_0003fb84 == 0)) ||\n       ((*(int *)(param_2[1] + 4) != 5 || (iVar9 = FUN_00017590(), iVar9 == 0))))" (( "(") (binary_expression "((uVar35 == 0) || (DAT_0003fb84 == 0)) ||\n       ((*(int *)(param_2[1] + 4) != 5 || (iVar9 = FUN_00017590(), iVar9 == 0)))" (parenthesized_expression "((uVar35 == 0) || (DAT_0003fb84 == 0))" (( "(") (binary_expression "(uVar35 == 0) || (DAT_0003fb84 == 0)" (parenthesized_expression "(uVar35 == 0)" (( "(") (binary_expression "uVar35 == 0" (identifier "uVar35") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(DAT_0003fb84 == 0)" (( "(") (binary_expression "DAT_0003fb84 == 0" (identifier "DAT_0003fb84") (== "==") (number_literal "0")) () ")"))) () ")")) (|| "||") (parenthesized_expression "((*(int *)(param_2[1] + 4) != 5 || (iVar9 = FUN_00017590(), iVar9 == 0)))" (( "(") (parenthesized_expression "(*(int *)(param_2[1] + 4) != 5 || (iVar9 = FUN_00017590(), iVar9 == 0))" (( "(") (binary_expression "*(int *)(param_2[1] + 4) != 5 || (iVar9 = FUN_00017590(), iVar9 == 0)" (binary_expression "*(int *)(param_2[1] + 4) != 5" (pointer_expression "*(int *)(param_2[1] + 4)" (* "*") (cast_expression "(int *)(param_2[1] + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2[1] + 4)" (( "(") (binary_expression "param_2[1] + 4" (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "4")) () ")")))) (!= "!=") (number_literal "5")) (|| "||") (parenthesized_expression "(iVar9 = FUN_00017590(), iVar9 == 0)" (( "(") (comma_expression "iVar9 = FUN_00017590(), iVar9 == 0" (assignment_expression "iVar9 = FUN_00017590()" (identifier "iVar9") (= "=") (call_expression "FUN_00017590()" (identifier "FUN_00017590") (argument_list "()" (( "(") () ")")))) (, ",") (binary_expression "iVar9 == 0" (identifier "iVar9") (== "==") (number_literal "0"))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n      if (DAT_0003fba4 == 0) {\n        uVar10 = dcgettext(0,"could not find any mergeable note sections",5,0);\n        FUN_0002c160(0,param_2,uVar35,uVar10);\n      }\n    }" ({ "{") (if_statement "if (DAT_0003fba4 == 0) {\n        uVar10 = dcgettext(0,"could not find any mergeable note sections",5,0);\n        FUN_0002c160(0,param_2,uVar35,uVar10);\n      }" (if "if") (parenthesized_expression "(DAT_0003fba4 == 0)" (( "(") (binary_expression "DAT_0003fba4 == 0" (identifier "DAT_0003fba4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        uVar10 = dcgettext(0,"could not find any mergeable note sections",5,0);\n        FUN_0002c160(0,param_2,uVar35,uVar10);\n      }" ({ "{") (expression_statement "uVar10 = dcgettext(0,"could not find any mergeable note sections",5,0);" (assignment_expression "uVar10 = dcgettext(0,"could not find any mergeable note sections",5,0)" (identifier "uVar10") (= "=") (call_expression "dcgettext(0,"could not find any mergeable note sections",5,0)" (identifier "dcgettext") (argument_list "(0,"could not find any mergeable note sections",5,0)" (( "(") (number_literal "0") (, ",") (string_literal ""could not find any mergeable note sections"" (" """) (string_content "could not find any mergeable note sections") (" """)) (, ",") (number_literal "5") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "FUN_0002c160(0,param_2,uVar35,uVar10);" (call_expression "FUN_0002c160(0,param_2,uVar35,uVar10)" (identifier "FUN_0002c160") (argument_list "(0,param_2,uVar35,uVar10)" (( "(") (number_literal "0") (, ",") (identifier "param_2") (, ",") (identifier "uVar35") (, ",") (identifier "uVar10") () ")"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n      iVar9 = bfd_set_section_contents(param_2,uVar35,DAT_0003fb80,0,0,DAT_0003fb7c,iVar9,iVar9);\n      if (iVar9 == 0) {\n        uVar10 = dcgettext(0,"error: failed to copy merged notes into output",5,0);\n        goto LAB_0001a2cd;\n      }\n    }" (else "else") (compound_statement "{\n      iVar9 = bfd_set_section_contents(param_2,uVar35,DAT_0003fb80,0,0,DAT_0003fb7c,iVar9,iVar9);\n      if (iVar9 == 0) {\n        uVar10 = dcgettext(0,"error: failed to copy merged notes into output",5,0);\n        goto LAB_0001a2cd;\n      }\n    }" ({ "{") (expression_statement "iVar9 = bfd_set_section_contents(param_2,uVar35,DAT_0003fb80,0,0,DAT_0003fb7c,iVar9,iVar9);" (assignment_expression "iVar9 = bfd_set_section_contents(param_2,uVar35,DAT_0003fb80,0,0,DAT_0003fb7c,iVar9,iVar9)" (identifier "iVar9") (= "=") (call_expression "bfd_set_section_contents(param_2,uVar35,DAT_0003fb80,0,0,DAT_0003fb7c,iVar9,iVar9)" (identifier "bfd_set_section_contents") (argument_list "(param_2,uVar35,DAT_0003fb80,0,0,DAT_0003fb7c,iVar9,iVar9)" (( "(") (identifier "param_2") (, ",") (identifier "uVar35") (, ",") (identifier "DAT_0003fb80") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (identifier "DAT_0003fb7c") (, ",") (identifier "iVar9") (, ",") (identifier "iVar9") () ")")))) (; ";")) (if_statement "if (iVar9 == 0) {\n        uVar10 = dcgettext(0,"error: failed to copy merged notes into output",5,0);\n        goto LAB_0001a2cd;\n      }" (if "if") (parenthesized_expression "(iVar9 == 0)" (( "(") (binary_expression "iVar9 == 0" (identifier "iVar9") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        uVar10 = dcgettext(0,"error: failed to copy merged notes into output",5,0);\n        goto LAB_0001a2cd;\n      }" ({ "{") (expression_statement "uVar10 = dcgettext(0,"error: failed to copy merged notes into output",5,0);" (assignment_expression "uVar10 = dcgettext(0,"error: failed to copy merged notes into output",5,0)" (identifier "uVar10") (= "=") (call_expression "dcgettext(0,"error: failed to copy merged notes into output",5,0)" (identifier "dcgettext") (argument_list "(0,"error: failed to copy merged notes into output",5,0)" (( "(") (number_literal "0") (, ",") (string_literal ""error: failed to copy merged notes into output"" (" """) (string_content "error: failed to copy merged notes into output") (" """)) (, ",") (number_literal "5") (, ",") (number_literal "0") () ")")))) (; ";")) (goto_statement "goto LAB_0001a2cd;" (goto "goto") (statement_identifier "LAB_0001a2cd") (; ";")) (} "}"))) (} "}")))) (expression_statement "free(DAT_0003fb80);" (call_expression "free(DAT_0003fb80)" (identifier "free") (argument_list "(DAT_0003fb80)" (( "(") (identifier "DAT_0003fb80") () ")"))) (; ";")) (expression_statement "DAT_0003fb80 = (size_t *)0x0;" (assignment_expression "DAT_0003fb80 = (size_t *)0x0" (identifier "DAT_0003fb80") (= "=") (cast_expression "(size_t *)0x0" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "DAT_0003fb84 = 0;" (assignment_expression "DAT_0003fb84 = 0" (identifier "DAT_0003fb84") (= "=") (number_literal "0")) (; ";")) (expression_statement "psVar38 = param_2;" (assignment_expression "psVar38 = param_2" (identifier "psVar38") (= "=") (identifier "param_2")) (; ";")) (} "}"))) (if_statement "if ((DAT_0003fb2c != 0) &&\n     (iVar12 = bfd_fill_in_gnu_debuglink_section(param_2,local_98,DAT_0003fb2c),\n     iVar9 = DAT_0003fb2c, iVar12 == 0)) {\n    uVar10 = dcgettext(0,"cannot fill debug link section `%s\'",5,0);\n    FUN_0002c160(0,param_2,0,uVar10,iVar9);\n    return 0;\n  }" (if "if") (parenthesized_expression "((DAT_0003fb2c != 0) &&\n     (iVar12 = bfd_fill_in_gnu_debuglink_section(param_2,local_98,DAT_0003fb2c),\n     iVar9 = DAT_0003fb2c, iVar12 == 0))" (( "(") (binary_expression "(DAT_0003fb2c != 0) &&\n     (iVar12 = bfd_fill_in_gnu_debuglink_section(param_2,local_98,DAT_0003fb2c),\n     iVar9 = DAT_0003fb2c, iVar12 == 0)" (parenthesized_expression "(DAT_0003fb2c != 0)" (( "(") (binary_expression "DAT_0003fb2c != 0" (identifier "DAT_0003fb2c") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar12 = bfd_fill_in_gnu_debuglink_section(param_2,local_98,DAT_0003fb2c),\n     iVar9 = DAT_0003fb2c, iVar12 == 0)" (( "(") (comma_expression "iVar12 = bfd_fill_in_gnu_debuglink_section(param_2,local_98,DAT_0003fb2c),\n     iVar9 = DAT_0003fb2c, iVar12 == 0" (assignment_expression "iVar12 = bfd_fill_in_gnu_debuglink_section(param_2,local_98,DAT_0003fb2c)" (identifier "iVar12") (= "=") (call_expression "bfd_fill_in_gnu_debuglink_section(param_2,local_98,DAT_0003fb2c)" (identifier "bfd_fill_in_gnu_debuglink_section") (argument_list "(param_2,local_98,DAT_0003fb2c)" (( "(") (identifier "param_2") (, ",") (identifier "local_98") (, ",") (identifier "DAT_0003fb2c") () ")")))) (, ",") (comma_expression "iVar9 = DAT_0003fb2c, iVar12 == 0" (assignment_expression "iVar9 = DAT_0003fb2c" (identifier "iVar9") (= "=") (identifier "DAT_0003fb2c")) (, ",") (binary_expression "iVar12 == 0" (identifier "iVar12") (== "==") (number_literal "0")))) () ")"))) () ")")) (compound_statement "{\n    uVar10 = dcgettext(0,"cannot fill debug link section `%s\'",5,0);\n    FUN_0002c160(0,param_2,0,uVar10,iVar9);\n    return 0;\n  }" ({ "{") (expression_statement "uVar10 = dcgettext(0,"cannot fill debug link section `%s\'",5,0);" (assignment_expression "uVar10 = dcgettext(0,"cannot fill debug link section `%s\'",5,0)" (identifier "uVar10") (= "=") (call_expression "dcgettext(0,"cannot fill debug link section `%s\'",5,0)" (identifier "dcgettext") (argument_list "(0,"cannot fill debug link section `%s\'",5,0)" (( "(") (number_literal "0") (, ",") (string_literal ""cannot fill debug link section `%s\'"" (" """) (string_content "cannot fill debug link section `%s") (escape_sequence "\'") (" """)) (, ",") (number_literal "5") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "FUN_0002c160(0,param_2,0,uVar10,iVar9);" (call_expression "FUN_0002c160(0,param_2,0,uVar10,iVar9)" (identifier "FUN_0002c160") (argument_list "(0,param_2,0,uVar10,iVar9)" (( "(") (number_literal "0") (, ",") (identifier "param_2") (, ",") (number_literal "0") (, ",") (identifier "uVar10") (, ",") (identifier "iVar9") () ")"))) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (if_statement "if (DAT_0003fb54 != 0 || DAT_0003fb4c != 0) {\n    uVar35 = 0x2000;\n    if (local_8c < 0x2001) {\n      uVar35 = local_8c;\n    }\n    psVar20 = (size_t *)xmalloc(uVar35);\n    sVar17 = (uint)DAT_0003fb50 * 0x1010101;\n    if (uVar35 < 4) {\n      if ((uVar35 != 0) && (*(char *)psVar20 = (char)sVar17, (uVar35 & 2) != 0)) {\n        *(short *)((int)psVar20 + (uVar35 - 2)) = (short)sVar17;\n      }\n    }\n    else {\n      *psVar20 = sVar17;\n      *(size_t *)((int)(psVar20 + -1) + uVar35) = sVar17;\n      psVar38 = (size_t *)((uint)(psVar20 + 1) & 0xfffffffc);\n      for (uVar26 = (int)psVar20 + (uVar35 - (int)((uint)(psVar20 + 1) & 0xfffffffc)) >> 2;\n          uVar26 != 0; uVar26 = uVar26 - 1) {\n        *psVar38 = sVar17;\n        psVar38 = psVar38 + (uint)bVar42 * -2 + 1;\n      }\n    }\n    psVar25 = (size_t *)param_2[0x1a];\n    if (psVar25 != (size_t *)0x0) {\n      psVar38 = (size_t *)0x0;\n      do {\n        uVar35 = *(uint *)((int)local_90 + (int)psVar38 * 4);\n        if (uVar35 != 0) {\n          iVar9 = local_84[(int)psVar38];\n          local_58 = 0;\n          local_5c = (int *)(*(int *)(iVar9 + 0x24) - uVar35);\n          while( true ) {\n            uVar26 = 0x2000;\n            if (uVar35 < 0x2001) {\n              uVar26 = uVar35;\n            }\n            iVar9 = bfd_set_section_contents(param_2,iVar9,psVar20,local_5c,local_58,uVar26);\n            if (iVar9 == 0) {\n              psVar38 = (size_t *)local_84[(int)psVar38];\n              local_50 = 0;\n              goto LAB_00019763;\n            }\n            bVar40 = CARRY4((uint)local_5c,uVar26);\n            local_5c = (int *)((int)local_5c + uVar26);\n            local_58 = local_58 + (uint)bVar40;\n            uVar35 = uVar35 - uVar26;\n            if (uVar35 == 0) break;\n            iVar9 = local_84[(int)psVar38];\n          }\n        }\n        psVar38 = (size_t *)((int)psVar38 + 1);\n      } while (psVar25 != psVar38);\n    }\n  }" (if "if") (parenthesized_expression "(DAT_0003fb54 != 0 || DAT_0003fb4c != 0)" (( "(") (binary_expression "DAT_0003fb54 != 0 || DAT_0003fb4c != 0" (binary_expression "DAT_0003fb54 != 0" (identifier "DAT_0003fb54") (!= "!=") (number_literal "0")) (|| "||") (binary_expression "DAT_0003fb4c != 0" (identifier "DAT_0003fb4c") (!= "!=") (number_literal "0"))) () ")")) (compound_statement "{\n    uVar35 = 0x2000;\n    if (local_8c < 0x2001) {\n      uVar35 = local_8c;\n    }\n    psVar20 = (size_t *)xmalloc(uVar35);\n    sVar17 = (uint)DAT_0003fb50 * 0x1010101;\n    if (uVar35 < 4) {\n      if ((uVar35 != 0) && (*(char *)psVar20 = (char)sVar17, (uVar35 & 2) != 0)) {\n        *(short *)((int)psVar20 + (uVar35 - 2)) = (short)sVar17;\n      }\n    }\n    else {\n      *psVar20 = sVar17;\n      *(size_t *)((int)(psVar20 + -1) + uVar35) = sVar17;\n      psVar38 = (size_t *)((uint)(psVar20 + 1) & 0xfffffffc);\n      for (uVar26 = (int)psVar20 + (uVar35 - (int)((uint)(psVar20 + 1) & 0xfffffffc)) >> 2;\n          uVar26 != 0; uVar26 = uVar26 - 1) {\n        *psVar38 = sVar17;\n        psVar38 = psVar38 + (uint)bVar42 * -2 + 1;\n      }\n    }\n    psVar25 = (size_t *)param_2[0x1a];\n    if (psVar25 != (size_t *)0x0) {\n      psVar38 = (size_t *)0x0;\n      do {\n        uVar35 = *(uint *)((int)local_90 + (int)psVar38 * 4);\n        if (uVar35 != 0) {\n          iVar9 = local_84[(int)psVar38];\n          local_58 = 0;\n          local_5c = (int *)(*(int *)(iVar9 + 0x24) - uVar35);\n          while( true ) {\n            uVar26 = 0x2000;\n            if (uVar35 < 0x2001) {\n              uVar26 = uVar35;\n            }\n            iVar9 = bfd_set_section_contents(param_2,iVar9,psVar20,local_5c,local_58,uVar26);\n            if (iVar9 == 0) {\n              psVar38 = (size_t *)local_84[(int)psVar38];\n              local_50 = 0;\n              goto LAB_00019763;\n            }\n            bVar40 = CARRY4((uint)local_5c,uVar26);\n            local_5c = (int *)((int)local_5c + uVar26);\n            local_58 = local_58 + (uint)bVar40;\n            uVar35 = uVar35 - uVar26;\n            if (uVar35 == 0) break;\n            iVar9 = local_84[(int)psVar38];\n          }\n        }\n        psVar38 = (size_t *)((int)psVar38 + 1);\n      } while (psVar25 != psVar38);\n    }\n  }" ({ "{") (expression_statement "uVar35 = 0x2000;" (assignment_expression "uVar35 = 0x2000" (identifier "uVar35") (= "=") (number_literal "0x2000")) (; ";")) (if_statement "if (local_8c < 0x2001) {\n      uVar35 = local_8c;\n    }" (if "if") (parenthesized_expression "(local_8c < 0x2001)" (( "(") (binary_expression "local_8c < 0x2001" (identifier "local_8c") (< "<") (number_literal "0x2001")) () ")")) (compound_statement "{\n      uVar35 = local_8c;\n    }" ({ "{") (expression_statement "uVar35 = local_8c;" (assignment_expression "uVar35 = local_8c" (identifier "uVar35") (= "=") (identifier "local_8c")) (; ";")) (} "}"))) (expression_statement "psVar20 = (size_t *)xmalloc(uVar35);" (assignment_expression "psVar20 = (size_t *)xmalloc(uVar35)" (identifier "psVar20") (= "=") (cast_expression "(size_t *)xmalloc(uVar35)" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "xmalloc(uVar35)" (identifier "xmalloc") (argument_list "(uVar35)" (( "(") (identifier "uVar35") () ")"))))) (; ";")) (expression_statement "sVar17 = (uint)DAT_0003fb50 * 0x1010101;" (assignment_expression "sVar17 = (uint)DAT_0003fb50 * 0x1010101" (identifier "sVar17") (= "=") (binary_expression "(uint)DAT_0003fb50 * 0x1010101" (cast_expression "(uint)DAT_0003fb50" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "DAT_0003fb50")) (* "*") (number_literal "0x1010101"))) (; ";")) (if_statement "if (uVar35 < 4) {\n      if ((uVar35 != 0) && (*(char *)psVar20 = (char)sVar17, (uVar35 & 2) != 0)) {\n        *(short *)((int)psVar20 + (uVar35 - 2)) = (short)sVar17;\n      }\n    }\n    else {\n      *psVar20 = sVar17;\n      *(size_t *)((int)(psVar20 + -1) + uVar35) = sVar17;\n      psVar38 = (size_t *)((uint)(psVar20 + 1) & 0xfffffffc);\n      for (uVar26 = (int)psVar20 + (uVar35 - (int)((uint)(psVar20 + 1) & 0xfffffffc)) >> 2;\n          uVar26 != 0; uVar26 = uVar26 - 1) {\n        *psVar38 = sVar17;\n        psVar38 = psVar38 + (uint)bVar42 * -2 + 1;\n      }\n    }" (if "if") (parenthesized_expression "(uVar35 < 4)" (( "(") (binary_expression "uVar35 < 4" (identifier "uVar35") (< "<") (number_literal "4")) () ")")) (compound_statement "{\n      if ((uVar35 != 0) && (*(char *)psVar20 = (char)sVar17, (uVar35 & 2) != 0)) {\n        *(short *)((int)psVar20 + (uVar35 - 2)) = (short)sVar17;\n      }\n    }" ({ "{") (if_statement "if ((uVar35 != 0) && (*(char *)psVar20 = (char)sVar17, (uVar35 & 2) != 0)) {\n        *(short *)((int)psVar20 + (uVar35 - 2)) = (short)sVar17;\n      }" (if "if") (parenthesized_expression "((uVar35 != 0) && (*(char *)psVar20 = (char)sVar17, (uVar35 & 2) != 0))" (( "(") (binary_expression "(uVar35 != 0) && (*(char *)psVar20 = (char)sVar17, (uVar35 & 2) != 0)" (parenthesized_expression "(uVar35 != 0)" (( "(") (binary_expression "uVar35 != 0" (identifier "uVar35") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(*(char *)psVar20 = (char)sVar17, (uVar35 & 2) != 0)" (( "(") (comma_expression "*(char *)psVar20 = (char)sVar17, (uVar35 & 2) != 0" (assignment_expression "*(char *)psVar20 = (char)sVar17" (pointer_expression "*(char *)psVar20" (* "*") (cast_expression "(char *)psVar20" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "psVar20"))) (= "=") (cast_expression "(char)sVar17" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "sVar17"))) (, ",") (binary_expression "(uVar35 & 2) != 0" (parenthesized_expression "(uVar35 & 2)" (( "(") (binary_expression "uVar35 & 2" (identifier "uVar35") (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n        *(short *)((int)psVar20 + (uVar35 - 2)) = (short)sVar17;\n      }" ({ "{") (expression_statement "*(short *)((int)psVar20 + (uVar35 - 2)) = (short)sVar17;" (assignment_expression "*(short *)((int)psVar20 + (uVar35 - 2)) = (short)sVar17" (pointer_expression "*(short *)((int)psVar20 + (uVar35 - 2))" (* "*") (cast_expression "(short *)((int)psVar20 + (uVar35 - 2))" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)psVar20 + (uVar35 - 2))" (( "(") (binary_expression "(int)psVar20 + (uVar35 - 2)" (cast_expression "(int)psVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "psVar20")) (+ "+") (parenthesized_expression "(uVar35 - 2)" (( "(") (binary_expression "uVar35 - 2" (identifier "uVar35") (- "-") (number_literal "2")) () ")"))) () ")")))) (= "=") (cast_expression "(short)sVar17" (( "(") (type_descriptor "short" (sized_type_specifier "short" (short "short"))) () ")") (identifier "sVar17"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n      *psVar20 = sVar17;\n      *(size_t *)((int)(psVar20 + -1) + uVar35) = sVar17;\n      psVar38 = (size_t *)((uint)(psVar20 + 1) & 0xfffffffc);\n      for (uVar26 = (int)psVar20 + (uVar35 - (int)((uint)(psVar20 + 1) & 0xfffffffc)) >> 2;\n          uVar26 != 0; uVar26 = uVar26 - 1) {\n        *psVar38 = sVar17;\n        psVar38 = psVar38 + (uint)bVar42 * -2 + 1;\n      }\n    }" (else "else") (compound_statement "{\n      *psVar20 = sVar17;\n      *(size_t *)((int)(psVar20 + -1) + uVar35) = sVar17;\n      psVar38 = (size_t *)((uint)(psVar20 + 1) & 0xfffffffc);\n      for (uVar26 = (int)psVar20 + (uVar35 - (int)((uint)(psVar20 + 1) & 0xfffffffc)) >> 2;\n          uVar26 != 0; uVar26 = uVar26 - 1) {\n        *psVar38 = sVar17;\n        psVar38 = psVar38 + (uint)bVar42 * -2 + 1;\n      }\n    }" ({ "{") (expression_statement "*psVar20 = sVar17;" (assignment_expression "*psVar20 = sVar17" (pointer_expression "*psVar20" (* "*") (identifier "psVar20")) (= "=") (identifier "sVar17")) (; ";")) (expression_statement "*(size_t *)((int)(psVar20 + -1) + uVar35) = sVar17;" (assignment_expression "*(size_t *)((int)(psVar20 + -1) + uVar35) = sVar17" (pointer_expression "*(size_t *)((int)(psVar20 + -1) + uVar35)" (* "*") (cast_expression "(size_t *)((int)(psVar20 + -1) + uVar35)" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)(psVar20 + -1) + uVar35)" (( "(") (binary_expression "(int)(psVar20 + -1) + uVar35" (cast_expression "(int)(psVar20 + -1)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(psVar20 + -1)" (( "(") (binary_expression "psVar20 + -1" (identifier "psVar20") (+ "+") (number_literal "-1")) () ")"))) (+ "+") (identifier "uVar35")) () ")")))) (= "=") (identifier "sVar17")) (; ";")) (expression_statement "psVar38 = (size_t *)((uint)(psVar20 + 1) & 0xfffffffc);" (assignment_expression "psVar38 = (size_t *)((uint)(psVar20 + 1) & 0xfffffffc)" (identifier "psVar38") (= "=") (cast_expression "(size_t *)((uint)(psVar20 + 1) & 0xfffffffc)" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)(psVar20 + 1) & 0xfffffffc)" (( "(") (binary_expression "(uint)(psVar20 + 1) & 0xfffffffc" (call_expression "(uint)(psVar20 + 1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(psVar20 + 1)" (( "(") (binary_expression "psVar20 + 1" (identifier "psVar20") (+ "+") (number_literal "1")) () ")"))) (& "&") (number_literal "0xfffffffc")) () ")")))) (; ";")) (for_statement "for (uVar26 = (int)psVar20 + (uVar35 - (int)((uint)(psVar20 + 1) & 0xfffffffc)) >> 2;\n          uVar26 != 0; uVar26 = uVar26 - 1) {\n        *psVar38 = sVar17;\n        psVar38 = psVar38 + (uint)bVar42 * -2 + 1;\n      }" (for "for") (( "(") (assignment_expression "uVar26 = (int)psVar20 + (uVar35 - (int)((uint)(psVar20 + 1) & 0xfffffffc)) >> 2" (identifier "uVar26") (= "=") (binary_expression "(int)psVar20 + (uVar35 - (int)((uint)(psVar20 + 1) & 0xfffffffc)) >> 2" (binary_expression "(int)psVar20 + (uVar35 - (int)((uint)(psVar20 + 1) & 0xfffffffc))" (cast_expression "(int)psVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "psVar20")) (+ "+") (parenthesized_expression "(uVar35 - (int)((uint)(psVar20 + 1) & 0xfffffffc))" (( "(") (binary_expression "uVar35 - (int)((uint)(psVar20 + 1) & 0xfffffffc)" (identifier "uVar35") (- "-") (cast_expression "(int)((uint)(psVar20 + 1) & 0xfffffffc)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((uint)(psVar20 + 1) & 0xfffffffc)" (( "(") (binary_expression "(uint)(psVar20 + 1) & 0xfffffffc" (call_expression "(uint)(psVar20 + 1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(psVar20 + 1)" (( "(") (binary_expression "psVar20 + 1" (identifier "psVar20") (+ "+") (number_literal "1")) () ")"))) (& "&") (number_literal "0xfffffffc")) () ")")))) () ")"))) (>> ">>") (number_literal "2"))) (; ";") (binary_expression "uVar26 != 0" (identifier "uVar26") (!= "!=") (number_literal "0")) (; ";") (assignment_expression "uVar26 = uVar26 - 1" (identifier "uVar26") (= "=") (binary_expression "uVar26 - 1" (identifier "uVar26") (- "-") (number_literal "1"))) () ")") (compound_statement "{\n        *psVar38 = sVar17;\n        psVar38 = psVar38 + (uint)bVar42 * -2 + 1;\n      }" ({ "{") (expression_statement "*psVar38 = sVar17;" (assignment_expression "*psVar38 = sVar17" (pointer_expression "*psVar38" (* "*") (identifier "psVar38")) (= "=") (identifier "sVar17")) (; ";")) (expression_statement "psVar38 = psVar38 + (uint)bVar42 * -2 + 1;" (assignment_expression "psVar38 = psVar38 + (uint)bVar42 * -2 + 1" (identifier "psVar38") (= "=") (binary_expression "psVar38 + (uint)bVar42 * -2 + 1" (binary_expression "psVar38 + (uint)bVar42 * -2" (identifier "psVar38") (+ "+") (binary_expression "(uint)bVar42 * -2" (cast_expression "(uint)bVar42" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar42")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (} "}")))) (expression_statement "psVar25 = (size_t *)param_2[0x1a];" (assignment_expression "psVar25 = (size_t *)param_2[0x1a]" (identifier "psVar25") (= "=") (cast_expression "(size_t *)param_2[0x1a]" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_2[0x1a]" (identifier "param_2") ([ "[") (number_literal "0x1a") (] "]")))) (; ";")) (if_statement "if (psVar25 != (size_t *)0x0) {\n      psVar38 = (size_t *)0x0;\n      do {\n        uVar35 = *(uint *)((int)local_90 + (int)psVar38 * 4);\n        if (uVar35 != 0) {\n          iVar9 = local_84[(int)psVar38];\n          local_58 = 0;\n          local_5c = (int *)(*(int *)(iVar9 + 0x24) - uVar35);\n          while( true ) {\n            uVar26 = 0x2000;\n            if (uVar35 < 0x2001) {\n              uVar26 = uVar35;\n            }\n            iVar9 = bfd_set_section_contents(param_2,iVar9,psVar20,local_5c,local_58,uVar26);\n            if (iVar9 == 0) {\n              psVar38 = (size_t *)local_84[(int)psVar38];\n              local_50 = 0;\n              goto LAB_00019763;\n            }\n            bVar40 = CARRY4((uint)local_5c,uVar26);\n            local_5c = (int *)((int)local_5c + uVar26);\n            local_58 = local_58 + (uint)bVar40;\n            uVar35 = uVar35 - uVar26;\n            if (uVar35 == 0) break;\n            iVar9 = local_84[(int)psVar38];\n          }\n        }\n        psVar38 = (size_t *)((int)psVar38 + 1);\n      } while (psVar25 != psVar38);\n    }" (if "if") (parenthesized_expression "(psVar25 != (size_t *)0x0)" (( "(") (binary_expression "psVar25 != (size_t *)0x0" (identifier "psVar25") (!= "!=") (cast_expression "(size_t *)0x0" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      psVar38 = (size_t *)0x0;\n      do {\n        uVar35 = *(uint *)((int)local_90 + (int)psVar38 * 4);\n        if (uVar35 != 0) {\n          iVar9 = local_84[(int)psVar38];\n          local_58 = 0;\n          local_5c = (int *)(*(int *)(iVar9 + 0x24) - uVar35);\n          while( true ) {\n            uVar26 = 0x2000;\n            if (uVar35 < 0x2001) {\n              uVar26 = uVar35;\n            }\n            iVar9 = bfd_set_section_contents(param_2,iVar9,psVar20,local_5c,local_58,uVar26);\n            if (iVar9 == 0) {\n              psVar38 = (size_t *)local_84[(int)psVar38];\n              local_50 = 0;\n              goto LAB_00019763;\n            }\n            bVar40 = CARRY4((uint)local_5c,uVar26);\n            local_5c = (int *)((int)local_5c + uVar26);\n            local_58 = local_58 + (uint)bVar40;\n            uVar35 = uVar35 - uVar26;\n            if (uVar35 == 0) break;\n            iVar9 = local_84[(int)psVar38];\n          }\n        }\n        psVar38 = (size_t *)((int)psVar38 + 1);\n      } while (psVar25 != psVar38);\n    }" ({ "{") (expression_statement "psVar38 = (size_t *)0x0;" (assignment_expression "psVar38 = (size_t *)0x0" (identifier "psVar38") (= "=") (cast_expression "(size_t *)0x0" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (do_statement "do {\n        uVar35 = *(uint *)((int)local_90 + (int)psVar38 * 4);\n        if (uVar35 != 0) {\n          iVar9 = local_84[(int)psVar38];\n          local_58 = 0;\n          local_5c = (int *)(*(int *)(iVar9 + 0x24) - uVar35);\n          while( true ) {\n            uVar26 = 0x2000;\n            if (uVar35 < 0x2001) {\n              uVar26 = uVar35;\n            }\n            iVar9 = bfd_set_section_contents(param_2,iVar9,psVar20,local_5c,local_58,uVar26);\n            if (iVar9 == 0) {\n              psVar38 = (size_t *)local_84[(int)psVar38];\n              local_50 = 0;\n              goto LAB_00019763;\n            }\n            bVar40 = CARRY4((uint)local_5c,uVar26);\n            local_5c = (int *)((int)local_5c + uVar26);\n            local_58 = local_58 + (uint)bVar40;\n            uVar35 = uVar35 - uVar26;\n            if (uVar35 == 0) break;\n            iVar9 = local_84[(int)psVar38];\n          }\n        }\n        psVar38 = (size_t *)((int)psVar38 + 1);\n      } while (psVar25 != psVar38);" (do "do") (compound_statement "{\n        uVar35 = *(uint *)((int)local_90 + (int)psVar38 * 4);\n        if (uVar35 != 0) {\n          iVar9 = local_84[(int)psVar38];\n          local_58 = 0;\n          local_5c = (int *)(*(int *)(iVar9 + 0x24) - uVar35);\n          while( true ) {\n            uVar26 = 0x2000;\n            if (uVar35 < 0x2001) {\n              uVar26 = uVar35;\n            }\n            iVar9 = bfd_set_section_contents(param_2,iVar9,psVar20,local_5c,local_58,uVar26);\n            if (iVar9 == 0) {\n              psVar38 = (size_t *)local_84[(int)psVar38];\n              local_50 = 0;\n              goto LAB_00019763;\n            }\n            bVar40 = CARRY4((uint)local_5c,uVar26);\n            local_5c = (int *)((int)local_5c + uVar26);\n            local_58 = local_58 + (uint)bVar40;\n            uVar35 = uVar35 - uVar26;\n            if (uVar35 == 0) break;\n            iVar9 = local_84[(int)psVar38];\n          }\n        }\n        psVar38 = (size_t *)((int)psVar38 + 1);\n      }" ({ "{") (expression_statement "uVar35 = *(uint *)((int)local_90 + (int)psVar38 * 4);" (assignment_expression "uVar35 = *(uint *)((int)local_90 + (int)psVar38 * 4)" (identifier "uVar35") (= "=") (pointer_expression "*(uint *)((int)local_90 + (int)psVar38 * 4)" (* "*") (cast_expression "(uint *)((int)local_90 + (int)psVar38 * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_90 + (int)psVar38 * 4)" (( "(") (binary_expression "(int)local_90 + (int)psVar38 * 4" (cast_expression "(int)local_90" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_90")) (+ "+") (binary_expression "(int)psVar38 * 4" (cast_expression "(int)psVar38" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "psVar38")) (* "*") (number_literal "4"))) () ")"))))) (; ";")) (if_statement "if (uVar35 != 0) {\n          iVar9 = local_84[(int)psVar38];\n          local_58 = 0;\n          local_5c = (int *)(*(int *)(iVar9 + 0x24) - uVar35);\n          while( true ) {\n            uVar26 = 0x2000;\n            if (uVar35 < 0x2001) {\n              uVar26 = uVar35;\n            }\n            iVar9 = bfd_set_section_contents(param_2,iVar9,psVar20,local_5c,local_58,uVar26);\n            if (iVar9 == 0) {\n              psVar38 = (size_t *)local_84[(int)psVar38];\n              local_50 = 0;\n              goto LAB_00019763;\n            }\n            bVar40 = CARRY4((uint)local_5c,uVar26);\n            local_5c = (int *)((int)local_5c + uVar26);\n            local_58 = local_58 + (uint)bVar40;\n            uVar35 = uVar35 - uVar26;\n            if (uVar35 == 0) break;\n            iVar9 = local_84[(int)psVar38];\n          }\n        }" (if "if") (parenthesized_expression "(uVar35 != 0)" (( "(") (binary_expression "uVar35 != 0" (identifier "uVar35") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          iVar9 = local_84[(int)psVar38];\n          local_58 = 0;\n          local_5c = (int *)(*(int *)(iVar9 + 0x24) - uVar35);\n          while( true ) {\n            uVar26 = 0x2000;\n            if (uVar35 < 0x2001) {\n              uVar26 = uVar35;\n            }\n            iVar9 = bfd_set_section_contents(param_2,iVar9,psVar20,local_5c,local_58,uVar26);\n            if (iVar9 == 0) {\n              psVar38 = (size_t *)local_84[(int)psVar38];\n              local_50 = 0;\n              goto LAB_00019763;\n            }\n            bVar40 = CARRY4((uint)local_5c,uVar26);\n            local_5c = (int *)((int)local_5c + uVar26);\n            local_58 = local_58 + (uint)bVar40;\n            uVar35 = uVar35 - uVar26;\n            if (uVar35 == 0) break;\n            iVar9 = local_84[(int)psVar38];\n          }\n        }" ({ "{") (expression_statement "iVar9 = local_84[(int)psVar38];" (assignment_expression "iVar9 = local_84[(int)psVar38]" (identifier "iVar9") (= "=") (subscript_expression "local_84[(int)psVar38]" (identifier "local_84") ([ "[") (cast_expression "(int)psVar38" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "psVar38")) (] "]"))) (; ";")) (expression_statement "local_58 = 0;" (assignment_expression "local_58 = 0" (identifier "local_58") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_5c = (int *)(*(int *)(iVar9 + 0x24) - uVar35);" (assignment_expression "local_5c = (int *)(*(int *)(iVar9 + 0x24) - uVar35)" (identifier "local_5c") (= "=") (cast_expression "(int *)(*(int *)(iVar9 + 0x24) - uVar35)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar9 + 0x24) - uVar35)" (( "(") (binary_expression "*(int *)(iVar9 + 0x24) - uVar35" (pointer_expression "*(int *)(iVar9 + 0x24)" (* "*") (cast_expression "(int *)(iVar9 + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x24)" (( "(") (binary_expression "iVar9 + 0x24" (identifier "iVar9") (+ "+") (number_literal "0x24")) () ")")))) (- "-") (identifier "uVar35")) () ")")))) (; ";")) (while_statement "while( true ) {\n            uVar26 = 0x2000;\n            if (uVar35 < 0x2001) {\n              uVar26 = uVar35;\n            }\n            iVar9 = bfd_set_section_contents(param_2,iVar9,psVar20,local_5c,local_58,uVar26);\n            if (iVar9 == 0) {\n              psVar38 = (size_t *)local_84[(int)psVar38];\n              local_50 = 0;\n              goto LAB_00019763;\n            }\n            bVar40 = CARRY4((uint)local_5c,uVar26);\n            local_5c = (int *)((int)local_5c + uVar26);\n            local_58 = local_58 + (uint)bVar40;\n            uVar35 = uVar35 - uVar26;\n            if (uVar35 == 0) break;\n            iVar9 = local_84[(int)psVar38];\n          }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n            uVar26 = 0x2000;\n            if (uVar35 < 0x2001) {\n              uVar26 = uVar35;\n            }\n            iVar9 = bfd_set_section_contents(param_2,iVar9,psVar20,local_5c,local_58,uVar26);\n            if (iVar9 == 0) {\n              psVar38 = (size_t *)local_84[(int)psVar38];\n              local_50 = 0;\n              goto LAB_00019763;\n            }\n            bVar40 = CARRY4((uint)local_5c,uVar26);\n            local_5c = (int *)((int)local_5c + uVar26);\n            local_58 = local_58 + (uint)bVar40;\n            uVar35 = uVar35 - uVar26;\n            if (uVar35 == 0) break;\n            iVar9 = local_84[(int)psVar38];\n          }" ({ "{") (expression_statement "uVar26 = 0x2000;" (assignment_expression "uVar26 = 0x2000" (identifier "uVar26") (= "=") (number_literal "0x2000")) (; ";")) (if_statement "if (uVar35 < 0x2001) {\n              uVar26 = uVar35;\n            }" (if "if") (parenthesized_expression "(uVar35 < 0x2001)" (( "(") (binary_expression "uVar35 < 0x2001" (identifier "uVar35") (< "<") (number_literal "0x2001")) () ")")) (compound_statement "{\n              uVar26 = uVar35;\n            }" ({ "{") (expression_statement "uVar26 = uVar35;" (assignment_expression "uVar26 = uVar35" (identifier "uVar26") (= "=") (identifier "uVar35")) (; ";")) (} "}"))) (expression_statement "iVar9 = bfd_set_section_contents(param_2,iVar9,psVar20,local_5c,local_58,uVar26);" (assignment_expression "iVar9 = bfd_set_section_contents(param_2,iVar9,psVar20,local_5c,local_58,uVar26)" (identifier "iVar9") (= "=") (call_expression "bfd_set_section_contents(param_2,iVar9,psVar20,local_5c,local_58,uVar26)" (identifier "bfd_set_section_contents") (argument_list "(param_2,iVar9,psVar20,local_5c,local_58,uVar26)" (( "(") (identifier "param_2") (, ",") (identifier "iVar9") (, ",") (identifier "psVar20") (, ",") (identifier "local_5c") (, ",") (identifier "local_58") (, ",") (identifier "uVar26") () ")")))) (; ";")) (if_statement "if (iVar9 == 0) {\n              psVar38 = (size_t *)local_84[(int)psVar38];\n              local_50 = 0;\n              goto LAB_00019763;\n            }" (if "if") (parenthesized_expression "(iVar9 == 0)" (( "(") (binary_expression "iVar9 == 0" (identifier "iVar9") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              psVar38 = (size_t *)local_84[(int)psVar38];\n              local_50 = 0;\n              goto LAB_00019763;\n            }" ({ "{") (expression_statement "psVar38 = (size_t *)local_84[(int)psVar38];" (assignment_expression "psVar38 = (size_t *)local_84[(int)psVar38]" (identifier "psVar38") (= "=") (cast_expression "(size_t *)local_84[(int)psVar38]" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "local_84[(int)psVar38]" (identifier "local_84") ([ "[") (cast_expression "(int)psVar38" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "psVar38")) (] "]")))) (; ";")) (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" (identifier "local_50") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_00019763;" (goto "goto") (statement_identifier "LAB_00019763") (; ";")) (} "}"))) (expression_statement "bVar40 = CARRY4((uint)local_5c,uVar26);" (assignment_expression "bVar40 = CARRY4((uint)local_5c,uVar26)" (identifier "bVar40") (= "=") (call_expression "CARRY4((uint)local_5c,uVar26)" (identifier "CARRY4") (argument_list "((uint)local_5c,uVar26)" (( "(") (cast_expression "(uint)local_5c" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_5c")) (, ",") (identifier "uVar26") () ")")))) (; ";")) (expression_statement "local_5c = (int *)((int)local_5c + uVar26);" (assignment_expression "local_5c = (int *)((int)local_5c + uVar26)" (identifier "local_5c") (= "=") (cast_expression "(int *)((int)local_5c + uVar26)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_5c + uVar26)" (( "(") (binary_expression "(int)local_5c + uVar26" (cast_expression "(int)local_5c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_5c")) (+ "+") (identifier "uVar26")) () ")")))) (; ";")) (expression_statement "local_58 = local_58 + (uint)bVar40;" (assignment_expression "local_58 = local_58 + (uint)bVar40" (identifier "local_58") (= "=") (binary_expression "local_58 + (uint)bVar40" (identifier "local_58") (+ "+") (cast_expression "(uint)bVar40" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar40")))) (; ";")) (expression_statement "uVar35 = uVar35 - uVar26;" (assignment_expression "uVar35 = uVar35 - uVar26" (identifier "uVar35") (= "=") (binary_expression "uVar35 - uVar26" (identifier "uVar35") (- "-") (identifier "uVar26"))) (; ";")) (if_statement "if (uVar35 == 0) break;" (if "if") (parenthesized_expression "(uVar35 == 0)" (( "(") (binary_expression "uVar35 == 0" (identifier "uVar35") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar9 = local_84[(int)psVar38];" (assignment_expression "iVar9 = local_84[(int)psVar38]" (identifier "iVar9") (= "=") (subscript_expression "local_84[(int)psVar38]" (identifier "local_84") ([ "[") (cast_expression "(int)psVar38" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "psVar38")) (] "]"))) (; ";")) (} "}"))) (} "}"))) (expression_statement "psVar38 = (size_t *)((int)psVar38 + 1);" (assignment_expression "psVar38 = (size_t *)((int)psVar38 + 1)" (identifier "psVar38") (= "=") (cast_expression "(size_t *)((int)psVar38 + 1)" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)psVar38 + 1)" (( "(") (binary_expression "(int)psVar38 + 1" (cast_expression "(int)psVar38" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "psVar38")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(psVar25 != psVar38)" (( "(") (binary_expression "psVar25 != psVar38" (identifier "psVar25") (!= "!=") (identifier "psVar38")) () ")")) (; ";")) (} "}"))) (} "}"))) (expression_statement "iVar9 = (**(code **)(param_2[1] + 0xa8))(param_1,param_2);" (assignment_expression "iVar9 = (**(code **)(param_2[1] + 0xa8))(param_1,param_2)" (identifier "iVar9") (= "=") (call_expression "(**(code **)(param_2[1] + 0xa8))(param_1,param_2)" (parenthesized_expression "(**(code **)(param_2[1] + 0xa8))" (( "(") (pointer_expression "**(code **)(param_2[1] + 0xa8)" (* "*") (pointer_expression "*(code **)(param_2[1] + 0xa8)" (* "*") (cast_expression "(code **)(param_2[1] + 0xa8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_2[1] + 0xa8)" (( "(") (binary_expression "param_2[1] + 0xa8" (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "0xa8")) () ")"))))) () ")")) (argument_list "(param_1,param_2)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") () ")")))) (; ";")) (if_statement "if (iVar9 != 0) {\n    if ((DAT_0003fb44 != 0) &&\n       (iVar12 = bfd_alt_mach_code(param_2,DAT_0003fb44,uVar35,uVar35), iVar9 = DAT_0003fb44,\n       iVar12 == 0)) {\n      uVar10 = dcgettext(0,"this target does not support %lu alternative machine codes",5,psVar38);\n      FUN_0002b6d0(uVar10,iVar9);\n      if (*(int *)(param_2[1] + 4) != 5) {\n        uVar10 = dcgettext(0,"ignoring the alternative value",5,extraout_ECX_00);\n        FUN_0002b6d0(uVar10);\n        return 1;\n      }\n      uVar10 = dcgettext(0,"treating that number as an absolute e_machine value instead",5,iVar9);\n      FUN_0002b6d0(uVar10);\n      *(short *)(param_2[0x27] + 0x26) = (short)DAT_0003fb44;\n    }\n    return 1;\n  }" (if "if") (parenthesized_expression "(iVar9 != 0)" (( "(") (binary_expression "iVar9 != 0" (identifier "iVar9") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    if ((DAT_0003fb44 != 0) &&\n       (iVar12 = bfd_alt_mach_code(param_2,DAT_0003fb44,uVar35,uVar35), iVar9 = DAT_0003fb44,\n       iVar12 == 0)) {\n      uVar10 = dcgettext(0,"this target does not support %lu alternative machine codes",5,psVar38);\n      FUN_0002b6d0(uVar10,iVar9);\n      if (*(int *)(param_2[1] + 4) != 5) {\n        uVar10 = dcgettext(0,"ignoring the alternative value",5,extraout_ECX_00);\n        FUN_0002b6d0(uVar10);\n        return 1;\n      }\n      uVar10 = dcgettext(0,"treating that number as an absolute e_machine value instead",5,iVar9);\n      FUN_0002b6d0(uVar10);\n      *(short *)(param_2[0x27] + 0x26) = (short)DAT_0003fb44;\n    }\n    return 1;\n  }" ({ "{") (if_statement "if ((DAT_0003fb44 != 0) &&\n       (iVar12 = bfd_alt_mach_code(param_2,DAT_0003fb44,uVar35,uVar35), iVar9 = DAT_0003fb44,\n       iVar12 == 0)) {\n      uVar10 = dcgettext(0,"this target does not support %lu alternative machine codes",5,psVar38);\n      FUN_0002b6d0(uVar10,iVar9);\n      if (*(int *)(param_2[1] + 4) != 5) {\n        uVar10 = dcgettext(0,"ignoring the alternative value",5,extraout_ECX_00);\n        FUN_0002b6d0(uVar10);\n        return 1;\n      }\n      uVar10 = dcgettext(0,"treating that number as an absolute e_machine value instead",5,iVar9);\n      FUN_0002b6d0(uVar10);\n      *(short *)(param_2[0x27] + 0x26) = (short)DAT_0003fb44;\n    }" (if "if") (parenthesized_expression "((DAT_0003fb44 != 0) &&\n       (iVar12 = bfd_alt_mach_code(param_2,DAT_0003fb44,uVar35,uVar35), iVar9 = DAT_0003fb44,\n       iVar12 == 0))" (( "(") (binary_expression "(DAT_0003fb44 != 0) &&\n       (iVar12 = bfd_alt_mach_code(param_2,DAT_0003fb44,uVar35,uVar35), iVar9 = DAT_0003fb44,\n       iVar12 == 0)" (parenthesized_expression "(DAT_0003fb44 != 0)" (( "(") (binary_expression "DAT_0003fb44 != 0" (identifier "DAT_0003fb44") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar12 = bfd_alt_mach_code(param_2,DAT_0003fb44,uVar35,uVar35), iVar9 = DAT_0003fb44,\n       iVar12 == 0)" (( "(") (comma_expression "iVar12 = bfd_alt_mach_code(param_2,DAT_0003fb44,uVar35,uVar35), iVar9 = DAT_0003fb44,\n       iVar12 == 0" (assignment_expression "iVar12 = bfd_alt_mach_code(param_2,DAT_0003fb44,uVar35,uVar35)" (identifier "iVar12") (= "=") (call_expression "bfd_alt_mach_code(param_2,DAT_0003fb44,uVar35,uVar35)" (identifier "bfd_alt_mach_code") (argument_list "(param_2,DAT_0003fb44,uVar35,uVar35)" (( "(") (identifier "param_2") (, ",") (identifier "DAT_0003fb44") (, ",") (identifier "uVar35") (, ",") (identifier "uVar35") () ")")))) (, ",") (comma_expression "iVar9 = DAT_0003fb44,\n       iVar12 == 0" (assignment_expression "iVar9 = DAT_0003fb44" (identifier "iVar9") (= "=") (identifier "DAT_0003fb44")) (, ",") (binary_expression "iVar12 == 0" (identifier "iVar12") (== "==") (number_literal "0")))) () ")"))) () ")")) (compound_statement "{\n      uVar10 = dcgettext(0,"this target does not support %lu alternative machine codes",5,psVar38);\n      FUN_0002b6d0(uVar10,iVar9);\n      if (*(int *)(param_2[1] + 4) != 5) {\n        uVar10 = dcgettext(0,"ignoring the alternative value",5,extraout_ECX_00);\n        FUN_0002b6d0(uVar10);\n        return 1;\n      }\n      uVar10 = dcgettext(0,"treating that number as an absolute e_machine value instead",5,iVar9);\n      FUN_0002b6d0(uVar10);\n      *(short *)(param_2[0x27] + 0x26) = (short)DAT_0003fb44;\n    }" ({ "{") (expression_statement "uVar10 = dcgettext(0,"this target does not support %lu alternative machine codes",5,psVar38);" (assignment_expression "uVar10 = dcgettext(0,"this target does not support %lu alternative machine codes",5,psVar38)" (identifier "uVar10") (= "=") (call_expression "dcgettext(0,"this target does not support %lu alternative machine codes",5,psVar38)" (identifier "dcgettext") (argument_list "(0,"this target does not support %lu alternative machine codes",5,psVar38)" (( "(") (number_literal "0") (, ",") (string_literal ""this target does not support %lu alternative machine codes"" (" """) (string_content "this target does not support %lu alternative machine codes") (" """)) (, ",") (number_literal "5") (, ",") (identifier "psVar38") () ")")))) (; ";")) (expression_statement "FUN_0002b6d0(uVar10,iVar9);" (call_expression "FUN_0002b6d0(uVar10,iVar9)" (identifier "FUN_0002b6d0") (argument_list "(uVar10,iVar9)" (( "(") (identifier "uVar10") (, ",") (identifier "iVar9") () ")"))) (; ";")) (if_statement "if (*(int *)(param_2[1] + 4) != 5) {\n        uVar10 = dcgettext(0,"ignoring the alternative value",5,extraout_ECX_00);\n        FUN_0002b6d0(uVar10);\n        return 1;\n      }" (if "if") (parenthesized_expression "(*(int *)(param_2[1] + 4) != 5)" (( "(") (binary_expression "*(int *)(param_2[1] + 4) != 5" (pointer_expression "*(int *)(param_2[1] + 4)" (* "*") (cast_expression "(int *)(param_2[1] + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2[1] + 4)" (( "(") (binary_expression "param_2[1] + 4" (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "4")) () ")")))) (!= "!=") (number_literal "5")) () ")")) (compound_statement "{\n        uVar10 = dcgettext(0,"ignoring the alternative value",5,extraout_ECX_00);\n        FUN_0002b6d0(uVar10);\n        return 1;\n      }" ({ "{") (expression_statement "uVar10 = dcgettext(0,"ignoring the alternative value",5,extraout_ECX_00);" (assignment_expression "uVar10 = dcgettext(0,"ignoring the alternative value",5,extraout_ECX_00)" (identifier "uVar10") (= "=") (call_expression "dcgettext(0,"ignoring the alternative value",5,extraout_ECX_00)" (identifier "dcgettext") (argument_list "(0,"ignoring the alternative value",5,extraout_ECX_00)" (( "(") (number_literal "0") (, ",") (string_literal ""ignoring the alternative value"" (" """) (string_content "ignoring the alternative value") (" """)) (, ",") (number_literal "5") (, ",") (identifier "extraout_ECX_00") () ")")))) (; ";")) (expression_statement "FUN_0002b6d0(uVar10);" (call_expression "FUN_0002b6d0(uVar10)" (identifier "FUN_0002b6d0") (argument_list "(uVar10)" (( "(") (identifier "uVar10") () ")"))) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (expression_statement "uVar10 = dcgettext(0,"treating that number as an absolute e_machine value instead",5,iVar9);" (assignment_expression "uVar10 = dcgettext(0,"treating that number as an absolute e_machine value instead",5,iVar9)" (identifier "uVar10") (= "=") (call_expression "dcgettext(0,"treating that number as an absolute e_machine value instead",5,iVar9)" (identifier "dcgettext") (argument_list "(0,"treating that number as an absolute e_machine value instead",5,iVar9)" (( "(") (number_literal "0") (, ",") (string_literal ""treating that number as an absolute e_machine value instead"" (" """) (string_content "treating that number as an absolute e_machine value instead") (" """)) (, ",") (number_literal "5") (, ",") (identifier "iVar9") () ")")))) (; ";")) (expression_statement "FUN_0002b6d0(uVar10);" (call_expression "FUN_0002b6d0(uVar10)" (identifier "FUN_0002b6d0") (argument_list "(uVar10)" (( "(") (identifier "uVar10") () ")"))) (; ";")) (expression_statement "*(short *)(param_2[0x27] + 0x26) = (short)DAT_0003fb44;" (assignment_expression "*(short *)(param_2[0x27] + 0x26) = (short)DAT_0003fb44" (pointer_expression "*(short *)(param_2[0x27] + 0x26)" (* "*") (cast_expression "(short *)(param_2[0x27] + 0x26)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2[0x27] + 0x26)" (( "(") (binary_expression "param_2[0x27] + 0x26" (subscript_expression "param_2[0x27]" (identifier "param_2") ([ "[") (number_literal "0x27") (] "]")) (+ "+") (number_literal "0x26")) () ")")))) (= "=") (cast_expression "(short)DAT_0003fb44" (( "(") (type_descriptor "short" (sized_type_specifier "short" (short "short"))) () ")") (identifier "DAT_0003fb44"))) (; ";")) (} "}"))) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (expression_statement "uVar10 = dcgettext(0,"error copying private BFD data",5,psVar38);" (assignment_expression "uVar10 = dcgettext(0,"error copying private BFD data",5,psVar38)" (identifier "uVar10") (= "=") (call_expression "dcgettext(0,"error copying private BFD data",5,psVar38)" (identifier "dcgettext") (argument_list "(0,"error copying private BFD data",5,psVar38)" (( "(") (number_literal "0") (, ",") (string_literal ""error copying private BFD data"" (" """) (string_content "error copying private BFD data") (" """)) (, ",") (number_literal "5") (, ",") (identifier "psVar38") () ")")))) (; ";")) (expression_statement "uVar35 = 0;" (assignment_expression "uVar35 = 0" (identifier "uVar35") (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_0001a2cd:\n  FUN_0002c160(0,param_2,uVar35,uVar10);" (statement_identifier "LAB_0001a2cd") (: ":") (expression_statement "FUN_0002c160(0,param_2,uVar35,uVar10);" (call_expression "FUN_0002c160(0,param_2,uVar35,uVar10)" (identifier "FUN_0002c160") (argument_list "(0,param_2,uVar35,uVar10)" (( "(") (number_literal "0") (, ",") (identifier "param_2") (, ",") (identifier "uVar35") (, ",") (identifier "uVar10") () ")"))) (; ";"))) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Type propagation algorithm not settling */
/* WARNING: Enum "anon_enum_32": Some values do not have unique names */

type_1 __regparm3 function_1(type_2 *ibfd,type_2 *obfd,type_3 *var_30)

{
  void *__dest;
  type_4 **var_158;
  type_4 **ppaVar2;
  type_5 *var_84;
  type_6 var_1;
  type_6 var_2;
  type_7 *var_61;
  type_8 *ppVar7;
  type_9 *pbVar8;
  type_10 *p_Var9;
  type_11 var_100;
  type_12 var_35;
  type_11 *var_91;
  type_11 *var_89;
  type_7 *var_68;
  type_13 *var_139;
  type_11 *pbVar16;
  type_5 var_82;
  int var_7;
  type_14 bVar19;
  type_15 uVar20;
  type_1 var_32;
  int var_34;
  char *pcVar23;
  char *var_85;
  long var_57;
  type_16 *var_63;
  type_17 *var_66;
  type_18 *var_106;
  char *pcVar28;
  char *__format;
  type_19 uVar29;
  type_19 uVar30;
  type_4 **var_55;
  type_20 *var_115;
  type_4 *paVar33;
  size_t var_102;
  size_t var_109;
  type_5 *var_73;
  type_4 *paVar37;
  type_19 *var_170;
  int var_96;
  int *var_123;
  char *pcVar41;
  type_2 *var_171;
  type_11 var_20;
  void *pvVar44;
  type_11 var_51;
  type_17 *sec_1;
  type_19 extraout_ECX;
  type_17 *sec_1_00;
  type_19 extraout_ECX_00;
  type_19 extraout_ECX_01;
  type_21 var_97;
  type_19 extraout_ECX_02;
  type_19 extraout_ECX_03;
  type_21 var_81;
  type_21 var_98;
  void *pvVar49;
  type_19 extraout_EDX;
  type_22 *ptr;
  type_5 *var_138;
  type_23 *var_37;
  type_24 **var_40;
  type_20 *var_117;
  type_20 *var_116;
  type_2 *pbVar55;
  type_11 *var_90;
  type_5 *var_80;
  type_21 var_25;
  type_23 *var_38;
  type_25 *piVar60;
  type_26 *var_99;
  type_2 *var_71;
  type_11 *var_92;
  bool var_39;
  bool bVar65;
  type_23 bVar66;
  type_27 uVar67;
  type_28 bVar68;
  type_2 *var_77;
  void *var_147;
  type_2 *pbVar71;
  type_2 *in_stack_ffffff54;
  type_2 *in_stack_ffffff58;
  char *var_113;
  type_2 *var_160;
  void *local_90;
  type_2 *var_122;
  int *var_88;
  type_5 *var_87;
  type_11 *var_94;
  type_5 *var_79;
  int var_59;
  type_21 var_83;
  type_4 **var_157;
  type_11 *var_86;
  type_11 *var_93;
  type_2 *var_133;
  int var_173;
  type_1 var_69;
  type_5 *syms;
  type_5 *strings;
  char file_alignment [20];
  type_5 *contents;
  type_19 local_2c;
  type_19 uStack_14;
  
  bVar66 = 0;
  uStack_14 = 0x185fd;
  var_1 = ibfd->xvec->byteorder;
  var_2 = obfd->xvec->byteorder;
  if ((var_1 != var_2 && var_1 != var_3) && (var_2 != var_3)) {
    var_85 = (char *)var_4(0,"Unable to change endianness of input file(s)",5);
    var_5(var_85);
    return 0;
  }
  var_7 = var_6(obfd,ibfd->field_0x28 & 7);
  if (var_7 == 0) {
    var_8((char *)0x0,obfd,(type_17 *)0x0,(char *)0x0);
    return 0;
  }
  if (ibfd->sections == (type_20 *)0x0) {
    pcVar23 = var_9(ibfd);
    var_85 = "error: the input file \'%s\' has no sections";
    goto LAB_00018bc8;
  }
  if (ibfd->xvec->flavour != var_10) {
    if ((var_11 != var_12) && ((var_11 & var_12) != var_13)) {
      pcVar23 = var_9(ibfd);
      var_85 = "--compress-debug-sections=[zlib|zlib-gnu|zlib-gabi] is unsupported on `%s\'";
LAB_00018bc8:
      var_85 = (char *)var_4(0,var_85,5);
      var_5(var_85,pcVar23);
      return 0;
    }
    if (var_14 != var_15) {
      pcVar23 = var_9(ibfd);
      var_85 = "--elf-stt-common=[yes|no] is unsupported on `%s\'";
      goto LAB_00018bc8;
    }
  }
  if (var_16 != 0) {
    var_85 = ibfd->xvec->name;
    pcVar23 = obfd->xvec->name;
    pcVar41 = obfd->filename;
    pcVar28 = var_9(ibfd);
    __format = (char *)var_4(0,"copy from `%s\' [%s] to `%s\' [%s]\n",5);
    var_17(__format,pcVar28,var_85,pcVar41,pcVar23);
  }
  var_7 = 0;
  if (var_18 == 0) {
    var_20 = set_start;
    if (var_19 == 0) {
      var_20 = ibfd->start_address;
    }
    var_7 = var_20 + var_21;
  }
  if ((obfd->field_0x28 & 7) != 3) {
    var_25 = ~bfd_flags_to_clear & obfd->xvec->object_flags &
             (*(type_21 *)&ibfd->field_0x28 >> 5 & 0xfffff | var_22);
    if (var_23 == var_24) {
      var_25 = var_25 & 0xfffffffe;
    }
    var_7 = var_26(obfd,var_7);
    if ((var_7 == 0) || (var_7 = var_27(obfd,var_25), var_7 == 0)) goto LAB_00018840;
  }
  bVar19 = var_28(ibfd);
  uVar20 = var_29(ibfd);
  if (var_30 != (type_3 *)0x0) {
    var_7 = var_31(ibfd);
    if ((var_7 == 0) || (var_7 = var_31(ibfd), *(int *)(var_7 + 0xc) == 0)) {
      bVar19 = var_30->arch;
      uVar20 = var_30->mach;
    }
    else {
      var_85 = var_9(ibfd);
      pcVar23 = (char *)var_4(0,"Input file `%s\' ignores binary architecture parameter.",5);
      var_5(pcVar23,var_85);
    }
  }
  var_32 = (*obfd->xvec->_bfd_set_arch_mach)(obfd,bVar19,uVar20);
  if (var_32 == 0) {
    if ((ibfd->field_0x2b & 4) != 0) {
LAB_000187e7:
      var_7 = var_28(ibfd);
      if (var_7 == 0) {
        pcVar23 = var_9(ibfd);
        var_85 = "Unable to recognise the format of the input file `%s\'";
      }
      else {
        uVar29 = var_29(ibfd);
        uVar30 = var_28(ibfd);
        pcVar23 = (char *)var_33(uVar30,uVar29);
        var_85 = "Output file cannot represent architecture `%s\'";
      }
      var_85 = (char *)var_4(0,var_85,5);
      var_5(var_85,pcVar23);
      return 0;
    }
    var_7 = var_28(ibfd);
    var_34 = var_28(obfd);
    if (var_7 != var_34) goto LAB_000187e7;
  }
  var_7 = var_6(obfd,ibfd->field_0x28 & 7);
  if (var_7 == 0) {
LAB_00018840:
    var_8((char *)0x0,ibfd,(type_17 *)0x0,(char *)0x0);
    return 0;
  }
  var_35 = obfd->xvec->flavour;
  var_39 = var_35 < var_36;
  bVar65 = var_35 == var_36;
  if (bVar65) {
    var_7 = 4;
    var_37 = (type_23 *)obfd->xvec->name;
    var_38 = &DAT_0002e16a;
    do {
      if (var_7 == 0) break;
      var_7 = var_7 + -1;
      var_39 = *var_37 < *var_38;
      bVar65 = *var_37 == *var_38;
      var_37 = var_37 + (type_21)bVar66 * -2 + 1;
      var_38 = var_38 + (type_21)bVar66 * -2 + 1;
    } while (bVar65);
    if ((!var_39 && !bVar65) == var_39) {
      ppVar7 = (obfd->tdata).pe_obj_data;
      var_35 = ibfd->xvec->flavour;
      var_39 = var_35 < var_36;
      bVar65 = var_35 == var_36;
      if (bVar65) {
        var_7 = 4;
        var_37 = (type_23 *)ibfd->xvec->name;
        var_38 = &DAT_0002e16a;
        do {
          if (var_7 == 0) break;
          var_7 = var_7 + -1;
          var_39 = *var_37 < *var_38;
          bVar65 = *var_37 == *var_38;
          var_37 = var_37 + (type_21)bVar66 * -2 + 1;
          var_38 = var_38 + (type_21)bVar66 * -2 + 1;
        } while (bVar65);
        if ((!var_39 && !bVar65) == var_39) {
          var_40 = &(((ibfd->tdata).elf_obj_data)->symtab_hdr).contents;
          piVar60 = &ppVar7->pe_opthdr;
          for (var_7 = 0x38; var_7 != 0; var_7 = var_7 + -1) {
            *(type_24 **)piVar60 = *var_40;
            var_40 = var_40 + (type_21)bVar66 * -2 + 1;
            piVar60 = (type_25 *)((int)piVar60 + (type_21)bVar66 * -8 + 4);
          }
        }
      }
      var_20 = var_41;
      if (var_41 == 0xffffffff) {
        var_41 = 0x200;
        var_20 = 0x200;
      }
      else {
        (ppVar7->pe_opthdr).FileAlignment = var_41;
      }
      if (var_42 != 0xffffffff) {
        (ppVar7->pe_opthdr).SizeOfHeapCommit = var_42;
      }
      if (var_43 != 0xffffffff) {
        (ppVar7->pe_opthdr).SizeOfHeapCommit = var_43;
      }
      if (var_44 != 0xffffffff) {
        (ppVar7->pe_opthdr).ImageBase = var_44;
      }
      var_51 = var_45;
      if (var_45 == 0xffffffff) {
        var_45 = 0x1000;
        var_51 = 0x1000;
      }
      else {
        (ppVar7->pe_opthdr).SectionAlignment = var_45;
      }
      if (var_46 != 0xffffffff) {
        (ppVar7->pe_opthdr).SizeOfStackCommit = var_46;
      }
      if (var_47 != 0xffffffff) {
        (ppVar7->pe_opthdr).SizeOfStackCommit = var_47;
      }
      if (var_48 != -1) {
        (ppVar7->pe_opthdr).Subsystem = var_48;
      }
      if (var_49 != -1) {
        (ppVar7->pe_opthdr).MajorSubsystemVersion = var_49;
      }
      if (var_50 != -1) {
        (ppVar7->pe_opthdr).MinorSubsystemVersion = var_50;
      }
      if (var_51 < var_20) {
        var_52(file_alignment,"%08lx",var_20);
        var_52((char *)&contents,"%08lx",var_45);
        var_85 = (char *)var_4(0,"warning: file alignment (0x%s) > section alignment (0x%s)",5)
        ;
        var_5(var_85,file_alignment,&contents);
      }
    }
  }
  var_55 = var_53;
  if (var_53 != (type_4 **)0x0) {
    var_54(var_53);
  }
  if (var_55 != var_56) {
    var_54(var_56);
  }
  var_53 = (type_4 **)0x0;
  var_56 = (type_4 **)0x0;
  var_57 = (*ibfd->xvec->_bfd_get_symtab_upper_bound)(ibfd);
  if (var_57 < 0) goto LAB_00018840;
  var_56 = (type_4 **)var_58(var_57);
  var_53 = var_56;
  var_59 = (*ibfd->xvec->_bfd_canonicalize_symtab)(ibfd,var_56);
  if (var_59 < 0) goto LAB_00018840;
  if (var_59 == 0) {
    var_54(var_53);
    var_53 = (type_4 **)0x0;
    var_56 = (type_4 **)0x0;
  }
  var_60(ibfd,setup_section,obfd);
  var_61 = add_sections;
  if ((var_18 == 0) &&
     (var_32 = (*obfd->xvec->_bfd_copy_private_header_data)(ibfd,obfd), var_61 = add_sections,
     var_32 == 0)) {
    status = 1;
    var_85 = (char *)var_4(0,"error in private header data",5);
    var_8((char *)0x0,ibfd,(type_17 *)0x0,var_85);
    var_61 = add_sections;
  }
  for (; var_68 = update_sections, var_61 != (type_7 *)0x0; var_61 = var_61->next) {
    var_25 = 0x128;
    var_63 = var_62(var_61->name,0,0x40);
    if (var_63 != (type_16 *)0x0) {
      var_25 = var_63->flags | 0x100;
    }
    var_7 = var_64(obfd,var_61->name);
    if (var_7 != 0) {
      pcVar23 = var_61->name;
      var_85 = "can\'t add section \'%s\'";
LAB_00019719:
      var_85 = (char *)var_4(0,var_85,5);
      var_8((char *)0x0,obfd,(type_17 *)0x0,var_85,pcVar23);
      return 0;
    }
    var_66 = (type_17 *)var_65(obfd,var_61->name,var_25 | 0x100000);
    var_61->section = var_66;
    if (var_66 == (type_17 *)0x0) {
      pcVar23 = var_61->name;
      var_85 = "can\'t create section `%s\'";
      goto LAB_00019719;
    }
    var_7 = var_67(obfd,var_66,var_61->size);
    if (var_7 == 0) {
      var_71 = (type_2 *)var_61->section;
      var_69 = 0;
      goto LAB_00019763;
    }
    var_63 = var_62(var_61->name,0,0xc);
    if (var_63 != (type_16 *)0x0) {
      var_20 = var_63->vma_val;
      var_66 = var_61->section;
      var_66->field_0x18 = var_66->field_0x18 | 1;
      var_66->lma = var_20;
      var_66->vma = var_20;
    }
    var_63 = var_62(var_61->name,0,0x30);
    if (var_63 != (type_16 *)0x0) {
      var_61->section->lma = var_63->lma_val;
    }
  }
  for (; var_68 != (type_7 *)0x0; var_68 = var_68->next) {
    var_66 = (type_17 *)var_64(ibfd,var_68->name);
    var_68->section = var_66;
    if (var_66 == (type_17 *)0x0) {
      pcVar23 = var_68->name;
      var_85 = "error: %s not found, can\'t be updated";
      goto LAB_00018bc8;
    }
    var_71 = (type_2 *)var_66->output_section;
    var_69 = var_67(obfd,var_71,var_68->size);
    if (var_69 == 0) goto LAB_00019763;
  }
  var_133 = obfd;
  if ((((var_70 != 0) &&
       (var_71 = (type_2 *)var_64(ibfd,".gnu.build.attributes"),
       var_71 != (type_2 *)0x0)) && (var_70 != 0)) &&
     ((ibfd->xvec->flavour == var_10 &&
      (var_32 = var_72(var_71,(type_17 *)&var_71->archive_next,sec_1),
      var_32 != 0)))) {
    var_73 = (type_5 *)var_71->id;
    if (var_73 == (type_5 *)0x0) {
      var_85 = (char *)var_4(0,"warning: note section is empty",5,0);
      var_8((char *)0x0,ibfd,(type_17 *)var_71,var_85);
      var_70 = 0;
    }
    else {
      var_7 = var_74(ibfd,var_71,&merged_notes,var_73);
      var_138 = merged_notes;
      if (var_7 == 0) {
        var_85 = (char *)var_4(0,"warning: could not load note section",5,0);
        var_8((char *)0x0,ibfd,(type_17 *)var_71,var_85);
        var_54(merged_notes);
        merged_notes = (type_5 *)0x0;
        var_70 = 0;
      }
      else {
        var_7 = var_75(ibfd,var_71,var_71,var_71);
        var_171 = ibfd;
        var_77 = var_71;
        if (0 < var_7) {
          var_171 = (type_2 *)var_58(var_7);
          var_77 = (type_2 *)var_76(ibfd,var_71,var_171,var_53);
          var_54(var_171);
          if (var_77 == (type_2 *)0x0) goto LAB_0001a478;
          var_93 = (type_11 *)0x0;
          goto LAB_0001a75c;
        }
LAB_0001a478:
        var_147 = (void *)0x24;
        pbVar71 = var_171;
        var_93 = (type_11 *)var_78((type_21)var_73 / 0xc,0x24,var_171,var_171);
        local_90 = (void *)0x0;
        var_113 = (char *)0x0;
        var_122 = (type_2 *)0x0;
        var_160 = (type_2 *)0x0;
        var_83 = 0;
        var_88 = (int *)0x0;
        var_87 = (type_5 *)0x0;
        var_80 = var_138;
        pbVar55 = (type_2 *)var_138;
        var_79 = var_73;
        var_86 = var_93;
        while ((type_5 *)0xb < var_79) {
          var_20 = (*ibfd->xvec->bfd_getx32)(var_80);
          var_25 = var_20 + 3 & 0xfffffffc;
          *var_86 = var_25;
          var_20 = (*ibfd->xvec->bfd_getx32)(var_80 + 4);
          var_81 = var_20 + 3 & 0xfffffffc;
          pbVar8 = ibfd->xvec;
          var_86[1] = var_81;
          var_20 = (*pbVar8->bfd_getx32)(var_80 + 8);
          var_86[2] = var_20;
          if (1 < var_20 - 0x100) {
            var_85 = (char *)var_4(0,"corrupt GNU build attribute note: wrong note type",5,
                                        extraout_ECX_01);
            goto LAB_0001a72d;
          }
          var_7 = var_81 + var_25;
          if (var_79 < (type_5 *)(var_7 + 0xcU)) {
            var_85 = (char *)var_4(0,"corrupt GNU build attribute note: note too big",5,var_80
                                       );
            goto LAB_0001a72d;
          }
          if (var_25 < 2) {
            var_85 = (char *)var_4(0,"corrupt GNU build attribute note: name too small",5,
                                        var_7);
            goto LAB_0001a72d;
          }
          var_86[3] = (type_11)(var_80 + 0xc);
          var_84 = var_80 + var_25 + 0xc;
          var_86[4] = (type_11)var_84;
          pbVar55 = (type_2 *)(-0xc - var_7);
          var_79 = (type_5 *)((int)&pbVar55->filename + (int)var_79);
          var_82 = var_80[0xc];
          if (var_82 == '$') {
            if ((var_80[0xd] == '\x01') && (var_80[0xe] == '1')) {
              var_87 = (type_5 *)((int)var_87 + 1);
            }
          }
          else if ((((4 < var_25) && (var_82 == 'G')) && (var_80[0xd] == 'A')) &&
                  ((var_80[0xe] == '$' && (var_80[0xf] == '\x01')))) {
            var_82 = var_80[0x10];
            if (var_82 == '2') {
              var_88 = (int *)((int)var_88 + 1);
            }
            else {
              if (var_82 != '3') {
                var_85 = (char *)var_4(0,
                                            "corrupt GNU build attribute note: unsupported version",
                                            5,var_82);
                goto LAB_0001a72d;
              }
              var_83 = var_83 + 1;
            }
          }
          if (var_81 == 4) {
            var_77 = (type_2 *)(*ibfd->xvec->bfd_getx32)(var_84);
            var_85 = (char *)0xffffffff;
          }
          else if (var_81 < 5) {
            if (var_81 != 0) {
LAB_0001a7ea:
              var_85 = (char *)var_4(0,"corrupt GNU build attribute note: bad description size"
                                          ,5,var_82);
              goto LAB_0001a72d;
            }
            var_85 = (char *)0x0;
            var_77 = (type_2 *)0x0;
          }
          else {
            pbVar55 = ibfd;
            if (var_81 == 8) {
              pbVar8 = ibfd->xvec;
              if ((pbVar8->flavour == var_10) &&
                 (((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02')) {
                bVar68 = (*pbVar8->bfd_getx64)(var_84);
                var_77 = (type_2 *)bVar68;
                var_85 = (char *)0xffffffff;
              }
              else {
                var_77 = (type_2 *)(*pbVar8->bfd_getx32)(var_84);
                var_85 = (char *)(*ibfd->xvec->bfd_getx32)(var_84 + 4);
              }
            }
            else {
              if (var_81 != 0x10) goto LAB_0001a7ea;
              bVar68 = (*ibfd->xvec->bfd_getx64)(var_84);
              var_77 = (type_2 *)bVar68;
              bVar68 = (*ibfd->xvec->bfd_getx64)(var_84 + 8);
              var_85 = (char *)bVar68;
            }
          }
          if (var_20 == 0x100) {
            if (var_77 == (type_2 *)0x0) {
              var_77 = var_122;
            }
            if (var_85 == (char *)0x0) {
              var_85 = (char *)local_90;
            }
            var_86[6] = (type_11)var_77;
            var_86[7] = (type_11)var_85;
            local_90 = var_85;
            var_122 = var_77;
          }
          else {
            if (var_77 == (type_2 *)0x0) {
              var_77 = var_160;
            }
            if (var_85 == (char *)0x0) {
              var_85 = var_113;
            }
            var_86[6] = (type_11)var_77;
            var_86[7] = (type_11)var_85;
            var_113 = var_85;
            var_160 = var_77;
          }
          if (*(char *)(var_86[3] + (*var_86 - 1)) != '\0') {
            var_85 = (char *)var_4(0,
                                        "corrupt GNU build attribute note: name not NUL terminated",
                                        5,*var_86);
            goto LAB_0001a72d;
          }
          var_86 = var_86 + 9;
          var_80 = var_80 + (int)(var_7 + 0xcU);
        }
        if (var_79 == (type_5 *)0x0) {
          var_25 = (type_21)var_88 | var_83;
          if (var_87 == (type_5 *)0x0 && var_25 == 0) {
            var_85 = (char *)var_4(0,
                                        "bad GNU build attribute notes: no known versions detected",
                                        5,var_25);
            goto LAB_0001a72d;
          }
          if (((var_87 != (type_5 *)0x0) && (var_25 != 0)) ||
             ((var_88 != (int *)0x0 && (var_83 != 0)))) {
            var_85 = (char *)var_4(0,
                                        "bad GNU build attribute notes: multiple different versions"
                                        ,5,var_77);
            goto LAB_0001a72d;
          }
          if ((var_87 == (type_5 *)0x1 || var_88 == (int *)0x1) || (var_83 == 1))
          goto LAB_0001a75c;
          var_25 = -(type_21)(var_87 == (type_5 *)0x0) & 2;
          var_7 = var_25 + 1;
          if (*(char *)(var_93[3] + var_7) != '\x01') {
            var_85 = (char *)var_4(0,
                                        "bad GNU build attribute notes: first note not version note"
                                        ,5,pbVar55);
            goto LAB_0001a72d;
          }
          var_39 = false;
          var_34 = var_25 + 2;
          var_90 = var_93;
LAB_0001a954:
          var_89 = var_90;
          var_90 = var_89 + 9;
          if (var_90 < var_86) {
            if (var_89[0xb] == 0x100) {
              pvVar44 = (void *)var_89[0xc];
              var_94 = (type_11 *)0x0;
              var_92 = var_90;
              do {
                do {
                  var_91 = var_92;
                  var_92 = var_91 + -9;
                  if (var_92 < var_93) goto LAB_0001a954;
                  pvVar49 = (void *)var_91[-6];
                  pbVar16 = var_94;
                } while ((((var_94 == (type_11 *)0x0) && (var_91[-8] != 0)) &&
                         (pbVar16 = var_92, var_91[-7] == 0x101)) ||
                        ((var_94 = pbVar16,
                         *(char *)((int)pvVar44 + var_7) != *(char *)((int)pvVar49 + var_7) ||
                         (var_91[-7] != 0x100))));
                if (*(char *)((int)pvVar49 + var_7) != '\x04') {
                  var_77 = (type_2 *)*var_92;
                  if ((((var_77 == (type_2 *)*var_90) &&
                       (pbVar71 = (type_2 *)var_90, var_96 = var_95(pvVar49,pvVar44,(size_t)var_77),
                       var_147 = pvVar44, var_171 = var_77, var_96 == 0)) &&
                      ((var_25 = var_91[-2], var_25 != 0 && (var_81 = var_89[0x10], var_81 != 0)))
                      ) && ((0xfffffff0 < var_25 || (var_89[0xf] <= (var_25 + 0xf & 0xfffffff0)))))
                  {
                    var_89[0xb] = 0;
                    if (var_25 < var_81) {
                      var_91[-2] = var_81;
                    }
                    var_39 = true;
                    if (var_83 != 0) {
                      var_91[-1] = 1;
                    }
                  }
                  else if (var_83 == 0) {
                    if (((var_89[10] == 0) && (var_94 != (type_11 *)0x0)) && (var_94[2] == 0))
                    {
                      var_94[2] = 0x100;
                    }
                  }
                  else {
                    var_89[0x11] = 1;
                    var_89[0xb] = 0x101;
                    var_91[-1] = 1;
                    var_91[-7] = 0x101;
                  }
                  goto LAB_0001a954;
                }
                var_25 = 0;
                for (var_96 = 0; (int)*var_90 - var_34 != var_96; var_96 = var_96 + 1) {
                  var_25 = var_25 | (type_21)*(type_23 *)((int)pvVar44 + var_96 + var_34) <<
                                    ((char)var_96 * '\b' & 0x1fU);
                }
                var_20 = *var_92;
                var_133 = (type_2 *)0x0;
                for (var_81 = 0; var_20 - var_34 != var_81; var_81 = var_81 + 1) {
                  var_133 = (type_2 *)((type_21)var_133 |
                                    (type_21)(type_23)((type_26 *)((int)pvVar49 + var_34))[var_81] <<
                                    ((char)var_81 * '\b' & 0x1fU));
                }
                var_98 = 0;
                var_25 = (int)var_133 + var_25;
                for (var_97 = var_25; var_97 != 0; var_97 = var_97 >> 8) {
                  var_98 = var_98 + 1;
                }
                in_stack_ffffff54 = (type_2 *)var_90;
              } while (var_81 <= var_98);
              var_99 = (type_26 *)((int)pvVar49 + var_34);
              while (var_99 < (type_26 *)((int)pvVar49 + var_20)) {
                *var_99 = (char)var_25;
                if (var_25 == 0) break;
                var_25 = var_25 >> 8;
                var_99 = var_99 + 1;
              }
              var_89[0xb] = 0;
              var_39 = true;
            }
            goto LAB_0001a954;
          }
          in_stack_ffffff58 = obfd;
          var_133 = obfd;
          if (!var_39) goto LAB_0001a75c;
          pvVar44 = (void *)var_58(var_73,var_147,var_171,pbVar71);
          var_20 = 0;
          var_147 = pvVar44;
          var_87 = var_138;
          for (var_90 = var_93; var_90 < var_86; var_90 = var_90 + 9) {
            var_51 = *var_90;
            var_102 = var_90[1] + 0xc + var_51;
            var_100 = var_90[2];
            pvVar49 = var_147;
            if (var_100 != 0) {
              if (var_90[8] == 0) {
                var_101(var_147,var_87,var_102);
                pvVar49 = (void *)((int)var_147 + var_102);
              }
              else {
                var_80 = (type_5 *)var_90[6];
                p_Var9 = ibfd->xvec->bfd_putx32;
                __dest = (void *)((int)var_147 + 0xc);
                pvVar49 = (void *)((int)__dest + var_51);
                if ((var_80 == var_79) && (var_90[7] == var_20)) {
                  (*p_Var9)(var_51,var_147);
                  (*ibfd->xvec->bfd_putx32)(0,(void *)((int)var_147 + 4));
                  (*ibfd->xvec->bfd_putx32)(var_100,(void *)((int)var_147 + 8));
                  var_101(__dest,(void *)var_90[3],var_51);
                }
                else {
                  (*p_Var9)(var_51,var_147);
                  var_20 = 8;
                  if (ibfd->xvec->flavour == var_10) {
                    var_20 = (type_21)(((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02'
                                   ) * 8 + 8;
                  }
                  (*ibfd->xvec->bfd_putx32)(var_20,(void *)((int)var_147 + 4));
                  (*ibfd->xvec->bfd_putx32)(var_100,(void *)((int)var_147 + 8));
                  var_101(__dest,(void *)var_90[3],var_51);
                  pbVar8 = ibfd->xvec;
                  if ((pbVar8->flavour == var_10) &&
                     (((ibfd->tdata).elf_obj_data)->elf_header[0].e_ident[4] == '\x02')) {
                    (*pbVar8->bfd_putx64)(var_103(var_80),pvVar49);
                    (*ibfd->xvec->bfd_putx64)((type_29)var_90[7],(void *)((int)pvVar49 + 8));
                    pvVar49 = (void *)((int)pvVar49 + 0x10);
                  }
                  else {
                    (*pbVar8->bfd_putx32)((type_11)var_80,pvVar49);
                    (*ibfd->xvec->bfd_putx32)(var_90[7],(void *)((int)pvVar49 + 4));
                    pvVar49 = (void *)((int)pvVar49 + 8);
                  }
                }
              }
              var_79 = (type_5 *)var_90[6];
              var_20 = var_90[7];
            }
            var_87 = var_87 + var_102;
            var_147 = pvVar49;
          }
          var_80 = (type_5 *)((int)var_147 - (int)pvVar44);
          var_101(var_138,pvVar44,(size_t)var_80);
          var_54(pvVar44);
          var_54(var_93);
          merged_size = (type_30)var_80;
          if (var_73 != var_80) {
            var_7 = (int)var_71->proxy_origin;
            uVar29 = extraout_ECX_02;
            if ((var_7 != 0) &&
               (var_7 = var_67(obfd,var_7,var_80,extraout_EDX),
               uVar29 = extraout_ECX_03, var_7 != 0)) goto LAB_00018aad;
            var_85 = (char *)var_4(0,"warning: failed to set merged notes size",5,uVar29);
            var_8((char *)0x0,obfd,(type_17 *)var_71,var_85);
          }
        }
        else {
          var_85 = (char *)var_4(0,"corrupt GNU build attribute notes: excess data at end",5,
                                      var_86);
LAB_0001a72d:
          if (var_85 != (char *)0x0) {
            var_104(0x11);
            var_8((char *)0x0,ibfd,(type_17 *)var_71,var_85);
            status = 1;
          }
LAB_0001a75c:
          var_54(var_93);
        }
        var_54(merged_notes);
        merged_notes = (type_5 *)0x0;
        var_70 = 0;
        merged_size = 0;
      }
    }
  }
LAB_00018aad:
  obfd = var_133;
  var_113 = var_168;
  for (var_61 = dump_sections; var_168 = var_113, var_61 != (type_7 *)0x0;
      var_61 = var_61->next) {
    var_66 = (type_17 *)var_64(ibfd,var_61->name);
    if (var_66 == (type_17 *)0x0) {
      var_85 = var_61->name;
      pcVar23 = (char *)var_4(0,"can\'t dump section \'%s\' - it does not exist",5);
      var_8((char *)0x0,ibfd,(type_17 *)0x0,pcVar23,var_85);
    }
    else {
      if ((var_66->flags & 0x100) == 0) {
        var_85 = "can\'t dump section - it has no contents";
      }
      else {
        var_102 = var_66->size;
        if (var_102 != 0) {
          var_106 = var_105(var_61->filename,"w");
          if (var_106 == (type_18 *)0x0) {
            var_85 = (char *)var_4(0,"could not open section dump file",5);
            var_8(var_61->filename,(type_2 *)0x0,(type_17 *)0x0,var_85);
          }
          else {
            var_7 = var_107(ibfd,var_66,&contents);
            if (var_7 == 0) {
              var_85 = (char *)var_4(0,"could not retrieve section contents",5);
              var_8((char *)0x0,ibfd,var_66,var_85);
            }
            else {
              var_109 = var_108(contents,1,var_102,var_106);
              if (var_102 != var_109) {
                var_123 = var_110();
                pcVar23 = var_111(*var_123);
                var_85 = var_61->filename;
                pcVar41 = (char *)var_4(0,"error writing section contents to %s (error: %s)",5);
                var_5(pcVar41,var_85,pcVar23);
                var_54(contents);
                return 0;
              }
            }
            var_112(var_106);
            var_54(contents);
          }
          goto LAB_00018b49;
        }
        var_85 = "can\'t dump section - it is empty";
      }
      var_85 = (char *)var_4(0,var_85,5);
      var_8((char *)0x0,ibfd,var_66,var_85);
    }
LAB_00018b49:
    var_113 = var_168;
  }
  if (var_113 != (char *)0x0) {
    var_7 = var_64(var_133,".gnu_debuglink");
    if (var_7 == 0) {
      var_113 = (char *)var_114(var_133,var_168);
      var_85 = var_168;
      if (var_113 == (char *)0x0) {
        pcVar23 = (char *)var_4(0,"cannot create debug link section `%s\'",5,var_133);
        var_8((char *)0x0,var_133,(type_17 *)0x0,pcVar23,var_85);
        return 0;
      }
      if (var_133->xvec->flavour == var_36) {
        var_115 = var_133->sections;
        var_116 = (type_20 *)0x0;
        if (var_115 == (type_20 *)0x0) {
LAB_0001a360:
          var_81 = 0x1000;
        }
        else {
          do {
            var_117 = var_116;
            if (((var_115->vma != 0) && (var_117 = var_115, var_116 != (type_20 *)0x0)) &&
               (var_117 = var_116, var_116->vma < var_115->vma)) {
              var_117 = var_115;
            }
            var_115 = var_115->next;
            var_116 = var_117;
          } while (var_115 != (type_20 *)0x0);
          if (var_117 == (type_20 *)0x0) goto LAB_0001a360;
          var_25 = var_117->size + var_117->vma;
          var_81 = 0xffffffff;
          if (var_25 < 0xfffff001) {
            var_81 = var_25 + 0xfff & 0xfffff000;
          }
        }
        *(type_21 *)(var_113 + 0x20) = var_81;
        *(type_21 *)(var_113 + 0x1c) = var_81;
        var_113[0x18] = var_113[0x18] | 1;
      }
    }
    else {
      var_85 = var_133->filename;
      pcVar23 = (char *)var_4(0,"%s: debuglink section already exists",5);
      var_5(pcVar23,var_85);
      var_168 = (char *)0x0;
      var_113 = (char *)0x0;
    }
  }
  var_71 = (type_2 *)var_133->section_count;
  var_122 = var_71;
  if (var_71 == (type_2 *)0x0) {
LAB_00018ff7:
    local_90 = (void *)0x0;
    var_88 = (int *)0x0;
    var_77 = var_122;
  }
  else {
    if (var_118 == 0 && var_119 == 0) {
      var_122 = (type_2 *)0x0;
      goto LAB_00018ff7;
    }
    var_102 = (int)var_71 * 4;
    var_88 = (int *)var_58(var_102);
    contents = (type_5 *)var_88;
    var_60(var_133,get_sections,&contents);
    var_120(var_88,(size_t)var_71,4,compare_section_lma);
    local_90 = (void *)var_58(var_102);
    var_121(local_90,0,var_102);
    if ((var_118 == 0) || (var_71 == (type_2 *)0x1)) {
      var_122 = (type_2 *)0x0;
    }
    else {
      var_99 = (type_26 *)0x0;
      var_122 = (type_2 *)0x0;
      var_123 = var_88;
      do {
        var_7 = *var_123;
        var_99 = var_99 + 1;
        var_77 = var_122;
        if ((*(type_21 *)(var_7 + 0x14) & 0x102) == 0x102) {
          var_25 = *(int *)(var_7 + 0x20) + *(int *)(var_7 + 0x24);
          if (var_25 < *(type_21 *)(var_123[1] + 0x20)) {
            var_77 = (type_2 *)(*(type_21 *)(var_123[1] + 0x20) - var_25);
            uVar67 = var_67
                               (var_133,var_7,(int)&var_77->filename + *(int *)(var_7 + 0x24));
            if ((int)uVar67 == 0) {
              var_85 = (char *)var_4(0,"Can\'t fill gap after section",5,
                                          (int)((type_29)uVar67 >> 0x20));
              var_8((char *)0x0,var_133,(type_17 *)*var_123,var_85);
              status = 1;
              break;
            }
            *(type_2 **)((int)local_90 + (int)var_99 * 4 + -4) = var_77;
            if (var_77 <= var_122) {
              var_77 = var_122;
            }
          }
        }
        var_122 = var_77;
        var_123 = var_123 + 1;
      } while ((type_26 *)((int)&var_71[-1].build_id + 3) != var_99);
    }
    var_77 = var_122;
    if (var_119 != 0) {
      var_7 = var_88[(int)((int)&var_71[-1].build_id + 3)];
      var_25 = *(int *)(var_7 + 0x24) + *(int *)(var_7 + 0x20);
      if (var_25 < var_124) {
        var_7 = var_67(var_133,var_7,var_124 - *(int *)(var_7 + 0x20));
        if (var_7 == 0) {
          var_85 = (char *)var_4(0,"can\'t add padding",5,var_25);
          var_8
                    ((char *)0x0,var_133,
                     (type_17 *)var_88[(int)((int)&var_71[-1].build_id + 3)],var_85);
          status = 1;
        }
        else {
          var_77 = (type_2 *)(var_124 - var_25);
          *(type_2 **)((int)local_90 + (var_102 - 4)) = var_77;
          if (var_77 <= var_122) {
            var_77 = var_122;
          }
        }
      }
    }
  }
  var_122 = var_77;
  var_160 = (type_2 *)0x0;
  if (var_125 != 0) {
    var_160 = (type_2 *)var_126(ibfd,var_53,var_59,0);
  }
  if (var_23 - var_127 < 6) {
LAB_00019032:
    if (var_23 != var_24) {
LAB_00019037:
      var_104(0);
      var_60(ibfd,mark_symbols_used_in_relocations,var_53);
      var_7 = var_128();
      if (var_7 != 0) {
        status = 1;
        return 0;
      }
    }
    var_55 = (type_4 **)var_58((var_129 + var_59) * 4 + 4);
    var_157 = var_53;
    var_25 = *(type_21 *)&ibfd->field_0x28;
    var_56 = var_55;
    if (var_59 != 0) {
      var_158 = var_53 + var_59;
      var_59 = 0;
      var_115 = (type_20 *)(var_130 + 0xa8);
      do {
        var_7 = var_129;
        paVar37 = *var_157;
        var_81 = paVar37->flags;
        var_73 = (type_5 *)paVar37->name;
        var_116 = paVar37->section;
        if (((var_131 != (type_22 *)0x0) && (0 < var_129)) &&
           (var_85 = var_131->othersym, var_85 != (char *)0x0)) {
          var_133 = (type_2 *)0x0;
          ptr = var_131;
          while (var_34 = var_132(var_85,(char *)var_73), var_34 != 0) {
            var_133 = (type_2 *)((int)var_133 + 1);
            ptr = ptr->next;
            if ((var_133 == (type_2 *)var_7) || (var_85 = ptr->othersym, var_85 == (char *)0x0))
            goto LAB_00019180;
          }
          var_54(var_85);
          ptr->othersym = "";
          ppaVar2 = var_55 + var_59;
          var_59 = var_59 + 1;
          paVar33 = var_134(ptr,obfd);
          *ppaVar2 = paVar33;
        }
LAB_00019180:
        var_7 = var_135(redefine_specific_htab);
        var_138 = var_73;
        if ((var_7 != 0) || (var_136 != (type_13 *)0x0)) {
          local_2c = 0;
          contents = var_73;
          var_7 = var_137(redefine_specific_htab,&contents);
          if (((var_7 == 0) || (var_138 = *(type_5 **)(var_7 + 4), var_73 == var_138)) &&
             (var_139 = var_136, (var_81 & 0x100) != 0)) {
            for (; var_138 = var_73, var_139 != (type_13 *)0x0; var_139 = var_139->next) {
              var_7 = var_132(var_139->old_name,(char *)var_73);
              if (var_7 == 0) {
                var_138 = (type_5 *)var_139->new_name;
                break;
              }
            }
          }
          paVar37->name = (char *)var_138;
        }
        var_85 = var_142;
        var_82 = ibfd->xvec->symbol_leading_char;
        if (*var_138 == var_82) {
          if (var_140 == 0) {
            if ((var_141 == 0) ||
               ((((var_81 & 0x82) == 0 && (var_116 != var_115)) &&
                ((paVar37->section->flags & 0x1000) == 0)))) goto LAB_00019203;
LAB_0001943c:
            var_138 = var_138 + 1;
            paVar37->name = (char *)var_138;
            goto LAB_00019203;
          }
          var_82 = obfd->xvec->symbol_leading_char;
          if (var_82 == '\0') goto LAB_0001943c;
          if (var_142 != (char *)0x0) {
            var_138 = var_138 + 1;
            paVar37->name = (char *)var_138;
            goto LAB_0001945b;
          }
          *var_138 = var_82;
          paVar37->name = (char *)var_138;
        }
        else {
          if (((var_140 == 0) || (obfd->xvec->symbol_leading_char == '\0')) ||
             (var_82 != '\0')) {
LAB_00019203:
            if (var_85 == (char *)0x0) goto LAB_0001926f;
            var_102 = var_143(var_85);
            var_109 = var_143((char *)var_138);
            var_73 = (type_5 *)var_58(var_102 + 2 + var_109);
            var_133 = (type_2 *)var_73;
          }
          else {
LAB_0001945b:
            var_102 = var_143(var_85);
            var_109 = var_143((char *)var_138);
            var_73 = (type_5 *)var_58(var_102 + 2 + var_109);
            var_133 = (type_2 *)(var_73 + 1);
            *var_73 = obfd->xvec->symbol_leading_char;
          }
          var_85 = var_142;
          if (var_142 != (char *)0x0) {
            var_144((char *)var_133,var_142);
            var_102 = var_143(var_85);
            var_133 = (type_2 *)((int)var_133 + var_102);
          }
          var_144((char *)var_133,(char *)var_138);
          paVar37->name = (char *)var_73;
          var_138 = var_73;
        }
LAB_0001926f:
        if (var_23 == var_24) goto LAB_000192f8;
        if ((var_81 & 0x20) == 0) {
          if (((var_81 & 0x100) == 0) || (((*paVar37->section->symbol_ptr_ptr)->flags & 0x20) == 0))
          {
            if ((((var_25 >> 5 & 0x42) == 0) &&
                (((var_81 & 0x82) != 0 || ((paVar37->section->flags & 0x1000) != 0)))) ||
               (var_7 = var_145(paVar37), var_7 == 0x49)) {
LAB_00019528:
              var_32 = var_146((char *)var_138,strip_specific_htab);
              if (var_32 == 0) goto LAB_000192e0;
            }
            else if ((((var_81 & 0x82) == 0) &&
                     (var_116 != (type_20 *)(var_130 + 0xa8))) &&
                    ((paVar37->section->flags & 0x1000) == 0)) {
              if ((var_81 & 4) == 0) {
                if (((ibfd->xvec->flavour != var_36) ||
                    (var_147 = paVar37->section->used_by_bfd, var_147 == (void *)0x0)) ||
                   (*(int *)((int)var_147 + 0x24) == 0)) {
                  if ((var_23 == var_148) || (var_149 == var_150))
                  goto LAB_000192f8;
                  if (var_149 == var_151) {
                    var_7 = var_152(ibfd,paVar37,0,0);
                    goto joined_r0x0001a13f;
                  }
                }
                goto LAB_00019528;
              }
              var_7 = var_125;
              if (1 < var_23 - var_127) {
joined_r0x0001a13f:
                if (var_7 == 0) goto LAB_00019528;
              }
            }
            else if (var_23 != var_148) goto LAB_00019528;
          }
          else {
            var_32 = var_146((char *)var_138,strip_specific_htab);
            if (var_32 != 0) {
              var_85 = (char *)var_4(0,
                                          "not stripping symbol `%s\' because it is named in a relocation"
                                          ,5,var_32);
              var_5(var_85,var_138);
              status = 1;
            }
LAB_000192e0:
            var_32 = var_146((char *)var_138,strip_unneeded_htab);
            if (var_32 == 0) goto LAB_0001931c;
          }
LAB_000192f8:
          if (((var_153 != 0) && ((var_81 & 0x4000) != 0)) ||
             (var_32 = var_146((char *)var_138,keep_specific_htab), var_32 != 0))
          goto LAB_0001931c;
        }
        else {
          var_32 = var_146((char *)var_138,strip_specific_htab);
          if (var_32 != 0) {
            var_85 = (char *)var_4(0,
                                        "not stripping symbol `%s\' because it is named in a relocation"
                                        ,5);
            var_5(var_85,var_138);
            status = 1;
          }
LAB_0001931c:
          var_32 = var_154(in_stack_ffffff54,(type_17 *)in_stack_ffffff58);
          if (var_32 == 0) {
            if (((var_81 & 2) != 0) &&
               ((var_155 != 0 ||
                (var_32 = var_146((char *)var_138,weaken_specific_htab), var_32 != 0))))
            {
              paVar37->flags = paVar37->flags & 0xfffffffd | 0x80;
            }
            if (var_116 != (type_20 *)(var_130 + 0xa8)) {
              if (((var_81 & 0x82) != 0) &&
                 (((var_32 = var_146((char *)var_138,localize_specific_htab),
                   var_32 != 0 ||
                   ((var_7 = var_135(keepglobal_specific_htab), var_7 != 0 &&
                    (var_32 = var_146((char *)var_138,keepglobal_specific_htab),
                    var_32 == 0)))) ||
                  ((var_156 != 0 &&
                   ((((var_71 = paVar37->the_bfd, var_71 != (type_2 *)0x0 &&
                      (var_71->xvec->flavour == var_10)) &&
                     ((var_71->tdata).aout_data != (type_31 *)0x0)) &&
                    ((*(type_23 *)((int)&paVar37[1].flags + 1) & 3) - 1 < 2)))))))) {
                paVar37->flags = paVar37->flags & 0xffffff7d | 1;
              }
              if (((var_81 & 1) != 0) &&
                 (var_32 = var_146((char *)var_138,globalize_specific_htab), var_32 != 0
                 )) {
                paVar37->flags = paVar37->flags & 0xfffffffe | 2;
              }
            }
            var_55[var_59] = paVar37;
            var_59 = var_59 + 1;
          }
        }
        var_157 = var_157 + 1;
      } while (var_158 != var_157);
    }
    var_133 = (type_2 *)var_131;
    if ((var_131 != (type_22 *)0x0) && (0 < var_129)) {
      var_7 = 0;
      do {
        var_85 = (char *)var_133->lru_next;
        if (var_85 == (char *)0x0) {
          paVar37 = var_134((type_22 *)var_133,obfd);
          var_55[var_59] = paVar37;
          var_59 = var_59 + 1;
        }
        else if (*var_85 != '\0') {
          pcVar23 = (char *)var_4(0,"\'before=%s\' not found",5,var_59);
                    /* WARNING: Subroutine does not return */
          var_159(pcVar23,var_85);
        }
        var_7 = var_7 + 1;
        var_133 = (type_2 *)var_133->filename;
      } while (var_7 < var_129);
    }
    var_55[var_59] = (type_4 *)0x0;
    if ((var_125 != 0) && (var_160 != (type_2 *)0x0)) {
      var_35 = obfd->xvec->flavour;
      if ((var_35 != var_36) && (var_35 != var_10)) {
        var_85 = obfd->xvec->name;
        pcVar23 = (char *)var_4(0,"don\'t know how to write debugging information for %s",5);
        var_8((char *)0x0,obfd,(type_17 *)0x0,pcVar23,var_85);
        status = 1;
        return 0;
      }
      var_32 = var_161
                         (obfd,var_160,&syms,(type_30 *)file_alignment,&strings,
                          (type_30 *)&contents);
      if (var_32 == 0) {
        status = 1;
        return 0;
      }
      var_7 = var_65(obfd,".stab",0x2108);
      var_34 = var_65(obfd,".stabstr",0x2108);
      if ((((var_7 == 0) || (var_34 == 0)) ||
          (var_96 = var_67(obfd,var_7,file_alignment._0_4_,var_34), var_96 == 0)) ||
         (var_96 = var_67(obfd,var_34,contents,var_96), var_96 == 0)) {
        var_85 = "can\'t create debugging section";
LAB_00019fcf:
        var_85 = (char *)var_4(0,var_85,5,var_7);
        var_8((char *)0x0,obfd,(type_17 *)0x0,var_85);
        status = 1;
        return 0;
      }
      *(type_19 *)(var_7 + 0x40) = 2;
      *(type_19 *)(var_34 + 0x40) = 0;
      var_7 = var_162(obfd,var_7,syms,0,0,file_alignment._0_4_,var_96,var_96);
      if ((var_7 == 0) ||
         (var_7 = var_162
                             (obfd,var_34,strings,0,0,contents,extraout_ECX,extraout_ECX),
         var_7 == 0)) {
        var_85 = "can\'t set debugging section contents";
        var_7 = var_34;
        goto LAB_00019fcf;
      }
    }
  }
  else {
    if (var_156 != 0 || var_149 != var_163) goto LAB_00019037;
    var_7 = var_135(strip_specific_htab);
    if (((var_7 != 0) || (var_7 = var_135(keep_specific_htab), var_7 != 0)) ||
       ((var_7 = var_135(localize_specific_htab), var_7 != 0 ||
        (((((var_7 = var_135(globalize_specific_htab), var_7 != 0 ||
            (var_7 = var_135(keepglobal_specific_htab), var_7 != 0)) ||
           (var_7 = var_135(weaken_specific_htab), var_7 != 0)) ||
          ((var_7 = var_135(redefine_specific_htab), var_142 != (char *)0x0 ||
           (var_136 != (type_13 *)0x0)))) ||
         (((((((var_164 != 0 || var_165 != 0) || var_125 != 0) ||
             var_140 != 0) || var_141 != 0) || var_155 != 0) ||
          var_129 != 0) || var_7 != 0)))))) goto LAB_00019032;
  }
  var_166(obfd,var_56,var_59);
  var_60(ibfd,copy_relocations_in_section,obfd);
  var_60(ibfd,copy_section,obfd);
  var_71 = ibfd;
  for (var_61 = add_sections; var_68 = update_sections, var_61 != (type_7 *)0x0;
      var_61 = var_61->next) {
    var_7 = var_162(obfd,var_61->section,var_61->contents,0,0,var_61->size);
    if (var_7 == 0) {
      var_71 = (type_2 *)var_61->section;
      var_69 = 0;
      goto LAB_00019763;
    }
    var_71 = obfd;
  }
  for (; var_68 != (type_7 *)0x0; var_68 = var_68->next) {
    var_71 = (type_2 *)var_68->section->output_section;
    var_69 = var_162(obfd,var_71,var_68->contents,0,0,var_68->size);
    if (var_69 == 0) {
LAB_00019763:
      var_8((char *)0x0,obfd,(type_17 *)var_71,(char *)0x0);
      return var_69;
    }
  }
  var_77 = (type_2 *)0x0;
  if (var_70 != 0) {
    var_77 = (type_2 *)var_64(obfd,".gnu.build.attributes");
    if (((var_77 == (type_2 *)0x0) || (var_70 == 0)) ||
       ((obfd->xvec->flavour != var_10 ||
        (var_32 = var_72(var_77,(type_17 *)&var_77->archive_next,sec_1_00),
        var_32 == 0)))) {
      if (var_167 == 0) {
        var_85 = (char *)var_4(0,"could not find any mergeable note sections",5,0);
        var_8((char *)0x0,obfd,(type_17 *)var_77,var_85);
      }
    }
    else {
      var_7 = var_162(obfd,var_77,merged_notes,0,0,merged_size,var_32,var_32);
      if (var_7 == 0) {
        var_85 = (char *)var_4(0,"error: failed to copy merged notes into output",5,0);
        goto LAB_0001a2cd;
      }
    }
    var_54(merged_notes);
    merged_notes = (type_5 *)0x0;
    var_70 = 0;
    var_71 = obfd;
  }
  if ((var_168 != (char *)0x0) &&
     (var_7 = var_169(obfd,var_113,var_168),
     var_85 = var_168, var_7 == 0)) {
    pcVar23 = (char *)var_4(0,"cannot fill debug link section `%s\'",5,0);
    var_8((char *)0x0,obfd,(type_17 *)0x0,pcVar23,var_85);
    return 0;
  }
  if (var_118 != 0 || var_119 != 0) {
    var_77 = (type_2 *)0x2000;
    if (var_122 < (type_2 *)0x2001) {
      var_77 = var_122;
    }
    var_170 = (type_19 *)var_58(var_77);
    var_85 = (char *)((type_21)gap_fill * 0x1010101);
    if (var_77 < (type_2 *)0x4) {
      if ((var_77 != (type_2 *)0x0) && (*(char *)var_170 = (char)var_85, ((type_21)var_77 & 2) != 0)) {
        *(short *)((int)var_170 + -2 + (int)var_77) = (short)var_85;
      }
    }
    else {
      *var_170 = var_85;
      *(char **)((int)(var_170 + -1) + (int)var_77) = var_85;
      var_71 = (type_2 *)((type_21)(var_170 + 1) & 0xfffffffc);
      for (var_25 = (type_21)(((int)var_170 - (int)((type_21)(var_170 + 1) & 0xfffffffc)) + (int)var_77)
                    >> 2; var_25 != 0; var_25 = var_25 - 1) {
        var_71->filename = var_85;
        var_71 = (type_2 *)((int)var_71 + (type_21)bVar66 * -8 + 4);
      }
    }
    var_171 = (type_2 *)obfd->section_count;
    if (var_171 != (type_2 *)0x0) {
      var_71 = (type_2 *)0x0;
      do {
        var_77 = *(type_2 **)((int)local_90 + (int)var_71 * 4);
        if (var_77 != (type_2 *)0x0) {
          var_7 = var_88[(int)var_71];
          var_173 = 0;
          var_133 = (type_2 *)(*(int *)(var_7 + 0x24) - (int)var_77);
          while( true ) {
            pbVar55 = (type_2 *)0x2000;
            if (var_77 < (type_2 *)0x2001) {
              pbVar55 = var_77;
            }
            var_7 = var_162(obfd,var_7,var_170,var_133,var_173,pbVar55);
            if (var_7 == 0) {
              var_71 = (type_2 *)var_88[(int)var_71];
              var_69 = 0;
              goto LAB_00019763;
            }
            var_39 = var_172((type_21)var_133,(type_21)pbVar55);
            var_133 = (type_2 *)((int)&pbVar55->filename + (int)var_133);
            var_173 = var_173 + (type_21)var_39;
            var_77 = (type_2 *)((int)var_77 - (int)pbVar55);
            if (var_77 == (type_2 *)0x0) break;
            var_7 = var_88[(int)var_71];
          }
        }
        var_71 = (type_2 *)((int)&var_71->filename + 1);
      } while (var_171 != var_71);
    }
  }
  var_32 = (*obfd->xvec->_bfd_copy_private_bfd_data)(ibfd,obfd);
  if (var_32 != 0) {
    if ((var_174 != 0) &&
       (var_7 = var_175(obfd,var_174,var_77,var_77),
       uVar20 = var_174, var_7 == 0)) {
      var_85 = (char *)var_4(0,"this target does not support %lu alternative machine codes",5,
                                  var_71);
      var_5(var_85,uVar20);
      if (obfd->xvec->flavour != var_10) {
        var_85 = (char *)var_4(0,"ignoring the alternative value",5,extraout_ECX_00);
        var_5(var_85);
        return 1;
      }
      var_85 = (char *)var_4(0,"treating that number as an absolute e_machine value instead",5,
                                  uVar20);
      var_5(var_85);
      *(short *)((int)&((obfd->tdata).coff_obj_data)->local_n_btshft + 2) = (short)var_174
      ;
    }
    return 1;
  }
  var_85 = (char *)var_4(0,"error copying private BFD data",5,var_71);
  var_77 = (type_2 *)0x0;
LAB_0001a2cd:
  var_8((char *)0x0,obfd,(type_17 *)var_77,var_85);
  return 0;
}


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

/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Type propagation algorithm not settling */

int __regparm3 MASKED(size_t *param_1,size_t *param_2,int param_3)

{
  void *__dest;
  int *piVar1;
  size_t sVar2;
  int *piVar3;
  undefined *puVar4;
  size_t sVar5;
  size_t *psVar6;
  size_t *psVar7;
  char cVar8;
  int iVar9;
  undefined4 uVar10;
  undefined4 uVar11;
  int iVar12;
  FILE *__s;
  undefined4 uVar13;
  undefined4 uVar14;
  int *piVar15;
  undefined *puVar16;
  size_t sVar17;
  size_t sVar18;
  int *piVar19;
  size_t *psVar20;
  int iVar21;
  char *pcVar22;
  size_t sVar23;
  void *pvVar24;
  size_t *psVar25;
  undefined4 extraout_ECX;
  uint uVar26;
  undefined4 extraout_ECX_00;
  undefined4 extraout_ECX_01;
  uint uVar27;
  undefined4 extraout_ECX_02;
  undefined4 extraout_ECX_03;
  uint uVar28;
  undefined1 *puVar29;
  void *pvVar30;
  size_t __n;
  undefined4 extraout_EDX;
  int *piVar31;
  byte *pbVar32;
  undefined4 *puVar33;
  size_t *psVar34;
  uint uVar35;
  byte *pbVar36;
  undefined4 *puVar37;
  size_t *psVar38;
  uint uVar39;
  bool bVar40;
  bool bVar41;
  byte bVar42;
  undefined8 uVar43;
  void *pvVar44;
  size_t *psVar45;
  size_t *psVar46;
  size_t local_98;
  size_t local_94;
  void *local_90;
  size_t local_8c;
  int *local_84;
  size_t *local_80;
  size_t *local_7c;
  uint local_74;
  int local_70;
  uint local_6c;
  int *local_68;
  size_t *local_64;
  size_t *local_60;
  int *local_5c;
  int local_58;
  int local_50;
  undefined4 local_4c;
  undefined4 local_48;
  undefined4 local_44 [5];
  int *local_30;
  undefined4 local_2c;
  undefined4 uStack_14;
  
  bVar42 = 0;
  uStack_14 = 0x185fd;
  if ((*(int *)(param_1[1] + 8) != *(int *)(param_2[1] + 8) && *(int *)(param_1[1] + 8) != 2) &&
     (*(int *)(param_2[1] + 8) != 2)) {
    uVar10 = dcgettext(0,"Unable to change endianness of input file(s)",5);
    FUN_0002b6d0(uVar10);
    return 0;
  }
  iVar9 = bfd_set_format(param_2,(byte)param_1[10] & 7);
  if (iVar9 == 0) {
    FUN_0002c160(0,param_2,0,0);
    return 0;
  }
  if (param_1[0x18] == 0) {
    uVar10 = FUN_0002c060(param_1);
    pcVar22 = "error: the input file \'%s\' has no sections";
    goto LAB_00018bc8;
  }
  if (((undefined4 *)param_1[1])[1] != 5) {
    if ((DAT_0003fb24 != 1) && ((DAT_0003fb24 & 1) != 0)) {
      uVar10 = FUN_0002c060(param_1);
      pcVar22 = "--compress-debug-sections=[zlib|zlib-gnu|zlib-gabi] is unsupported on `%s\'";
LAB_00018bc8:
      uVar11 = dcgettext(0,pcVar22,5);
      FUN_0002b6d0(uVar11,uVar10);
      return 0;
    }
    if (DAT_0003fb20 != 0) {
      uVar10 = FUN_0002c060(param_1);
      pcVar22 = "--elf-stt-common=[yes|no] is unsupported on `%s\'";
      goto LAB_00018bc8;
    }
  }
  if (DAT_0003fb90 != 0) {
    uVar10 = *(undefined4 *)param_1[1];
    uVar11 = *(undefined4 *)param_2[1];
    sVar17 = *param_2;
    uVar13 = FUN_0002c060(param_1);
    pcVar22 = (char *)dcgettext(0,"copy from `%s\' [%s] to `%s\' [%s]\n",5);
    printf(pcVar22,uVar13,uVar10,sVar17,uVar11);
  }
  iVar9 = 0;
  if (DAT_0003facc == 0) {
    sVar17 = DAT_0003fb5c;
    if (DAT_0003fb60 == 0) {
      sVar17 = param_1[0x1c];
    }
    iVar9 = sVar17 + DAT_0003fb64;
  }
  if ((param_2[10] & 7) != 3) {
    uVar35 = ~DAT_0003fb3c & *(uint *)(param_2[1] + 0x10) &
             (param_1[10] >> 5 & 0xfffff | DAT_0003fb40);
    if (DAT_0003fb78 == 7) {
      uVar35 = uVar35 & 0xfffffffe;
    }
    iVar9 = bfd_set_start_address(param_2,iVar9);
    if ((iVar9 == 0) || (iVar9 = bfd_set_file_flags(param_2,uVar35), iVar9 == 0)) goto LAB_00018840;
  }
  uVar10 = bfd_get_arch(param_1);
  uVar11 = bfd_get_mach(param_1);
  if (param_3 != 0) {
    iVar9 = bfd_get_arch_info(param_1);
    if ((iVar9 == 0) || (iVar9 = bfd_get_arch_info(param_1), *(int *)(iVar9 + 0xc) == 0)) {
      uVar10 = *(undefined4 *)(param_3 + 0xc);
      uVar11 = *(undefined4 *)(param_3 + 0x10);
    }
    else {
      uVar13 = FUN_0002c060(param_1);
      uVar14 = dcgettext(0,"Input file `%s\' ignores binary architecture parameter.",5);
      FUN_0002b6d0(uVar14,uVar13);
    }
  }
  iVar9 = (**(code **)(param_2[1] + 0x154))(param_2,uVar10,uVar11);
  if (iVar9 == 0) {
    if ((*(byte *)((int)param_1 + 0x2b) & 4) != 0) {
LAB_000187e7:
      iVar9 = bfd_get_arch(param_1);
      if (iVar9 == 0) {
        uVar10 = FUN_0002c060(param_1);
        pcVar22 = "Unable to recognise the format of the input file `%s\'";
      }
      else {
        uVar10 = bfd_get_mach(param_1);
        uVar11 = bfd_get_arch(param_1);
        uVar10 = bfd_printable_arch_mach(uVar11,uVar10);
        pcVar22 = "Output file cannot represent architecture `%s\'";
      }
      uVar11 = dcgettext(0,pcVar22,5);
      FUN_0002b6d0(uVar11,uVar10);
      return 0;
    }
    iVar9 = bfd_get_arch(param_1);
    iVar12 = bfd_get_arch(param_2);
    if (iVar9 != iVar12) goto LAB_000187e7;
  }
  iVar9 = bfd_set_format(param_2,(byte)param_1[10] & 7);
  if (iVar9 == 0) {
LAB_00018840:
    FUN_0002c160(0,param_1,0,0);
    return 0;
  }
  uVar35 = ((undefined4 *)param_2[1])[1];
  bVar40 = uVar35 < 2;
  bVar41 = uVar35 == 2;
  if (bVar41) {
    iVar9 = 4;
    pbVar32 = *(byte **)param_2[1];
    pbVar36 = &DAT_0002e16a;
    do {
      if (iVar9 == 0) break;
      iVar9 = iVar9 + -1;
      bVar40 = *pbVar32 < *pbVar36;
      bVar41 = *pbVar32 == *pbVar36;
      pbVar32 = pbVar32 + (uint)bVar42 * -2 + 1;
      pbVar36 = pbVar36 + (uint)bVar42 * -2 + 1;
    } while (bVar41);
    if ((!bVar40 && !bVar41) == bVar40) {
      sVar17 = param_2[0x27];
      uVar35 = ((undefined4 *)param_1[1])[1];
      bVar40 = uVar35 < 2;
      bVar41 = uVar35 == 2;
      if (bVar41) {
        iVar9 = 4;
        pbVar32 = *(byte **)param_1[1];
        pbVar36 = &DAT_0002e16a;
        do {
          if (iVar9 == 0) break;
          iVar9 = iVar9 + -1;
          bVar40 = *pbVar32 < *pbVar36;
          bVar41 = *pbVar32 == *pbVar36;
          pbVar32 = pbVar32 + (uint)bVar42 * -2 + 1;
          pbVar36 = pbVar36 + (uint)bVar42 * -2 + 1;
        } while (bVar41);
        if ((!bVar40 && !bVar41) == bVar40) {
          puVar33 = (undefined4 *)(param_1[0x27] + 0x78);
          puVar37 = (undefined4 *)(sVar17 + 0x78);
          for (iVar9 = 0x38; iVar9 != 0; iVar9 = iVar9 + -1) {
            *puVar37 = *puVar33;
            puVar33 = puVar33 + (uint)bVar42 * -2 + 1;
            puVar37 = puVar37 + (uint)bVar42 * -2 + 1;
          }
        }
      }
      uVar35 = DAT_0003f298;
      if (DAT_0003f298 == 0xffffffff) {
        DAT_0003f298 = 0x200;
        uVar35 = 0x200;
      }
      else {
        *(uint *)(sVar17 + 0x9c) = DAT_0003f298;
      }
      if (DAT_0003f294 != -1) {
        *(int *)(sVar17 + 0xcc) = DAT_0003f294;
      }
      if (DAT_0003f290 != -1) {
        *(int *)(sVar17 + 0xcc) = DAT_0003f290;
      }
      if (DAT_0003f28c != -1) {
        *(int *)(sVar17 + 0x94) = DAT_0003f28c;
      }
      uVar26 = DAT_0003f288;
      if (DAT_0003f288 == 0xffffffff) {
        DAT_0003f288 = 0x1000;
        uVar26 = 0x1000;
      }
      else {
        *(uint *)(sVar17 + 0x98) = DAT_0003f288;
      }
      if (DAT_0003f284 != -1) {
        *(int *)(sVar17 + 0xc4) = DAT_0003f284;
      }
      if (DAT_0003f280 != -1) {
        *(int *)(sVar17 + 0xc4) = DAT_0003f280;
      }
      if (DAT_0003f27c != -1) {
        *(short *)(sVar17 + 0xbc) = DAT_0003f27c;
      }
      if (DAT_0003f27a != -1) {
        *(short *)(sVar17 + 0xa8) = DAT_0003f27a;
      }
      if (DAT_0003f278 != -1) {
        *(short *)(sVar17 + 0xaa) = DAT_0003f278;
      }
      if (uVar26 < uVar35) {
        sprintf((char *)local_44,"%08lx",uVar35);
        sprintf((char *)&local_30,"%08lx",DAT_0003f288);
        uVar10 = dcgettext(0,"warning: file alignment (0x%s) > section alignment (0x%s)",5);
        FUN_0002b6d0(uVar10,local_44,&local_30);
      }
    }
  }
  piVar15 = DAT_0003fb9c;
  if (DAT_0003fb9c != (int *)0x0) {
    free(DAT_0003fb9c);
  }
  if (piVar15 != DAT_0003fb98) {
    free(DAT_0003fb98);
  }
  DAT_0003fb9c = (int *)0x0;
  DAT_0003fb98 = (int *)0x0;
  iVar9 = (**(code **)(param_1[1] + 0x104))(param_1);
  if (iVar9 < 0) goto LAB_00018840;
  DAT_0003fb98 = (int *)xmalloc(iVar9);
  DAT_0003fb9c = DAT_0003fb98;
  local_70 = (**(code **)(param_1[1] + 0x108))(param_1,DAT_0003fb98);
  if (local_70 < 0) goto LAB_00018840;
  if (local_70 == 0) {
    free(DAT_0003fb9c);
    DAT_0003fb9c = (int *)0x0;
    DAT_0003fb98 = (int *)0x0;
  }
  bfd_map_over_sections(param_1,FUN_000179b0,param_2);
  puVar33 = DAT_0003fb38;
  if ((DAT_0003facc == 0) &&
     (iVar9 = (**(code **)(param_2[1] + 0xbc))(param_1,param_2), puVar33 = DAT_0003fb38, iVar9 == 0)
     ) {
    DAT_0003fb88 = 1;
    uVar10 = dcgettext(0,"error in private header data",5);
    FUN_0002c160(0,param_1,0,uVar10);
    puVar33 = DAT_0003fb38;
  }
  for (; puVar37 = DAT_0003fb34, puVar33 != (undefined4 *)0x0; puVar33 = (undefined4 *)*puVar33) {
    uVar35 = 0x128;
    iVar9 = FUN_00016910();
    if (iVar9 != 0) {
      uVar35 = *(uint *)(iVar9 + 0x18) | 0x100;
    }
    iVar9 = bfd_get_section_by_name(param_2,puVar33[1]);
    if (iVar9 != 0) {
      uVar10 = puVar33[1];
      pcVar22 = "can\'t add section \'%s\'";
LAB_00019719:
      uVar11 = dcgettext(0,pcVar22,5);
      FUN_0002c160(0,param_2,0,uVar11,uVar10);
      return 0;
    }
    iVar9 = bfd_make_section_with_flags(param_2,puVar33[1],uVar35 | 0x100000);
    puVar33[5] = iVar9;
    if (iVar9 == 0) {
      uVar10 = puVar33[1];
      pcVar22 = "can\'t create section `%s\'";
      goto LAB_00019719;
    }
    iVar9 = bfd_set_section_size(param_2,iVar9,puVar33[3]);
    if (iVar9 == 0) {
      psVar38 = (size_t *)puVar33[5];
      local_50 = 0;
      goto LAB_00019763;
    }
    iVar9 = FUN_00016910();
    if (iVar9 != 0) {
      uVar10 = *(undefined4 *)(iVar9 + 0x10);
      iVar9 = puVar33[5];
      *(byte *)(iVar9 + 0x18) = *(byte *)(iVar9 + 0x18) | 1;
      *(undefined4 *)(iVar9 + 0x20) = uVar10;
      *(undefined4 *)(iVar9 + 0x1c) = uVar10;
    }
    iVar9 = FUN_00016910();
    if (iVar9 != 0) {
      *(undefined4 *)(puVar33[5] + 0x20) = *(undefined4 *)(iVar9 + 0x14);
    }
  }
  for (; puVar37 != (undefined4 *)0x0; puVar37 = (undefined4 *)*puVar37) {
    iVar9 = bfd_get_section_by_name(param_1,puVar37[1]);
    puVar37[5] = iVar9;
    if (iVar9 == 0) {
      uVar10 = puVar37[1];
      pcVar22 = "error: %s not found, can\'t be updated";
      goto LAB_00018bc8;
    }
    psVar38 = *(size_t **)(iVar9 + 0x3c);
    local_50 = bfd_set_section_size(param_2,psVar38,puVar37[3]);
    if (local_50 == 0) goto LAB_00019763;
  }
  if ((((DAT_0003fb84 != 0) &&
       (sVar17 = bfd_get_section_by_name(param_1,".gnu.build.attributes"), sVar17 != 0)) &&
      (DAT_0003fb84 != 0)) &&
     ((*(int *)(param_1[1] + 4) == 5 && (iVar9 = FUN_00017590(), iVar9 != 0)))) {
    uVar35 = *(uint *)(sVar17 + 0x24);
    if (uVar35 == 0) {
      uVar10 = dcgettext(0,"warning: note section is empty",5,0);
      FUN_0002c160(0,param_1,sVar17,uVar10);
      DAT_0003fb84 = 0;
    }
    else {
      iVar9 = bfd_get_full_section_contents(param_1,sVar17,&DAT_0003fb80,uVar35);
      psVar38 = DAT_0003fb80;
      if (iVar9 == 0) {
        uVar10 = dcgettext(0,"warning: could not load note section",5,0);
        FUN_0002c160(0,param_1,sVar17,uVar10);
        free(DAT_0003fb80);
        DAT_0003fb80 = (size_t *)0x0;
        DAT_0003fb84 = 0;
      }
      else {
        iVar9 = bfd_get_reloc_upper_bound(param_1,sVar17,sVar17,sVar17);
        psVar20 = param_1;
        sVar18 = sVar17;
        if (0 < iVar9) {
          psVar20 = (size_t *)xmalloc(iVar9);
          sVar18 = bfd_canonicalize_reloc(param_1,sVar17,psVar20,DAT_0003fb9c);
          free(psVar20);
          if (sVar18 == 0) goto LAB_0001a478;
          local_60 = (size_t *)0x0;
          goto LAB_0001a75c;
        }
LAB_0001a478:
        pvVar44 = (void *)0x24;
        psVar46 = psVar20;
        local_60 = (size_t *)xcalloc(uVar35 / 0xc,0x24,psVar20,psVar20);
        local_90 = (void *)0x0;
        local_98 = 0;
        local_8c = 0;
        local_94 = 0;
        local_6c = 0;
        local_84 = (int *)0x0;
        local_80 = (size_t *)0x0;
        psVar25 = psVar38;
        psVar34 = psVar38;
        local_74 = uVar35;
        local_64 = local_60;
        while (0xb < local_74) {
          iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25);
          uVar26 = iVar9 + 3U & 0xfffffffc;
          *local_64 = uVar26;
          iVar9 = (**(code **)(param_1[1] + 0x28))(psVar25 + 1);
          uVar39 = iVar9 + 3U & 0xfffffffc;
          sVar18 = param_1[1];
          local_64[1] = uVar39;
          sVar23 = (**(code **)(sVar18 + 0x28))(psVar25 + 2);
          local_64[2] = sVar23;
          if (1 < sVar23 - 0x100) {
            iVar9 = dcgettext(0,"corrupt GNU build attribute note: wrong note type",5,
                              extraout_ECX_01);
            goto LAB_0001a72d;
          }
          iVar9 = uVar26 + uVar39;
          if (local_74 < iVar9 + 0xcU) {
            iVar9 = dcgettext(0,"corrupt GNU build attribute note: note too big",5,psVar25);
            goto LAB_0001a72d;
          }
          if (uVar26 < 2) {
            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name too small",5,iVar9);
            goto LAB_0001a72d;
          }
          local_64[3] = (size_t)(psVar25 + 3);
          sVar2 = (int)psVar25 + uVar26 + 0xc;
          local_64[4] = sVar2;
          psVar34 = (size_t *)(-0xc - iVar9);
          local_74 = local_74 + (int)psVar34;
          cVar8 = (char)psVar25[3];
          if (cVar8 == '$') {
            if ((*(char *)((int)psVar25 + 0xd) == '\x01') && (*(char *)((int)psVar25 + 0xe) == '1'))
            {
              local_80 = (size_t *)((int)local_80 + 1);
            }
          }
          else if ((((4 < uVar26) && (cVar8 == 'G')) && (*(char *)((int)psVar25 + 0xd) == 'A')) &&
                  ((*(char *)((int)psVar25 + 0xe) == '$' &&
                   (*(char *)((int)psVar25 + 0xf) == '\x01')))) {
            cVar8 = (char)psVar25[4];
            if (cVar8 == '2') {
              local_84 = (int *)((int)local_84 + 1);
            }
            else {
              if (cVar8 != '3') {
                iVar9 = dcgettext(0,"corrupt GNU build attribute note: unsupported version",5,cVar8)
                ;
                goto LAB_0001a72d;
              }
              local_6c = local_6c + 1;
            }
          }
          if (uVar39 == 4) {
            sVar18 = (**(code **)(param_1[1] + 0x28))(sVar2);
            pvVar24 = (void *)0xffffffff;
          }
          else if (uVar39 < 5) {
            if (uVar39 != 0) {
LAB_0001a7ea:
              iVar9 = dcgettext(0,"corrupt GNU build attribute note: bad description size",5,cVar8);
              goto LAB_0001a72d;
            }
            pvVar24 = (void *)0x0;
            sVar18 = 0;
          }
          else {
            psVar34 = param_1;
            if (uVar39 == 8) {
              sVar18 = param_1[1];
              if ((*(int *)(sVar18 + 4) == 5) && (*(char *)(param_1[0x27] + 4) == '\x02')) {
                sVar18 = (**(code **)(sVar18 + 0x1c))(sVar2);
                pvVar24 = (void *)0xffffffff;
              }
              else {
                sVar18 = (**(code **)(sVar18 + 0x28))(sVar2);
                pvVar24 = (void *)(**(code **)(param_1[1] + 0x28))(sVar2 + 4);
              }
            }
            else {
              if (uVar39 != 0x10) goto LAB_0001a7ea;
              sVar18 = (**(code **)(param_1[1] + 0x1c))(sVar2);
              pvVar24 = (void *)(**(code **)(param_1[1] + 0x1c))(sVar2 + 8);
            }
          }
          if (sVar23 == 0x100) {
            if (sVar18 == 0) {
              sVar18 = local_8c;
            }
            if (pvVar24 == (void *)0x0) {
              pvVar24 = local_90;
            }
            local_64[6] = sVar18;
            local_64[7] = (size_t)pvVar24;
            local_90 = pvVar24;
            local_8c = sVar18;
          }
          else {
            if (sVar18 == 0) {
              sVar18 = local_94;
            }
            if (pvVar24 == (void *)0x0) {
              pvVar24 = (void *)local_98;
            }
            local_64[6] = sVar18;
            local_64[7] = (size_t)pvVar24;
            local_98 = (size_t)pvVar24;
            local_94 = sVar18;
          }
          if (*(char *)((local_64[3] - 1) + *local_64) != '\0') {
            iVar9 = dcgettext(0,"corrupt GNU build attribute note: name not NUL terminated",5,
                              *local_64);
            goto LAB_0001a72d;
          }
          local_64 = local_64 + 9;
          psVar25 = (size_t *)(iVar9 + 0xcU + (int)psVar25);
        }
        if (local_74 == 0) {
          uVar26 = (uint)local_84 | local_6c;
          if (local_80 == (size_t *)0x0 && uVar26 == 0) {
            iVar9 = dcgettext(0,"bad GNU build attribute notes: no known versions detected",5,uVar26
                             );
            goto LAB_0001a72d;
          }
          if (((local_80 != (size_t *)0x0) && (uVar26 != 0)) ||
             ((local_84 != (int *)0x0 && (local_6c != 0)))) {
            iVar9 = dcgettext(0,"bad GNU build attribute notes: multiple different versions",5,
                              sVar18);
            goto LAB_0001a72d;
          }
          if ((local_80 == (size_t *)0x1 || local_84 == (int *)0x1) || (local_6c == 1))
          goto LAB_0001a75c;
          uVar26 = -(uint)(local_80 == (size_t *)0x0) & 2;
          iVar9 = uVar26 + 1;
          if (*(char *)(local_60[3] + iVar9) != '\x01') {
            iVar9 = dcgettext(0,"bad GNU build attribute notes: first note not version note",5,
                              psVar34);
            goto LAB_0001a72d;
          }
          bVar40 = false;
          iVar12 = uVar26 + 2;
          psVar25 = local_60;
LAB_0001a954:
          psVar34 = psVar25;
          psVar25 = psVar34 + 9;
          if (psVar25 < local_64) {
            if (psVar34[0xb] == 0x100) {
              pvVar24 = (void *)psVar34[0xc];
              local_7c = (size_t *)0x0;
              psVar45 = psVar25;
              do {
                do {
                  psVar6 = psVar45;
                  psVar45 = psVar6 + -9;
                  if (psVar45 < local_60) goto LAB_0001a954;
                  pvVar30 = (void *)psVar6[-6];
                  psVar7 = local_7c;
                } while ((((local_7c == (size_t *)0x0) && (psVar6[-8] != 0)) &&
                         (psVar7 = psVar45, psVar6[-7] == 0x101)) ||
                        ((local_7c = psVar7,
                         *(char *)((int)pvVar24 + iVar9) != *(char *)((int)pvVar30 + iVar9) ||
                         (psVar6[-7] != 0x100))));
                if (*(char *)((int)pvVar30 + iVar9) != '\x04') {
                  psVar45 = (size_t *)*psVar45;
                  if ((((psVar45 == (size_t *)*psVar25) &&
                       (psVar46 = psVar25, iVar21 = memcmp(pvVar30,pvVar24,(size_t)psVar45),
                       pvVar44 = pvVar24, psVar20 = psVar45, iVar21 == 0)) &&
                      ((uVar26 = psVar6[-2], uVar26 != 0 && (uVar39 = psVar34[0x10], uVar39 != 0))))
                     && ((0xfffffff0 < uVar26 || (psVar34[0xf] <= (uVar26 + 0xf & 0xfffffff0))))) {
                    psVar34[0xb] = 0;
                    if (uVar26 < uVar39) {
                      psVar6[-2] = uVar39;
                    }
                    bVar40 = true;
                    if (local_6c != 0) {
                      psVar6[-1] = 1;
                    }
                  }
                  else if (local_6c == 0) {
                    if (((psVar34[10] == 0) && (local_7c != (size_t *)0x0)) && (local_7c[2] == 0)) {
                      local_7c[2] = 0x100;
                    }
                  }
                  else {
                    psVar34[0x11] = 1;
                    psVar34[0xb] = 0x101;
                    psVar6[-1] = 1;
                    psVar6[-7] = 0x101;
                  }
                  goto LAB_0001a954;
                }
                uVar26 = 0;
                for (iVar21 = 0; (int)*psVar25 - iVar12 != iVar21; iVar21 = iVar21 + 1) {
                  uVar26 = uVar26 | (uint)*(byte *)((int)pvVar24 + iVar21 + iVar12) <<
                                    ((char)iVar21 * '\b' & 0x1fU);
                }
                sVar18 = *psVar45;
                local_5c = (int *)0x0;
                for (uVar39 = 0; sVar18 - iVar12 != uVar39; uVar39 = uVar39 + 1) {
                  local_5c = (int *)((uint)local_5c |
                                    (uint)(byte)((undefined1 *)((int)pvVar30 + iVar12))[uVar39] <<
                                    ((char)uVar39 * '\b' & 0x1fU));
                }
                uVar28 = 0;
                uVar26 = (int)local_5c + uVar26;
                for (uVar27 = uVar26; uVar27 != 0; uVar27 = uVar27 >> 8) {
                  uVar28 = uVar28 + 1;
                }
              } while (uVar39 <= uVar28);
              puVar29 = (undefined1 *)((int)pvVar30 + iVar12);
              while (puVar29 < (undefined1 *)((int)pvVar30 + sVar18)) {
                *puVar29 = (char)uVar26;
                if (uVar26 == 0) break;
                uVar26 = uVar26 >> 8;
                puVar29 = puVar29 + 1;
              }
              psVar34[0xb] = 0;
              bVar40 = true;
            }
            goto LAB_0001a954;
          }
          if (!bVar40) goto LAB_0001a75c;
          pvVar24 = (void *)xmalloc(uVar35,pvVar44,psVar20,psVar46);
          sVar18 = 0;
          pvVar44 = pvVar24;
          local_80 = psVar38;
          for (psVar20 = local_60; psVar20 < local_64; psVar20 = psVar20 + 9) {
            sVar23 = *psVar20;
            __n = psVar20[1] + sVar23 + 0xc;
            sVar2 = psVar20[2];
            pvVar30 = pvVar44;
            if (sVar2 != 0) {
              if (psVar20[8] == 0) {
                memcpy(pvVar44,local_80,__n);
                pvVar30 = (void *)((int)pvVar44 + __n);
              }
              else {
                sVar5 = psVar20[6];
                __dest = (void *)((int)pvVar44 + 0xc);
                pvVar30 = (void *)((int)__dest + sVar23);
                if ((sVar5 == local_74) && (psVar20[7] == sVar18)) {
                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar5,sVar5);
                  (**(code **)(param_1[1] + 0x30))(0,(int)pvVar44 + 4);
                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);
                  memcpy(__dest,(void *)psVar20[3],sVar23);
                }
                else {
                  (**(code **)(param_1[1] + 0x30))(sVar23,pvVar44,sVar18,sVar18);
                  cVar8 = '\b';
                  if (*(int *)(param_1[1] + 4) == 5) {
                    cVar8 = (*(char *)(param_1[0x27] + 4) == '\x02') * '\b' + '\b';
                  }
                  (**(code **)(param_1[1] + 0x30))(cVar8,(int)pvVar44 + 4,sVar23,sVar23);
                  (**(code **)(param_1[1] + 0x30))(sVar2,(int)pvVar44 + 8);
                  memcpy(__dest,(void *)psVar20[3],sVar23);
                  sVar18 = param_1[1];
                  psVar25 = param_1;
                  if ((*(int *)(sVar18 + 4) == 5) &&
                     (psVar25 = (size_t *)param_1[0x27], (char)psVar25[1] == '\x02')) {
                    (**(code **)(sVar18 + 0x24))(sVar5,0,pvVar30,psVar25);
                    (**(code **)(param_1[1] + 0x24))(psVar20[7],0,(void *)((int)pvVar30 + 8));
                    pvVar30 = (void *)((int)pvVar30 + 0x10);
                  }
                  else {
                    (**(code **)(sVar18 + 0x30))(sVar5,pvVar30,psVar25,psVar25);
                    (**(code **)(param_1[1] + 0x30))(psVar20[7],(int)pvVar30 + 4);
                    pvVar30 = (void *)((int)pvVar30 + 8);
                  }
                }
              }
              local_74 = psVar20[6];
              sVar18 = psVar20[7];
            }
            local_80 = (size_t *)((int)local_80 + __n);
            pvVar44 = pvVar30;
          }
          sVar18 = (int)pvVar44 - (int)pvVar24;
          memcpy(psVar38,pvVar24,sVar18);
          free(pvVar24);
          free(local_60);
          DAT_0003fb7c = sVar18;
          if (uVar35 != sVar18) {
            uVar10 = extraout_ECX_02;
            if ((*(int *)(sVar17 + 0x3c) != 0) &&
               (iVar9 = bfd_set_section_size(param_2,*(int *)(sVar17 + 0x3c),sVar18,extraout_EDX),
               uVar10 = extraout_ECX_03, iVar9 != 0)) goto LAB_00018aad;
            uVar10 = dcgettext(0,"warning: failed to set merged notes size",5,uVar10);
            FUN_0002c160(0,param_2,sVar17,uVar10);
          }
        }
        else {
          iVar9 = dcgettext(0,"corrupt GNU build attribute notes: excess data at end",5,local_64);
LAB_0001a72d:
          if (iVar9 != 0) {
            bfd_set_error(0x11);
            FUN_0002c160(0,param_1,sVar17,iVar9);
            DAT_0003fb88 = 1;
          }
LAB_0001a75c:
          free(local_60);
        }
        free(DAT_0003fb80);
        DAT_0003fb80 = (size_t *)0x0;
        DAT_0003fb84 = 0;
        DAT_0003fb7c = 0;
      }
    }
  }
LAB_00018aad:
  local_98 = DAT_0003fb2c;
  for (puVar33 = DAT_0003fb30; DAT_0003fb2c = local_98, puVar33 != (undefined4 *)0x0;
      puVar33 = (undefined4 *)*puVar33) {
    iVar9 = bfd_get_section_by_name(param_1,puVar33[1]);
    if (iVar9 == 0) {
      uVar10 = puVar33[1];
      uVar11 = dcgettext(0,"can\'t dump section \'%s\' - it does not exist",5);
      FUN_0002c160(0,param_1,0,uVar11,uVar10);
    }
    else {
      if ((*(byte *)(iVar9 + 0x15) & 1) == 0) {
        pcVar22 = "can\'t dump section - it has no contents";
      }
      else {
        sVar17 = *(size_t *)(iVar9 + 0x24);
        if (sVar17 != 0) {
          __s = fopen64((char *)puVar33[2],"w");
          if (__s == (FILE *)0x0) {
            uVar10 = dcgettext(0,"could not open section dump file",5);
            FUN_0002c160(puVar33[2],0,0,uVar10);
          }
          else {
            iVar12 = bfd_malloc_and_get_section(param_1,iVar9,&local_30);
            if (iVar12 == 0) {
              uVar10 = dcgettext(0,"could not retrieve section contents",5);
              FUN_0002c160(0,param_1,iVar9,uVar10);
            }
            else {
              sVar18 = fwrite(local_30,1,sVar17,__s);
              if (sVar17 != sVar18) {
                piVar15 = __errno_location();
                pcVar22 = strerror(*piVar15);
                uVar10 = puVar33[2];
                uVar11 = dcgettext(0,"error writing section contents to %s (error: %s)",5);
                FUN_0002b6d0(uVar11,uVar10,pcVar22);
                free(local_30);
                return 0;
              }
            }
            fclose(__s);
            free(local_30);
          }
          goto LAB_00018b49;
        }
        pcVar22 = "can\'t dump section - it is empty";
      }
      uVar10 = dcgettext(0,pcVar22,5);
      FUN_0002c160(0,param_1,iVar9,uVar10);
    }
LAB_00018b49:
    local_98 = DAT_0003fb2c;
  }
  if (local_98 != 0) {
    iVar9 = bfd_get_section_by_name(param_2,".gnu_debuglink");
    if (iVar9 == 0) {
      local_98 = bfd_create_gnu_debuglink_section(param_2,DAT_0003fb2c);
      iVar9 = DAT_0003fb2c;
      if (local_98 == 0) {
        uVar10 = dcgettext(0,"cannot create debug link section `%s\'",5,param_2);
        FUN_0002c160(0,param_2,0,uVar10,iVar9);
        return 0;
      }
      if (*(int *)(param_2[1] + 4) == 2) {
        sVar17 = param_2[0x18];
        sVar18 = 0;
        if (sVar17 == 0) {
LAB_0001a360:
          uVar26 = 0x1000;
        }
        else {
          do {
            sVar23 = sVar18;
            if (((*(uint *)(sVar17 + 0x1c) != 0) && (sVar23 = sVar17, sVar18 != 0)) &&
               (sVar23 = sVar18, *(uint *)(sVar18 + 0x1c) < *(uint *)(sVar17 + 0x1c))) {
              sVar23 = sVar17;
            }
            sVar17 = *(size_t *)(sVar17 + 0xc);
            sVar18 = sVar23;
          } while (sVar17 != 0);
          if (sVar23 == 0) goto LAB_0001a360;
          uVar35 = *(int *)(sVar23 + 0x24) + *(int *)(sVar23 + 0x1c);
          uVar26 = 0xffffffff;
          if (uVar35 < 0xfffff001) {
            uVar26 = uVar35 + 0xfff & 0xfffff000;
          }
        }
        *(uint *)(local_98 + 0x20) = uVar26;
        *(uint *)(local_98 + 0x1c) = uVar26;
        *(byte *)(local_98 + 0x18) = *(byte *)(local_98 + 0x18) | 1;
      }
    }
    else {
      sVar17 = *param_2;
      uVar10 = dcgettext(0,"%s: debuglink section already exists",5);
      FUN_0002b6d0(uVar10,sVar17);
      DAT_0003fb2c = 0;
      local_98 = 0;
    }
  }
  sVar17 = param_2[0x1a];
  local_8c = sVar17;
  if (sVar17 == 0) {
LAB_00018ff7:
    local_90 = (void *)0x0;
    local_84 = (int *)0x0;
    sVar18 = local_8c;
  }
  else {
    if (DAT_0003fb54 == 0 && DAT_0003fb4c == 0) {
      local_8c = 0;
      goto LAB_00018ff7;
    }
    sVar23 = sVar17 * 4;
    local_84 = (int *)xmalloc(sVar23);
    local_30 = local_84;
    bfd_map_over_sections(param_2,FUN_00016710,&local_30);
    qsort(local_84,sVar17,4,FUN_00016730);
    local_90 = (void *)xmalloc(sVar23);
    memset(local_90,0,sVar23);
    if ((DAT_0003fb54 == 0) || (sVar17 == 1)) {
      local_8c = 0;
    }
    else {
      iVar9 = 0;
      local_8c = 0;
      piVar15 = local_84;
      do {
        iVar12 = *piVar15;
        iVar9 = iVar9 + 1;
        sVar18 = local_8c;
        if ((*(uint *)(iVar12 + 0x14) & 0x102) == 0x102) {
          uVar35 = *(int *)(iVar12 + 0x20) + *(int *)(iVar12 + 0x24);
          if (uVar35 < *(uint *)(piVar15[1] + 0x20)) {
            sVar18 = *(uint *)(piVar15[1] + 0x20) - uVar35;
            uVar43 = bfd_set_section_size(param_2,iVar12,*(int *)(iVar12 + 0x24) + sVar18);
            if ((int)uVar43 == 0) {
              uVar10 = dcgettext(0,"Can\'t fill gap after section",5,
                                 (int)((ulonglong)uVar43 >> 0x20));
              FUN_0002c160(0,param_2,*piVar15,uVar10);
              DAT_0003fb88 = 1;
              break;
            }
            *(size_t *)((int)local_90 + iVar9 * 4 + -4) = sVar18;
            if (sVar18 <= local_8c) {
              sVar18 = local_8c;
            }
          }
        }
        local_8c = sVar18;
        piVar15 = piVar15 + 1;
      } while (sVar17 - 1 != iVar9);
    }
    sVar18 = local_8c;
    if (DAT_0003fb4c != 0) {
      iVar9 = local_84[sVar17 - 1];
      uVar35 = *(int *)(iVar9 + 0x24) + *(int *)(iVar9 + 0x20);
      if (uVar35 < DAT_0003fb48) {
        iVar9 = bfd_set_section_size(param_2,iVar9,DAT_0003fb48 - *(int *)(iVar9 + 0x20));
        if (iVar9 == 0) {
          uVar10 = dcgettext(0,"can\'t add padding",5,uVar35);
          FUN_0002c160(0,param_2,local_84[sVar17 - 1],uVar10);
          DAT_0003fb88 = 1;
        }
        else {
          sVar18 = DAT_0003fb48 - uVar35;
          *(size_t *)((int)local_90 + (sVar23 - 4)) = sVar18;
          if (sVar18 <= local_8c) {
            sVar18 = local_8c;
          }
        }
      }
    }
  }
  local_8c = sVar18;
  local_94 = 0;
  if (DAT_0003fb28 != 0) {
    local_94 = FUN_0001c0f0(param_1,DAT_0003fb9c,local_70,0);
  }
  if (DAT_0003fb78 - 2U < 6) {
LAB_00019032:
    if (DAT_0003fb78 != 7) {
LAB_00019037:
      bfd_set_error(0);
      bfd_map_over_sections(param_1,FUN_00018470,DAT_0003fb9c);
      iVar9 = bfd_get_error();
      if (iVar9 != 0) {
        DAT_0003fb88 = 1;
        return 0;
      }
    }
    piVar15 = (int *)xmalloc((DAT_0003fae4 + local_70) * 4 + 4);
    local_68 = DAT_0003fb9c;
    uVar35 = param_1[10];
    DAT_0003fb98 = piVar15;
    if (local_70 != 0) {
      piVar1 = DAT_0003fb9c + local_70;
      local_70 = 0;
      puVar16 = PTR__bfd_std_section_0003efc8 + 0xa8;
      do {
        iVar9 = DAT_0003fae4;
        piVar3 = (int *)*local_68;
        uVar26 = piVar3[3];
        piVar19 = (int *)piVar3[1];
        puVar4 = (undefined *)piVar3[4];
        if (((DAT_0003fae8 != (int *)0x0) && (0 < DAT_0003fae4)) &&
           (pcVar22 = (char *)DAT_0003fae8[5], pcVar22 != (char *)0x0)) {
          local_5c = (int *)0x0;
          piVar31 = DAT_0003fae8;
          while (iVar12 = strcmp(pcVar22,(char *)piVar19), iVar12 != 0) {
            local_5c = (int *)((int)local_5c + 1);
            piVar31 = (int *)*piVar31;
            if ((local_5c == (int *)iVar9) || (pcVar22 = (char *)piVar31[5], pcVar22 == (char *)0x0)
               ) goto LAB_00019180;
          }
          free(pcVar22);
          piVar31[5] = (int)"";
          piVar31 = piVar15 + local_70;
          local_70 = local_70 + 1;
          iVar9 = FUN_000177e0();
          *piVar31 = iVar9;
        }
LAB_00019180:
        iVar9 = htab_elements(DAT_0003faf0);
        piVar31 = piVar19;
        if ((iVar9 != 0) || (DAT_0003fba0 != (undefined4 *)0x0)) {
          local_2c = 0;
          local_30 = piVar19;
          iVar9 = htab_find(DAT_0003faf0,&local_30);
          if (((iVar9 == 0) || (piVar31 = *(int **)(iVar9 + 4), piVar19 == piVar31)) &&
             (puVar33 = DAT_0003fba0, (uVar26 & 0x100) != 0)) {
            for (; piVar31 = piVar19, puVar33 != (undefined4 *)0x0;
                puVar33 = (undefined4 *)puVar33[3]) {
              iVar9 = strcmp((char *)*puVar33,(char *)piVar19);
              if (iVar9 == 0) {
                piVar31 = (int *)puVar33[1];
                break;
              }
            }
          }
          piVar3[1] = (int)piVar31;
        }
        pcVar22 = DAT_0003fad8;
        if ((char)*piVar31 == *(char *)(param_1[1] + 0x18)) {
          if (DAT_0003fb1c == 0) {
            if ((DAT_0003fb18 == 0) ||
               ((((uVar26 & 0x82) == 0 && (puVar4 != puVar16)) &&
                ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)))) goto LAB_00019203;
LAB_0001943c:
            piVar31 = (int *)((int)piVar31 + 1);
            piVar3[1] = (int)piVar31;
            goto LAB_00019203;
          }
          if (*(char *)(param_2[1] + 0x18) == '\0') goto LAB_0001943c;
          if (DAT_0003fad8 != (char *)0x0) {
            piVar31 = (int *)((int)piVar31 + 1);
            piVar3[1] = (int)piVar31;
            goto LAB_0001945b;
          }
          *(char *)piVar31 = *(char *)(param_2[1] + 0x18);
          piVar3[1] = (int)piVar31;
        }
        else {
          if (((DAT_0003fb1c == 0) || (*(char *)(param_2[1] + 0x18) == '\0')) ||
             (*(char *)(param_1[1] + 0x18) != '\0')) {
LAB_00019203:
            if (pcVar22 == (char *)0x0) goto LAB_0001926f;
            sVar17 = strlen(pcVar22);
            sVar18 = strlen((char *)piVar31);
            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);
            local_5c = piVar19;
          }
          else {
LAB_0001945b:
            sVar17 = strlen(pcVar22);
            sVar18 = strlen((char *)piVar31);
            piVar19 = (int *)xmalloc(sVar17 + 2 + sVar18);
            local_5c = (int *)((int)piVar19 + 1);
            *(char *)piVar19 = *(char *)(param_2[1] + 0x18);
          }
          pcVar22 = DAT_0003fad8;
          if (DAT_0003fad8 != (char *)0x0) {
            strcpy((char *)local_5c,DAT_0003fad8);
            sVar17 = strlen(pcVar22);
            local_5c = (int *)((int)local_5c + sVar17);
          }
          strcpy((char *)local_5c,(char *)piVar31);
          piVar3[1] = (int)piVar19;
          piVar31 = piVar19;
        }
LAB_0001926f:
        if (DAT_0003fb78 == 7) goto LAB_000192f8;
        if ((uVar26 & 0x20) == 0) {
          if (((uVar26 & 0x100) == 0) ||
             ((*(byte *)(**(int **)(piVar3[4] + 0x9c) + 0xc) & 0x20) == 0)) {
            if ((((uVar35 >> 5 & 0x42) == 0) &&
                (((uVar26 & 0x82) != 0 || ((*(byte *)(piVar3[4] + 0x15) & 0x10) != 0)))) ||
               (iVar9 = bfd_decode_symclass(piVar3), iVar9 == 0x49)) {
LAB_00019528:
              iVar9 = FUN_00017880();
              if (iVar9 == 0) goto LAB_000192e0;
            }
            else if ((((uVar26 & 0x82) == 0) && (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8)) &&
                    ((*(byte *)(piVar3[4] + 0x15) & 0x10) == 0)) {
              if ((uVar26 & 4) == 0) {
                if (((*(int *)(param_1[1] + 4) != 2) ||
                    (iVar9 = *(int *)(piVar3[4] + 0x8c), iVar9 == 0)) ||
                   (*(int *)(iVar9 + 0x24) == 0)) {
                  if ((DAT_0003fb78 == 3) || (DAT_0003fb74 == 2)) goto LAB_000192f8;
                  if (DAT_0003fb74 == 1) {
                    iVar9 = bfd_is_local_label(param_1,piVar3,0,0);
                    goto joined_r0x0001a13f;
                  }
                }
                goto LAB_00019528;
              }
              iVar9 = DAT_0003fb28;
              if (1 < DAT_0003fb78 - 2U) {
joined_r0x0001a13f:
                if (iVar9 == 0) goto LAB_00019528;
              }
            }
            else if (DAT_0003fb78 != 3) goto LAB_00019528;
          }
          else {
            iVar9 = FUN_00017880();
            if (iVar9 != 0) {
              uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",
                                 5,iVar9);
              FUN_0002b6d0(uVar10,piVar31);
              DAT_0003fb88 = 1;
            }
LAB_000192e0:
            iVar9 = FUN_00017880();
            if (iVar9 == 0) goto LAB_0001931c;
          }
LAB_000192f8:
          if (((DAT_0003fadc != 0) && ((uVar26 & 0x4000) != 0)) ||
             (iVar9 = FUN_00017880(), iVar9 != 0)) goto LAB_0001931c;
        }
        else {
          iVar9 = FUN_00017880();
          if (iVar9 != 0) {
            uVar10 = dcgettext(0,"not stripping symbol `%s\' because it is named in a relocation",5)
            ;
            FUN_0002b6d0(uVar10,piVar31);
            DAT_0003fb88 = 1;
          }
LAB_0001931c:
          iVar9 = FUN_000178f0();
          if (iVar9 == 0) {
            if (((uVar26 & 2) != 0) && ((DAT_0003fae0 != 0 || (iVar9 = FUN_00017880(), iVar9 != 0)))
               ) {
              piVar3[3] = piVar3[3] & 0xfffffffdU | 0x80;
            }
            if (puVar4 != PTR__bfd_std_section_0003efc8 + 0xa8) {
              if (((uVar26 & 0x82) != 0) &&
                 (((iVar9 = FUN_00017880(), iVar9 != 0 ||
                   ((iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0 &&
                    (iVar9 = FUN_00017880(), iVar9 == 0)))) ||
                  ((DAT_0003fb10 != 0 &&
                   ((((iVar9 = *piVar3, iVar9 != 0 && (*(int *)(*(int *)(iVar9 + 4) + 4) == 5)) &&
                     (*(int *)(iVar9 + 0x9c) != 0)) && ((*(byte *)((int)piVar3 + 0x25) & 3) - 1 < 2)
                    ))))))) {
                piVar3[3] = piVar3[3] & 0xffffff7dU | 1;
              }
              if (((uVar26 & 1) != 0) && (iVar9 = FUN_00017880(), iVar9 != 0)) {
                piVar3[3] = piVar3[3] & 0xfffffffeU | 2;
              }
            }
            piVar15[local_70] = (int)piVar3;
            local_70 = local_70 + 1;
          }
        }
        local_68 = local_68 + 1;
      } while (piVar1 != local_68);
    }
    local_5c = DAT_0003fae8;
    if ((DAT_0003fae8 != (int *)0x0) && (0 < DAT_0003fae4)) {
      iVar9 = 0;
      do {
        pcVar22 = (char *)local_5c[5];
        if (pcVar22 == (char *)0x0) {
          iVar12 = FUN_000177e0();
          piVar15[local_70] = iVar12;
          local_70 = local_70 + 1;
        }
        else if (*pcVar22 != '\0') {
          uVar10 = dcgettext(0,"\'before=%s\' not found",5,local_70);
                    /* WARNING: Subroutine does not return */
          FUN_0002b6a0(uVar10,pcVar22);
        }
        iVar9 = iVar9 + 1;
        local_5c = (int *)*local_5c;
      } while (iVar9 < DAT_0003fae4);
    }
    piVar15[local_70] = 0;
    if ((DAT_0003fb28 != 0) && (local_94 != 0)) {
      iVar9 = ((undefined4 *)param_2[1])[1];
      if ((iVar9 != 2) && (iVar9 != 5)) {
        uVar10 = *(undefined4 *)param_2[1];
        uVar11 = dcgettext(0,"don\'t know how to write debugging information for %s",5);
        FUN_0002c160(0,param_2,0,uVar11,uVar10);
        DAT_0003fb88 = 1;
        return 0;
      }
      iVar9 = FUN_0002b050(param_2,local_94,&local_4c,local_44,&local_48,&local_30);
      if (iVar9 == 0) {
        DAT_0003fb88 = 1;
        return 0;
      }
      iVar9 = bfd_make_section_with_flags(param_2,".stab",0x2108);
      iVar12 = bfd_make_section_with_flags(param_2,".stabstr",0x2108);
      if ((((iVar9 == 0) || (iVar12 == 0)) ||
          (iVar21 = bfd_set_section_size(param_2,iVar9,local_44[0],iVar12), iVar21 == 0)) ||
         (iVar21 = bfd_set_section_size(param_2,iVar12,local_30,iVar21), iVar21 == 0)) {
        pcVar22 = "can\'t create debugging section";
LAB_00019fcf:
        uVar10 = dcgettext(0,pcVar22,5,iVar9);
        FUN_0002c160(0,param_2,0,uVar10);
        DAT_0003fb88 = 1;
        return 0;
      }
      *(undefined4 *)(iVar9 + 0x40) = 2;
      *(undefined4 *)(iVar12 + 0x40) = 0;
      iVar9 = bfd_set_section_contents(param_2,iVar9,local_4c,0,0,local_44[0],iVar21,iVar21);
      if ((iVar9 == 0) ||
         (iVar9 = bfd_set_section_contents
                            (param_2,iVar12,local_48,0,0,local_30,extraout_ECX,extraout_ECX),
         iVar9 == 0)) {
        pcVar22 = "can\'t set debugging section contents";
        iVar9 = iVar12;
        goto LAB_00019fcf;
      }
    }
  }
  else {
    if (DAT_0003fb10 != 0 || DAT_0003fb74 != 0) goto LAB_00019037;
    iVar9 = htab_elements(DAT_0003fb0c);
    if (((iVar9 != 0) || (iVar9 = htab_elements(DAT_0003fb04), iVar9 != 0)) ||
       ((iVar9 = htab_elements(DAT_0003fb00), iVar9 != 0 ||
        (((((iVar9 = htab_elements(DAT_0003fafc), iVar9 != 0 ||
            (iVar9 = htab_elements(DAT_0003faf8), iVar9 != 0)) ||
           (iVar9 = htab_elements(DAT_0003faf4), iVar9 != 0)) ||
          ((iVar9 = htab_elements(DAT_0003faf0), DAT_0003fad8 != (char *)0x0 ||
           (DAT_0003fba0 != (undefined4 *)0x0)))) ||
         (((((((DAT_0003fb6c != 0 || DAT_0003fb68 != 0) || DAT_0003fb28 != 0) || DAT_0003fb1c != 0)
            || DAT_0003fb18 != 0) || DAT_0003fae0 != 0) || DAT_0003fae4 != 0) || iVar9 != 0))))))
    goto LAB_00019032;
  }
  bfd_set_symtab(param_2,DAT_0003fb98,local_70);
  bfd_map_over_sections(param_1,FUN_000181d0,param_2);
  bfd_map_over_sections(param_1,FUN_00017e40,param_2);
  psVar38 = param_1;
  for (puVar33 = DAT_0003fb38; puVar37 = DAT_0003fb34, puVar33 != (undefined4 *)0x0;
      puVar33 = (undefined4 *)*puVar33) {
    iVar9 = bfd_set_section_contents(param_2,puVar33[5],puVar33[4],0,0,puVar33[3]);
    if (iVar9 == 0) {
      psVar38 = (size_t *)puVar33[5];
      local_50 = 0;
      goto LAB_00019763;
    }
    psVar38 = param_2;
  }
  for (; puVar37 != (undefined4 *)0x0; puVar37 = (undefined4 *)*puVar37) {
    psVar38 = *(size_t **)(puVar37[5] + 0x3c);
    local_50 = bfd_set_section_contents(param_2,psVar38,puVar37[4],0,0,puVar37[3]);
    if (local_50 == 0) {
LAB_00019763:
      FUN_0002c160(0,param_2,psVar38,0);
      return local_50;
    }
  }
  uVar35 = 0;
  if (DAT_0003fb84 != 0) {
    uVar35 = bfd_get_section_by_name(param_2,".gnu.build.attributes");
    if (((uVar35 == 0) || (DAT_0003fb84 == 0)) ||
       ((*(int *)(param_2[1] + 4) != 5 || (iVar9 = FUN_00017590(), iVar9 == 0)))) {
      if (DAT_0003fba4 == 0) {
        uVar10 = dcgettext(0,"could not find any mergeable note sections",5,0);
        FUN_0002c160(0,param_2,uVar35,uVar10);
      }
    }
    else {
      iVar9 = bfd_set_section_contents(param_2,uVar35,DAT_0003fb80,0,0,DAT_0003fb7c,iVar9,iVar9);
      if (iVar9 == 0) {
        uVar10 = dcgettext(0,"error: failed to copy merged notes into output",5,0);
        goto LAB_0001a2cd;
      }
    }
    free(DAT_0003fb80);
    DAT_0003fb80 = (size_t *)0x0;
    DAT_0003fb84 = 0;
    psVar38 = param_2;
  }
  if ((DAT_0003fb2c != 0) &&
     (iVar12 = bfd_fill_in_gnu_debuglink_section(param_2,local_98,DAT_0003fb2c),
     iVar9 = DAT_0003fb2c, iVar12 == 0)) {
    uVar10 = dcgettext(0,"cannot fill debug link section `%s\'",5,0);
    FUN_0002c160(0,param_2,0,uVar10,iVar9);
    return 0;
  }
  if (DAT_0003fb54 != 0 || DAT_0003fb4c != 0) {
    uVar35 = 0x2000;
    if (local_8c < 0x2001) {
      uVar35 = local_8c;
    }
    psVar20 = (size_t *)xmalloc(uVar35);
    sVar17 = (uint)DAT_0003fb50 * 0x1010101;
    if (uVar35 < 4) {
      if ((uVar35 != 0) && (*(char *)psVar20 = (char)sVar17, (uVar35 & 2) != 0)) {
        *(short *)((int)psVar20 + (uVar35 - 2)) = (short)sVar17;
      }
    }
    else {
      *psVar20 = sVar17;
      *(size_t *)((int)(psVar20 + -1) + uVar35) = sVar17;
      psVar38 = (size_t *)((uint)(psVar20 + 1) & 0xfffffffc);
      for (uVar26 = (int)psVar20 + (uVar35 - (int)((uint)(psVar20 + 1) & 0xfffffffc)) >> 2;
          uVar26 != 0; uVar26 = uVar26 - 1) {
        *psVar38 = sVar17;
        psVar38 = psVar38 + (uint)bVar42 * -2 + 1;
      }
    }
    psVar25 = (size_t *)param_2[0x1a];
    if (psVar25 != (size_t *)0x0) {
      psVar38 = (size_t *)0x0;
      do {
        uVar35 = *(uint *)((int)local_90 + (int)psVar38 * 4);
        if (uVar35 != 0) {
          iVar9 = local_84[(int)psVar38];
          local_58 = 0;
          local_5c = (int *)(*(int *)(iVar9 + 0x24) - uVar35);
          while( true ) {
            uVar26 = 0x2000;
            if (uVar35 < 0x2001) {
              uVar26 = uVar35;
            }
            iVar9 = bfd_set_section_contents(param_2,iVar9,psVar20,local_5c,local_58,uVar26);
            if (iVar9 == 0) {
              psVar38 = (size_t *)local_84[(int)psVar38];
              local_50 = 0;
              goto LAB_00019763;
            }
            bVar40 = CARRY4((uint)local_5c,uVar26);
            local_5c = (int *)((int)local_5c + uVar26);
            local_58 = local_58 + (uint)bVar40;
            uVar35 = uVar35 - uVar26;
            if (uVar35 == 0) break;
            iVar9 = local_84[(int)psVar38];
          }
        }
        psVar38 = (size_t *)((int)psVar38 + 1);
      } while (psVar25 != psVar38);
    }
  }
  iVar9 = (**(code **)(param_2[1] + 0xa8))(param_1,param_2);
  if (iVar9 != 0) {
    if ((DAT_0003fb44 != 0) &&
       (iVar12 = bfd_alt_mach_code(param_2,DAT_0003fb44,uVar35,uVar35), iVar9 = DAT_0003fb44,
       iVar12 == 0)) {
      uVar10 = dcgettext(0,"this target does not support %lu alternative machine codes",5,psVar38);
      FUN_0002b6d0(uVar10,iVar9);
      if (*(int *)(param_2[1] + 4) != 5) {
        uVar10 = dcgettext(0,"ignoring the alternative value",5,extraout_ECX_00);
        FUN_0002b6d0(uVar10);
        return 1;
      }
      uVar10 = dcgettext(0,"treating that number as an absolute e_machine value instead",5,iVar9);
      FUN_0002b6d0(uVar10);
      *(short *)(param_2[0x27] + 0x26) = (short)DAT_0003fb44;
    }
    return 1;
  }
  uVar10 = dcgettext(0,"error copying private BFD data",5,psVar38);
  uVar35 = 0;
LAB_0001a2cd:
  FUN_0002c160(0,param_2,uVar35,uVar10);
  return 0;
}

