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

void gldhppalinux_after_open(void)

{
  output_elf_obj_tdata *poVar1;
  bfd_link_needed_list *pbVar2;
  bool bVar3;
  bfd_link_needed_list *pbVar4;
  bfd_link_hash_table *pbVar5;
  dt_needed *pdVar6;
  bfd_size_type bVar7;
  asection *paVar8;
  bfd_link_needed_list *pbVar9;
  uint uVar10;
  int iVar11;
  bfd_boolean bVar12;
  char *pcVar13;
  int *piVar14;
  size_t sVar15;
  size_t sVar16;
  char *pcVar17;
  bfd_link_hash_table_type bVar18;
  bfd *pbVar19;
  bfd_section *pbVar20;
  bfd *pbVar21;
  search_dirs *psVar22;
  byte *pbVar23;
  byte *pbVar24;
  bool bVar25;
  bool bVar26;
  bool bVar27;
  byte bVar28;
  dt_needed *local_60;
  int local_50;
  bfd *local_4c;
  dt_needed n;
  dt_needed nn;
  dt_needed needed;
  
  bVar28 = 0;
  after_open_default();
  pbVar5 = link_info.hash;
  if ((link_info.hash)->type == bfd_link_elf_hash_table) {
    if (command_line.out_implib_filename != (char *)0x0) {
      unlink_if_ordinary(command_line.out_implib_filename);
      link_info.out_implib_bfd =
           (bfd *)bfd_openw(command_line.out_implib_filename,(link_info.output_bfd)->xvec->name);
      pcVar13 = command_line.out_implib_filename;
      if (link_info.out_implib_bfd == (bfd *)0x0) {
        pcVar17 = (char *)dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);
        einfo(pcVar17,pcVar13);
      }
    }
    pbVar19 = link_info.output_bfd;
    pbVar21 = link_info.input_bfds;
    if (emit_note_gnu_build_id != (char *)0x0) {
      for (; pbVar21 != (bfd *)0x0; pbVar21 = (pbVar21->link).next) {
        if (((pbVar21->xvec->flavour == bfd_target_elf_flavour) && (pbVar21->section_count != 0)) &&
           ((*(byte *)((int)pbVar21->usrdata + 0x24) & 0x10) == 0)) {
          bVar7 = compute_build_id_size(emit_note_gnu_build_id);
          if ((bVar7 == 0) || (bVar7 + 0x10 == 0)) {
            pcVar13 = "%P: warning: unrecognized --build-id style ignored\n";
          }
          else {
            paVar8 = (asection *)bfd_make_section_with_flags(pbVar21,".note.gnu.build-id",0x10402b);
            if (paVar8 != (asection *)0x0) {
              paVar8->alignment_power = 2;
              pbVar19 = link_info.output_bfd;
              poVar1 = (((link_info.output_bfd)->tdata).elf_obj_data)->o;
              (poVar1->build_id).after_write_object_contents = write_build_id;
              pcVar13 = emit_note_gnu_build_id;
              (poVar1->build_id).sec = paVar8;
              (poVar1->build_id).style = pcVar13;
              *(undefined4 *)((int)paVar8->used_by_bfd + 4) = 7;
              paVar8->size = bVar7 + 0x10;
              goto LAB_00039178;
            }
            pcVar13 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";
          }
          pcVar13 = (char *)dcgettext(0,pcVar13,5);
          einfo(pcVar13);
          break;
        }
      }
      free(emit_note_gnu_build_id);
      emit_note_gnu_build_id = (char *)0x0;
      pbVar19 = link_info.output_bfd;
    }
LAB_00039178:
    (**(code **)((int)pbVar19->xvec->backend_data + 0x1bc))(&link_info);
    if ((link_info._0_1_ & 3) == 2) {
      if ((byte)link_info._5_1_ >> 7 == (~link_info._6_1_ & 1)) {
        bfd_make_section_with_flags
                  (link_info.input_bfds,".note.GNU-stack",(byte)link_info._5_1_ >> 3 & 0x10 | 8);
      }
    }
    else {
      if (((link_info._4_1_ & 0x20) == 0) && (link_info.input_bfds != (bfd *)0x0)) {
        local_50 = 0;
        bVar3 = false;
        local_4c = (bfd *)0x0;
        pbVar21 = link_info.input_bfds;
        do {
          while ((*(byte *)((int)pbVar21->usrdata + 0x24) & 0x10) != 0) {
LAB_000395d0:
            pbVar21 = (pbVar21->link).next;
            if (pbVar21 == (bfd *)0x0) goto LAB_000396cd;
          }
          pbVar20 = pbVar21->sections;
          if (pbVar20 == (bfd_section *)0x0) {
LAB_00039697:
            if (local_50 != 2) goto LAB_000395d0;
          }
          else {
            local_60 = (dt_needed *)0x0;
            do {
              bVar26 = pbVar20->output_section <
                       (bfd_section *)(PTR__bfd_std_section_00090fc4 + 0x150);
              bVar27 = pbVar20->output_section ==
                       (bfd_section *)(PTR__bfd_std_section_00090fc4 + 0x150);
              pdVar6 = local_60;
              if (!bVar27) {
                iVar11 = 0xf;
                pbVar23 = (byte *)pbVar20->name;
                pbVar24 = (byte *)".eh_frame_entry";
                do {
                  if (iVar11 == 0) break;
                  iVar11 = iVar11 + -1;
                  bVar26 = *pbVar23 < *pbVar24;
                  bVar27 = *pbVar23 == *pbVar24;
                  pbVar23 = pbVar23 + (uint)bVar28 * -2 + 1;
                  pbVar24 = pbVar24 + (uint)bVar28 * -2 + 1;
                } while (bVar27);
                bVar25 = false;
                bVar26 = (!bVar26 && !bVar27) == bVar26;
                if (bVar26) {
                  local_60 = (dt_needed *)0x2;
                  goto LAB_0003966f;
                }
                iVar11 = 10;
                pbVar23 = (byte *)pbVar20->name;
                pbVar24 = (byte *)".eh_frame";
                do {
                  if (iVar11 == 0) break;
                  iVar11 = iVar11 + -1;
                  bVar25 = *pbVar23 < *pbVar24;
                  bVar26 = *pbVar23 == *pbVar24;
                  pbVar23 = pbVar23 + (uint)bVar28 * -2 + 1;
                  pbVar24 = pbVar24 + (uint)bVar28 * -2 + 1;
                } while (bVar26);
                if (((!bVar25 && !bVar26) == bVar25) && (pdVar6 = (dt_needed *)1, pbVar20->size < 9)
                   ) {
                  pdVar6 = local_60;
                }
              }
              local_60 = pdVar6;
              pbVar20 = pbVar20->next;
            } while (pbVar20 != (bfd_section *)0x0);
            if (local_60 == (dt_needed *)0x0) goto LAB_00039697;
LAB_0003966f:
            if ((local_50 != 0) && ((dt_needed *)local_50 != local_60)) {
              if (local_60 != (dt_needed *)0x1) {
                pbVar21 = local_4c;
              }
              pcVar13 = (char *)dcgettext(0,
                                          "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"
                                          ,5);
              einfo(pcVar13,pbVar21);
              break;
            }
            local_50 = (int)local_60;
            if (local_4c != (bfd *)0x0) goto LAB_00039697;
            if (local_60 != (dt_needed *)0x2) {
              if ((link_info._2_2_ & 0xc000) == 0) {
                local_50 = 1;
              }
              else {
                local_50 = 1;
                bVar3 = true;
                if (pbVar21->xvec->flavour == bfd_target_elf_flavour) {
                  local_4c = pbVar21;
                }
              }
              goto LAB_000395d0;
            }
            bVar3 = true;
            if (pbVar21->xvec->flavour == bfd_target_elf_flavour) {
              local_4c = pbVar21;
            }
          }
          pbVar21 = (pbVar21->link).next;
          local_50 = 2;
          link_info._2_2_ = link_info._2_2_ & 0x3fff | 0x8000;
        } while (pbVar21 != (bfd *)0x0);
LAB_000396cd:
        if ((local_4c == (bfd *)0x0) ||
           (bVar18 = bfd_make_section_with_flags
                               (local_4c,".eh_frame_hdr",
                                *(uint *)((int)local_4c->xvec->backend_data + 0x20) | 8),
           bVar18 == bfd_link_generic_hash_table)) {
          if (bVar3) {
            pcVar13 = (char *)dcgettext(0,
                                        "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"
                                        ,5);
            einfo(pcVar13);
          }
        }
        else {
          *(undefined4 *)(bVar18 + 0x40) = 2;
          pbVar5[3].type = bVar18;
        }
      }
      pbVar9 = (bfd_link_needed_list *)bfd_elf_get_needed_list(link_info.output_bfd,&link_info);
      for (pbVar2 = pbVar9; pbVar2 != (bfd_link_needed_list *)0x0; pbVar2 = pbVar2->next) {
        pbVar4 = pbVar9;
        if ((pbVar2->by == (bfd *)0x0) ||
           ((uVar10 = bfd_elf_get_dyn_lib_class(pbVar2->by), (uVar10 & 1) == 0 &&
            (((pbVar2->by == (bfd *)0x0 || ((link_info._2_2_ & 0x180) != 0x80)) ||
             (uVar10 = bfd_elf_get_dyn_lib_class(pbVar2->by), (uVar10 & 4) == 0)))))) {
          for (; pbVar4 != pbVar2; pbVar4 = pbVar4->next) {
            if (((pbVar4->by == (bfd *)0x0) ||
                (uVar10 = bfd_elf_get_dyn_lib_class(pbVar4->by), (uVar10 & 1) == 0)) &&
               (iVar11 = strcmp(pbVar4->name,pbVar2->name), iVar11 == 0)) {
              if (pbVar2 != pbVar4) goto LAB_00039300;
              break;
            }
          }
          real_func = gldhppalinux_check_needed;
          global_found = (lang_input_statement_type *)0x0;
          global_needed = pbVar2;
          lang_for_each_input_file(hppa_for_each_input_file_wrapper);
          if ((global_found == (lang_input_statement_type *)0x0) ||
             (uVar10 = bfd_elf_get_dyn_lib_class(global_found->the_bfd), (uVar10 & 1) != 0)) {
            pbVar21 = pbVar2->by;
            pcVar13 = pbVar2->name;
            n.by = pbVar21;
            n.name = pcVar13;
            nn.by = pbVar21;
            if (verbose != 0) {
              pcVar17 = (char *)dcgettext(0,"%s needed by %pB\n",5);
              info_msg(pcVar17,pcVar13,pbVar21);
            }
            if (global_found != (lang_input_statement_type *)0x0) {
              nn.name = global_found->filename;
              bVar12 = gldhppalinux_try_needed(&nn,(int)nn.name,(dt_needed *)0x1);
              if (bVar12 != 0) goto LAB_00039300;
            }
            local_60 = (dt_needed *)0x0;
            while (bVar12 = gldhppalinux_search_needed(command_line.rpath_link,&n,(int)local_60),
                  bVar12 == 0) {
              if (command_line.rpath != (char *)0x0) {
                pcVar13 = gldhppalinux_add_sysroot(command_line.rpath);
                bVar12 = gldhppalinux_search_needed(pcVar13,&n,(int)local_60);
                free(pcVar13);
                if (bVar12 != 0) break;
              }
              piVar14 = (int *)bfd_elf_get_runpath_list(link_info.output_bfd,&link_info);
              if (piVar14 != (int *)0x0) {
                do {
                  bVar26 = true;
                  pcVar13 = gldhppalinux_add_sysroot((char *)piVar14[2]);
                  bVar3 = false;
                  if ((bfd *)piVar14[1] == pbVar2->by) {
                    bVar12 = gldhppalinux_search_needed(pcVar13,&n,(int)local_60);
                    bVar26 = bVar12 == 0;
                    bVar3 = !bVar26;
                  }
                  free(pcVar13);
                  piVar14 = (int *)*piVar14;
                } while ((piVar14 != (int *)0x0) && (bVar26));
                if (bVar3) break;
              }
              pcVar13 = ld_so_conf_13908;
              if (initialized_13907 == 0) {
                needed.by = (bfd *)0x0;
                needed.name = (char *)0x0;
                pcVar13 = (char *)concat(ld_sysroot,"/usr/etc/ld.so.conf",0);
                bVar12 = gldhppalinux_parse_ld_so_conf((gldhppalinux_ld_so_conf *)&needed,pcVar13);
                if (bVar12 == 0) {
                  free(pcVar13);
                  pcVar13 = (char *)concat(ld_sysroot,"/etc/ld.so.conf",0);
                  gldhppalinux_parse_ld_so_conf((gldhppalinux_ld_so_conf *)&needed,pcVar13);
                }
                free(pcVar13);
                pcVar13 = ld_so_conf_13908;
                if (needed.by != (bfd *)0x0) {
                  pcVar13 = gldhppalinux_add_sysroot((char *)needed.by);
                  ld_so_conf_13908 = pcVar13;
                  free(needed.by);
                }
                initialized_13907 = 1;
              }
              pcVar17 = pbVar2->name;
              if (pcVar13 != (char *)0x0) {
                needed.by = pbVar2->by;
                needed.name = pcVar17;
                bVar12 = gldhppalinux_search_needed(pcVar13,&needed,(int)local_60);
                if (bVar12 != 0) break;
                pcVar17 = pbVar2->name;
              }
              sVar15 = strlen(pcVar17);
              if (search_head != (search_dirs_type *)0x0) {
                psVar22 = search_head;
                do {
                  if (psVar22->cmdline == 0) {
                    sVar16 = strlen(psVar22->name);
                    pcVar13 = (char *)xmalloc(sVar16 + sVar15 + 2);
                    sprintf(pcVar13,"%s/%s",psVar22->name,pbVar2->name);
                    nn.name = pcVar13;
                    bVar12 = gldhppalinux_try_needed(&nn,(int)pcVar13,local_60);
                    if (bVar12 != 0) goto LAB_00039300;
                    free(pcVar13);
                  }
                  psVar22 = psVar22->next;
                } while (psVar22 != (search_dirs *)0x0);
              }
              if (local_60 == (dt_needed *)0x1) {
                pbVar21 = pbVar2->by;
                pcVar13 = pbVar2->name;
                pcVar17 = (char *)dcgettext(0,
                                            "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"
                                            ,5);
                einfo(pcVar17,pcVar13,pbVar21);
                break;
              }
              local_60 = (dt_needed *)0x1;
            }
          }
        }
LAB_00039300:
      }
      if (((link_info._3_1_ & 0xc0) == 0x80) &&
         (iVar11 = bfd_elf_parse_eh_frame_entries(0,&link_info), iVar11 == 0)) {
        pcVar13 = (char *)dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);
        einfo(pcVar13);
      }
    }
  }
  return;
}



/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Removing unreachable block (ram,0x000397df) */

void FUN_00038fb0(void)

{
  int iVar1;
  undefined4 uVar2;
  bool bVar3;
  ushort uVar4;
  undefined4 *puVar5;
  undefined4 *puVar6;
  uint uVar7;
  int iVar8;
  undefined4 uVar9;
  void *pvVar10;
  int *piVar11;
  size_t sVar12;
  size_t sVar13;
  char *pcVar14;
  undefined4 uVar15;
  int iVar16;
  int iVar17;
  int iVar18;
  undefined4 *puVar19;
  byte *pbVar20;
  byte *pbVar21;
  bool bVar22;
  bool bVar23;
  bool bVar24;
  byte bVar25;
  int local_60;
  int local_50;
  int local_4c;
  
  bVar25 = 0;
  FUN_00030330();
  iVar8 = DAT_00091c3c;
  if (*(int *)(DAT_00091c3c + 0x28) == 1) {
    if (DAT_00091ce0 != 0) {
      unlink_if_ordinary(DAT_00091ce0);
      DAT_00091c54 = bfd_openw(DAT_00091ce0,**(undefined4 **)(DAT_00091c50 + 4));
      iVar16 = DAT_00091ce0;
      if (DAT_00091c54 == 0) {
        uVar9 = dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);
        FUN_00031760(uVar9,iVar16);
      }
    }
    iVar18 = DAT_00091c50;
    iVar16 = DAT_00091c58;
    if (DAT_00091a4c != (void *)0x0) {
      for (; iVar16 != 0; iVar16 = *(int *)(iVar16 + 0x98)) {
        if (((*(int *)(*(int *)(iVar16 + 4) + 4) == 5) && (*(int *)(iVar16 + 0x68) != 0)) &&
           ((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0)) {
          iVar17 = FUN_000353f0(DAT_00091a4c);
          if ((iVar17 == 0) || (iVar17 + 0x10 == 0)) {
            pcVar14 = "%P: warning: unrecognized --build-id style ignored\n";
          }
          else {
            iVar16 = bfd_make_section_with_flags(iVar16,".note.gnu.build-id",0x10402b);
            if (iVar16 != 0) {
              *(undefined4 *)(iVar16 + 0x40) = 2;
              iVar18 = DAT_00091c50;
              iVar1 = *(int *)(*(int *)(DAT_00091c50 + 0x9c) + 0x910);
              *(code **)(iVar1 + 0x10) = FUN_000371f0;
              pvVar10 = DAT_00091a4c;
              *(int *)(iVar1 + 0x18) = iVar16;
              *(void **)(iVar1 + 0x14) = pvVar10;
              *(undefined4 *)(*(int *)(iVar16 + 0x8c) + 4) = 7;
              *(int *)(iVar16 + 0x24) = iVar17 + 0x10;
              goto LAB_00039178;
            }
            pcVar14 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";
          }
          uVar9 = dcgettext(0,pcVar14,5);
          FUN_00031760(uVar9);
          break;
        }
      }
      free(DAT_00091a4c);
      DAT_00091a4c = (void *)0x0;
      iVar18 = DAT_00091c50;
    }
LAB_00039178:
    (**(code **)(*(int *)(*(int *)(iVar18 + 4) + 0x1c0) + 0x1bc))(&DAT_00091c20);
    if (((byte)DAT_00091c20 & 3) == 2) {
      if (DAT_00091c25 >> 7 == (~DAT_00091c26 & 1)) {
        bfd_make_section_with_flags(DAT_00091c58,".note.GNU-stack",DAT_00091c25 >> 3 & 0x10 | 8);
      }
    }
    else {
      if (((DAT_00091c24 & 0x20) == 0) && (DAT_00091c58 != 0)) {
        local_50 = 0;
        bVar3 = false;
        local_4c = 0;
        iVar16 = DAT_00091c58;
        do {
          while ((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0) {
            puVar19 = *(undefined4 **)(iVar16 + 0x60);
            if (puVar19 == (undefined4 *)0x0) {
LAB_00039697:
              if (local_50 != 2) break;
            }
            else {
              local_60 = 0;
              do {
                bVar22 = (undefined *)puVar19[0xf] < PTR__bfd_std_section_00090fc4 + 0x150;
                bVar24 = (undefined *)puVar19[0xf] == PTR__bfd_std_section_00090fc4 + 0x150;
                iVar18 = local_60;
                if (!bVar24) {
                  iVar17 = 0xf;
                  pbVar20 = (byte *)*puVar19;
                  pbVar21 = (byte *)".eh_frame_entry";
                  do {
                    if (iVar17 == 0) break;
                    iVar17 = iVar17 + -1;
                    bVar22 = *pbVar20 < *pbVar21;
                    bVar24 = *pbVar20 == *pbVar21;
                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;
                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;
                  } while (bVar24);
                  bVar23 = false;
                  bVar22 = (!bVar22 && !bVar24) == bVar22;
                  if (bVar22) {
                    local_60 = 2;
                    goto LAB_0003966f;
                  }
                  iVar17 = 10;
                  pbVar20 = (byte *)*puVar19;
                  pbVar21 = (byte *)".eh_frame";
                  do {
                    if (iVar17 == 0) break;
                    iVar17 = iVar17 + -1;
                    bVar23 = *pbVar20 < *pbVar21;
                    bVar22 = *pbVar20 == *pbVar21;
                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;
                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;
                  } while (bVar22);
                  if (((!bVar23 && !bVar22) == bVar23) && (iVar18 = 1, (uint)puVar19[9] < 9)) {
                    iVar18 = local_60;
                  }
                }
                local_60 = iVar18;
                puVar19 = (undefined4 *)puVar19[3];
              } while (puVar19 != (undefined4 *)0x0);
              if (local_60 == 0) goto LAB_00039697;
LAB_0003966f:
              if ((local_50 != 0) && (local_50 != local_60)) {
                if (local_60 != 1) {
                  iVar16 = local_4c;
                }
                uVar9 = dcgettext(0,
                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"
                                  ,5);
                FUN_00031760(uVar9,iVar16);
                goto LAB_000396cd;
              }
              local_50 = local_60;
              if (local_4c != 0) goto LAB_00039697;
              if (local_60 != 2) {
                if ((DAT_00091c20._2_2_ & 0xc000) == 0) {
                  local_50 = 1;
                }
                else {
                  local_50 = 1;
                  bVar3 = true;
                  if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {
                    local_4c = iVar16;
                  }
                }
                break;
              }
              bVar3 = true;
              if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {
                local_4c = iVar16;
              }
            }
            iVar16 = *(int *)(iVar16 + 0x98);
            local_50 = 2;
            DAT_00091c20._2_2_ = DAT_00091c20._2_2_ & 0x3fff | 0x8000;
            if (iVar16 == 0) goto LAB_000396cd;
          }
          iVar16 = *(int *)(iVar16 + 0x98);
        } while (iVar16 != 0);
LAB_000396cd:
        if ((local_4c == 0) ||
           (iVar16 = bfd_make_section_with_flags
                               (local_4c,".eh_frame_hdr",
                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x20) | 8),
           iVar16 == 0)) {
          if (bVar3) {
            uVar9 = dcgettext(0,
                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"
                              ,5);
            FUN_00031760(uVar9);
          }
        }
        else {
          *(undefined4 *)(iVar16 + 0x40) = 2;
          *(int *)(iVar8 + 0xac) = iVar16;
        }
      }
      puVar6 = (undefined4 *)bfd_elf_get_needed_list(DAT_00091c50,&DAT_00091c20);
      uVar4 = DAT_00091c20._2_2_;
      for (puVar19 = puVar6; DAT_00091c20._2_2_ = uVar4, puVar19 != (undefined4 *)0x0;
          puVar19 = (undefined4 *)*puVar19) {
        puVar5 = puVar6;
        if ((puVar19[1] == 0) ||
           ((uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 1) == 0 &&
            (((puVar19[1] == 0 || ((DAT_00091c20._2_2_ & 0x180) != 0x80)) ||
             (uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 4) == 0)))))) {
          for (; puVar5 != puVar19; puVar5 = (undefined4 *)*puVar5) {
            if (((puVar5[1] == 0) ||
                (uVar7 = bfd_elf_get_dyn_lib_class(puVar5[1]), (uVar7 & 1) == 0)) &&
               (iVar8 = strcmp((char *)puVar5[2],(char *)puVar19[2]), iVar8 == 0)) {
              if (puVar19 != puVar5) goto LAB_00039300;
              break;
            }
          }
          DAT_00091ae4 = FUN_00038720;
          DAT_00091a60 = 0;
          DAT_00091ae0 = puVar19;
          FUN_00024c50(FUN_00035720);
          if ((DAT_00091a60 == 0) ||
             (uVar7 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_00091a60 + 0x10)),
             (uVar7 & 1) != 0)) {
            uVar9 = puVar19[1];
            uVar2 = puVar19[2];
            if (DAT_00091d90 != 0) {
              uVar15 = dcgettext(0,"%s needed by %pB\n",5);
              FUN_00031730(uVar15,uVar2,uVar9);
            }
            if ((DAT_00091a60 == 0) || (iVar8 = FUN_00038820(), iVar8 == 0)) {
              bVar3 = false;
              while (iVar8 = FUN_00038b50(), iVar8 == 0) {
                if (DAT_00091d04 != 0) {
                  pvVar10 = (void *)FUN_00037360();
                  iVar8 = FUN_00038b50();
                  free(pvVar10);
                  if (iVar8 != 0) break;
                }
                piVar11 = (int *)bfd_elf_get_runpath_list(DAT_00091c50,&DAT_00091c20);
                if (piVar11 != (int *)0x0) {
                  do {
                    bVar24 = true;
                    pvVar10 = (void *)FUN_00037360();
                    bVar22 = false;
                    if (piVar11[1] == puVar19[1]) {
                      iVar8 = FUN_00038b50();
                      bVar24 = iVar8 == 0;
                      bVar22 = !bVar24;
                    }
                    free(pvVar10);
                    piVar11 = (int *)*piVar11;
                  } while ((piVar11 != (int *)0x0) && (bVar24));
                  if (bVar22) break;
                }
                if (DAT_00091a44 == 0) {
                  pvVar10 = (void *)concat(DAT_00091ca8,"/usr/etc/ld.so.conf",0);
                  iVar8 = FUN_00037470();
                  if (iVar8 == 0) {
                    free(pvVar10);
                    pvVar10 = (void *)concat(DAT_00091ca8,"/etc/ld.so.conf",0);
                    FUN_00037470();
                  }
                  free(pvVar10);
                  DAT_00091a44 = 1;
                }
                pcVar14 = (char *)puVar19[2];
                if (DAT_00091a40 != 0) {
                  iVar8 = FUN_00038b50();
                  if (iVar8 != 0) break;
                  pcVar14 = (char *)puVar19[2];
                }
                sVar12 = strlen(pcVar14);
                if (DAT_00091e04 != (int *)0x0) {
                  piVar11 = DAT_00091e04;
                  do {
                    if (piVar11[2] == 0) {
                      sVar13 = strlen((char *)piVar11[1]);
                      pcVar14 = (char *)xmalloc(sVar13 + sVar12 + 2);
                      sprintf(pcVar14,"%s/%s",piVar11[1],puVar19[2]);
                      iVar8 = FUN_00038820();
                      if (iVar8 != 0) goto LAB_00039300;
                      free(pcVar14);
                    }
                    piVar11 = (int *)*piVar11;
                  } while (piVar11 != (int *)0x0);
                }
                if (bVar3) {
                  uVar9 = puVar19[1];
                  uVar2 = puVar19[2];
                  uVar15 = dcgettext(0,
                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"
                                     ,5);
                  FUN_00031760(uVar15,uVar2,uVar9);
                  break;
                }
                bVar3 = true;
              }
            }
          }
        }
LAB_00039300:
        uVar4 = DAT_00091c20._2_2_;
      }
      DAT_00091c20._3_1_ = (byte)(uVar4 >> 8);
      bVar25 = DAT_00091c20._3_1_ & 0xc0;
      if ((bVar25 == 0x80) && (iVar8 = bfd_elf_parse_eh_frame_entries(0,&DAT_00091c20), iVar8 == 0))
      {
        uVar9 = dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);
        FUN_00031760(uVar9);
      }
    }
  }
  return;
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00015a80
ADD EBX,0x58047
SUB ESP,0x5c
CALL 0x00030330
LEA EDI,[EBX + 0xc20]
MOV EAX,dword ptr [EDI + 0x1c]
MOV dword ptr [ESP + 0x18],EDI
CMP dword ptr [EAX + 0x28],0x1
MOV dword ptr [ESP + 0x24],EAX
JNZ 0x0003912f
LEA ESI,[EBX + 0xcc0]
MOV EAX,dword ptr [ESI + 0x20]
MOV dword ptr [ESP + 0x28],ESI
TEST EAX,EAX
JZ 0x0003901c
SUB ESP,0xc
PUSH EAX
CALL 0x000147c0
POP EBP
POP EAX
MOV EAX,dword ptr [EDI + 0x30]
MOV EAX,dword ptr [EAX + 0x4]
PUSH dword ptr [EAX]
PUSH dword ptr [ESI + 0x20]
CALL 0x000148c0
ADD ESP,0x10
MOV dword ptr [EDI + 0x34],EAX
TEST EAX,EAX
JZ 0x000398c0
MOV EDX,dword ptr [EBX + 0xa4c]
MOV EAX,dword ptr [ESP + 0x18]
TEST EDX,EDX
JZ 0x0003971a
MOV ESI,dword ptr [EAX + 0x38]
TEST ESI,ESI
JNZ 0x0003904e
JMP 0x0003915b
MOV ESI,dword ptr [ESI + 0x98]
TEST ESI,ESI
JZ 0x0003915b
MOV EAX,dword ptr [ESI + 0x4]
CMP dword ptr [EAX + 0x4],0x5
JNZ 0x00039040
MOV EBP,dword ptr [ESI + 0x68]
TEST EBP,EBP
JZ 0x00039040
MOV EAX,dword ptr [ESI + 0xa0]
TEST byte ptr [EAX + 0x24],0x10
JNZ 0x00039040
SUB ESP,0xc
PUSH EDX
CALL 0x000353f0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00039137
ADD EAX,0x10
MOV EDI,EAX
JZ 0x00039137
SUB ESP,0x4
LEA EAX,[EBX + 0xfffeeb88]
PUSH 0x10402b
PUSH EAX
PUSH ESI
CALL 0x00014150
ADD ESP,0x10
TEST EAX,EAX
JZ 0x000398eb
MOV ECX,dword ptr [ESP + 0x18]
LEA ESI,[EBX + 0xfffa61f0]
MOV dword ptr [EAX + 0x40],0x2
MOV EDX,dword ptr [ECX + 0x30]
MOV ECX,dword ptr [EDX + 0x9c]
MOV ECX,dword ptr [ECX + 0x910]
MOV dword ptr [ECX + 0x10],ESI
MOV ESI,dword ptr [EBX + 0xa4c]
MOV dword ptr [ECX + 0x18],EAX
MOV dword ptr [ECX + 0x14],ESI
MOV ECX,dword ptr [EAX + 0x8c]
MOV dword ptr [ECX + 0x4],0x7
MOV dword ptr [EAX + 0x24],EDI
JMP 0x00039178
MOVZX EDX,byte ptr [EAX + 0x5]
MOVZX EAX,byte ptr [EAX + 0x6]
MOV ECX,EDX
MOV byte ptr [ESP + 0xc],AL
NOT EAX
SHR CL,0x7
AND EAX,0x1
CMP CL,AL
JNZ 0x0003912f
MOV EAX,EDX
SUB ESP,0x4
SHR AL,0x3
AND EAX,0x10
OR EAX,0x8
MOVZX EAX,AL
PUSH EAX
LEA EAX,[EBX + 0xfffeeb9b]
PUSH EAX
MOV EAX,dword ptr [ESP + 0x24]
PUSH dword ptr [EAX + 0x38]
CALL 0x00014150
ADD ESP,0x10
ADD ESP,0x5c
POP EBX
POP ESI
POP EDI
POP EBP
RET
SUB ESP,0x4
LEA EAX,[EBX + 0xfffee760]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000142f0
MOV dword ptr [ESP],EAX
CALL 0x00031760
MOV EDX,dword ptr [EBX + 0xa4c]
ADD ESP,0x10
SUB ESP,0xc
PUSH EDX
CALL 0x00014cb0
MOV EAX,dword ptr [ESP + 0x28]
ADD ESP,0x10
MOV dword ptr [EBX + 0xa4c],0x0
MOV EDX,dword ptr [EAX + 0x30]
SUB ESP,0xc
MOV EAX,dword ptr [EDX + 0x4]
MOV EDI,dword ptr [ESP + 0x24]
MOV EAX,dword ptr [EAX + 0x1c0]
PUSH EDI
CALL dword ptr [EAX + 0x1bc]
MOVZX EAX,byte ptr [EDI]
MOV byte ptr [ESP + 0x1c],AL
AND EAX,0x3
ADD ESP,0x10
CMP AL,0x2
MOV EAX,dword ptr [ESP + 0x18]
JZ 0x000390ed
TEST byte ptr [EAX + 0x4],0x20
JZ 0x00039598
SUB ESP,0x8
MOV EAX,dword ptr [ESP + 0x20]
PUSH EAX
PUSH dword ptr [EAX + 0x30]
CALL 0x00014510
LEA EDX,[EBX + 0xe04]
MOV dword ptr [ESP + 0x2c],EAX
ADD ESP,0x10
MOV EBP,EAX
MOV dword ptr [ESP + 0x24],EDX
TEST EAX,EAX
JZ 0x0003930b
LEA ESI,[ESI]
MOV EAX,dword ptr [EBP + 0x4]
TEST EAX,EAX
JZ 0x0003921d
SUB ESP,0xc
PUSH EAX
CALL 0x00014390
ADD ESP,0x10
TEST AL,0x1
JNZ 0x00039300
MOV EDX,dword ptr [EBP + 0x4]
TEST EDX,EDX
JZ 0x0003921d
MOV EAX,dword ptr [ESP + 0x18]
MOVZX EAX,word ptr [EAX + 0x2]
MOV word ptr [ESP + 0xc],AX
AND AX,0x180
CMP AX,0x80
JZ 0x00039370
MOV EAX,dword ptr [ESP + 0x1c]
MOV ESI,EAX
CMP EAX,EBP
JZ 0x00039266
LEA ESI,[ESI]
NOP
MOV EAX,dword ptr [ESI + 0x4]
TEST EAX,EAX
JZ 0x00039247
SUB ESP,0xc
PUSH EAX
CALL 0x00014390
ADD ESP,0x10
TEST AL,0x1
JNZ 0x00039260
SUB ESP,0x8
PUSH dword ptr [EBP + 0x8]
PUSH dword ptr [ESI + 0x8]
CALL 0x000140c0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00039360
MOV ESI,dword ptr [ESI]
CMP ESI,EBP
JNZ 0x00039230
LEA EAX,[EBX + 0xfffa7720]
SUB ESP,0xc
MOV dword ptr [EBX + 0xae0],EBP
MOV dword ptr [EBX + 0xae4],EAX
LEA EAX,[EBX + 0xfffa4720]
PUSH EAX
MOV dword ptr [EBX + 0xa60],0x0
CALL 0x00024c50
MOV EAX,dword ptr [EBX + 0xa60]
ADD ESP,0x10
TEST EAX,EAX
JZ 0x000392b0
SUB ESP,0xc
PUSH dword ptr [EAX + 0x10]
CALL 0x00014390
ADD ESP,0x10
TEST AL,0x1
JZ 0x00039300
LEA EAX,[EBX + 0xd90]
MOV ESI,dword ptr [EBP + 0x4]
MOV EDI,dword ptr [EBP + 0x8]
MOV EAX,dword ptr [EAX]
MOV dword ptr [ESP + 0x34],ESI
MOV dword ptr [ESP + 0x38],EDI
MOV dword ptr [ESP + 0x3c],ESI
TEST EAX,EAX
JNZ 0x0003975c
MOV EAX,dword ptr [EBX + 0xa60]
TEST EAX,EAX
JZ 0x00039390
MOV EDX,dword ptr [EAX + 0x8]
MOV ECX,0x1
LEA EAX,[ESP + 0x3c]
MOV dword ptr [ESP + 0x40],EDX
CALL 0x00038820
TEST EAX,EAX
JZ 0x00039390
LEA ESI,[ESI]
MOV EBP,dword ptr [EBP]
TEST EBP,EBP
JNZ 0x000391e0
MOV EAX,dword ptr [ESP + 0x18]
MOVZX EAX,byte ptr [EAX + 0x3]
MOV byte ptr [ESP + 0xc],AL
AND EAX,0xffffffc0
CMP AL,0x80
JNZ 0x0003912f
SUB ESP,0x8
PUSH dword ptr [ESP + 0x20]
PUSH 0x0
CALL 0x000147b0
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x0003912f
SUB ESP,0x4
LEA EAX,[EBX + 0xfffee87c]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000142f0
MOV dword ptr [ESP],EAX
CALL 0x00031760
ADD ESP,0x10
JMP 0x0003912f
CMP EBP,ESI
JNZ 0x00039300
JMP 0x00039266
SUB ESP,0xc
PUSH EDX
CALL 0x00014390
ADD ESP,0x10
TEST AL,0x4
JNZ 0x00039300
JMP 0x0003921d
LEA EAX,[ESP + 0x34]
MOV dword ptr [ESP + 0xc],0x0
MOV dword ptr [ESP + 0x20],EAX
LEA EAX,[EBX + 0xca8]
MOV dword ptr [ESP + 0x2c],EAX
MOV EDI,dword ptr [ESP + 0x28]
MOV ECX,dword ptr [ESP + 0xc]
MOV EDX,dword ptr [ESP + 0x20]
MOV EAX,dword ptr [EDI + 0x48]
CALL 0x00038b50
TEST EAX,EAX
JNZ 0x00039300
MOV EAX,dword ptr [EDI + 0x44]
TEST EAX,EAX
JZ 0x000393f7
CALL 0x00037360
MOV ECX,dword ptr [ESP + 0xc]
MOV EDX,dword ptr [ESP + 0x20]
MOV ESI,EAX
CALL 0x00038b50
SUB ESP,0xc
PUSH ESI
MOV EDI,EAX
CALL 0x00014cb0
ADD ESP,0x10
TEST EDI,EDI
JNZ 0x00039300
SUB ESP,0x8
MOV EAX,dword ptr [ESP + 0x20]
PUSH EAX
PUSH dword ptr [EAX + 0x30]
CALL 0x000141a0
ADD ESP,0x10
MOV ESI,EAX
TEST EAX,EAX
JZ 0x00039490
MOV dword ptr [ESP + 0x14],EBP
JMP 0x00039438
SUB ESP,0xc
PUSH EDI
CALL 0x00014cb0
MOV ESI,dword ptr [ESI]
ADD ESP,0x10
TEST ESI,ESI
JZ 0x00039480
MOV EAX,EBP
TEST AL,AL
JZ 0x00039480
MOV EAX,dword ptr [ESI + 0x8]
MOV EBP,0x1
CALL 0x00037360
MOV dword ptr [ESP + 0x10],0x0
MOV EDI,EAX
MOV EAX,dword ptr [ESP + 0x14]
MOV EAX,dword ptr [EAX + 0x4]
CMP dword ptr [ESI + 0x4],EAX
JNZ 0x00039420
MOV EDX,dword ptr [ESP + 0x20]
MOV ECX,dword ptr [ESP + 0xc]
MOV EAX,EDI
CALL 0x00038b50
XOR EDX,EDX
TEST EAX,EAX
SETNZ DL
SETZ AL
MOV dword ptr [ESP + 0x10],EDX
MOV EBP,EAX
JMP 0x00039420
MOV EDX,dword ptr [ESP + 0x10]
MOV EBP,dword ptr [ESP + 0x14]
TEST EDX,EDX
JNZ 0x00039300
MOV ECX,dword ptr [EBX + 0xa44]
TEST ECX,ECX
JZ 0x00039782
MOV EAX,dword ptr [EBX + 0xa40]
MOV EDX,dword ptr [EBP + 0x8]
TEST EAX,EAX
JZ 0x000394ce
MOV ECX,dword ptr [EBP + 0x4]
MOV dword ptr [ESP + 0x48],EDX
LEA EDX,[ESP + 0x44]
MOV dword ptr [ESP + 0x44],ECX
MOV ECX,dword ptr [ESP + 0xc]
CALL 0x00038b50
TEST EAX,EAX
JNZ 0x00039300
MOV EDX,dword ptr [EBP + 0x8]
SUB ESP,0xc
PUSH EDX
CALL 0x00014720
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0x24]
MOV ESI,dword ptr [EDX]
TEST ESI,ESI
JZ 0x00039558
ADD EAX,0x2
MOV dword ptr [ESP + 0x10],EAX
LEA EAX,[EBX + 0xfffeeb7b]
MOV dword ptr [ESP + 0x14],EAX
LEA ESI,[ESI]
MOV EAX,dword ptr [ESI + 0x8]
TEST EAX,EAX
JNZ 0x00039552
SUB ESP,0xc
PUSH dword ptr [ESI + 0x4]
CALL 0x00014720
ADD EAX,dword ptr [ESP + 0x20]
MOV dword ptr [ESP],EAX
CALL 0x00014cc8
PUSH dword ptr [EBP + 0x8]
PUSH dword ptr [ESI + 0x4]
MOV EDI,EAX
PUSH dword ptr [ESP + 0x2c]
PUSH EAX
CALL 0x00014a20
MOV dword ptr [ESP + 0x60],EDI
ADD ESP,0x20
MOV ECX,dword ptr [ESP + 0xc]
LEA EAX,[ESP + 0x3c]
MOV EDX,EDI
CALL 0x00038820
TEST EAX,EAX
JNZ 0x00039300
SUB ESP,0xc
PUSH EDI
CALL 0x00014cb0
ADD ESP,0x10
MOV ESI,dword ptr [ESI]
TEST ESI,ESI
JNZ 0x000394f8
CMP dword ptr [ESP + 0xc],0x1
JNZ 0x0003958b
SUB ESP,0x4
LEA EAX,[EBX + 0xfffee8a4]
MOV EDI,dword ptr [EBP + 0x4]
MOV ESI,dword ptr [EBP + 0x8]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000142f0
ADD ESP,0xc
PUSH EDI
PUSH ESI
PUSH EAX
CALL 0x00031760
ADD ESP,0x10
JMP 0x00039300
MOV dword ptr [ESP + 0xc],0x1
JMP 0x000393aa
MOV EBP,dword ptr [EAX + 0x38]
TEST EBP,EBP
JZ 0x000391b2
MOV EAX,dword ptr [EBX + 0xffffffc4]
MOV dword ptr [ESP + 0x1c],0x0
MOV dword ptr [ESP + 0x2c],0x0
ADD EAX,0x150
MOV dword ptr [ESP + 0x20],0x0
MOV dword ptr [ESP + 0x10],EAX
JMP 0x000395de
MOV EBP,dword ptr [EBP + 0x98]
TEST EBP,EBP
JZ 0x000396cd
MOV EAX,dword ptr [EBP + 0xa0]
TEST byte ptr [EAX + 0x24],0x10
JNZ 0x000395d0
MOV EDX,dword ptr [EBP + 0x60]
TEST EDX,EDX
JZ 0x00039697
LEA EAX,[EBX + 0xfffeebab]
MOV dword ptr [ESP + 0xc],0x0
MOV dword ptr [ESP + 0x14],EAX
JMP 0x00039645
MOV ESI,EAX
MOV ECX,0xa
LEA EDI,[EBX + 0xfffeebbb]
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
TEST AL,AL
JNZ 0x0003963a
CMP dword ptr [EDX + 0x24],0x9
MOV EAX,0x1
CMOVC EAX,dword ptr [ESP + 0xc]
MOV dword ptr [ESP + 0xc],EAX
MOV EDX,dword ptr [EDX + 0xc]
TEST EDX,EDX
JZ 0x00039722
MOV EAX,dword ptr [EDX]
MOV EDI,dword ptr [ESP + 0x10]
CMP dword ptr [EDX + 0x3c],EDI
JZ 0x0003963a
MOV EDI,dword ptr [ESP + 0x14]
MOV ECX,0xf
MOV ESI,EAX
CMPSB.REPE ES:EDI,ESI
SETA CL
SBB CL,0x0
TEST CL,CL
JNZ 0x00039610
MOV dword ptr [ESP + 0xc],0x2
MOV EAX,dword ptr [ESP + 0x1c]
TEST EAX,EAX
JZ 0x00039683
MOV EDX,dword ptr [ESP + 0xc]
CMP EAX,EDX
JNZ 0x000398fb
MOV EAX,dword ptr [ESP + 0xc]
MOV EDX,dword ptr [ESP + 0x20]
MOV dword ptr [ESP + 0x1c],EAX
TEST EDX,EDX
JZ 0x00039738
CMP dword ptr [ESP + 0x1c],0x2
JNZ 0x000395d0
MOV ECX,dword ptr [ESP + 0x18]
MOV EBP,dword ptr [EBP + 0x98]
MOV dword ptr [ESP + 0x1c],0x2
MOVZX EAX,byte ptr [ECX + 0x3]
MOV byte ptr [ESP + 0xc],AL
AND EAX,0x3f
OR EAX,0xffffff80
MOV byte ptr [ECX + 0x3],AL
TEST EBP,EBP
JNZ 0x000395de
MOV EDX,dword ptr [ESP + 0x20]
TEST EDX,EDX
JZ 0x00039810
MOV EAX,dword ptr [EDX + 0x4]
SUB ESP,0x4
MOV EAX,dword ptr [EAX + 0x1c0]
MOV EAX,dword ptr [EAX + 0x20]
OR EAX,0x8
PUSH EAX
LEA EAX,[EBX + 0xfffeebc5]
PUSH EAX
PUSH EDX
CALL 0x00014150
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00039810
MOV ECX,dword ptr [ESP + 0x24]
MOV dword ptr [EAX + 0x40],0x2
MOV dword ptr [ECX + 0xac],EAX
JMP 0x000391b2
MOV EDX,dword ptr [EAX + 0x30]
JMP 0x00039178
MOV EDI,dword ptr [ESP + 0xc]
TEST EDI,EDI
JZ 0x00039697
JMP 0x0003966f
CMP EAX,0x2
JZ 0x00039847
MOV EAX,dword ptr [ESP + 0x18]
TEST byte ptr [EAX + 0x3],0xc0
JNZ 0x00039866
MOV dword ptr [ESP + 0x1c],0x1
JMP 0x000395d0
SUB ESP,0x4
LEA EAX,[EBX + 0xfffeebd3]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000142f0
ADD ESP,0xc
PUSH ESI
PUSH EDI
PUSH EAX
CALL 0x00031730
ADD ESP,0x10
JMP 0x000392d2
MOV dword ptr [ESP + 0x44],0x0
LEA EAX,[EBX + 0xfffeebe5]
SUB ESP,0x4
MOV dword ptr [ESP + 0x50],0x0
MOV dword ptr [ESP + 0x4c],0x0
PUSH 0x0
PUSH EAX
MOV EAX,dword ptr [ESP + 0x38]
PUSH dword ptr [EAX]
CALL 0x000143f0
LEA ESI,[ESP + 0x54]
MOV EDX,EAX
MOV EDI,EAX
MOV EAX,ESI
CALL 0x00037470
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0003988d
SUB ESP,0xc
PUSH EDI
CALL 0x00014cb0
MOV EAX,dword ptr [ESP + 0x54]
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0003983f
CALL 0x00037360
SUB ESP,0xc
MOV dword ptr [ESP + 0x1c],EAX
PUSH dword ptr [ESP + 0x50]
MOV dword ptr [EBX + 0xa40],EAX
CALL 0x00014cb0
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x10]
MOV dword ptr [EBX + 0xa44],0x1
JMP 0x000394a4
MOV EAX,dword ptr [ESP + 0x2c]
TEST EAX,EAX
JZ 0x000391b2
SUB ESP,0x4
LEA EAX,[EBX + 0xfffee830]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000142f0
MOV dword ptr [ESP],EAX
CALL 0x00031760
ADD ESP,0x10
JMP 0x000391b2
MOV EAX,dword ptr [EBX + 0xa40]
JMP 0x00039801
MOV EAX,dword ptr [EBP + 0x4]
MOV dword ptr [ESP + 0x2c],0x1
CMP dword ptr [EAX + 0x4],0x5
MOV EAX,dword ptr [ESP + 0x20]
CMOVZ EAX,EBP
MOV dword ptr [ESP + 0x20],EAX
JMP 0x000396a2
MOV EAX,dword ptr [EBP + 0x4]
MOV dword ptr [ESP + 0x1c],0x1
MOV dword ptr [ESP + 0x2c],0x1
CMP dword ptr [EAX + 0x4],0x5
MOV EAX,dword ptr [ESP + 0x20]
CMOVZ EAX,EBP
MOV dword ptr [ESP + 0x20],EAX
JMP 0x000395d0
SUB ESP,0xc
PUSH EDI
CALL 0x00014cb0
ADD ESP,0xc
LEA EAX,[EBX + 0xfffeebe9]
PUSH 0x0
PUSH EAX
MOV EAX,dword ptr [ESP + 0x38]
PUSH dword ptr [EAX]
CALL 0x000143f0
MOV EDX,EAX
MOV EDI,EAX
MOV EAX,ESI
CALL 0x00037470
ADD ESP,0x10
JMP 0x000397cb
MOV EAX,dword ptr [ESP + 0x28]
SUB ESP,0x4
MOV ESI,dword ptr [EAX + 0x20]
LEA EAX,[EBX + 0xfffee738]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000142f0
POP EDX
POP ECX
PUSH ESI
PUSH EAX
CALL 0x00031760
ADD ESP,0x10
JMP 0x0003901c
SUB ESP,0x4
LEA EAX,[EBX + 0xfffee794]
PUSH 0x5
JMP 0x00039142
CMP EDX,0x1
LEA EAX,[EBX + 0xfffee7e0]
CMOVNZ EBP,dword ptr [ESP + 0x20]
SUB ESP,0x4
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000142f0
POP ECX
POP ESI
PUSH EBP
PUSH EAX
CALL 0x00031760
ADD ESP,0x10
JMP 0x000396cd
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Removing unreachable block (ram,0x000397df) */\n\nvoid FUN_00038fb0(void)\n\n{\n  int iVar1;\n  undefined4 uVar2;\n  bool bVar3;\n  ushort uVar4;\n  undefined4 *puVar5;\n  undefined4 *puVar6;\n  uint uVar7;\n  int iVar8;\n  undefined4 uVar9;\n  void *pvVar10;\n  int *piVar11;\n  size_t sVar12;\n  size_t sVar13;\n  char *pcVar14;\n  undefined4 uVar15;\n  int iVar16;\n  int iVar17;\n  int iVar18;\n  undefined4 *puVar19;\n  byte *pbVar20;\n  byte *pbVar21;\n  bool bVar22;\n  bool bVar23;\n  bool bVar24;\n  byte bVar25;\n  int local_60;\n  int local_50;\n  int local_4c;\n  \n  bVar25 = 0;\n  FUN_00030330();\n  iVar8 = DAT_00091c3c;\n  if (*(int *)(DAT_00091c3c + 0x28) == 1) {\n    if (DAT_00091ce0 != 0) {\n      unlink_if_ordinary(DAT_00091ce0);\n      DAT_00091c54 = bfd_openw(DAT_00091ce0,**(undefined4 **)(DAT_00091c50 + 4));\n      iVar16 = DAT_00091ce0;\n      if (DAT_00091c54 == 0) {\n        uVar9 = dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);\n        FUN_00031760(uVar9,iVar16);\n      }\n    }\n    iVar18 = DAT_00091c50;\n    iVar16 = DAT_00091c58;\n    if (DAT_00091a4c != (void *)0x0) {\n      for (; iVar16 != 0; iVar16 = *(int *)(iVar16 + 0x98)) {\n        if (((*(int *)(*(int *)(iVar16 + 4) + 4) == 5) && (*(int *)(iVar16 + 0x68) != 0)) &&\n           ((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0)) {\n          iVar17 = FUN_000353f0(DAT_00091a4c);\n          if ((iVar17 == 0) || (iVar17 + 0x10 == 0)) {\n            pcVar14 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar16 = bfd_make_section_with_flags(iVar16,".note.gnu.build-id",0x10402b);\n            if (iVar16 != 0) {\n              *(undefined4 *)(iVar16 + 0x40) = 2;\n              iVar18 = DAT_00091c50;\n              iVar1 = *(int *)(*(int *)(DAT_00091c50 + 0x9c) + 0x910);\n              *(code **)(iVar1 + 0x10) = FUN_000371f0;\n              pvVar10 = DAT_00091a4c;\n              *(int *)(iVar1 + 0x18) = iVar16;\n              *(void **)(iVar1 + 0x14) = pvVar10;\n              *(undefined4 *)(*(int *)(iVar16 + 0x8c) + 4) = 7;\n              *(int *)(iVar16 + 0x24) = iVar17 + 0x10;\n              goto LAB_00039178;\n            }\n            pcVar14 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          uVar9 = dcgettext(0,pcVar14,5);\n          FUN_00031760(uVar9);\n          break;\n        }\n      }\n      free(DAT_00091a4c);\n      DAT_00091a4c = (void *)0x0;\n      iVar18 = DAT_00091c50;\n    }\nLAB_00039178:\n    (**(code **)(*(int *)(*(int *)(iVar18 + 4) + 0x1c0) + 0x1bc))(&DAT_00091c20);\n    if (((byte)DAT_00091c20 & 3) == 2) {\n      if (DAT_00091c25 >> 7 == (~DAT_00091c26 & 1)) {\n        bfd_make_section_with_flags(DAT_00091c58,".note.GNU-stack",DAT_00091c25 >> 3 & 0x10 | 8);\n      }\n    }\n    else {\n      if (((DAT_00091c24 & 0x20) == 0) && (DAT_00091c58 != 0)) {\n        local_50 = 0;\n        bVar3 = false;\n        local_4c = 0;\n        iVar16 = DAT_00091c58;\n        do {\n          while ((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0) {\n            puVar19 = *(undefined4 **)(iVar16 + 0x60);\n            if (puVar19 == (undefined4 *)0x0) {\nLAB_00039697:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar22 = (undefined *)puVar19[0xf] < PTR__bfd_std_section_00090fc4 + 0x150;\n                bVar24 = (undefined *)puVar19[0xf] == PTR__bfd_std_section_00090fc4 + 0x150;\n                iVar18 = local_60;\n                if (!bVar24) {\n                  iVar17 = 0xf;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar22 = *pbVar20 < *pbVar21;\n                    bVar24 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar24);\n                  bVar23 = false;\n                  bVar22 = (!bVar22 && !bVar24) == bVar22;\n                  if (bVar22) {\n                    local_60 = 2;\n                    goto LAB_0003966f;\n                  }\n                  iVar17 = 10;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar23 = *pbVar20 < *pbVar21;\n                    bVar22 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar22);\n                  if (((!bVar23 && !bVar22) == bVar23) && (iVar18 = 1, (uint)puVar19[9] < 9)) {\n                    iVar18 = local_60;\n                  }\n                }\n                local_60 = iVar18;\n                puVar19 = (undefined4 *)puVar19[3];\n              } while (puVar19 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_00039697;\nLAB_0003966f:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar16 = local_4c;\n                }\n                uVar9 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00031760(uVar9,iVar16);\n                goto LAB_000396cd;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_00039697;\n              if (local_60 != 2) {\n                if ((DAT_00091c20._2_2_ & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar3 = true;\n                  if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                    local_4c = iVar16;\n                  }\n                }\n                break;\n              }\n              bVar3 = true;\n              if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                local_4c = iVar16;\n              }\n            }\n            iVar16 = *(int *)(iVar16 + 0x98);\n            local_50 = 2;\n            DAT_00091c20._2_2_ = DAT_00091c20._2_2_ & 0x3fff | 0x8000;\n            if (iVar16 == 0) goto LAB_000396cd;\n          }\n          iVar16 = *(int *)(iVar16 + 0x98);\n        } while (iVar16 != 0);\nLAB_000396cd:\n        if ((local_4c == 0) ||\n           (iVar16 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x20) | 8),\n           iVar16 == 0)) {\n          if (bVar3) {\n            uVar9 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00031760(uVar9);\n          }\n        }\n        else {\n          *(undefined4 *)(iVar16 + 0x40) = 2;\n          *(int *)(iVar8 + 0xac) = iVar16;\n        }\n      }\n      puVar6 = (undefined4 *)bfd_elf_get_needed_list(DAT_00091c50,&DAT_00091c20);\n      uVar4 = DAT_00091c20._2_2_;\n      for (puVar19 = puVar6; DAT_00091c20._2_2_ = uVar4, puVar19 != (undefined4 *)0x0;\n          puVar19 = (undefined4 *)*puVar19) {\n        puVar5 = puVar6;\n        if ((puVar19[1] == 0) ||\n           ((uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 1) == 0 &&\n            (((puVar19[1] == 0 || ((DAT_00091c20._2_2_ & 0x180) != 0x80)) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 4) == 0)))))) {\n          for (; puVar5 != puVar19; puVar5 = (undefined4 *)*puVar5) {\n            if (((puVar5[1] == 0) ||\n                (uVar7 = bfd_elf_get_dyn_lib_class(puVar5[1]), (uVar7 & 1) == 0)) &&\n               (iVar8 = strcmp((char *)puVar5[2],(char *)puVar19[2]), iVar8 == 0)) {\n              if (puVar19 != puVar5) goto LAB_00039300;\n              break;\n            }\n          }\n          DAT_00091ae4 = FUN_00038720;\n          DAT_00091a60 = 0;\n          DAT_00091ae0 = puVar19;\n          FUN_00024c50(FUN_00035720);\n          if ((DAT_00091a60 == 0) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_00091a60 + 0x10)),\n             (uVar7 & 1) != 0)) {\n            uVar9 = puVar19[1];\n            uVar2 = puVar19[2];\n            if (DAT_00091d90 != 0) {\n              uVar15 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00031730(uVar15,uVar2,uVar9);\n            }\n            if ((DAT_00091a60 == 0) || (iVar8 = FUN_00038820(), iVar8 == 0)) {\n              bVar3 = false;\n              while (iVar8 = FUN_00038b50(), iVar8 == 0) {\n                if (DAT_00091d04 != 0) {\n                  pvVar10 = (void *)FUN_00037360();\n                  iVar8 = FUN_00038b50();\n                  free(pvVar10);\n                  if (iVar8 != 0) break;\n                }\n                piVar11 = (int *)bfd_elf_get_runpath_list(DAT_00091c50,&DAT_00091c20);\n                if (piVar11 != (int *)0x0) {\n                  do {\n                    bVar24 = true;\n                    pvVar10 = (void *)FUN_00037360();\n                    bVar22 = false;\n                    if (piVar11[1] == puVar19[1]) {\n                      iVar8 = FUN_00038b50();\n                      bVar24 = iVar8 == 0;\n                      bVar22 = !bVar24;\n                    }\n                    free(pvVar10);\n                    piVar11 = (int *)*piVar11;\n                  } while ((piVar11 != (int *)0x0) && (bVar24));\n                  if (bVar22) break;\n                }\n                if (DAT_00091a44 == 0) {\n                  pvVar10 = (void *)concat(DAT_00091ca8,"/usr/etc/ld.so.conf",0);\n                  iVar8 = FUN_00037470();\n                  if (iVar8 == 0) {\n                    free(pvVar10);\n                    pvVar10 = (void *)concat(DAT_00091ca8,"/etc/ld.so.conf",0);\n                    FUN_00037470();\n                  }\n                  free(pvVar10);\n                  DAT_00091a44 = 1;\n                }\n                pcVar14 = (char *)puVar19[2];\n                if (DAT_00091a40 != 0) {\n                  iVar8 = FUN_00038b50();\n                  if (iVar8 != 0) break;\n                  pcVar14 = (char *)puVar19[2];\n                }\n                sVar12 = strlen(pcVar14);\n                if (DAT_00091e04 != (int *)0x0) {\n                  piVar11 = DAT_00091e04;\n                  do {\n                    if (piVar11[2] == 0) {\n                      sVar13 = strlen((char *)piVar11[1]);\n                      pcVar14 = (char *)xmalloc(sVar13 + sVar12 + 2);\n                      sprintf(pcVar14,"%s/%s",piVar11[1],puVar19[2]);\n                      iVar8 = FUN_00038820();\n                      if (iVar8 != 0) goto LAB_00039300;\n                      free(pcVar14);\n                    }\n                    piVar11 = (int *)*piVar11;\n                  } while (piVar11 != (int *)0x0);\n                }\n                if (bVar3) {\n                  uVar9 = puVar19[1];\n                  uVar2 = puVar19[2];\n                  uVar15 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00031760(uVar15,uVar2,uVar9);\n                  break;\n                }\n                bVar3 = true;\n              }\n            }\n          }\n        }\nLAB_00039300:\n        uVar4 = DAT_00091c20._2_2_;\n      }\n      DAT_00091c20._3_1_ = (byte)(uVar4 >> 8);\n      bVar25 = DAT_00091c20._3_1_ & 0xc0;\n      if ((bVar25 == 0x80) && (iVar8 = bfd_elf_parse_eh_frame_entries(0,&DAT_00091c20), iVar8 == 0))\n      {\n        uVar9 = dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);\n        FUN_00031760(uVar9);\n      }\n    }\n  }\n  return;\n}\n\n" comment comment (function_definition "void FUN_00038fb0(void)\n\n{\n  int iVar1;\n  undefined4 uVar2;\n  bool bVar3;\n  ushort uVar4;\n  undefined4 *puVar5;\n  undefined4 *puVar6;\n  uint uVar7;\n  int iVar8;\n  undefined4 uVar9;\n  void *pvVar10;\n  int *piVar11;\n  size_t sVar12;\n  size_t sVar13;\n  char *pcVar14;\n  undefined4 uVar15;\n  int iVar16;\n  int iVar17;\n  int iVar18;\n  undefined4 *puVar19;\n  byte *pbVar20;\n  byte *pbVar21;\n  bool bVar22;\n  bool bVar23;\n  bool bVar24;\n  byte bVar25;\n  int local_60;\n  int local_50;\n  int local_4c;\n  \n  bVar25 = 0;\n  FUN_00030330();\n  iVar8 = DAT_00091c3c;\n  if (*(int *)(DAT_00091c3c + 0x28) == 1) {\n    if (DAT_00091ce0 != 0) {\n      unlink_if_ordinary(DAT_00091ce0);\n      DAT_00091c54 = bfd_openw(DAT_00091ce0,**(undefined4 **)(DAT_00091c50 + 4));\n      iVar16 = DAT_00091ce0;\n      if (DAT_00091c54 == 0) {\n        uVar9 = dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);\n        FUN_00031760(uVar9,iVar16);\n      }\n    }\n    iVar18 = DAT_00091c50;\n    iVar16 = DAT_00091c58;\n    if (DAT_00091a4c != (void *)0x0) {\n      for (; iVar16 != 0; iVar16 = *(int *)(iVar16 + 0x98)) {\n        if (((*(int *)(*(int *)(iVar16 + 4) + 4) == 5) && (*(int *)(iVar16 + 0x68) != 0)) &&\n           ((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0)) {\n          iVar17 = FUN_000353f0(DAT_00091a4c);\n          if ((iVar17 == 0) || (iVar17 + 0x10 == 0)) {\n            pcVar14 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar16 = bfd_make_section_with_flags(iVar16,".note.gnu.build-id",0x10402b);\n            if (iVar16 != 0) {\n              *(undefined4 *)(iVar16 + 0x40) = 2;\n              iVar18 = DAT_00091c50;\n              iVar1 = *(int *)(*(int *)(DAT_00091c50 + 0x9c) + 0x910);\n              *(code **)(iVar1 + 0x10) = FUN_000371f0;\n              pvVar10 = DAT_00091a4c;\n              *(int *)(iVar1 + 0x18) = iVar16;\n              *(void **)(iVar1 + 0x14) = pvVar10;\n              *(undefined4 *)(*(int *)(iVar16 + 0x8c) + 4) = 7;\n              *(int *)(iVar16 + 0x24) = iVar17 + 0x10;\n              goto LAB_00039178;\n            }\n            pcVar14 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          uVar9 = dcgettext(0,pcVar14,5);\n          FUN_00031760(uVar9);\n          break;\n        }\n      }\n      free(DAT_00091a4c);\n      DAT_00091a4c = (void *)0x0;\n      iVar18 = DAT_00091c50;\n    }\nLAB_00039178:\n    (**(code **)(*(int *)(*(int *)(iVar18 + 4) + 0x1c0) + 0x1bc))(&DAT_00091c20);\n    if (((byte)DAT_00091c20 & 3) == 2) {\n      if (DAT_00091c25 >> 7 == (~DAT_00091c26 & 1)) {\n        bfd_make_section_with_flags(DAT_00091c58,".note.GNU-stack",DAT_00091c25 >> 3 & 0x10 | 8);\n      }\n    }\n    else {\n      if (((DAT_00091c24 & 0x20) == 0) && (DAT_00091c58 != 0)) {\n        local_50 = 0;\n        bVar3 = false;\n        local_4c = 0;\n        iVar16 = DAT_00091c58;\n        do {\n          while ((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0) {\n            puVar19 = *(undefined4 **)(iVar16 + 0x60);\n            if (puVar19 == (undefined4 *)0x0) {\nLAB_00039697:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar22 = (undefined *)puVar19[0xf] < PTR__bfd_std_section_00090fc4 + 0x150;\n                bVar24 = (undefined *)puVar19[0xf] == PTR__bfd_std_section_00090fc4 + 0x150;\n                iVar18 = local_60;\n                if (!bVar24) {\n                  iVar17 = 0xf;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar22 = *pbVar20 < *pbVar21;\n                    bVar24 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar24);\n                  bVar23 = false;\n                  bVar22 = (!bVar22 && !bVar24) == bVar22;\n                  if (bVar22) {\n                    local_60 = 2;\n                    goto LAB_0003966f;\n                  }\n                  iVar17 = 10;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar23 = *pbVar20 < *pbVar21;\n                    bVar22 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar22);\n                  if (((!bVar23 && !bVar22) == bVar23) && (iVar18 = 1, (uint)puVar19[9] < 9)) {\n                    iVar18 = local_60;\n                  }\n                }\n                local_60 = iVar18;\n                puVar19 = (undefined4 *)puVar19[3];\n              } while (puVar19 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_00039697;\nLAB_0003966f:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar16 = local_4c;\n                }\n                uVar9 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00031760(uVar9,iVar16);\n                goto LAB_000396cd;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_00039697;\n              if (local_60 != 2) {\n                if ((DAT_00091c20._2_2_ & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar3 = true;\n                  if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                    local_4c = iVar16;\n                  }\n                }\n                break;\n              }\n              bVar3 = true;\n              if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                local_4c = iVar16;\n              }\n            }\n            iVar16 = *(int *)(iVar16 + 0x98);\n            local_50 = 2;\n            DAT_00091c20._2_2_ = DAT_00091c20._2_2_ & 0x3fff | 0x8000;\n            if (iVar16 == 0) goto LAB_000396cd;\n          }\n          iVar16 = *(int *)(iVar16 + 0x98);\n        } while (iVar16 != 0);\nLAB_000396cd:\n        if ((local_4c == 0) ||\n           (iVar16 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x20) | 8),\n           iVar16 == 0)) {\n          if (bVar3) {\n            uVar9 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00031760(uVar9);\n          }\n        }\n        else {\n          *(undefined4 *)(iVar16 + 0x40) = 2;\n          *(int *)(iVar8 + 0xac) = iVar16;\n        }\n      }\n      puVar6 = (undefined4 *)bfd_elf_get_needed_list(DAT_00091c50,&DAT_00091c20);\n      uVar4 = DAT_00091c20._2_2_;\n      for (puVar19 = puVar6; DAT_00091c20._2_2_ = uVar4, puVar19 != (undefined4 *)0x0;\n          puVar19 = (undefined4 *)*puVar19) {\n        puVar5 = puVar6;\n        if ((puVar19[1] == 0) ||\n           ((uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 1) == 0 &&\n            (((puVar19[1] == 0 || ((DAT_00091c20._2_2_ & 0x180) != 0x80)) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 4) == 0)))))) {\n          for (; puVar5 != puVar19; puVar5 = (undefined4 *)*puVar5) {\n            if (((puVar5[1] == 0) ||\n                (uVar7 = bfd_elf_get_dyn_lib_class(puVar5[1]), (uVar7 & 1) == 0)) &&\n               (iVar8 = strcmp((char *)puVar5[2],(char *)puVar19[2]), iVar8 == 0)) {\n              if (puVar19 != puVar5) goto LAB_00039300;\n              break;\n            }\n          }\n          DAT_00091ae4 = FUN_00038720;\n          DAT_00091a60 = 0;\n          DAT_00091ae0 = puVar19;\n          FUN_00024c50(FUN_00035720);\n          if ((DAT_00091a60 == 0) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_00091a60 + 0x10)),\n             (uVar7 & 1) != 0)) {\n            uVar9 = puVar19[1];\n            uVar2 = puVar19[2];\n            if (DAT_00091d90 != 0) {\n              uVar15 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00031730(uVar15,uVar2,uVar9);\n            }\n            if ((DAT_00091a60 == 0) || (iVar8 = FUN_00038820(), iVar8 == 0)) {\n              bVar3 = false;\n              while (iVar8 = FUN_00038b50(), iVar8 == 0) {\n                if (DAT_00091d04 != 0) {\n                  pvVar10 = (void *)FUN_00037360();\n                  iVar8 = FUN_00038b50();\n                  free(pvVar10);\n                  if (iVar8 != 0) break;\n                }\n                piVar11 = (int *)bfd_elf_get_runpath_list(DAT_00091c50,&DAT_00091c20);\n                if (piVar11 != (int *)0x0) {\n                  do {\n                    bVar24 = true;\n                    pvVar10 = (void *)FUN_00037360();\n                    bVar22 = false;\n                    if (piVar11[1] == puVar19[1]) {\n                      iVar8 = FUN_00038b50();\n                      bVar24 = iVar8 == 0;\n                      bVar22 = !bVar24;\n                    }\n                    free(pvVar10);\n                    piVar11 = (int *)*piVar11;\n                  } while ((piVar11 != (int *)0x0) && (bVar24));\n                  if (bVar22) break;\n                }\n                if (DAT_00091a44 == 0) {\n                  pvVar10 = (void *)concat(DAT_00091ca8,"/usr/etc/ld.so.conf",0);\n                  iVar8 = FUN_00037470();\n                  if (iVar8 == 0) {\n                    free(pvVar10);\n                    pvVar10 = (void *)concat(DAT_00091ca8,"/etc/ld.so.conf",0);\n                    FUN_00037470();\n                  }\n                  free(pvVar10);\n                  DAT_00091a44 = 1;\n                }\n                pcVar14 = (char *)puVar19[2];\n                if (DAT_00091a40 != 0) {\n                  iVar8 = FUN_00038b50();\n                  if (iVar8 != 0) break;\n                  pcVar14 = (char *)puVar19[2];\n                }\n                sVar12 = strlen(pcVar14);\n                if (DAT_00091e04 != (int *)0x0) {\n                  piVar11 = DAT_00091e04;\n                  do {\n                    if (piVar11[2] == 0) {\n                      sVar13 = strlen((char *)piVar11[1]);\n                      pcVar14 = (char *)xmalloc(sVar13 + sVar12 + 2);\n                      sprintf(pcVar14,"%s/%s",piVar11[1],puVar19[2]);\n                      iVar8 = FUN_00038820();\n                      if (iVar8 != 0) goto LAB_00039300;\n                      free(pcVar14);\n                    }\n                    piVar11 = (int *)*piVar11;\n                  } while (piVar11 != (int *)0x0);\n                }\n                if (bVar3) {\n                  uVar9 = puVar19[1];\n                  uVar2 = puVar19[2];\n                  uVar15 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00031760(uVar15,uVar2,uVar9);\n                  break;\n                }\n                bVar3 = true;\n              }\n            }\n          }\n        }\nLAB_00039300:\n        uVar4 = DAT_00091c20._2_2_;\n      }\n      DAT_00091c20._3_1_ = (byte)(uVar4 >> 8);\n      bVar25 = DAT_00091c20._3_1_ & 0xc0;\n      if ((bVar25 == 0x80) && (iVar8 = bfd_elf_parse_eh_frame_entries(0,&DAT_00091c20), iVar8 == 0))\n      {\n        uVar9 = dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);\n        FUN_00031760(uVar9);\n      }\n    }\n  }\n  return;\n}" primitive_type (function_declarator "FUN_00038fb0(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  int iVar1;\n  undefined4 uVar2;\n  bool bVar3;\n  ushort uVar4;\n  undefined4 *puVar5;\n  undefined4 *puVar6;\n  uint uVar7;\n  int iVar8;\n  undefined4 uVar9;\n  void *pvVar10;\n  int *piVar11;\n  size_t sVar12;\n  size_t sVar13;\n  char *pcVar14;\n  undefined4 uVar15;\n  int iVar16;\n  int iVar17;\n  int iVar18;\n  undefined4 *puVar19;\n  byte *pbVar20;\n  byte *pbVar21;\n  bool bVar22;\n  bool bVar23;\n  bool bVar24;\n  byte bVar25;\n  int local_60;\n  int local_50;\n  int local_4c;\n  \n  bVar25 = 0;\n  FUN_00030330();\n  iVar8 = DAT_00091c3c;\n  if (*(int *)(DAT_00091c3c + 0x28) == 1) {\n    if (DAT_00091ce0 != 0) {\n      unlink_if_ordinary(DAT_00091ce0);\n      DAT_00091c54 = bfd_openw(DAT_00091ce0,**(undefined4 **)(DAT_00091c50 + 4));\n      iVar16 = DAT_00091ce0;\n      if (DAT_00091c54 == 0) {\n        uVar9 = dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);\n        FUN_00031760(uVar9,iVar16);\n      }\n    }\n    iVar18 = DAT_00091c50;\n    iVar16 = DAT_00091c58;\n    if (DAT_00091a4c != (void *)0x0) {\n      for (; iVar16 != 0; iVar16 = *(int *)(iVar16 + 0x98)) {\n        if (((*(int *)(*(int *)(iVar16 + 4) + 4) == 5) && (*(int *)(iVar16 + 0x68) != 0)) &&\n           ((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0)) {\n          iVar17 = FUN_000353f0(DAT_00091a4c);\n          if ((iVar17 == 0) || (iVar17 + 0x10 == 0)) {\n            pcVar14 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar16 = bfd_make_section_with_flags(iVar16,".note.gnu.build-id",0x10402b);\n            if (iVar16 != 0) {\n              *(undefined4 *)(iVar16 + 0x40) = 2;\n              iVar18 = DAT_00091c50;\n              iVar1 = *(int *)(*(int *)(DAT_00091c50 + 0x9c) + 0x910);\n              *(code **)(iVar1 + 0x10) = FUN_000371f0;\n              pvVar10 = DAT_00091a4c;\n              *(int *)(iVar1 + 0x18) = iVar16;\n              *(void **)(iVar1 + 0x14) = pvVar10;\n              *(undefined4 *)(*(int *)(iVar16 + 0x8c) + 4) = 7;\n              *(int *)(iVar16 + 0x24) = iVar17 + 0x10;\n              goto LAB_00039178;\n            }\n            pcVar14 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          uVar9 = dcgettext(0,pcVar14,5);\n          FUN_00031760(uVar9);\n          break;\n        }\n      }\n      free(DAT_00091a4c);\n      DAT_00091a4c = (void *)0x0;\n      iVar18 = DAT_00091c50;\n    }\nLAB_00039178:\n    (**(code **)(*(int *)(*(int *)(iVar18 + 4) + 0x1c0) + 0x1bc))(&DAT_00091c20);\n    if (((byte)DAT_00091c20 & 3) == 2) {\n      if (DAT_00091c25 >> 7 == (~DAT_00091c26 & 1)) {\n        bfd_make_section_with_flags(DAT_00091c58,".note.GNU-stack",DAT_00091c25 >> 3 & 0x10 | 8);\n      }\n    }\n    else {\n      if (((DAT_00091c24 & 0x20) == 0) && (DAT_00091c58 != 0)) {\n        local_50 = 0;\n        bVar3 = false;\n        local_4c = 0;\n        iVar16 = DAT_00091c58;\n        do {\n          while ((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0) {\n            puVar19 = *(undefined4 **)(iVar16 + 0x60);\n            if (puVar19 == (undefined4 *)0x0) {\nLAB_00039697:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar22 = (undefined *)puVar19[0xf] < PTR__bfd_std_section_00090fc4 + 0x150;\n                bVar24 = (undefined *)puVar19[0xf] == PTR__bfd_std_section_00090fc4 + 0x150;\n                iVar18 = local_60;\n                if (!bVar24) {\n                  iVar17 = 0xf;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar22 = *pbVar20 < *pbVar21;\n                    bVar24 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar24);\n                  bVar23 = false;\n                  bVar22 = (!bVar22 && !bVar24) == bVar22;\n                  if (bVar22) {\n                    local_60 = 2;\n                    goto LAB_0003966f;\n                  }\n                  iVar17 = 10;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar23 = *pbVar20 < *pbVar21;\n                    bVar22 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar22);\n                  if (((!bVar23 && !bVar22) == bVar23) && (iVar18 = 1, (uint)puVar19[9] < 9)) {\n                    iVar18 = local_60;\n                  }\n                }\n                local_60 = iVar18;\n                puVar19 = (undefined4 *)puVar19[3];\n              } while (puVar19 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_00039697;\nLAB_0003966f:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar16 = local_4c;\n                }\n                uVar9 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00031760(uVar9,iVar16);\n                goto LAB_000396cd;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_00039697;\n              if (local_60 != 2) {\n                if ((DAT_00091c20._2_2_ & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar3 = true;\n                  if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                    local_4c = iVar16;\n                  }\n                }\n                break;\n              }\n              bVar3 = true;\n              if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                local_4c = iVar16;\n              }\n            }\n            iVar16 = *(int *)(iVar16 + 0x98);\n            local_50 = 2;\n            DAT_00091c20._2_2_ = DAT_00091c20._2_2_ & 0x3fff | 0x8000;\n            if (iVar16 == 0) goto LAB_000396cd;\n          }\n          iVar16 = *(int *)(iVar16 + 0x98);\n        } while (iVar16 != 0);\nLAB_000396cd:\n        if ((local_4c == 0) ||\n           (iVar16 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x20) | 8),\n           iVar16 == 0)) {\n          if (bVar3) {\n            uVar9 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00031760(uVar9);\n          }\n        }\n        else {\n          *(undefined4 *)(iVar16 + 0x40) = 2;\n          *(int *)(iVar8 + 0xac) = iVar16;\n        }\n      }\n      puVar6 = (undefined4 *)bfd_elf_get_needed_list(DAT_00091c50,&DAT_00091c20);\n      uVar4 = DAT_00091c20._2_2_;\n      for (puVar19 = puVar6; DAT_00091c20._2_2_ = uVar4, puVar19 != (undefined4 *)0x0;\n          puVar19 = (undefined4 *)*puVar19) {\n        puVar5 = puVar6;\n        if ((puVar19[1] == 0) ||\n           ((uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 1) == 0 &&\n            (((puVar19[1] == 0 || ((DAT_00091c20._2_2_ & 0x180) != 0x80)) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 4) == 0)))))) {\n          for (; puVar5 != puVar19; puVar5 = (undefined4 *)*puVar5) {\n            if (((puVar5[1] == 0) ||\n                (uVar7 = bfd_elf_get_dyn_lib_class(puVar5[1]), (uVar7 & 1) == 0)) &&\n               (iVar8 = strcmp((char *)puVar5[2],(char *)puVar19[2]), iVar8 == 0)) {\n              if (puVar19 != puVar5) goto LAB_00039300;\n              break;\n            }\n          }\n          DAT_00091ae4 = FUN_00038720;\n          DAT_00091a60 = 0;\n          DAT_00091ae0 = puVar19;\n          FUN_00024c50(FUN_00035720);\n          if ((DAT_00091a60 == 0) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_00091a60 + 0x10)),\n             (uVar7 & 1) != 0)) {\n            uVar9 = puVar19[1];\n            uVar2 = puVar19[2];\n            if (DAT_00091d90 != 0) {\n              uVar15 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00031730(uVar15,uVar2,uVar9);\n            }\n            if ((DAT_00091a60 == 0) || (iVar8 = FUN_00038820(), iVar8 == 0)) {\n              bVar3 = false;\n              while (iVar8 = FUN_00038b50(), iVar8 == 0) {\n                if (DAT_00091d04 != 0) {\n                  pvVar10 = (void *)FUN_00037360();\n                  iVar8 = FUN_00038b50();\n                  free(pvVar10);\n                  if (iVar8 != 0) break;\n                }\n                piVar11 = (int *)bfd_elf_get_runpath_list(DAT_00091c50,&DAT_00091c20);\n                if (piVar11 != (int *)0x0) {\n                  do {\n                    bVar24 = true;\n                    pvVar10 = (void *)FUN_00037360();\n                    bVar22 = false;\n                    if (piVar11[1] == puVar19[1]) {\n                      iVar8 = FUN_00038b50();\n                      bVar24 = iVar8 == 0;\n                      bVar22 = !bVar24;\n                    }\n                    free(pvVar10);\n                    piVar11 = (int *)*piVar11;\n                  } while ((piVar11 != (int *)0x0) && (bVar24));\n                  if (bVar22) break;\n                }\n                if (DAT_00091a44 == 0) {\n                  pvVar10 = (void *)concat(DAT_00091ca8,"/usr/etc/ld.so.conf",0);\n                  iVar8 = FUN_00037470();\n                  if (iVar8 == 0) {\n                    free(pvVar10);\n                    pvVar10 = (void *)concat(DAT_00091ca8,"/etc/ld.so.conf",0);\n                    FUN_00037470();\n                  }\n                  free(pvVar10);\n                  DAT_00091a44 = 1;\n                }\n                pcVar14 = (char *)puVar19[2];\n                if (DAT_00091a40 != 0) {\n                  iVar8 = FUN_00038b50();\n                  if (iVar8 != 0) break;\n                  pcVar14 = (char *)puVar19[2];\n                }\n                sVar12 = strlen(pcVar14);\n                if (DAT_00091e04 != (int *)0x0) {\n                  piVar11 = DAT_00091e04;\n                  do {\n                    if (piVar11[2] == 0) {\n                      sVar13 = strlen((char *)piVar11[1]);\n                      pcVar14 = (char *)xmalloc(sVar13 + sVar12 + 2);\n                      sprintf(pcVar14,"%s/%s",piVar11[1],puVar19[2]);\n                      iVar8 = FUN_00038820();\n                      if (iVar8 != 0) goto LAB_00039300;\n                      free(pcVar14);\n                    }\n                    piVar11 = (int *)*piVar11;\n                  } while (piVar11 != (int *)0x0);\n                }\n                if (bVar3) {\n                  uVar9 = puVar19[1];\n                  uVar2 = puVar19[2];\n                  uVar15 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00031760(uVar15,uVar2,uVar9);\n                  break;\n                }\n                bVar3 = true;\n              }\n            }\n          }\n        }\nLAB_00039300:\n        uVar4 = DAT_00091c20._2_2_;\n      }\n      DAT_00091c20._3_1_ = (byte)(uVar4 >> 8);\n      bVar25 = DAT_00091c20._3_1_ & 0xc0;\n      if ((bVar25 == 0x80) && (iVar8 = bfd_elf_parse_eh_frame_entries(0,&DAT_00091c20), iVar8 == 0))\n      {\n        uVar9 = dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);\n        FUN_00031760(uVar9);\n      }\n    }\n  }\n  return;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "bool bVar3;" primitive_type identifier ;) (declaration "ushort uVar4;" type_identifier identifier ;) (declaration "undefined4 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "undefined4 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "undefined4 uVar9;" type_identifier identifier ;) (declaration "void *pvVar10;" primitive_type (pointer_declarator "*pvVar10" * identifier) ;) (declaration "int *piVar11;" primitive_type (pointer_declarator "*piVar11" * identifier) ;) (declaration "size_t sVar12;" primitive_type identifier ;) (declaration "size_t sVar13;" primitive_type identifier ;) (declaration "char *pcVar14;" primitive_type (pointer_declarator "*pcVar14" * identifier) ;) (declaration "undefined4 uVar15;" type_identifier identifier ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "undefined4 *puVar19;" type_identifier (pointer_declarator "*puVar19" * identifier) ;) (declaration "byte *pbVar20;" type_identifier (pointer_declarator "*pbVar20" * identifier) ;) (declaration "byte *pbVar21;" type_identifier (pointer_declarator "*pbVar21" * identifier) ;) (declaration "bool bVar22;" primitive_type identifier ;) (declaration "bool bVar23;" primitive_type identifier ;) (declaration "bool bVar24;" primitive_type identifier ;) (declaration "byte bVar25;" type_identifier identifier ;) (declaration "int local_60;" primitive_type identifier ;) (declaration "int local_50;" primitive_type identifier ;) (declaration "int local_4c;" primitive_type identifier ;) (expression_statement "bVar25 = 0;" (assignment_expression "bVar25 = 0" identifier = number_literal) ;) (expression_statement "FUN_00030330();" (call_expression "FUN_00030330()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar8 = DAT_00091c3c;" (assignment_expression "iVar8 = DAT_00091c3c" identifier = identifier) ;) (if_statement "if (*(int *)(DAT_00091c3c + 0x28) == 1) {\n    if (DAT_00091ce0 != 0) {\n      unlink_if_ordinary(DAT_00091ce0);\n      DAT_00091c54 = bfd_openw(DAT_00091ce0,**(undefined4 **)(DAT_00091c50 + 4));\n      iVar16 = DAT_00091ce0;\n      if (DAT_00091c54 == 0) {\n        uVar9 = dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);\n        FUN_00031760(uVar9,iVar16);\n      }\n    }\n    iVar18 = DAT_00091c50;\n    iVar16 = DAT_00091c58;\n    if (DAT_00091a4c != (void *)0x0) {\n      for (; iVar16 != 0; iVar16 = *(int *)(iVar16 + 0x98)) {\n        if (((*(int *)(*(int *)(iVar16 + 4) + 4) == 5) && (*(int *)(iVar16 + 0x68) != 0)) &&\n           ((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0)) {\n          iVar17 = FUN_000353f0(DAT_00091a4c);\n          if ((iVar17 == 0) || (iVar17 + 0x10 == 0)) {\n            pcVar14 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar16 = bfd_make_section_with_flags(iVar16,".note.gnu.build-id",0x10402b);\n            if (iVar16 != 0) {\n              *(undefined4 *)(iVar16 + 0x40) = 2;\n              iVar18 = DAT_00091c50;\n              iVar1 = *(int *)(*(int *)(DAT_00091c50 + 0x9c) + 0x910);\n              *(code **)(iVar1 + 0x10) = FUN_000371f0;\n              pvVar10 = DAT_00091a4c;\n              *(int *)(iVar1 + 0x18) = iVar16;\n              *(void **)(iVar1 + 0x14) = pvVar10;\n              *(undefined4 *)(*(int *)(iVar16 + 0x8c) + 4) = 7;\n              *(int *)(iVar16 + 0x24) = iVar17 + 0x10;\n              goto LAB_00039178;\n            }\n            pcVar14 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          uVar9 = dcgettext(0,pcVar14,5);\n          FUN_00031760(uVar9);\n          break;\n        }\n      }\n      free(DAT_00091a4c);\n      DAT_00091a4c = (void *)0x0;\n      iVar18 = DAT_00091c50;\n    }\nLAB_00039178:\n    (**(code **)(*(int *)(*(int *)(iVar18 + 4) + 0x1c0) + 0x1bc))(&DAT_00091c20);\n    if (((byte)DAT_00091c20 & 3) == 2) {\n      if (DAT_00091c25 >> 7 == (~DAT_00091c26 & 1)) {\n        bfd_make_section_with_flags(DAT_00091c58,".note.GNU-stack",DAT_00091c25 >> 3 & 0x10 | 8);\n      }\n    }\n    else {\n      if (((DAT_00091c24 & 0x20) == 0) && (DAT_00091c58 != 0)) {\n        local_50 = 0;\n        bVar3 = false;\n        local_4c = 0;\n        iVar16 = DAT_00091c58;\n        do {\n          while ((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0) {\n            puVar19 = *(undefined4 **)(iVar16 + 0x60);\n            if (puVar19 == (undefined4 *)0x0) {\nLAB_00039697:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar22 = (undefined *)puVar19[0xf] < PTR__bfd_std_section_00090fc4 + 0x150;\n                bVar24 = (undefined *)puVar19[0xf] == PTR__bfd_std_section_00090fc4 + 0x150;\n                iVar18 = local_60;\n                if (!bVar24) {\n                  iVar17 = 0xf;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar22 = *pbVar20 < *pbVar21;\n                    bVar24 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar24);\n                  bVar23 = false;\n                  bVar22 = (!bVar22 && !bVar24) == bVar22;\n                  if (bVar22) {\n                    local_60 = 2;\n                    goto LAB_0003966f;\n                  }\n                  iVar17 = 10;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar23 = *pbVar20 < *pbVar21;\n                    bVar22 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar22);\n                  if (((!bVar23 && !bVar22) == bVar23) && (iVar18 = 1, (uint)puVar19[9] < 9)) {\n                    iVar18 = local_60;\n                  }\n                }\n                local_60 = iVar18;\n                puVar19 = (undefined4 *)puVar19[3];\n              } while (puVar19 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_00039697;\nLAB_0003966f:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar16 = local_4c;\n                }\n                uVar9 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00031760(uVar9,iVar16);\n                goto LAB_000396cd;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_00039697;\n              if (local_60 != 2) {\n                if ((DAT_00091c20._2_2_ & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar3 = true;\n                  if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                    local_4c = iVar16;\n                  }\n                }\n                break;\n              }\n              bVar3 = true;\n              if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                local_4c = iVar16;\n              }\n            }\n            iVar16 = *(int *)(iVar16 + 0x98);\n            local_50 = 2;\n            DAT_00091c20._2_2_ = DAT_00091c20._2_2_ & 0x3fff | 0x8000;\n            if (iVar16 == 0) goto LAB_000396cd;\n          }\n          iVar16 = *(int *)(iVar16 + 0x98);\n        } while (iVar16 != 0);\nLAB_000396cd:\n        if ((local_4c == 0) ||\n           (iVar16 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x20) | 8),\n           iVar16 == 0)) {\n          if (bVar3) {\n            uVar9 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00031760(uVar9);\n          }\n        }\n        else {\n          *(undefined4 *)(iVar16 + 0x40) = 2;\n          *(int *)(iVar8 + 0xac) = iVar16;\n        }\n      }\n      puVar6 = (undefined4 *)bfd_elf_get_needed_list(DAT_00091c50,&DAT_00091c20);\n      uVar4 = DAT_00091c20._2_2_;\n      for (puVar19 = puVar6; DAT_00091c20._2_2_ = uVar4, puVar19 != (undefined4 *)0x0;\n          puVar19 = (undefined4 *)*puVar19) {\n        puVar5 = puVar6;\n        if ((puVar19[1] == 0) ||\n           ((uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 1) == 0 &&\n            (((puVar19[1] == 0 || ((DAT_00091c20._2_2_ & 0x180) != 0x80)) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 4) == 0)))))) {\n          for (; puVar5 != puVar19; puVar5 = (undefined4 *)*puVar5) {\n            if (((puVar5[1] == 0) ||\n                (uVar7 = bfd_elf_get_dyn_lib_class(puVar5[1]), (uVar7 & 1) == 0)) &&\n               (iVar8 = strcmp((char *)puVar5[2],(char *)puVar19[2]), iVar8 == 0)) {\n              if (puVar19 != puVar5) goto LAB_00039300;\n              break;\n            }\n          }\n          DAT_00091ae4 = FUN_00038720;\n          DAT_00091a60 = 0;\n          DAT_00091ae0 = puVar19;\n          FUN_00024c50(FUN_00035720);\n          if ((DAT_00091a60 == 0) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_00091a60 + 0x10)),\n             (uVar7 & 1) != 0)) {\n            uVar9 = puVar19[1];\n            uVar2 = puVar19[2];\n            if (DAT_00091d90 != 0) {\n              uVar15 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00031730(uVar15,uVar2,uVar9);\n            }\n            if ((DAT_00091a60 == 0) || (iVar8 = FUN_00038820(), iVar8 == 0)) {\n              bVar3 = false;\n              while (iVar8 = FUN_00038b50(), iVar8 == 0) {\n                if (DAT_00091d04 != 0) {\n                  pvVar10 = (void *)FUN_00037360();\n                  iVar8 = FUN_00038b50();\n                  free(pvVar10);\n                  if (iVar8 != 0) break;\n                }\n                piVar11 = (int *)bfd_elf_get_runpath_list(DAT_00091c50,&DAT_00091c20);\n                if (piVar11 != (int *)0x0) {\n                  do {\n                    bVar24 = true;\n                    pvVar10 = (void *)FUN_00037360();\n                    bVar22 = false;\n                    if (piVar11[1] == puVar19[1]) {\n                      iVar8 = FUN_00038b50();\n                      bVar24 = iVar8 == 0;\n                      bVar22 = !bVar24;\n                    }\n                    free(pvVar10);\n                    piVar11 = (int *)*piVar11;\n                  } while ((piVar11 != (int *)0x0) && (bVar24));\n                  if (bVar22) break;\n                }\n                if (DAT_00091a44 == 0) {\n                  pvVar10 = (void *)concat(DAT_00091ca8,"/usr/etc/ld.so.conf",0);\n                  iVar8 = FUN_00037470();\n                  if (iVar8 == 0) {\n                    free(pvVar10);\n                    pvVar10 = (void *)concat(DAT_00091ca8,"/etc/ld.so.conf",0);\n                    FUN_00037470();\n                  }\n                  free(pvVar10);\n                  DAT_00091a44 = 1;\n                }\n                pcVar14 = (char *)puVar19[2];\n                if (DAT_00091a40 != 0) {\n                  iVar8 = FUN_00038b50();\n                  if (iVar8 != 0) break;\n                  pcVar14 = (char *)puVar19[2];\n                }\n                sVar12 = strlen(pcVar14);\n                if (DAT_00091e04 != (int *)0x0) {\n                  piVar11 = DAT_00091e04;\n                  do {\n                    if (piVar11[2] == 0) {\n                      sVar13 = strlen((char *)piVar11[1]);\n                      pcVar14 = (char *)xmalloc(sVar13 + sVar12 + 2);\n                      sprintf(pcVar14,"%s/%s",piVar11[1],puVar19[2]);\n                      iVar8 = FUN_00038820();\n                      if (iVar8 != 0) goto LAB_00039300;\n                      free(pcVar14);\n                    }\n                    piVar11 = (int *)*piVar11;\n                  } while (piVar11 != (int *)0x0);\n                }\n                if (bVar3) {\n                  uVar9 = puVar19[1];\n                  uVar2 = puVar19[2];\n                  uVar15 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00031760(uVar15,uVar2,uVar9);\n                  break;\n                }\n                bVar3 = true;\n              }\n            }\n          }\n        }\nLAB_00039300:\n        uVar4 = DAT_00091c20._2_2_;\n      }\n      DAT_00091c20._3_1_ = (byte)(uVar4 >> 8);\n      bVar25 = DAT_00091c20._3_1_ & 0xc0;\n      if ((bVar25 == 0x80) && (iVar8 = bfd_elf_parse_eh_frame_entries(0,&DAT_00091c20), iVar8 == 0))\n      {\n        uVar9 = dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);\n        FUN_00031760(uVar9);\n      }\n    }\n  }" if (parenthesized_expression "(*(int *)(DAT_00091c3c + 0x28) == 1)" ( (binary_expression "*(int *)(DAT_00091c3c + 0x28) == 1" (pointer_expression "*(int *)(DAT_00091c3c + 0x28)" * (cast_expression "(int *)(DAT_00091c3c + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00091c3c + 0x28)" ( (binary_expression "DAT_00091c3c + 0x28" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    if (DAT_00091ce0 != 0) {\n      unlink_if_ordinary(DAT_00091ce0);\n      DAT_00091c54 = bfd_openw(DAT_00091ce0,**(undefined4 **)(DAT_00091c50 + 4));\n      iVar16 = DAT_00091ce0;\n      if (DAT_00091c54 == 0) {\n        uVar9 = dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);\n        FUN_00031760(uVar9,iVar16);\n      }\n    }\n    iVar18 = DAT_00091c50;\n    iVar16 = DAT_00091c58;\n    if (DAT_00091a4c != (void *)0x0) {\n      for (; iVar16 != 0; iVar16 = *(int *)(iVar16 + 0x98)) {\n        if (((*(int *)(*(int *)(iVar16 + 4) + 4) == 5) && (*(int *)(iVar16 + 0x68) != 0)) &&\n           ((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0)) {\n          iVar17 = FUN_000353f0(DAT_00091a4c);\n          if ((iVar17 == 0) || (iVar17 + 0x10 == 0)) {\n            pcVar14 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar16 = bfd_make_section_with_flags(iVar16,".note.gnu.build-id",0x10402b);\n            if (iVar16 != 0) {\n              *(undefined4 *)(iVar16 + 0x40) = 2;\n              iVar18 = DAT_00091c50;\n              iVar1 = *(int *)(*(int *)(DAT_00091c50 + 0x9c) + 0x910);\n              *(code **)(iVar1 + 0x10) = FUN_000371f0;\n              pvVar10 = DAT_00091a4c;\n              *(int *)(iVar1 + 0x18) = iVar16;\n              *(void **)(iVar1 + 0x14) = pvVar10;\n              *(undefined4 *)(*(int *)(iVar16 + 0x8c) + 4) = 7;\n              *(int *)(iVar16 + 0x24) = iVar17 + 0x10;\n              goto LAB_00039178;\n            }\n            pcVar14 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          uVar9 = dcgettext(0,pcVar14,5);\n          FUN_00031760(uVar9);\n          break;\n        }\n      }\n      free(DAT_00091a4c);\n      DAT_00091a4c = (void *)0x0;\n      iVar18 = DAT_00091c50;\n    }\nLAB_00039178:\n    (**(code **)(*(int *)(*(int *)(iVar18 + 4) + 0x1c0) + 0x1bc))(&DAT_00091c20);\n    if (((byte)DAT_00091c20 & 3) == 2) {\n      if (DAT_00091c25 >> 7 == (~DAT_00091c26 & 1)) {\n        bfd_make_section_with_flags(DAT_00091c58,".note.GNU-stack",DAT_00091c25 >> 3 & 0x10 | 8);\n      }\n    }\n    else {\n      if (((DAT_00091c24 & 0x20) == 0) && (DAT_00091c58 != 0)) {\n        local_50 = 0;\n        bVar3 = false;\n        local_4c = 0;\n        iVar16 = DAT_00091c58;\n        do {\n          while ((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0) {\n            puVar19 = *(undefined4 **)(iVar16 + 0x60);\n            if (puVar19 == (undefined4 *)0x0) {\nLAB_00039697:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar22 = (undefined *)puVar19[0xf] < PTR__bfd_std_section_00090fc4 + 0x150;\n                bVar24 = (undefined *)puVar19[0xf] == PTR__bfd_std_section_00090fc4 + 0x150;\n                iVar18 = local_60;\n                if (!bVar24) {\n                  iVar17 = 0xf;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar22 = *pbVar20 < *pbVar21;\n                    bVar24 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar24);\n                  bVar23 = false;\n                  bVar22 = (!bVar22 && !bVar24) == bVar22;\n                  if (bVar22) {\n                    local_60 = 2;\n                    goto LAB_0003966f;\n                  }\n                  iVar17 = 10;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar23 = *pbVar20 < *pbVar21;\n                    bVar22 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar22);\n                  if (((!bVar23 && !bVar22) == bVar23) && (iVar18 = 1, (uint)puVar19[9] < 9)) {\n                    iVar18 = local_60;\n                  }\n                }\n                local_60 = iVar18;\n                puVar19 = (undefined4 *)puVar19[3];\n              } while (puVar19 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_00039697;\nLAB_0003966f:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar16 = local_4c;\n                }\n                uVar9 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00031760(uVar9,iVar16);\n                goto LAB_000396cd;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_00039697;\n              if (local_60 != 2) {\n                if ((DAT_00091c20._2_2_ & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar3 = true;\n                  if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                    local_4c = iVar16;\n                  }\n                }\n                break;\n              }\n              bVar3 = true;\n              if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                local_4c = iVar16;\n              }\n            }\n            iVar16 = *(int *)(iVar16 + 0x98);\n            local_50 = 2;\n            DAT_00091c20._2_2_ = DAT_00091c20._2_2_ & 0x3fff | 0x8000;\n            if (iVar16 == 0) goto LAB_000396cd;\n          }\n          iVar16 = *(int *)(iVar16 + 0x98);\n        } while (iVar16 != 0);\nLAB_000396cd:\n        if ((local_4c == 0) ||\n           (iVar16 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x20) | 8),\n           iVar16 == 0)) {\n          if (bVar3) {\n            uVar9 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00031760(uVar9);\n          }\n        }\n        else {\n          *(undefined4 *)(iVar16 + 0x40) = 2;\n          *(int *)(iVar8 + 0xac) = iVar16;\n        }\n      }\n      puVar6 = (undefined4 *)bfd_elf_get_needed_list(DAT_00091c50,&DAT_00091c20);\n      uVar4 = DAT_00091c20._2_2_;\n      for (puVar19 = puVar6; DAT_00091c20._2_2_ = uVar4, puVar19 != (undefined4 *)0x0;\n          puVar19 = (undefined4 *)*puVar19) {\n        puVar5 = puVar6;\n        if ((puVar19[1] == 0) ||\n           ((uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 1) == 0 &&\n            (((puVar19[1] == 0 || ((DAT_00091c20._2_2_ & 0x180) != 0x80)) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 4) == 0)))))) {\n          for (; puVar5 != puVar19; puVar5 = (undefined4 *)*puVar5) {\n            if (((puVar5[1] == 0) ||\n                (uVar7 = bfd_elf_get_dyn_lib_class(puVar5[1]), (uVar7 & 1) == 0)) &&\n               (iVar8 = strcmp((char *)puVar5[2],(char *)puVar19[2]), iVar8 == 0)) {\n              if (puVar19 != puVar5) goto LAB_00039300;\n              break;\n            }\n          }\n          DAT_00091ae4 = FUN_00038720;\n          DAT_00091a60 = 0;\n          DAT_00091ae0 = puVar19;\n          FUN_00024c50(FUN_00035720);\n          if ((DAT_00091a60 == 0) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_00091a60 + 0x10)),\n             (uVar7 & 1) != 0)) {\n            uVar9 = puVar19[1];\n            uVar2 = puVar19[2];\n            if (DAT_00091d90 != 0) {\n              uVar15 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00031730(uVar15,uVar2,uVar9);\n            }\n            if ((DAT_00091a60 == 0) || (iVar8 = FUN_00038820(), iVar8 == 0)) {\n              bVar3 = false;\n              while (iVar8 = FUN_00038b50(), iVar8 == 0) {\n                if (DAT_00091d04 != 0) {\n                  pvVar10 = (void *)FUN_00037360();\n                  iVar8 = FUN_00038b50();\n                  free(pvVar10);\n                  if (iVar8 != 0) break;\n                }\n                piVar11 = (int *)bfd_elf_get_runpath_list(DAT_00091c50,&DAT_00091c20);\n                if (piVar11 != (int *)0x0) {\n                  do {\n                    bVar24 = true;\n                    pvVar10 = (void *)FUN_00037360();\n                    bVar22 = false;\n                    if (piVar11[1] == puVar19[1]) {\n                      iVar8 = FUN_00038b50();\n                      bVar24 = iVar8 == 0;\n                      bVar22 = !bVar24;\n                    }\n                    free(pvVar10);\n                    piVar11 = (int *)*piVar11;\n                  } while ((piVar11 != (int *)0x0) && (bVar24));\n                  if (bVar22) break;\n                }\n                if (DAT_00091a44 == 0) {\n                  pvVar10 = (void *)concat(DAT_00091ca8,"/usr/etc/ld.so.conf",0);\n                  iVar8 = FUN_00037470();\n                  if (iVar8 == 0) {\n                    free(pvVar10);\n                    pvVar10 = (void *)concat(DAT_00091ca8,"/etc/ld.so.conf",0);\n                    FUN_00037470();\n                  }\n                  free(pvVar10);\n                  DAT_00091a44 = 1;\n                }\n                pcVar14 = (char *)puVar19[2];\n                if (DAT_00091a40 != 0) {\n                  iVar8 = FUN_00038b50();\n                  if (iVar8 != 0) break;\n                  pcVar14 = (char *)puVar19[2];\n                }\n                sVar12 = strlen(pcVar14);\n                if (DAT_00091e04 != (int *)0x0) {\n                  piVar11 = DAT_00091e04;\n                  do {\n                    if (piVar11[2] == 0) {\n                      sVar13 = strlen((char *)piVar11[1]);\n                      pcVar14 = (char *)xmalloc(sVar13 + sVar12 + 2);\n                      sprintf(pcVar14,"%s/%s",piVar11[1],puVar19[2]);\n                      iVar8 = FUN_00038820();\n                      if (iVar8 != 0) goto LAB_00039300;\n                      free(pcVar14);\n                    }\n                    piVar11 = (int *)*piVar11;\n                  } while (piVar11 != (int *)0x0);\n                }\n                if (bVar3) {\n                  uVar9 = puVar19[1];\n                  uVar2 = puVar19[2];\n                  uVar15 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00031760(uVar15,uVar2,uVar9);\n                  break;\n                }\n                bVar3 = true;\n              }\n            }\n          }\n        }\nLAB_00039300:\n        uVar4 = DAT_00091c20._2_2_;\n      }\n      DAT_00091c20._3_1_ = (byte)(uVar4 >> 8);\n      bVar25 = DAT_00091c20._3_1_ & 0xc0;\n      if ((bVar25 == 0x80) && (iVar8 = bfd_elf_parse_eh_frame_entries(0,&DAT_00091c20), iVar8 == 0))\n      {\n        uVar9 = dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);\n        FUN_00031760(uVar9);\n      }\n    }\n  }" { (if_statement "if (DAT_00091ce0 != 0) {\n      unlink_if_ordinary(DAT_00091ce0);\n      DAT_00091c54 = bfd_openw(DAT_00091ce0,**(undefined4 **)(DAT_00091c50 + 4));\n      iVar16 = DAT_00091ce0;\n      if (DAT_00091c54 == 0) {\n        uVar9 = dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);\n        FUN_00031760(uVar9,iVar16);\n      }\n    }" if (parenthesized_expression "(DAT_00091ce0 != 0)" ( (binary_expression "DAT_00091ce0 != 0" identifier != number_literal) )) (compound_statement "{\n      unlink_if_ordinary(DAT_00091ce0);\n      DAT_00091c54 = bfd_openw(DAT_00091ce0,**(undefined4 **)(DAT_00091c50 + 4));\n      iVar16 = DAT_00091ce0;\n      if (DAT_00091c54 == 0) {\n        uVar9 = dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);\n        FUN_00031760(uVar9,iVar16);\n      }\n    }" { (expression_statement "unlink_if_ordinary(DAT_00091ce0);" (call_expression "unlink_if_ordinary(DAT_00091ce0)" identifier (argument_list "(DAT_00091ce0)" ( identifier ))) ;) (expression_statement "DAT_00091c54 = bfd_openw(DAT_00091ce0,**(undefined4 **)(DAT_00091c50 + 4));" (assignment_expression "DAT_00091c54 = bfd_openw(DAT_00091ce0,**(undefined4 **)(DAT_00091c50 + 4))" identifier = (call_expression "bfd_openw(DAT_00091ce0,**(undefined4 **)(DAT_00091c50 + 4))" identifier (argument_list "(DAT_00091ce0,**(undefined4 **)(DAT_00091c50 + 4))" ( identifier , (pointer_expression "**(undefined4 **)(DAT_00091c50 + 4)" * (pointer_expression "*(undefined4 **)(DAT_00091c50 + 4)" * (cast_expression "(undefined4 **)(DAT_00091c50 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(DAT_00091c50 + 4)" ( (binary_expression "DAT_00091c50 + 4" identifier + number_literal) ))))) )))) ;) (expression_statement "iVar16 = DAT_00091ce0;" (assignment_expression "iVar16 = DAT_00091ce0" identifier = identifier) ;) (if_statement "if (DAT_00091c54 == 0) {\n        uVar9 = dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);\n        FUN_00031760(uVar9,iVar16);\n      }" if (parenthesized_expression "(DAT_00091c54 == 0)" ( (binary_expression "DAT_00091c54 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar9 = dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);\n        FUN_00031760(uVar9,iVar16);\n      }" { (expression_statement "uVar9 = dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);" (assignment_expression "uVar9 = dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5)" identifier = (call_expression "dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5)" identifier (argument_list "(0,"%F%P: %s: can\'t open for writing: %E\n",5)" ( number_literal , (string_literal ""%F%P: %s: can\'t open for writing: %E\n"" " string_content escape_sequence string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_00031760(uVar9,iVar16);" (call_expression "FUN_00031760(uVar9,iVar16)" identifier (argument_list "(uVar9,iVar16)" ( identifier , identifier ))) ;) })) })) (expression_statement "iVar18 = DAT_00091c50;" (assignment_expression "iVar18 = DAT_00091c50" identifier = identifier) ;) (expression_statement "iVar16 = DAT_00091c58;" (assignment_expression "iVar16 = DAT_00091c58" identifier = identifier) ;) (if_statement "if (DAT_00091a4c != (void *)0x0) {\n      for (; iVar16 != 0; iVar16 = *(int *)(iVar16 + 0x98)) {\n        if (((*(int *)(*(int *)(iVar16 + 4) + 4) == 5) && (*(int *)(iVar16 + 0x68) != 0)) &&\n           ((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0)) {\n          iVar17 = FUN_000353f0(DAT_00091a4c);\n          if ((iVar17 == 0) || (iVar17 + 0x10 == 0)) {\n            pcVar14 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar16 = bfd_make_section_with_flags(iVar16,".note.gnu.build-id",0x10402b);\n            if (iVar16 != 0) {\n              *(undefined4 *)(iVar16 + 0x40) = 2;\n              iVar18 = DAT_00091c50;\n              iVar1 = *(int *)(*(int *)(DAT_00091c50 + 0x9c) + 0x910);\n              *(code **)(iVar1 + 0x10) = FUN_000371f0;\n              pvVar10 = DAT_00091a4c;\n              *(int *)(iVar1 + 0x18) = iVar16;\n              *(void **)(iVar1 + 0x14) = pvVar10;\n              *(undefined4 *)(*(int *)(iVar16 + 0x8c) + 4) = 7;\n              *(int *)(iVar16 + 0x24) = iVar17 + 0x10;\n              goto LAB_00039178;\n            }\n            pcVar14 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          uVar9 = dcgettext(0,pcVar14,5);\n          FUN_00031760(uVar9);\n          break;\n        }\n      }\n      free(DAT_00091a4c);\n      DAT_00091a4c = (void *)0x0;\n      iVar18 = DAT_00091c50;\n    }" if (parenthesized_expression "(DAT_00091a4c != (void *)0x0)" ( (binary_expression "DAT_00091a4c != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      for (; iVar16 != 0; iVar16 = *(int *)(iVar16 + 0x98)) {\n        if (((*(int *)(*(int *)(iVar16 + 4) + 4) == 5) && (*(int *)(iVar16 + 0x68) != 0)) &&\n           ((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0)) {\n          iVar17 = FUN_000353f0(DAT_00091a4c);\n          if ((iVar17 == 0) || (iVar17 + 0x10 == 0)) {\n            pcVar14 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar16 = bfd_make_section_with_flags(iVar16,".note.gnu.build-id",0x10402b);\n            if (iVar16 != 0) {\n              *(undefined4 *)(iVar16 + 0x40) = 2;\n              iVar18 = DAT_00091c50;\n              iVar1 = *(int *)(*(int *)(DAT_00091c50 + 0x9c) + 0x910);\n              *(code **)(iVar1 + 0x10) = FUN_000371f0;\n              pvVar10 = DAT_00091a4c;\n              *(int *)(iVar1 + 0x18) = iVar16;\n              *(void **)(iVar1 + 0x14) = pvVar10;\n              *(undefined4 *)(*(int *)(iVar16 + 0x8c) + 4) = 7;\n              *(int *)(iVar16 + 0x24) = iVar17 + 0x10;\n              goto LAB_00039178;\n            }\n            pcVar14 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          uVar9 = dcgettext(0,pcVar14,5);\n          FUN_00031760(uVar9);\n          break;\n        }\n      }\n      free(DAT_00091a4c);\n      DAT_00091a4c = (void *)0x0;\n      iVar18 = DAT_00091c50;\n    }" { (for_statement "for (; iVar16 != 0; iVar16 = *(int *)(iVar16 + 0x98)) {\n        if (((*(int *)(*(int *)(iVar16 + 4) + 4) == 5) && (*(int *)(iVar16 + 0x68) != 0)) &&\n           ((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0)) {\n          iVar17 = FUN_000353f0(DAT_00091a4c);\n          if ((iVar17 == 0) || (iVar17 + 0x10 == 0)) {\n            pcVar14 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar16 = bfd_make_section_with_flags(iVar16,".note.gnu.build-id",0x10402b);\n            if (iVar16 != 0) {\n              *(undefined4 *)(iVar16 + 0x40) = 2;\n              iVar18 = DAT_00091c50;\n              iVar1 = *(int *)(*(int *)(DAT_00091c50 + 0x9c) + 0x910);\n              *(code **)(iVar1 + 0x10) = FUN_000371f0;\n              pvVar10 = DAT_00091a4c;\n              *(int *)(iVar1 + 0x18) = iVar16;\n              *(void **)(iVar1 + 0x14) = pvVar10;\n              *(undefined4 *)(*(int *)(iVar16 + 0x8c) + 4) = 7;\n              *(int *)(iVar16 + 0x24) = iVar17 + 0x10;\n              goto LAB_00039178;\n            }\n            pcVar14 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          uVar9 = dcgettext(0,pcVar14,5);\n          FUN_00031760(uVar9);\n          break;\n        }\n      }" for ( ; (binary_expression "iVar16 != 0" identifier != number_literal) ; (assignment_expression "iVar16 = *(int *)(iVar16 + 0x98)" identifier = (pointer_expression "*(int *)(iVar16 + 0x98)" * (cast_expression "(int *)(iVar16 + 0x98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x98)" ( (binary_expression "iVar16 + 0x98" identifier + number_literal) ))))) ) (compound_statement "{\n        if (((*(int *)(*(int *)(iVar16 + 4) + 4) == 5) && (*(int *)(iVar16 + 0x68) != 0)) &&\n           ((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0)) {\n          iVar17 = FUN_000353f0(DAT_00091a4c);\n          if ((iVar17 == 0) || (iVar17 + 0x10 == 0)) {\n            pcVar14 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar16 = bfd_make_section_with_flags(iVar16,".note.gnu.build-id",0x10402b);\n            if (iVar16 != 0) {\n              *(undefined4 *)(iVar16 + 0x40) = 2;\n              iVar18 = DAT_00091c50;\n              iVar1 = *(int *)(*(int *)(DAT_00091c50 + 0x9c) + 0x910);\n              *(code **)(iVar1 + 0x10) = FUN_000371f0;\n              pvVar10 = DAT_00091a4c;\n              *(int *)(iVar1 + 0x18) = iVar16;\n              *(void **)(iVar1 + 0x14) = pvVar10;\n              *(undefined4 *)(*(int *)(iVar16 + 0x8c) + 4) = 7;\n              *(int *)(iVar16 + 0x24) = iVar17 + 0x10;\n              goto LAB_00039178;\n            }\n            pcVar14 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          uVar9 = dcgettext(0,pcVar14,5);\n          FUN_00031760(uVar9);\n          break;\n        }\n      }" { (if_statement "if (((*(int *)(*(int *)(iVar16 + 4) + 4) == 5) && (*(int *)(iVar16 + 0x68) != 0)) &&\n           ((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0)) {\n          iVar17 = FUN_000353f0(DAT_00091a4c);\n          if ((iVar17 == 0) || (iVar17 + 0x10 == 0)) {\n            pcVar14 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar16 = bfd_make_section_with_flags(iVar16,".note.gnu.build-id",0x10402b);\n            if (iVar16 != 0) {\n              *(undefined4 *)(iVar16 + 0x40) = 2;\n              iVar18 = DAT_00091c50;\n              iVar1 = *(int *)(*(int *)(DAT_00091c50 + 0x9c) + 0x910);\n              *(code **)(iVar1 + 0x10) = FUN_000371f0;\n              pvVar10 = DAT_00091a4c;\n              *(int *)(iVar1 + 0x18) = iVar16;\n              *(void **)(iVar1 + 0x14) = pvVar10;\n              *(undefined4 *)(*(int *)(iVar16 + 0x8c) + 4) = 7;\n              *(int *)(iVar16 + 0x24) = iVar17 + 0x10;\n              goto LAB_00039178;\n            }\n            pcVar14 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          uVar9 = dcgettext(0,pcVar14,5);\n          FUN_00031760(uVar9);\n          break;\n        }" if (parenthesized_expression "(((*(int *)(*(int *)(iVar16 + 4) + 4) == 5) && (*(int *)(iVar16 + 0x68) != 0)) &&\n           ((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0))" ( (binary_expression "((*(int *)(*(int *)(iVar16 + 4) + 4) == 5) && (*(int *)(iVar16 + 0x68) != 0)) &&\n           ((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0)" (parenthesized_expression "((*(int *)(*(int *)(iVar16 + 4) + 4) == 5) && (*(int *)(iVar16 + 0x68) != 0))" ( (binary_expression "(*(int *)(*(int *)(iVar16 + 4) + 4) == 5) && (*(int *)(iVar16 + 0x68) != 0)" (parenthesized_expression "(*(int *)(*(int *)(iVar16 + 4) + 4) == 5)" ( (binary_expression "*(int *)(*(int *)(iVar16 + 4) + 4) == 5" (pointer_expression "*(int *)(*(int *)(iVar16 + 4) + 4)" * (cast_expression "(int *)(*(int *)(iVar16 + 4) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar16 + 4) + 4)" ( (binary_expression "*(int *)(iVar16 + 4) + 4" (pointer_expression "*(int *)(iVar16 + 4)" * (cast_expression "(int *)(iVar16 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 4)" ( (binary_expression "iVar16 + 4" identifier + number_literal) )))) + number_literal) )))) == number_literal) )) && (parenthesized_expression "(*(int *)(iVar16 + 0x68) != 0)" ( (binary_expression "*(int *)(iVar16 + 0x68) != 0" (pointer_expression "*(int *)(iVar16 + 0x68)" * (cast_expression "(int *)(iVar16 + 0x68)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x68)" ( (binary_expression "iVar16 + 0x68" identifier + number_literal) )))) != number_literal) ))) )) && (parenthesized_expression "((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0)" ( (binary_expression "(*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0" (parenthesized_expression "(*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10)" ( (binary_expression "*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10" (pointer_expression "*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24)" * (cast_expression "(byte *)(*(int *)(iVar16 + 0xa0) + 0x24)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar16 + 0xa0) + 0x24)" ( (binary_expression "*(int *)(iVar16 + 0xa0) + 0x24" (pointer_expression "*(int *)(iVar16 + 0xa0)" * (cast_expression "(int *)(iVar16 + 0xa0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0xa0)" ( (binary_expression "iVar16 + 0xa0" identifier + number_literal) )))) + number_literal) )))) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n          iVar17 = FUN_000353f0(DAT_00091a4c);\n          if ((iVar17 == 0) || (iVar17 + 0x10 == 0)) {\n            pcVar14 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar16 = bfd_make_section_with_flags(iVar16,".note.gnu.build-id",0x10402b);\n            if (iVar16 != 0) {\n              *(undefined4 *)(iVar16 + 0x40) = 2;\n              iVar18 = DAT_00091c50;\n              iVar1 = *(int *)(*(int *)(DAT_00091c50 + 0x9c) + 0x910);\n              *(code **)(iVar1 + 0x10) = FUN_000371f0;\n              pvVar10 = DAT_00091a4c;\n              *(int *)(iVar1 + 0x18) = iVar16;\n              *(void **)(iVar1 + 0x14) = pvVar10;\n              *(undefined4 *)(*(int *)(iVar16 + 0x8c) + 4) = 7;\n              *(int *)(iVar16 + 0x24) = iVar17 + 0x10;\n              goto LAB_00039178;\n            }\n            pcVar14 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          uVar9 = dcgettext(0,pcVar14,5);\n          FUN_00031760(uVar9);\n          break;\n        }" { (expression_statement "iVar17 = FUN_000353f0(DAT_00091a4c);" (assignment_expression "iVar17 = FUN_000353f0(DAT_00091a4c)" identifier = (call_expression "FUN_000353f0(DAT_00091a4c)" identifier (argument_list "(DAT_00091a4c)" ( identifier )))) ;) (if_statement "if ((iVar17 == 0) || (iVar17 + 0x10 == 0)) {\n            pcVar14 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar16 = bfd_make_section_with_flags(iVar16,".note.gnu.build-id",0x10402b);\n            if (iVar16 != 0) {\n              *(undefined4 *)(iVar16 + 0x40) = 2;\n              iVar18 = DAT_00091c50;\n              iVar1 = *(int *)(*(int *)(DAT_00091c50 + 0x9c) + 0x910);\n              *(code **)(iVar1 + 0x10) = FUN_000371f0;\n              pvVar10 = DAT_00091a4c;\n              *(int *)(iVar1 + 0x18) = iVar16;\n              *(void **)(iVar1 + 0x14) = pvVar10;\n              *(undefined4 *)(*(int *)(iVar16 + 0x8c) + 4) = 7;\n              *(int *)(iVar16 + 0x24) = iVar17 + 0x10;\n              goto LAB_00039178;\n            }\n            pcVar14 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }" if (parenthesized_expression "((iVar17 == 0) || (iVar17 + 0x10 == 0))" ( (binary_expression "(iVar17 == 0) || (iVar17 + 0x10 == 0)" (parenthesized_expression "(iVar17 == 0)" ( (binary_expression "iVar17 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar17 + 0x10 == 0)" ( (binary_expression "iVar17 + 0x10 == 0" (binary_expression "iVar17 + 0x10" identifier + number_literal) == number_literal) ))) )) (compound_statement "{\n            pcVar14 = "%P: warning: unrecognized --build-id style ignored\n";\n          }" { (expression_statement "pcVar14 = "%P: warning: unrecognized --build-id style ignored\n";" (assignment_expression "pcVar14 = "%P: warning: unrecognized --build-id style ignored\n"" identifier = (string_literal ""%P: warning: unrecognized --build-id style ignored\n"" " string_content escape_sequence ")) ;) }) (else_clause "else {\n            iVar16 = bfd_make_section_with_flags(iVar16,".note.gnu.build-id",0x10402b);\n            if (iVar16 != 0) {\n              *(undefined4 *)(iVar16 + 0x40) = 2;\n              iVar18 = DAT_00091c50;\n              iVar1 = *(int *)(*(int *)(DAT_00091c50 + 0x9c) + 0x910);\n              *(code **)(iVar1 + 0x10) = FUN_000371f0;\n              pvVar10 = DAT_00091a4c;\n              *(int *)(iVar1 + 0x18) = iVar16;\n              *(void **)(iVar1 + 0x14) = pvVar10;\n              *(undefined4 *)(*(int *)(iVar16 + 0x8c) + 4) = 7;\n              *(int *)(iVar16 + 0x24) = iVar17 + 0x10;\n              goto LAB_00039178;\n            }\n            pcVar14 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }" else (compound_statement "{\n            iVar16 = bfd_make_section_with_flags(iVar16,".note.gnu.build-id",0x10402b);\n            if (iVar16 != 0) {\n              *(undefined4 *)(iVar16 + 0x40) = 2;\n              iVar18 = DAT_00091c50;\n              iVar1 = *(int *)(*(int *)(DAT_00091c50 + 0x9c) + 0x910);\n              *(code **)(iVar1 + 0x10) = FUN_000371f0;\n              pvVar10 = DAT_00091a4c;\n              *(int *)(iVar1 + 0x18) = iVar16;\n              *(void **)(iVar1 + 0x14) = pvVar10;\n              *(undefined4 *)(*(int *)(iVar16 + 0x8c) + 4) = 7;\n              *(int *)(iVar16 + 0x24) = iVar17 + 0x10;\n              goto LAB_00039178;\n            }\n            pcVar14 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }" { (expression_statement "iVar16 = bfd_make_section_with_flags(iVar16,".note.gnu.build-id",0x10402b);" (assignment_expression "iVar16 = bfd_make_section_with_flags(iVar16,".note.gnu.build-id",0x10402b)" identifier = (call_expression "bfd_make_section_with_flags(iVar16,".note.gnu.build-id",0x10402b)" identifier (argument_list "(iVar16,".note.gnu.build-id",0x10402b)" ( identifier , (string_literal "".note.gnu.build-id"" " string_content ") , number_literal )))) ;) (if_statement "if (iVar16 != 0) {\n              *(undefined4 *)(iVar16 + 0x40) = 2;\n              iVar18 = DAT_00091c50;\n              iVar1 = *(int *)(*(int *)(DAT_00091c50 + 0x9c) + 0x910);\n              *(code **)(iVar1 + 0x10) = FUN_000371f0;\n              pvVar10 = DAT_00091a4c;\n              *(int *)(iVar1 + 0x18) = iVar16;\n              *(void **)(iVar1 + 0x14) = pvVar10;\n              *(undefined4 *)(*(int *)(iVar16 + 0x8c) + 4) = 7;\n              *(int *)(iVar16 + 0x24) = iVar17 + 0x10;\n              goto LAB_00039178;\n            }" if (parenthesized_expression "(iVar16 != 0)" ( (binary_expression "iVar16 != 0" identifier != number_literal) )) (compound_statement "{\n              *(undefined4 *)(iVar16 + 0x40) = 2;\n              iVar18 = DAT_00091c50;\n              iVar1 = *(int *)(*(int *)(DAT_00091c50 + 0x9c) + 0x910);\n              *(code **)(iVar1 + 0x10) = FUN_000371f0;\n              pvVar10 = DAT_00091a4c;\n              *(int *)(iVar1 + 0x18) = iVar16;\n              *(void **)(iVar1 + 0x14) = pvVar10;\n              *(undefined4 *)(*(int *)(iVar16 + 0x8c) + 4) = 7;\n              *(int *)(iVar16 + 0x24) = iVar17 + 0x10;\n              goto LAB_00039178;\n            }" { (expression_statement "*(undefined4 *)(iVar16 + 0x40) = 2;" (assignment_expression "*(undefined4 *)(iVar16 + 0x40) = 2" (pointer_expression "*(undefined4 *)(iVar16 + 0x40)" * (cast_expression "(undefined4 *)(iVar16 + 0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x40)" ( (binary_expression "iVar16 + 0x40" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar18 = DAT_00091c50;" (assignment_expression "iVar18 = DAT_00091c50" identifier = identifier) ;) (expression_statement "iVar1 = *(int *)(*(int *)(DAT_00091c50 + 0x9c) + 0x910);" (assignment_expression "iVar1 = *(int *)(*(int *)(DAT_00091c50 + 0x9c) + 0x910)" identifier = (pointer_expression "*(int *)(*(int *)(DAT_00091c50 + 0x9c) + 0x910)" * (cast_expression "(int *)(*(int *)(DAT_00091c50 + 0x9c) + 0x910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(DAT_00091c50 + 0x9c) + 0x910)" ( (binary_expression "*(int *)(DAT_00091c50 + 0x9c) + 0x910" (pointer_expression "*(int *)(DAT_00091c50 + 0x9c)" * (cast_expression "(int *)(DAT_00091c50 + 0x9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00091c50 + 0x9c)" ( (binary_expression "DAT_00091c50 + 0x9c" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "*(code **)(iVar1 + 0x10) = FUN_000371f0;" (assignment_expression "*(code **)(iVar1 + 0x10) = FUN_000371f0" (pointer_expression "*(code **)(iVar1 + 0x10)" * (cast_expression "(code **)(iVar1 + 0x10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar1 + 0x10)" ( (binary_expression "iVar1 + 0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "pvVar10 = DAT_00091a4c;" (assignment_expression "pvVar10 = DAT_00091a4c" identifier = identifier) ;) (expression_statement "*(int *)(iVar1 + 0x18) = iVar16;" (assignment_expression "*(int *)(iVar1 + 0x18) = iVar16" (pointer_expression "*(int *)(iVar1 + 0x18)" * (cast_expression "(int *)(iVar1 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x18)" ( (binary_expression "iVar1 + 0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(void **)(iVar1 + 0x14) = pvVar10;" (assignment_expression "*(void **)(iVar1 + 0x14) = pvVar10" (pointer_expression "*(void **)(iVar1 + 0x14)" * (cast_expression "(void **)(iVar1 + 0x14)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar1 + 0x14)" ( (binary_expression "iVar1 + 0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(*(int *)(iVar16 + 0x8c) + 4) = 7;" (assignment_expression "*(undefined4 *)(*(int *)(iVar16 + 0x8c) + 4) = 7" (pointer_expression "*(undefined4 *)(*(int *)(iVar16 + 0x8c) + 4)" * (cast_expression "(undefined4 *)(*(int *)(iVar16 + 0x8c) + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar16 + 0x8c) + 4)" ( (binary_expression "*(int *)(iVar16 + 0x8c) + 4" (pointer_expression "*(int *)(iVar16 + 0x8c)" * (cast_expression "(int *)(iVar16 + 0x8c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x8c)" ( (binary_expression "iVar16 + 0x8c" identifier + number_literal) )))) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(iVar16 + 0x24) = iVar17 + 0x10;" (assignment_expression "*(int *)(iVar16 + 0x24) = iVar17 + 0x10" (pointer_expression "*(int *)(iVar16 + 0x24)" * (cast_expression "(int *)(iVar16 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x24)" ( (binary_expression "iVar16 + 0x24" identifier + number_literal) )))) = (binary_expression "iVar17 + 0x10" identifier + number_literal)) ;) (goto_statement "goto LAB_00039178;" goto statement_identifier ;) })) (expression_statement "pcVar14 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";" (assignment_expression "pcVar14 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n"" identifier = (string_literal ""%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n"" " string_content escape_sequence ")) ;) }))) (expression_statement "uVar9 = dcgettext(0,pcVar14,5);" (assignment_expression "uVar9 = dcgettext(0,pcVar14,5)" identifier = (call_expression "dcgettext(0,pcVar14,5)" identifier (argument_list "(0,pcVar14,5)" ( number_literal , identifier , number_literal )))) ;) (expression_statement "FUN_00031760(uVar9);" (call_expression "FUN_00031760(uVar9)" identifier (argument_list "(uVar9)" ( identifier ))) ;) (break_statement "break;" break ;) })) })) (expression_statement "free(DAT_00091a4c);" (call_expression "free(DAT_00091a4c)" identifier (argument_list "(DAT_00091a4c)" ( identifier ))) ;) (expression_statement "DAT_00091a4c = (void *)0x0;" (assignment_expression "DAT_00091a4c = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar18 = DAT_00091c50;" (assignment_expression "iVar18 = DAT_00091c50" identifier = identifier) ;) })) (labeled_statement "LAB_00039178:\n    (**(code **)(*(int *)(*(int *)(iVar18 + 4) + 0x1c0) + 0x1bc))(&DAT_00091c20);" statement_identifier : (expression_statement "(**(code **)(*(int *)(*(int *)(iVar18 + 4) + 0x1c0) + 0x1bc))(&DAT_00091c20);" (call_expression "(**(code **)(*(int *)(*(int *)(iVar18 + 4) + 0x1c0) + 0x1bc))(&DAT_00091c20)" (parenthesized_expression "(**(code **)(*(int *)(*(int *)(iVar18 + 4) + 0x1c0) + 0x1bc))" ( (pointer_expression "**(code **)(*(int *)(*(int *)(iVar18 + 4) + 0x1c0) + 0x1bc)" * (pointer_expression "*(code **)(*(int *)(*(int *)(iVar18 + 4) + 0x1c0) + 0x1bc)" * (cast_expression "(code **)(*(int *)(*(int *)(iVar18 + 4) + 0x1c0) + 0x1bc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(*(int *)(iVar18 + 4) + 0x1c0) + 0x1bc)" ( (binary_expression "*(int *)(*(int *)(iVar18 + 4) + 0x1c0) + 0x1bc" (pointer_expression "*(int *)(*(int *)(iVar18 + 4) + 0x1c0)" * (cast_expression "(int *)(*(int *)(iVar18 + 4) + 0x1c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar18 + 4) + 0x1c0)" ( (binary_expression "*(int *)(iVar18 + 4) + 0x1c0" (pointer_expression "*(int *)(iVar18 + 4)" * (cast_expression "(int *)(iVar18 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + 4)" ( (binary_expression "iVar18 + 4" identifier + number_literal) )))) + number_literal) )))) + number_literal) ))))) )) (argument_list "(&DAT_00091c20)" ( (pointer_expression "&DAT_00091c20" & identifier) ))) ;)) (if_statement "if (((byte)DAT_00091c20 & 3) == 2) {\n      if (DAT_00091c25 >> 7 == (~DAT_00091c26 & 1)) {\n        bfd_make_section_with_flags(DAT_00091c58,".note.GNU-stack",DAT_00091c25 >> 3 & 0x10 | 8);\n      }\n    }\n    else {\n      if (((DAT_00091c24 & 0x20) == 0) && (DAT_00091c58 != 0)) {\n        local_50 = 0;\n        bVar3 = false;\n        local_4c = 0;\n        iVar16 = DAT_00091c58;\n        do {\n          while ((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0) {\n            puVar19 = *(undefined4 **)(iVar16 + 0x60);\n            if (puVar19 == (undefined4 *)0x0) {\nLAB_00039697:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar22 = (undefined *)puVar19[0xf] < PTR__bfd_std_section_00090fc4 + 0x150;\n                bVar24 = (undefined *)puVar19[0xf] == PTR__bfd_std_section_00090fc4 + 0x150;\n                iVar18 = local_60;\n                if (!bVar24) {\n                  iVar17 = 0xf;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar22 = *pbVar20 < *pbVar21;\n                    bVar24 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar24);\n                  bVar23 = false;\n                  bVar22 = (!bVar22 && !bVar24) == bVar22;\n                  if (bVar22) {\n                    local_60 = 2;\n                    goto LAB_0003966f;\n                  }\n                  iVar17 = 10;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar23 = *pbVar20 < *pbVar21;\n                    bVar22 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar22);\n                  if (((!bVar23 && !bVar22) == bVar23) && (iVar18 = 1, (uint)puVar19[9] < 9)) {\n                    iVar18 = local_60;\n                  }\n                }\n                local_60 = iVar18;\n                puVar19 = (undefined4 *)puVar19[3];\n              } while (puVar19 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_00039697;\nLAB_0003966f:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar16 = local_4c;\n                }\n                uVar9 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00031760(uVar9,iVar16);\n                goto LAB_000396cd;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_00039697;\n              if (local_60 != 2) {\n                if ((DAT_00091c20._2_2_ & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar3 = true;\n                  if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                    local_4c = iVar16;\n                  }\n                }\n                break;\n              }\n              bVar3 = true;\n              if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                local_4c = iVar16;\n              }\n            }\n            iVar16 = *(int *)(iVar16 + 0x98);\n            local_50 = 2;\n            DAT_00091c20._2_2_ = DAT_00091c20._2_2_ & 0x3fff | 0x8000;\n            if (iVar16 == 0) goto LAB_000396cd;\n          }\n          iVar16 = *(int *)(iVar16 + 0x98);\n        } while (iVar16 != 0);\nLAB_000396cd:\n        if ((local_4c == 0) ||\n           (iVar16 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x20) | 8),\n           iVar16 == 0)) {\n          if (bVar3) {\n            uVar9 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00031760(uVar9);\n          }\n        }\n        else {\n          *(undefined4 *)(iVar16 + 0x40) = 2;\n          *(int *)(iVar8 + 0xac) = iVar16;\n        }\n      }\n      puVar6 = (undefined4 *)bfd_elf_get_needed_list(DAT_00091c50,&DAT_00091c20);\n      uVar4 = DAT_00091c20._2_2_;\n      for (puVar19 = puVar6; DAT_00091c20._2_2_ = uVar4, puVar19 != (undefined4 *)0x0;\n          puVar19 = (undefined4 *)*puVar19) {\n        puVar5 = puVar6;\n        if ((puVar19[1] == 0) ||\n           ((uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 1) == 0 &&\n            (((puVar19[1] == 0 || ((DAT_00091c20._2_2_ & 0x180) != 0x80)) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 4) == 0)))))) {\n          for (; puVar5 != puVar19; puVar5 = (undefined4 *)*puVar5) {\n            if (((puVar5[1] == 0) ||\n                (uVar7 = bfd_elf_get_dyn_lib_class(puVar5[1]), (uVar7 & 1) == 0)) &&\n               (iVar8 = strcmp((char *)puVar5[2],(char *)puVar19[2]), iVar8 == 0)) {\n              if (puVar19 != puVar5) goto LAB_00039300;\n              break;\n            }\n          }\n          DAT_00091ae4 = FUN_00038720;\n          DAT_00091a60 = 0;\n          DAT_00091ae0 = puVar19;\n          FUN_00024c50(FUN_00035720);\n          if ((DAT_00091a60 == 0) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_00091a60 + 0x10)),\n             (uVar7 & 1) != 0)) {\n            uVar9 = puVar19[1];\n            uVar2 = puVar19[2];\n            if (DAT_00091d90 != 0) {\n              uVar15 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00031730(uVar15,uVar2,uVar9);\n            }\n            if ((DAT_00091a60 == 0) || (iVar8 = FUN_00038820(), iVar8 == 0)) {\n              bVar3 = false;\n              while (iVar8 = FUN_00038b50(), iVar8 == 0) {\n                if (DAT_00091d04 != 0) {\n                  pvVar10 = (void *)FUN_00037360();\n                  iVar8 = FUN_00038b50();\n                  free(pvVar10);\n                  if (iVar8 != 0) break;\n                }\n                piVar11 = (int *)bfd_elf_get_runpath_list(DAT_00091c50,&DAT_00091c20);\n                if (piVar11 != (int *)0x0) {\n                  do {\n                    bVar24 = true;\n                    pvVar10 = (void *)FUN_00037360();\n                    bVar22 = false;\n                    if (piVar11[1] == puVar19[1]) {\n                      iVar8 = FUN_00038b50();\n                      bVar24 = iVar8 == 0;\n                      bVar22 = !bVar24;\n                    }\n                    free(pvVar10);\n                    piVar11 = (int *)*piVar11;\n                  } while ((piVar11 != (int *)0x0) && (bVar24));\n                  if (bVar22) break;\n                }\n                if (DAT_00091a44 == 0) {\n                  pvVar10 = (void *)concat(DAT_00091ca8,"/usr/etc/ld.so.conf",0);\n                  iVar8 = FUN_00037470();\n                  if (iVar8 == 0) {\n                    free(pvVar10);\n                    pvVar10 = (void *)concat(DAT_00091ca8,"/etc/ld.so.conf",0);\n                    FUN_00037470();\n                  }\n                  free(pvVar10);\n                  DAT_00091a44 = 1;\n                }\n                pcVar14 = (char *)puVar19[2];\n                if (DAT_00091a40 != 0) {\n                  iVar8 = FUN_00038b50();\n                  if (iVar8 != 0) break;\n                  pcVar14 = (char *)puVar19[2];\n                }\n                sVar12 = strlen(pcVar14);\n                if (DAT_00091e04 != (int *)0x0) {\n                  piVar11 = DAT_00091e04;\n                  do {\n                    if (piVar11[2] == 0) {\n                      sVar13 = strlen((char *)piVar11[1]);\n                      pcVar14 = (char *)xmalloc(sVar13 + sVar12 + 2);\n                      sprintf(pcVar14,"%s/%s",piVar11[1],puVar19[2]);\n                      iVar8 = FUN_00038820();\n                      if (iVar8 != 0) goto LAB_00039300;\n                      free(pcVar14);\n                    }\n                    piVar11 = (int *)*piVar11;\n                  } while (piVar11 != (int *)0x0);\n                }\n                if (bVar3) {\n                  uVar9 = puVar19[1];\n                  uVar2 = puVar19[2];\n                  uVar15 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00031760(uVar15,uVar2,uVar9);\n                  break;\n                }\n                bVar3 = true;\n              }\n            }\n          }\n        }\nLAB_00039300:\n        uVar4 = DAT_00091c20._2_2_;\n      }\n      DAT_00091c20._3_1_ = (byte)(uVar4 >> 8);\n      bVar25 = DAT_00091c20._3_1_ & 0xc0;\n      if ((bVar25 == 0x80) && (iVar8 = bfd_elf_parse_eh_frame_entries(0,&DAT_00091c20), iVar8 == 0))\n      {\n        uVar9 = dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);\n        FUN_00031760(uVar9);\n      }\n    }" if (parenthesized_expression "(((byte)DAT_00091c20 & 3) == 2)" ( (binary_expression "((byte)DAT_00091c20 & 3) == 2" (parenthesized_expression "((byte)DAT_00091c20 & 3)" ( (binary_expression "(byte)DAT_00091c20 & 3" (cast_expression "(byte)DAT_00091c20" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n      if (DAT_00091c25 >> 7 == (~DAT_00091c26 & 1)) {\n        bfd_make_section_with_flags(DAT_00091c58,".note.GNU-stack",DAT_00091c25 >> 3 & 0x10 | 8);\n      }\n    }" { (if_statement "if (DAT_00091c25 >> 7 == (~DAT_00091c26 & 1)) {\n        bfd_make_section_with_flags(DAT_00091c58,".note.GNU-stack",DAT_00091c25 >> 3 & 0x10 | 8);\n      }" if (parenthesized_expression "(DAT_00091c25 >> 7 == (~DAT_00091c26 & 1))" ( (binary_expression "DAT_00091c25 >> 7 == (~DAT_00091c26 & 1)" (binary_expression "DAT_00091c25 >> 7" identifier >> number_literal) == (parenthesized_expression "(~DAT_00091c26 & 1)" ( (binary_expression "~DAT_00091c26 & 1" (unary_expression "~DAT_00091c26" ~ identifier) & number_literal) ))) )) (compound_statement "{\n        bfd_make_section_with_flags(DAT_00091c58,".note.GNU-stack",DAT_00091c25 >> 3 & 0x10 | 8);\n      }" { (expression_statement "bfd_make_section_with_flags(DAT_00091c58,".note.GNU-stack",DAT_00091c25 >> 3 & 0x10 | 8);" (call_expression "bfd_make_section_with_flags(DAT_00091c58,".note.GNU-stack",DAT_00091c25 >> 3 & 0x10 | 8)" identifier (argument_list "(DAT_00091c58,".note.GNU-stack",DAT_00091c25 >> 3 & 0x10 | 8)" ( identifier , (string_literal "".note.GNU-stack"" " string_content ") , (binary_expression "DAT_00091c25 >> 3 & 0x10 | 8" (binary_expression "DAT_00091c25 >> 3 & 0x10" (binary_expression "DAT_00091c25 >> 3" identifier >> number_literal) & number_literal) | number_literal) ))) ;) })) }) (else_clause "else {\n      if (((DAT_00091c24 & 0x20) == 0) && (DAT_00091c58 != 0)) {\n        local_50 = 0;\n        bVar3 = false;\n        local_4c = 0;\n        iVar16 = DAT_00091c58;\n        do {\n          while ((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0) {\n            puVar19 = *(undefined4 **)(iVar16 + 0x60);\n            if (puVar19 == (undefined4 *)0x0) {\nLAB_00039697:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar22 = (undefined *)puVar19[0xf] < PTR__bfd_std_section_00090fc4 + 0x150;\n                bVar24 = (undefined *)puVar19[0xf] == PTR__bfd_std_section_00090fc4 + 0x150;\n                iVar18 = local_60;\n                if (!bVar24) {\n                  iVar17 = 0xf;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar22 = *pbVar20 < *pbVar21;\n                    bVar24 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar24);\n                  bVar23 = false;\n                  bVar22 = (!bVar22 && !bVar24) == bVar22;\n                  if (bVar22) {\n                    local_60 = 2;\n                    goto LAB_0003966f;\n                  }\n                  iVar17 = 10;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar23 = *pbVar20 < *pbVar21;\n                    bVar22 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar22);\n                  if (((!bVar23 && !bVar22) == bVar23) && (iVar18 = 1, (uint)puVar19[9] < 9)) {\n                    iVar18 = local_60;\n                  }\n                }\n                local_60 = iVar18;\n                puVar19 = (undefined4 *)puVar19[3];\n              } while (puVar19 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_00039697;\nLAB_0003966f:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar16 = local_4c;\n                }\n                uVar9 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00031760(uVar9,iVar16);\n                goto LAB_000396cd;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_00039697;\n              if (local_60 != 2) {\n                if ((DAT_00091c20._2_2_ & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar3 = true;\n                  if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                    local_4c = iVar16;\n                  }\n                }\n                break;\n              }\n              bVar3 = true;\n              if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                local_4c = iVar16;\n              }\n            }\n            iVar16 = *(int *)(iVar16 + 0x98);\n            local_50 = 2;\n            DAT_00091c20._2_2_ = DAT_00091c20._2_2_ & 0x3fff | 0x8000;\n            if (iVar16 == 0) goto LAB_000396cd;\n          }\n          iVar16 = *(int *)(iVar16 + 0x98);\n        } while (iVar16 != 0);\nLAB_000396cd:\n        if ((local_4c == 0) ||\n           (iVar16 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x20) | 8),\n           iVar16 == 0)) {\n          if (bVar3) {\n            uVar9 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00031760(uVar9);\n          }\n        }\n        else {\n          *(undefined4 *)(iVar16 + 0x40) = 2;\n          *(int *)(iVar8 + 0xac) = iVar16;\n        }\n      }\n      puVar6 = (undefined4 *)bfd_elf_get_needed_list(DAT_00091c50,&DAT_00091c20);\n      uVar4 = DAT_00091c20._2_2_;\n      for (puVar19 = puVar6; DAT_00091c20._2_2_ = uVar4, puVar19 != (undefined4 *)0x0;\n          puVar19 = (undefined4 *)*puVar19) {\n        puVar5 = puVar6;\n        if ((puVar19[1] == 0) ||\n           ((uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 1) == 0 &&\n            (((puVar19[1] == 0 || ((DAT_00091c20._2_2_ & 0x180) != 0x80)) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 4) == 0)))))) {\n          for (; puVar5 != puVar19; puVar5 = (undefined4 *)*puVar5) {\n            if (((puVar5[1] == 0) ||\n                (uVar7 = bfd_elf_get_dyn_lib_class(puVar5[1]), (uVar7 & 1) == 0)) &&\n               (iVar8 = strcmp((char *)puVar5[2],(char *)puVar19[2]), iVar8 == 0)) {\n              if (puVar19 != puVar5) goto LAB_00039300;\n              break;\n            }\n          }\n          DAT_00091ae4 = FUN_00038720;\n          DAT_00091a60 = 0;\n          DAT_00091ae0 = puVar19;\n          FUN_00024c50(FUN_00035720);\n          if ((DAT_00091a60 == 0) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_00091a60 + 0x10)),\n             (uVar7 & 1) != 0)) {\n            uVar9 = puVar19[1];\n            uVar2 = puVar19[2];\n            if (DAT_00091d90 != 0) {\n              uVar15 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00031730(uVar15,uVar2,uVar9);\n            }\n            if ((DAT_00091a60 == 0) || (iVar8 = FUN_00038820(), iVar8 == 0)) {\n              bVar3 = false;\n              while (iVar8 = FUN_00038b50(), iVar8 == 0) {\n                if (DAT_00091d04 != 0) {\n                  pvVar10 = (void *)FUN_00037360();\n                  iVar8 = FUN_00038b50();\n                  free(pvVar10);\n                  if (iVar8 != 0) break;\n                }\n                piVar11 = (int *)bfd_elf_get_runpath_list(DAT_00091c50,&DAT_00091c20);\n                if (piVar11 != (int *)0x0) {\n                  do {\n                    bVar24 = true;\n                    pvVar10 = (void *)FUN_00037360();\n                    bVar22 = false;\n                    if (piVar11[1] == puVar19[1]) {\n                      iVar8 = FUN_00038b50();\n                      bVar24 = iVar8 == 0;\n                      bVar22 = !bVar24;\n                    }\n                    free(pvVar10);\n                    piVar11 = (int *)*piVar11;\n                  } while ((piVar11 != (int *)0x0) && (bVar24));\n                  if (bVar22) break;\n                }\n                if (DAT_00091a44 == 0) {\n                  pvVar10 = (void *)concat(DAT_00091ca8,"/usr/etc/ld.so.conf",0);\n                  iVar8 = FUN_00037470();\n                  if (iVar8 == 0) {\n                    free(pvVar10);\n                    pvVar10 = (void *)concat(DAT_00091ca8,"/etc/ld.so.conf",0);\n                    FUN_00037470();\n                  }\n                  free(pvVar10);\n                  DAT_00091a44 = 1;\n                }\n                pcVar14 = (char *)puVar19[2];\n                if (DAT_00091a40 != 0) {\n                  iVar8 = FUN_00038b50();\n                  if (iVar8 != 0) break;\n                  pcVar14 = (char *)puVar19[2];\n                }\n                sVar12 = strlen(pcVar14);\n                if (DAT_00091e04 != (int *)0x0) {\n                  piVar11 = DAT_00091e04;\n                  do {\n                    if (piVar11[2] == 0) {\n                      sVar13 = strlen((char *)piVar11[1]);\n                      pcVar14 = (char *)xmalloc(sVar13 + sVar12 + 2);\n                      sprintf(pcVar14,"%s/%s",piVar11[1],puVar19[2]);\n                      iVar8 = FUN_00038820();\n                      if (iVar8 != 0) goto LAB_00039300;\n                      free(pcVar14);\n                    }\n                    piVar11 = (int *)*piVar11;\n                  } while (piVar11 != (int *)0x0);\n                }\n                if (bVar3) {\n                  uVar9 = puVar19[1];\n                  uVar2 = puVar19[2];\n                  uVar15 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00031760(uVar15,uVar2,uVar9);\n                  break;\n                }\n                bVar3 = true;\n              }\n            }\n          }\n        }\nLAB_00039300:\n        uVar4 = DAT_00091c20._2_2_;\n      }\n      DAT_00091c20._3_1_ = (byte)(uVar4 >> 8);\n      bVar25 = DAT_00091c20._3_1_ & 0xc0;\n      if ((bVar25 == 0x80) && (iVar8 = bfd_elf_parse_eh_frame_entries(0,&DAT_00091c20), iVar8 == 0))\n      {\n        uVar9 = dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);\n        FUN_00031760(uVar9);\n      }\n    }" else (compound_statement "{\n      if (((DAT_00091c24 & 0x20) == 0) && (DAT_00091c58 != 0)) {\n        local_50 = 0;\n        bVar3 = false;\n        local_4c = 0;\n        iVar16 = DAT_00091c58;\n        do {\n          while ((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0) {\n            puVar19 = *(undefined4 **)(iVar16 + 0x60);\n            if (puVar19 == (undefined4 *)0x0) {\nLAB_00039697:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar22 = (undefined *)puVar19[0xf] < PTR__bfd_std_section_00090fc4 + 0x150;\n                bVar24 = (undefined *)puVar19[0xf] == PTR__bfd_std_section_00090fc4 + 0x150;\n                iVar18 = local_60;\n                if (!bVar24) {\n                  iVar17 = 0xf;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar22 = *pbVar20 < *pbVar21;\n                    bVar24 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar24);\n                  bVar23 = false;\n                  bVar22 = (!bVar22 && !bVar24) == bVar22;\n                  if (bVar22) {\n                    local_60 = 2;\n                    goto LAB_0003966f;\n                  }\n                  iVar17 = 10;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar23 = *pbVar20 < *pbVar21;\n                    bVar22 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar22);\n                  if (((!bVar23 && !bVar22) == bVar23) && (iVar18 = 1, (uint)puVar19[9] < 9)) {\n                    iVar18 = local_60;\n                  }\n                }\n                local_60 = iVar18;\n                puVar19 = (undefined4 *)puVar19[3];\n              } while (puVar19 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_00039697;\nLAB_0003966f:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar16 = local_4c;\n                }\n                uVar9 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00031760(uVar9,iVar16);\n                goto LAB_000396cd;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_00039697;\n              if (local_60 != 2) {\n                if ((DAT_00091c20._2_2_ & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar3 = true;\n                  if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                    local_4c = iVar16;\n                  }\n                }\n                break;\n              }\n              bVar3 = true;\n              if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                local_4c = iVar16;\n              }\n            }\n            iVar16 = *(int *)(iVar16 + 0x98);\n            local_50 = 2;\n            DAT_00091c20._2_2_ = DAT_00091c20._2_2_ & 0x3fff | 0x8000;\n            if (iVar16 == 0) goto LAB_000396cd;\n          }\n          iVar16 = *(int *)(iVar16 + 0x98);\n        } while (iVar16 != 0);\nLAB_000396cd:\n        if ((local_4c == 0) ||\n           (iVar16 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x20) | 8),\n           iVar16 == 0)) {\n          if (bVar3) {\n            uVar9 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00031760(uVar9);\n          }\n        }\n        else {\n          *(undefined4 *)(iVar16 + 0x40) = 2;\n          *(int *)(iVar8 + 0xac) = iVar16;\n        }\n      }\n      puVar6 = (undefined4 *)bfd_elf_get_needed_list(DAT_00091c50,&DAT_00091c20);\n      uVar4 = DAT_00091c20._2_2_;\n      for (puVar19 = puVar6; DAT_00091c20._2_2_ = uVar4, puVar19 != (undefined4 *)0x0;\n          puVar19 = (undefined4 *)*puVar19) {\n        puVar5 = puVar6;\n        if ((puVar19[1] == 0) ||\n           ((uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 1) == 0 &&\n            (((puVar19[1] == 0 || ((DAT_00091c20._2_2_ & 0x180) != 0x80)) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 4) == 0)))))) {\n          for (; puVar5 != puVar19; puVar5 = (undefined4 *)*puVar5) {\n            if (((puVar5[1] == 0) ||\n                (uVar7 = bfd_elf_get_dyn_lib_class(puVar5[1]), (uVar7 & 1) == 0)) &&\n               (iVar8 = strcmp((char *)puVar5[2],(char *)puVar19[2]), iVar8 == 0)) {\n              if (puVar19 != puVar5) goto LAB_00039300;\n              break;\n            }\n          }\n          DAT_00091ae4 = FUN_00038720;\n          DAT_00091a60 = 0;\n          DAT_00091ae0 = puVar19;\n          FUN_00024c50(FUN_00035720);\n          if ((DAT_00091a60 == 0) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_00091a60 + 0x10)),\n             (uVar7 & 1) != 0)) {\n            uVar9 = puVar19[1];\n            uVar2 = puVar19[2];\n            if (DAT_00091d90 != 0) {\n              uVar15 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00031730(uVar15,uVar2,uVar9);\n            }\n            if ((DAT_00091a60 == 0) || (iVar8 = FUN_00038820(), iVar8 == 0)) {\n              bVar3 = false;\n              while (iVar8 = FUN_00038b50(), iVar8 == 0) {\n                if (DAT_00091d04 != 0) {\n                  pvVar10 = (void *)FUN_00037360();\n                  iVar8 = FUN_00038b50();\n                  free(pvVar10);\n                  if (iVar8 != 0) break;\n                }\n                piVar11 = (int *)bfd_elf_get_runpath_list(DAT_00091c50,&DAT_00091c20);\n                if (piVar11 != (int *)0x0) {\n                  do {\n                    bVar24 = true;\n                    pvVar10 = (void *)FUN_00037360();\n                    bVar22 = false;\n                    if (piVar11[1] == puVar19[1]) {\n                      iVar8 = FUN_00038b50();\n                      bVar24 = iVar8 == 0;\n                      bVar22 = !bVar24;\n                    }\n                    free(pvVar10);\n                    piVar11 = (int *)*piVar11;\n                  } while ((piVar11 != (int *)0x0) && (bVar24));\n                  if (bVar22) break;\n                }\n                if (DAT_00091a44 == 0) {\n                  pvVar10 = (void *)concat(DAT_00091ca8,"/usr/etc/ld.so.conf",0);\n                  iVar8 = FUN_00037470();\n                  if (iVar8 == 0) {\n                    free(pvVar10);\n                    pvVar10 = (void *)concat(DAT_00091ca8,"/etc/ld.so.conf",0);\n                    FUN_00037470();\n                  }\n                  free(pvVar10);\n                  DAT_00091a44 = 1;\n                }\n                pcVar14 = (char *)puVar19[2];\n                if (DAT_00091a40 != 0) {\n                  iVar8 = FUN_00038b50();\n                  if (iVar8 != 0) break;\n                  pcVar14 = (char *)puVar19[2];\n                }\n                sVar12 = strlen(pcVar14);\n                if (DAT_00091e04 != (int *)0x0) {\n                  piVar11 = DAT_00091e04;\n                  do {\n                    if (piVar11[2] == 0) {\n                      sVar13 = strlen((char *)piVar11[1]);\n                      pcVar14 = (char *)xmalloc(sVar13 + sVar12 + 2);\n                      sprintf(pcVar14,"%s/%s",piVar11[1],puVar19[2]);\n                      iVar8 = FUN_00038820();\n                      if (iVar8 != 0) goto LAB_00039300;\n                      free(pcVar14);\n                    }\n                    piVar11 = (int *)*piVar11;\n                  } while (piVar11 != (int *)0x0);\n                }\n                if (bVar3) {\n                  uVar9 = puVar19[1];\n                  uVar2 = puVar19[2];\n                  uVar15 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00031760(uVar15,uVar2,uVar9);\n                  break;\n                }\n                bVar3 = true;\n              }\n            }\n          }\n        }\nLAB_00039300:\n        uVar4 = DAT_00091c20._2_2_;\n      }\n      DAT_00091c20._3_1_ = (byte)(uVar4 >> 8);\n      bVar25 = DAT_00091c20._3_1_ & 0xc0;\n      if ((bVar25 == 0x80) && (iVar8 = bfd_elf_parse_eh_frame_entries(0,&DAT_00091c20), iVar8 == 0))\n      {\n        uVar9 = dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);\n        FUN_00031760(uVar9);\n      }\n    }" { (if_statement "if (((DAT_00091c24 & 0x20) == 0) && (DAT_00091c58 != 0)) {\n        local_50 = 0;\n        bVar3 = false;\n        local_4c = 0;\n        iVar16 = DAT_00091c58;\n        do {\n          while ((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0) {\n            puVar19 = *(undefined4 **)(iVar16 + 0x60);\n            if (puVar19 == (undefined4 *)0x0) {\nLAB_00039697:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar22 = (undefined *)puVar19[0xf] < PTR__bfd_std_section_00090fc4 + 0x150;\n                bVar24 = (undefined *)puVar19[0xf] == PTR__bfd_std_section_00090fc4 + 0x150;\n                iVar18 = local_60;\n                if (!bVar24) {\n                  iVar17 = 0xf;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar22 = *pbVar20 < *pbVar21;\n                    bVar24 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar24);\n                  bVar23 = false;\n                  bVar22 = (!bVar22 && !bVar24) == bVar22;\n                  if (bVar22) {\n                    local_60 = 2;\n                    goto LAB_0003966f;\n                  }\n                  iVar17 = 10;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar23 = *pbVar20 < *pbVar21;\n                    bVar22 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar22);\n                  if (((!bVar23 && !bVar22) == bVar23) && (iVar18 = 1, (uint)puVar19[9] < 9)) {\n                    iVar18 = local_60;\n                  }\n                }\n                local_60 = iVar18;\n                puVar19 = (undefined4 *)puVar19[3];\n              } while (puVar19 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_00039697;\nLAB_0003966f:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar16 = local_4c;\n                }\n                uVar9 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00031760(uVar9,iVar16);\n                goto LAB_000396cd;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_00039697;\n              if (local_60 != 2) {\n                if ((DAT_00091c20._2_2_ & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar3 = true;\n                  if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                    local_4c = iVar16;\n                  }\n                }\n                break;\n              }\n              bVar3 = true;\n              if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                local_4c = iVar16;\n              }\n            }\n            iVar16 = *(int *)(iVar16 + 0x98);\n            local_50 = 2;\n            DAT_00091c20._2_2_ = DAT_00091c20._2_2_ & 0x3fff | 0x8000;\n            if (iVar16 == 0) goto LAB_000396cd;\n          }\n          iVar16 = *(int *)(iVar16 + 0x98);\n        } while (iVar16 != 0);\nLAB_000396cd:\n        if ((local_4c == 0) ||\n           (iVar16 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x20) | 8),\n           iVar16 == 0)) {\n          if (bVar3) {\n            uVar9 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00031760(uVar9);\n          }\n        }\n        else {\n          *(undefined4 *)(iVar16 + 0x40) = 2;\n          *(int *)(iVar8 + 0xac) = iVar16;\n        }\n      }" if (parenthesized_expression "(((DAT_00091c24 & 0x20) == 0) && (DAT_00091c58 != 0))" ( (binary_expression "((DAT_00091c24 & 0x20) == 0) && (DAT_00091c58 != 0)" (parenthesized_expression "((DAT_00091c24 & 0x20) == 0)" ( (binary_expression "(DAT_00091c24 & 0x20) == 0" (parenthesized_expression "(DAT_00091c24 & 0x20)" ( (binary_expression "DAT_00091c24 & 0x20" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "(DAT_00091c58 != 0)" ( (binary_expression "DAT_00091c58 != 0" identifier != number_literal) ))) )) (compound_statement "{\n        local_50 = 0;\n        bVar3 = false;\n        local_4c = 0;\n        iVar16 = DAT_00091c58;\n        do {\n          while ((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0) {\n            puVar19 = *(undefined4 **)(iVar16 + 0x60);\n            if (puVar19 == (undefined4 *)0x0) {\nLAB_00039697:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar22 = (undefined *)puVar19[0xf] < PTR__bfd_std_section_00090fc4 + 0x150;\n                bVar24 = (undefined *)puVar19[0xf] == PTR__bfd_std_section_00090fc4 + 0x150;\n                iVar18 = local_60;\n                if (!bVar24) {\n                  iVar17 = 0xf;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar22 = *pbVar20 < *pbVar21;\n                    bVar24 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar24);\n                  bVar23 = false;\n                  bVar22 = (!bVar22 && !bVar24) == bVar22;\n                  if (bVar22) {\n                    local_60 = 2;\n                    goto LAB_0003966f;\n                  }\n                  iVar17 = 10;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar23 = *pbVar20 < *pbVar21;\n                    bVar22 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar22);\n                  if (((!bVar23 && !bVar22) == bVar23) && (iVar18 = 1, (uint)puVar19[9] < 9)) {\n                    iVar18 = local_60;\n                  }\n                }\n                local_60 = iVar18;\n                puVar19 = (undefined4 *)puVar19[3];\n              } while (puVar19 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_00039697;\nLAB_0003966f:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar16 = local_4c;\n                }\n                uVar9 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00031760(uVar9,iVar16);\n                goto LAB_000396cd;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_00039697;\n              if (local_60 != 2) {\n                if ((DAT_00091c20._2_2_ & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar3 = true;\n                  if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                    local_4c = iVar16;\n                  }\n                }\n                break;\n              }\n              bVar3 = true;\n              if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                local_4c = iVar16;\n              }\n            }\n            iVar16 = *(int *)(iVar16 + 0x98);\n            local_50 = 2;\n            DAT_00091c20._2_2_ = DAT_00091c20._2_2_ & 0x3fff | 0x8000;\n            if (iVar16 == 0) goto LAB_000396cd;\n          }\n          iVar16 = *(int *)(iVar16 + 0x98);\n        } while (iVar16 != 0);\nLAB_000396cd:\n        if ((local_4c == 0) ||\n           (iVar16 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x20) | 8),\n           iVar16 == 0)) {\n          if (bVar3) {\n            uVar9 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00031760(uVar9);\n          }\n        }\n        else {\n          *(undefined4 *)(iVar16 + 0x40) = 2;\n          *(int *)(iVar8 + 0xac) = iVar16;\n        }\n      }" { (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" identifier = number_literal) ;) (expression_statement "bVar3 = false;" (assignment_expression "bVar3 = false" identifier = false) ;) (expression_statement "local_4c = 0;" (assignment_expression "local_4c = 0" identifier = number_literal) ;) (expression_statement "iVar16 = DAT_00091c58;" (assignment_expression "iVar16 = DAT_00091c58" identifier = identifier) ;) (do_statement "do {\n          while ((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0) {\n            puVar19 = *(undefined4 **)(iVar16 + 0x60);\n            if (puVar19 == (undefined4 *)0x0) {\nLAB_00039697:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar22 = (undefined *)puVar19[0xf] < PTR__bfd_std_section_00090fc4 + 0x150;\n                bVar24 = (undefined *)puVar19[0xf] == PTR__bfd_std_section_00090fc4 + 0x150;\n                iVar18 = local_60;\n                if (!bVar24) {\n                  iVar17 = 0xf;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar22 = *pbVar20 < *pbVar21;\n                    bVar24 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar24);\n                  bVar23 = false;\n                  bVar22 = (!bVar22 && !bVar24) == bVar22;\n                  if (bVar22) {\n                    local_60 = 2;\n                    goto LAB_0003966f;\n                  }\n                  iVar17 = 10;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar23 = *pbVar20 < *pbVar21;\n                    bVar22 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar22);\n                  if (((!bVar23 && !bVar22) == bVar23) && (iVar18 = 1, (uint)puVar19[9] < 9)) {\n                    iVar18 = local_60;\n                  }\n                }\n                local_60 = iVar18;\n                puVar19 = (undefined4 *)puVar19[3];\n              } while (puVar19 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_00039697;\nLAB_0003966f:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar16 = local_4c;\n                }\n                uVar9 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00031760(uVar9,iVar16);\n                goto LAB_000396cd;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_00039697;\n              if (local_60 != 2) {\n                if ((DAT_00091c20._2_2_ & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar3 = true;\n                  if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                    local_4c = iVar16;\n                  }\n                }\n                break;\n              }\n              bVar3 = true;\n              if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                local_4c = iVar16;\n              }\n            }\n            iVar16 = *(int *)(iVar16 + 0x98);\n            local_50 = 2;\n            DAT_00091c20._2_2_ = DAT_00091c20._2_2_ & 0x3fff | 0x8000;\n            if (iVar16 == 0) goto LAB_000396cd;\n          }\n          iVar16 = *(int *)(iVar16 + 0x98);\n        } while (iVar16 != 0);" do (compound_statement "{\n          while ((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0) {\n            puVar19 = *(undefined4 **)(iVar16 + 0x60);\n            if (puVar19 == (undefined4 *)0x0) {\nLAB_00039697:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar22 = (undefined *)puVar19[0xf] < PTR__bfd_std_section_00090fc4 + 0x150;\n                bVar24 = (undefined *)puVar19[0xf] == PTR__bfd_std_section_00090fc4 + 0x150;\n                iVar18 = local_60;\n                if (!bVar24) {\n                  iVar17 = 0xf;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar22 = *pbVar20 < *pbVar21;\n                    bVar24 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar24);\n                  bVar23 = false;\n                  bVar22 = (!bVar22 && !bVar24) == bVar22;\n                  if (bVar22) {\n                    local_60 = 2;\n                    goto LAB_0003966f;\n                  }\n                  iVar17 = 10;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar23 = *pbVar20 < *pbVar21;\n                    bVar22 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar22);\n                  if (((!bVar23 && !bVar22) == bVar23) && (iVar18 = 1, (uint)puVar19[9] < 9)) {\n                    iVar18 = local_60;\n                  }\n                }\n                local_60 = iVar18;\n                puVar19 = (undefined4 *)puVar19[3];\n              } while (puVar19 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_00039697;\nLAB_0003966f:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar16 = local_4c;\n                }\n                uVar9 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00031760(uVar9,iVar16);\n                goto LAB_000396cd;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_00039697;\n              if (local_60 != 2) {\n                if ((DAT_00091c20._2_2_ & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar3 = true;\n                  if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                    local_4c = iVar16;\n                  }\n                }\n                break;\n              }\n              bVar3 = true;\n              if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                local_4c = iVar16;\n              }\n            }\n            iVar16 = *(int *)(iVar16 + 0x98);\n            local_50 = 2;\n            DAT_00091c20._2_2_ = DAT_00091c20._2_2_ & 0x3fff | 0x8000;\n            if (iVar16 == 0) goto LAB_000396cd;\n          }\n          iVar16 = *(int *)(iVar16 + 0x98);\n        }" { (while_statement "while ((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0) {\n            puVar19 = *(undefined4 **)(iVar16 + 0x60);\n            if (puVar19 == (undefined4 *)0x0) {\nLAB_00039697:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar22 = (undefined *)puVar19[0xf] < PTR__bfd_std_section_00090fc4 + 0x150;\n                bVar24 = (undefined *)puVar19[0xf] == PTR__bfd_std_section_00090fc4 + 0x150;\n                iVar18 = local_60;\n                if (!bVar24) {\n                  iVar17 = 0xf;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar22 = *pbVar20 < *pbVar21;\n                    bVar24 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar24);\n                  bVar23 = false;\n                  bVar22 = (!bVar22 && !bVar24) == bVar22;\n                  if (bVar22) {\n                    local_60 = 2;\n                    goto LAB_0003966f;\n                  }\n                  iVar17 = 10;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar23 = *pbVar20 < *pbVar21;\n                    bVar22 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar22);\n                  if (((!bVar23 && !bVar22) == bVar23) && (iVar18 = 1, (uint)puVar19[9] < 9)) {\n                    iVar18 = local_60;\n                  }\n                }\n                local_60 = iVar18;\n                puVar19 = (undefined4 *)puVar19[3];\n              } while (puVar19 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_00039697;\nLAB_0003966f:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar16 = local_4c;\n                }\n                uVar9 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00031760(uVar9,iVar16);\n                goto LAB_000396cd;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_00039697;\n              if (local_60 != 2) {\n                if ((DAT_00091c20._2_2_ & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar3 = true;\n                  if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                    local_4c = iVar16;\n                  }\n                }\n                break;\n              }\n              bVar3 = true;\n              if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                local_4c = iVar16;\n              }\n            }\n            iVar16 = *(int *)(iVar16 + 0x98);\n            local_50 = 2;\n            DAT_00091c20._2_2_ = DAT_00091c20._2_2_ & 0x3fff | 0x8000;\n            if (iVar16 == 0) goto LAB_000396cd;\n          }" while (parenthesized_expression "((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0)" ( (binary_expression "(*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0" (parenthesized_expression "(*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10)" ( (binary_expression "*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10" (pointer_expression "*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24)" * (cast_expression "(byte *)(*(int *)(iVar16 + 0xa0) + 0x24)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar16 + 0xa0) + 0x24)" ( (binary_expression "*(int *)(iVar16 + 0xa0) + 0x24" (pointer_expression "*(int *)(iVar16 + 0xa0)" * (cast_expression "(int *)(iVar16 + 0xa0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0xa0)" ( (binary_expression "iVar16 + 0xa0" identifier + number_literal) )))) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n            puVar19 = *(undefined4 **)(iVar16 + 0x60);\n            if (puVar19 == (undefined4 *)0x0) {\nLAB_00039697:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar22 = (undefined *)puVar19[0xf] < PTR__bfd_std_section_00090fc4 + 0x150;\n                bVar24 = (undefined *)puVar19[0xf] == PTR__bfd_std_section_00090fc4 + 0x150;\n                iVar18 = local_60;\n                if (!bVar24) {\n                  iVar17 = 0xf;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar22 = *pbVar20 < *pbVar21;\n                    bVar24 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar24);\n                  bVar23 = false;\n                  bVar22 = (!bVar22 && !bVar24) == bVar22;\n                  if (bVar22) {\n                    local_60 = 2;\n                    goto LAB_0003966f;\n                  }\n                  iVar17 = 10;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar23 = *pbVar20 < *pbVar21;\n                    bVar22 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar22);\n                  if (((!bVar23 && !bVar22) == bVar23) && (iVar18 = 1, (uint)puVar19[9] < 9)) {\n                    iVar18 = local_60;\n                  }\n                }\n                local_60 = iVar18;\n                puVar19 = (undefined4 *)puVar19[3];\n              } while (puVar19 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_00039697;\nLAB_0003966f:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar16 = local_4c;\n                }\n                uVar9 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00031760(uVar9,iVar16);\n                goto LAB_000396cd;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_00039697;\n              if (local_60 != 2) {\n                if ((DAT_00091c20._2_2_ & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar3 = true;\n                  if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                    local_4c = iVar16;\n                  }\n                }\n                break;\n              }\n              bVar3 = true;\n              if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                local_4c = iVar16;\n              }\n            }\n            iVar16 = *(int *)(iVar16 + 0x98);\n            local_50 = 2;\n            DAT_00091c20._2_2_ = DAT_00091c20._2_2_ & 0x3fff | 0x8000;\n            if (iVar16 == 0) goto LAB_000396cd;\n          }" { (expression_statement "puVar19 = *(undefined4 **)(iVar16 + 0x60);" (assignment_expression "puVar19 = *(undefined4 **)(iVar16 + 0x60)" identifier = (pointer_expression "*(undefined4 **)(iVar16 + 0x60)" * (cast_expression "(undefined4 **)(iVar16 + 0x60)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar16 + 0x60)" ( (binary_expression "iVar16 + 0x60" identifier + number_literal) ))))) ;) (if_statement "if (puVar19 == (undefined4 *)0x0) {\nLAB_00039697:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar22 = (undefined *)puVar19[0xf] < PTR__bfd_std_section_00090fc4 + 0x150;\n                bVar24 = (undefined *)puVar19[0xf] == PTR__bfd_std_section_00090fc4 + 0x150;\n                iVar18 = local_60;\n                if (!bVar24) {\n                  iVar17 = 0xf;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar22 = *pbVar20 < *pbVar21;\n                    bVar24 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar24);\n                  bVar23 = false;\n                  bVar22 = (!bVar22 && !bVar24) == bVar22;\n                  if (bVar22) {\n                    local_60 = 2;\n                    goto LAB_0003966f;\n                  }\n                  iVar17 = 10;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar23 = *pbVar20 < *pbVar21;\n                    bVar22 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar22);\n                  if (((!bVar23 && !bVar22) == bVar23) && (iVar18 = 1, (uint)puVar19[9] < 9)) {\n                    iVar18 = local_60;\n                  }\n                }\n                local_60 = iVar18;\n                puVar19 = (undefined4 *)puVar19[3];\n              } while (puVar19 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_00039697;\nLAB_0003966f:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar16 = local_4c;\n                }\n                uVar9 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00031760(uVar9,iVar16);\n                goto LAB_000396cd;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_00039697;\n              if (local_60 != 2) {\n                if ((DAT_00091c20._2_2_ & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar3 = true;\n                  if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                    local_4c = iVar16;\n                  }\n                }\n                break;\n              }\n              bVar3 = true;\n              if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                local_4c = iVar16;\n              }\n            }" if (parenthesized_expression "(puVar19 == (undefined4 *)0x0)" ( (binary_expression "puVar19 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00039697:\n              if (local_50 != 2) break;\n            }" { (labeled_statement "LAB_00039697:\n              if (local_50 != 2) break;" statement_identifier : (if_statement "if (local_50 != 2) break;" if (parenthesized_expression "(local_50 != 2)" ( (binary_expression "local_50 != 2" identifier != number_literal) )) (break_statement "break;" break ;))) }) (else_clause "else {\n              local_60 = 0;\n              do {\n                bVar22 = (undefined *)puVar19[0xf] < PTR__bfd_std_section_00090fc4 + 0x150;\n                bVar24 = (undefined *)puVar19[0xf] == PTR__bfd_std_section_00090fc4 + 0x150;\n                iVar18 = local_60;\n                if (!bVar24) {\n                  iVar17 = 0xf;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar22 = *pbVar20 < *pbVar21;\n                    bVar24 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar24);\n                  bVar23 = false;\n                  bVar22 = (!bVar22 && !bVar24) == bVar22;\n                  if (bVar22) {\n                    local_60 = 2;\n                    goto LAB_0003966f;\n                  }\n                  iVar17 = 10;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar23 = *pbVar20 < *pbVar21;\n                    bVar22 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar22);\n                  if (((!bVar23 && !bVar22) == bVar23) && (iVar18 = 1, (uint)puVar19[9] < 9)) {\n                    iVar18 = local_60;\n                  }\n                }\n                local_60 = iVar18;\n                puVar19 = (undefined4 *)puVar19[3];\n              } while (puVar19 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_00039697;\nLAB_0003966f:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar16 = local_4c;\n                }\n                uVar9 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00031760(uVar9,iVar16);\n                goto LAB_000396cd;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_00039697;\n              if (local_60 != 2) {\n                if ((DAT_00091c20._2_2_ & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar3 = true;\n                  if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                    local_4c = iVar16;\n                  }\n                }\n                break;\n              }\n              bVar3 = true;\n              if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                local_4c = iVar16;\n              }\n            }" else (compound_statement "{\n              local_60 = 0;\n              do {\n                bVar22 = (undefined *)puVar19[0xf] < PTR__bfd_std_section_00090fc4 + 0x150;\n                bVar24 = (undefined *)puVar19[0xf] == PTR__bfd_std_section_00090fc4 + 0x150;\n                iVar18 = local_60;\n                if (!bVar24) {\n                  iVar17 = 0xf;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar22 = *pbVar20 < *pbVar21;\n                    bVar24 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar24);\n                  bVar23 = false;\n                  bVar22 = (!bVar22 && !bVar24) == bVar22;\n                  if (bVar22) {\n                    local_60 = 2;\n                    goto LAB_0003966f;\n                  }\n                  iVar17 = 10;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar23 = *pbVar20 < *pbVar21;\n                    bVar22 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar22);\n                  if (((!bVar23 && !bVar22) == bVar23) && (iVar18 = 1, (uint)puVar19[9] < 9)) {\n                    iVar18 = local_60;\n                  }\n                }\n                local_60 = iVar18;\n                puVar19 = (undefined4 *)puVar19[3];\n              } while (puVar19 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_00039697;\nLAB_0003966f:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar16 = local_4c;\n                }\n                uVar9 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00031760(uVar9,iVar16);\n                goto LAB_000396cd;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_00039697;\n              if (local_60 != 2) {\n                if ((DAT_00091c20._2_2_ & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar3 = true;\n                  if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                    local_4c = iVar16;\n                  }\n                }\n                break;\n              }\n              bVar3 = true;\n              if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                local_4c = iVar16;\n              }\n            }" { (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" identifier = number_literal) ;) (do_statement "do {\n                bVar22 = (undefined *)puVar19[0xf] < PTR__bfd_std_section_00090fc4 + 0x150;\n                bVar24 = (undefined *)puVar19[0xf] == PTR__bfd_std_section_00090fc4 + 0x150;\n                iVar18 = local_60;\n                if (!bVar24) {\n                  iVar17 = 0xf;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar22 = *pbVar20 < *pbVar21;\n                    bVar24 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar24);\n                  bVar23 = false;\n                  bVar22 = (!bVar22 && !bVar24) == bVar22;\n                  if (bVar22) {\n                    local_60 = 2;\n                    goto LAB_0003966f;\n                  }\n                  iVar17 = 10;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar23 = *pbVar20 < *pbVar21;\n                    bVar22 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar22);\n                  if (((!bVar23 && !bVar22) == bVar23) && (iVar18 = 1, (uint)puVar19[9] < 9)) {\n                    iVar18 = local_60;\n                  }\n                }\n                local_60 = iVar18;\n                puVar19 = (undefined4 *)puVar19[3];\n              } while (puVar19 != (undefined4 *)0x0);" do (compound_statement "{\n                bVar22 = (undefined *)puVar19[0xf] < PTR__bfd_std_section_00090fc4 + 0x150;\n                bVar24 = (undefined *)puVar19[0xf] == PTR__bfd_std_section_00090fc4 + 0x150;\n                iVar18 = local_60;\n                if (!bVar24) {\n                  iVar17 = 0xf;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar22 = *pbVar20 < *pbVar21;\n                    bVar24 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar24);\n                  bVar23 = false;\n                  bVar22 = (!bVar22 && !bVar24) == bVar22;\n                  if (bVar22) {\n                    local_60 = 2;\n                    goto LAB_0003966f;\n                  }\n                  iVar17 = 10;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar23 = *pbVar20 < *pbVar21;\n                    bVar22 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar22);\n                  if (((!bVar23 && !bVar22) == bVar23) && (iVar18 = 1, (uint)puVar19[9] < 9)) {\n                    iVar18 = local_60;\n                  }\n                }\n                local_60 = iVar18;\n                puVar19 = (undefined4 *)puVar19[3];\n              }" { (expression_statement "bVar22 = (undefined *)puVar19[0xf] < PTR__bfd_std_section_00090fc4 + 0x150;" (assignment_expression "bVar22 = (undefined *)puVar19[0xf] < PTR__bfd_std_section_00090fc4 + 0x150" identifier = (binary_expression "(undefined *)puVar19[0xf] < PTR__bfd_std_section_00090fc4 + 0x150" (cast_expression "(undefined *)puVar19[0xf]" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar19[0xf]" identifier [ number_literal ])) < (binary_expression "PTR__bfd_std_section_00090fc4 + 0x150" identifier + number_literal))) ;) (expression_statement "bVar24 = (undefined *)puVar19[0xf] == PTR__bfd_std_section_00090fc4 + 0x150;" (assignment_expression "bVar24 = (undefined *)puVar19[0xf] == PTR__bfd_std_section_00090fc4 + 0x150" identifier = (binary_expression "(undefined *)puVar19[0xf] == PTR__bfd_std_section_00090fc4 + 0x150" (cast_expression "(undefined *)puVar19[0xf]" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar19[0xf]" identifier [ number_literal ])) == (binary_expression "PTR__bfd_std_section_00090fc4 + 0x150" identifier + number_literal))) ;) (expression_statement "iVar18 = local_60;" (assignment_expression "iVar18 = local_60" identifier = identifier) ;) (if_statement "if (!bVar24) {\n                  iVar17 = 0xf;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar22 = *pbVar20 < *pbVar21;\n                    bVar24 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar24);\n                  bVar23 = false;\n                  bVar22 = (!bVar22 && !bVar24) == bVar22;\n                  if (bVar22) {\n                    local_60 = 2;\n                    goto LAB_0003966f;\n                  }\n                  iVar17 = 10;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar23 = *pbVar20 < *pbVar21;\n                    bVar22 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar22);\n                  if (((!bVar23 && !bVar22) == bVar23) && (iVar18 = 1, (uint)puVar19[9] < 9)) {\n                    iVar18 = local_60;\n                  }\n                }" if (parenthesized_expression "(!bVar24)" ( (unary_expression "!bVar24" ! identifier) )) (compound_statement "{\n                  iVar17 = 0xf;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar22 = *pbVar20 < *pbVar21;\n                    bVar24 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar24);\n                  bVar23 = false;\n                  bVar22 = (!bVar22 && !bVar24) == bVar22;\n                  if (bVar22) {\n                    local_60 = 2;\n                    goto LAB_0003966f;\n                  }\n                  iVar17 = 10;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar23 = *pbVar20 < *pbVar21;\n                    bVar22 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar22);\n                  if (((!bVar23 && !bVar22) == bVar23) && (iVar18 = 1, (uint)puVar19[9] < 9)) {\n                    iVar18 = local_60;\n                  }\n                }" { (expression_statement "iVar17 = 0xf;" (assignment_expression "iVar17 = 0xf" identifier = number_literal) ;) (expression_statement "pbVar20 = (byte *)*puVar19;" (assignment_expression "pbVar20 = (byte *)*puVar19" identifier = (cast_expression "(byte *)*puVar19" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar19" * identifier))) ;) (expression_statement "pbVar21 = (byte *)".eh_frame_entry";" (assignment_expression "pbVar21 = (byte *)".eh_frame_entry"" identifier = (cast_expression "(byte *)".eh_frame_entry"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".eh_frame_entry"" " string_content "))) ;) (do_statement "do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar22 = *pbVar20 < *pbVar21;\n                    bVar24 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar24);" do (compound_statement "{\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar22 = *pbVar20 < *pbVar21;\n                    bVar24 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  }" { (if_statement "if (iVar17 == 0) break;" if (parenthesized_expression "(iVar17 == 0)" ( (binary_expression "iVar17 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar17 = iVar17 + -1;" (assignment_expression "iVar17 = iVar17 + -1" identifier = (binary_expression "iVar17 + -1" identifier + number_literal)) ;) (expression_statement "bVar22 = *pbVar20 < *pbVar21;" (assignment_expression "bVar22 = *pbVar20 < *pbVar21" identifier = (binary_expression "*pbVar20 < *pbVar21" (pointer_expression "*pbVar20" * identifier) < (pointer_expression "*pbVar21" * identifier))) ;) (expression_statement "bVar24 = *pbVar20 == *pbVar21;" (assignment_expression "bVar24 = *pbVar20 == *pbVar21" identifier = (binary_expression "*pbVar20 == *pbVar21" (pointer_expression "*pbVar20" * identifier) == (pointer_expression "*pbVar21" * identifier))) ;) (expression_statement "pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar20 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar21 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar21 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar24)" ( identifier )) ;) (expression_statement "bVar23 = false;" (assignment_expression "bVar23 = false" identifier = false) ;) (expression_statement "bVar22 = (!bVar22 && !bVar24) == bVar22;" (assignment_expression "bVar22 = (!bVar22 && !bVar24) == bVar22" identifier = (binary_expression "(!bVar22 && !bVar24) == bVar22" (parenthesized_expression "(!bVar22 && !bVar24)" ( (binary_expression "!bVar22 && !bVar24" (unary_expression "!bVar22" ! identifier) && (unary_expression "!bVar24" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar22) {\n                    local_60 = 2;\n                    goto LAB_0003966f;\n                  }" if (parenthesized_expression "(bVar22)" ( identifier )) (compound_statement "{\n                    local_60 = 2;\n                    goto LAB_0003966f;\n                  }" { (expression_statement "local_60 = 2;" (assignment_expression "local_60 = 2" identifier = number_literal) ;) (goto_statement "goto LAB_0003966f;" goto statement_identifier ;) })) (expression_statement "iVar17 = 10;" (assignment_expression "iVar17 = 10" identifier = number_literal) ;) (expression_statement "pbVar20 = (byte *)*puVar19;" (assignment_expression "pbVar20 = (byte *)*puVar19" identifier = (cast_expression "(byte *)*puVar19" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar19" * identifier))) ;) (expression_statement "pbVar21 = (byte *)".eh_frame";" (assignment_expression "pbVar21 = (byte *)".eh_frame"" identifier = (cast_expression "(byte *)".eh_frame"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".eh_frame"" " string_content "))) ;) (do_statement "do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar23 = *pbVar20 < *pbVar21;\n                    bVar22 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar22);" do (compound_statement "{\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar23 = *pbVar20 < *pbVar21;\n                    bVar22 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  }" { (if_statement "if (iVar17 == 0) break;" if (parenthesized_expression "(iVar17 == 0)" ( (binary_expression "iVar17 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar17 = iVar17 + -1;" (assignment_expression "iVar17 = iVar17 + -1" identifier = (binary_expression "iVar17 + -1" identifier + number_literal)) ;) (expression_statement "bVar23 = *pbVar20 < *pbVar21;" (assignment_expression "bVar23 = *pbVar20 < *pbVar21" identifier = (binary_expression "*pbVar20 < *pbVar21" (pointer_expression "*pbVar20" * identifier) < (pointer_expression "*pbVar21" * identifier))) ;) (expression_statement "bVar22 = *pbVar20 == *pbVar21;" (assignment_expression "bVar22 = *pbVar20 == *pbVar21" identifier = (binary_expression "*pbVar20 == *pbVar21" (pointer_expression "*pbVar20" * identifier) == (pointer_expression "*pbVar21" * identifier))) ;) (expression_statement "pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar20 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar21 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar21 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar22)" ( identifier )) ;) (if_statement "if (((!bVar23 && !bVar22) == bVar23) && (iVar18 = 1, (uint)puVar19[9] < 9)) {\n                    iVar18 = local_60;\n                  }" if (parenthesized_expression "(((!bVar23 && !bVar22) == bVar23) && (iVar18 = 1, (uint)puVar19[9] < 9))" ( (binary_expression "((!bVar23 && !bVar22) == bVar23) && (iVar18 = 1, (uint)puVar19[9] < 9)" (parenthesized_expression "((!bVar23 && !bVar22) == bVar23)" ( (binary_expression "(!bVar23 && !bVar22) == bVar23" (parenthesized_expression "(!bVar23 && !bVar22)" ( (binary_expression "!bVar23 && !bVar22" (unary_expression "!bVar23" ! identifier) && (unary_expression "!bVar22" ! identifier)) )) == identifier) )) && (parenthesized_expression "(iVar18 = 1, (uint)puVar19[9] < 9)" ( (comma_expression "iVar18 = 1, (uint)puVar19[9] < 9" (assignment_expression "iVar18 = 1" identifier = number_literal) , (binary_expression "(uint)puVar19[9] < 9" (cast_expression "(uint)puVar19[9]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "puVar19[9]" identifier [ number_literal ])) < number_literal)) ))) )) (compound_statement "{\n                    iVar18 = local_60;\n                  }" { (expression_statement "iVar18 = local_60;" (assignment_expression "iVar18 = local_60" identifier = identifier) ;) })) })) (expression_statement "local_60 = iVar18;" (assignment_expression "local_60 = iVar18" identifier = identifier) ;) (expression_statement "puVar19 = (undefined4 *)puVar19[3];" (assignment_expression "puVar19 = (undefined4 *)puVar19[3]" identifier = (cast_expression "(undefined4 *)puVar19[3]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar19[3]" identifier [ number_literal ]))) ;) }) while (parenthesized_expression "(puVar19 != (undefined4 *)0x0)" ( (binary_expression "puVar19 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (if_statement "if (local_60 == 0) goto LAB_00039697;" if (parenthesized_expression "(local_60 == 0)" ( (binary_expression "local_60 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00039697;" goto statement_identifier ;)) (labeled_statement "LAB_0003966f:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar16 = local_4c;\n                }\n                uVar9 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00031760(uVar9,iVar16);\n                goto LAB_000396cd;\n              }" statement_identifier : (if_statement "if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar16 = local_4c;\n                }\n                uVar9 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00031760(uVar9,iVar16);\n                goto LAB_000396cd;\n              }" if (parenthesized_expression "((local_50 != 0) && (local_50 != local_60))" ( (binary_expression "(local_50 != 0) && (local_50 != local_60)" (parenthesized_expression "(local_50 != 0)" ( (binary_expression "local_50 != 0" identifier != number_literal) )) && (parenthesized_expression "(local_50 != local_60)" ( (binary_expression "local_50 != local_60" identifier != identifier) ))) )) (compound_statement "{\n                if (local_60 != 1) {\n                  iVar16 = local_4c;\n                }\n                uVar9 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00031760(uVar9,iVar16);\n                goto LAB_000396cd;\n              }" { (if_statement "if (local_60 != 1) {\n                  iVar16 = local_4c;\n                }" if (parenthesized_expression "(local_60 != 1)" ( (binary_expression "local_60 != 1" identifier != number_literal) )) (compound_statement "{\n                  iVar16 = local_4c;\n                }" { (expression_statement "iVar16 = local_4c;" (assignment_expression "iVar16 = local_4c" identifier = identifier) ;) })) (expression_statement "uVar9 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);" (assignment_expression "uVar9 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5)" identifier = (call_expression "dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5)" identifier (argument_list "(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5)" ( number_literal , (string_literal ""%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_00031760(uVar9,iVar16);" (call_expression "FUN_00031760(uVar9,iVar16)" identifier (argument_list "(uVar9,iVar16)" ( identifier , identifier ))) ;) (goto_statement "goto LAB_000396cd;" goto statement_identifier ;) }))) (expression_statement "local_50 = local_60;" (assignment_expression "local_50 = local_60" identifier = identifier) ;) (if_statement "if (local_4c != 0) goto LAB_00039697;" if (parenthesized_expression "(local_4c != 0)" ( (binary_expression "local_4c != 0" identifier != number_literal) )) (goto_statement "goto LAB_00039697;" goto statement_identifier ;)) (if_statement "if (local_60 != 2) {\n                if ((DAT_00091c20._2_2_ & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar3 = true;\n                  if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                    local_4c = iVar16;\n                  }\n                }\n                break;\n              }" if (parenthesized_expression "(local_60 != 2)" ( (binary_expression "local_60 != 2" identifier != number_literal) )) (compound_statement "{\n                if ((DAT_00091c20._2_2_ & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar3 = true;\n                  if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                    local_4c = iVar16;\n                  }\n                }\n                break;\n              }" { (if_statement "if ((DAT_00091c20._2_2_ & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar3 = true;\n                  if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                    local_4c = iVar16;\n                  }\n                }" if (parenthesized_expression "((DAT_00091c20._2_2_ & 0xc000) == 0)" ( (binary_expression "(DAT_00091c20._2_2_ & 0xc000) == 0" (parenthesized_expression "(DAT_00091c20._2_2_ & 0xc000)" ( (binary_expression "DAT_00091c20._2_2_ & 0xc000" (field_expression "DAT_00091c20._2_2_" identifier . field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n                  local_50 = 1;\n                }" { (expression_statement "local_50 = 1;" (assignment_expression "local_50 = 1" identifier = number_literal) ;) }) (else_clause "else {\n                  local_50 = 1;\n                  bVar3 = true;\n                  if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                    local_4c = iVar16;\n                  }\n                }" else (compound_statement "{\n                  local_50 = 1;\n                  bVar3 = true;\n                  if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                    local_4c = iVar16;\n                  }\n                }" { (expression_statement "local_50 = 1;" (assignment_expression "local_50 = 1" identifier = number_literal) ;) (expression_statement "bVar3 = true;" (assignment_expression "bVar3 = true" identifier = true) ;) (if_statement "if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                    local_4c = iVar16;\n                  }" if (parenthesized_expression "(*(int *)(*(int *)(iVar16 + 4) + 4) == 5)" ( (binary_expression "*(int *)(*(int *)(iVar16 + 4) + 4) == 5" (pointer_expression "*(int *)(*(int *)(iVar16 + 4) + 4)" * (cast_expression "(int *)(*(int *)(iVar16 + 4) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar16 + 4) + 4)" ( (binary_expression "*(int *)(iVar16 + 4) + 4" (pointer_expression "*(int *)(iVar16 + 4)" * (cast_expression "(int *)(iVar16 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 4)" ( (binary_expression "iVar16 + 4" identifier + number_literal) )))) + number_literal) )))) == number_literal) )) (compound_statement "{\n                    local_4c = iVar16;\n                  }" { (expression_statement "local_4c = iVar16;" (assignment_expression "local_4c = iVar16" identifier = identifier) ;) })) }))) (break_statement "break;" break ;) })) (expression_statement "bVar3 = true;" (assignment_expression "bVar3 = true" identifier = true) ;) (if_statement "if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                local_4c = iVar16;\n              }" if (parenthesized_expression "(*(int *)(*(int *)(iVar16 + 4) + 4) == 5)" ( (binary_expression "*(int *)(*(int *)(iVar16 + 4) + 4) == 5" (pointer_expression "*(int *)(*(int *)(iVar16 + 4) + 4)" * (cast_expression "(int *)(*(int *)(iVar16 + 4) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar16 + 4) + 4)" ( (binary_expression "*(int *)(iVar16 + 4) + 4" (pointer_expression "*(int *)(iVar16 + 4)" * (cast_expression "(int *)(iVar16 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 4)" ( (binary_expression "iVar16 + 4" identifier + number_literal) )))) + number_literal) )))) == number_literal) )) (compound_statement "{\n                local_4c = iVar16;\n              }" { (expression_statement "local_4c = iVar16;" (assignment_expression "local_4c = iVar16" identifier = identifier) ;) })) }))) (expression_statement "iVar16 = *(int *)(iVar16 + 0x98);" (assignment_expression "iVar16 = *(int *)(iVar16 + 0x98)" identifier = (pointer_expression "*(int *)(iVar16 + 0x98)" * (cast_expression "(int *)(iVar16 + 0x98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x98)" ( (binary_expression "iVar16 + 0x98" identifier + number_literal) ))))) ;) (expression_statement "local_50 = 2;" (assignment_expression "local_50 = 2" identifier = number_literal) ;) (expression_statement "DAT_00091c20._2_2_ = DAT_00091c20._2_2_ & 0x3fff | 0x8000;" (assignment_expression "DAT_00091c20._2_2_ = DAT_00091c20._2_2_ & 0x3fff | 0x8000" (field_expression "DAT_00091c20._2_2_" identifier . field_identifier) = (binary_expression "DAT_00091c20._2_2_ & 0x3fff | 0x8000" (binary_expression "DAT_00091c20._2_2_ & 0x3fff" (field_expression "DAT_00091c20._2_2_" identifier . field_identifier) & number_literal) | number_literal)) ;) (if_statement "if (iVar16 == 0) goto LAB_000396cd;" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000396cd;" goto statement_identifier ;)) })) (expression_statement "iVar16 = *(int *)(iVar16 + 0x98);" (assignment_expression "iVar16 = *(int *)(iVar16 + 0x98)" identifier = (pointer_expression "*(int *)(iVar16 + 0x98)" * (cast_expression "(int *)(iVar16 + 0x98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x98)" ( (binary_expression "iVar16 + 0x98" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(iVar16 != 0)" ( (binary_expression "iVar16 != 0" identifier != number_literal) )) ;) (labeled_statement "LAB_000396cd:\n        if ((local_4c == 0) ||\n           (iVar16 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x20) | 8),\n           iVar16 == 0)) {\n          if (bVar3) {\n            uVar9 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00031760(uVar9);\n          }\n        }\n        else {\n          *(undefined4 *)(iVar16 + 0x40) = 2;\n          *(int *)(iVar8 + 0xac) = iVar16;\n        }" statement_identifier : (if_statement "if ((local_4c == 0) ||\n           (iVar16 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x20) | 8),\n           iVar16 == 0)) {\n          if (bVar3) {\n            uVar9 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00031760(uVar9);\n          }\n        }\n        else {\n          *(undefined4 *)(iVar16 + 0x40) = 2;\n          *(int *)(iVar8 + 0xac) = iVar16;\n        }" if (parenthesized_expression "((local_4c == 0) ||\n           (iVar16 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x20) | 8),\n           iVar16 == 0))" ( (binary_expression "(local_4c == 0) ||\n           (iVar16 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x20) | 8),\n           iVar16 == 0)" (parenthesized_expression "(local_4c == 0)" ( (binary_expression "local_4c == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar16 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x20) | 8),\n           iVar16 == 0)" ( (comma_expression "iVar16 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x20) | 8),\n           iVar16 == 0" (assignment_expression "iVar16 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x20) | 8)" identifier = (call_expression "bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x20) | 8)" identifier (argument_list "(local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x20) | 8)" ( identifier , (string_literal "".eh_frame_hdr"" " string_content ") , (binary_expression "*(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x20) | 8" (pointer_expression "*(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x20)" * (cast_expression "(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x20)" ( (binary_expression "*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x20" (pointer_expression "*(int *)(*(int *)(local_4c + 4) + 0x1c0)" * (cast_expression "(int *)(*(int *)(local_4c + 4) + 0x1c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(local_4c + 4) + 0x1c0)" ( (binary_expression "*(int *)(local_4c + 4) + 0x1c0" (pointer_expression "*(int *)(local_4c + 4)" * (cast_expression "(int *)(local_4c + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_4c + 4)" ( (binary_expression "local_4c + 4" identifier + number_literal) )))) + number_literal) )))) + number_literal) )))) | number_literal) )))) , (binary_expression "iVar16 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n          if (bVar3) {\n            uVar9 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00031760(uVar9);\n          }\n        }" { (if_statement "if (bVar3) {\n            uVar9 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00031760(uVar9);\n          }" if (parenthesized_expression "(bVar3)" ( identifier )) (compound_statement "{\n            uVar9 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00031760(uVar9);\n          }" { (expression_statement "uVar9 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);" (assignment_expression "uVar9 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5)" identifier = (call_expression "dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5)" identifier (argument_list "(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5)" ( number_literal , (string_literal ""%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_00031760(uVar9);" (call_expression "FUN_00031760(uVar9)" identifier (argument_list "(uVar9)" ( identifier ))) ;) })) }) (else_clause "else {\n          *(undefined4 *)(iVar16 + 0x40) = 2;\n          *(int *)(iVar8 + 0xac) = iVar16;\n        }" else (compound_statement "{\n          *(undefined4 *)(iVar16 + 0x40) = 2;\n          *(int *)(iVar8 + 0xac) = iVar16;\n        }" { (expression_statement "*(undefined4 *)(iVar16 + 0x40) = 2;" (assignment_expression "*(undefined4 *)(iVar16 + 0x40) = 2" (pointer_expression "*(undefined4 *)(iVar16 + 0x40)" * (cast_expression "(undefined4 *)(iVar16 + 0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x40)" ( (binary_expression "iVar16 + 0x40" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(iVar8 + 0xac) = iVar16;" (assignment_expression "*(int *)(iVar8 + 0xac) = iVar16" (pointer_expression "*(int *)(iVar8 + 0xac)" * (cast_expression "(int *)(iVar8 + 0xac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0xac)" ( (binary_expression "iVar8 + 0xac" identifier + number_literal) )))) = identifier) ;) })))) })) (expression_statement "puVar6 = (undefined4 *)bfd_elf_get_needed_list(DAT_00091c50,&DAT_00091c20);" (assignment_expression "puVar6 = (undefined4 *)bfd_elf_get_needed_list(DAT_00091c50,&DAT_00091c20)" identifier = (cast_expression "(undefined4 *)bfd_elf_get_needed_list(DAT_00091c50,&DAT_00091c20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "bfd_elf_get_needed_list(DAT_00091c50,&DAT_00091c20)" identifier (argument_list "(DAT_00091c50,&DAT_00091c20)" ( identifier , (pointer_expression "&DAT_00091c20" & identifier) ))))) ;) (expression_statement "uVar4 = DAT_00091c20._2_2_;" (assignment_expression "uVar4 = DAT_00091c20._2_2_" identifier = (field_expression "DAT_00091c20._2_2_" identifier . field_identifier)) ;) (for_statement "for (puVar19 = puVar6; DAT_00091c20._2_2_ = uVar4, puVar19 != (undefined4 *)0x0;\n          puVar19 = (undefined4 *)*puVar19) {\n        puVar5 = puVar6;\n        if ((puVar19[1] == 0) ||\n           ((uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 1) == 0 &&\n            (((puVar19[1] == 0 || ((DAT_00091c20._2_2_ & 0x180) != 0x80)) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 4) == 0)))))) {\n          for (; puVar5 != puVar19; puVar5 = (undefined4 *)*puVar5) {\n            if (((puVar5[1] == 0) ||\n                (uVar7 = bfd_elf_get_dyn_lib_class(puVar5[1]), (uVar7 & 1) == 0)) &&\n               (iVar8 = strcmp((char *)puVar5[2],(char *)puVar19[2]), iVar8 == 0)) {\n              if (puVar19 != puVar5) goto LAB_00039300;\n              break;\n            }\n          }\n          DAT_00091ae4 = FUN_00038720;\n          DAT_00091a60 = 0;\n          DAT_00091ae0 = puVar19;\n          FUN_00024c50(FUN_00035720);\n          if ((DAT_00091a60 == 0) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_00091a60 + 0x10)),\n             (uVar7 & 1) != 0)) {\n            uVar9 = puVar19[1];\n            uVar2 = puVar19[2];\n            if (DAT_00091d90 != 0) {\n              uVar15 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00031730(uVar15,uVar2,uVar9);\n            }\n            if ((DAT_00091a60 == 0) || (iVar8 = FUN_00038820(), iVar8 == 0)) {\n              bVar3 = false;\n              while (iVar8 = FUN_00038b50(), iVar8 == 0) {\n                if (DAT_00091d04 != 0) {\n                  pvVar10 = (void *)FUN_00037360();\n                  iVar8 = FUN_00038b50();\n                  free(pvVar10);\n                  if (iVar8 != 0) break;\n                }\n                piVar11 = (int *)bfd_elf_get_runpath_list(DAT_00091c50,&DAT_00091c20);\n                if (piVar11 != (int *)0x0) {\n                  do {\n                    bVar24 = true;\n                    pvVar10 = (void *)FUN_00037360();\n                    bVar22 = false;\n                    if (piVar11[1] == puVar19[1]) {\n                      iVar8 = FUN_00038b50();\n                      bVar24 = iVar8 == 0;\n                      bVar22 = !bVar24;\n                    }\n                    free(pvVar10);\n                    piVar11 = (int *)*piVar11;\n                  } while ((piVar11 != (int *)0x0) && (bVar24));\n                  if (bVar22) break;\n                }\n                if (DAT_00091a44 == 0) {\n                  pvVar10 = (void *)concat(DAT_00091ca8,"/usr/etc/ld.so.conf",0);\n                  iVar8 = FUN_00037470();\n                  if (iVar8 == 0) {\n                    free(pvVar10);\n                    pvVar10 = (void *)concat(DAT_00091ca8,"/etc/ld.so.conf",0);\n                    FUN_00037470();\n                  }\n                  free(pvVar10);\n                  DAT_00091a44 = 1;\n                }\n                pcVar14 = (char *)puVar19[2];\n                if (DAT_00091a40 != 0) {\n                  iVar8 = FUN_00038b50();\n                  if (iVar8 != 0) break;\n                  pcVar14 = (char *)puVar19[2];\n                }\n                sVar12 = strlen(pcVar14);\n                if (DAT_00091e04 != (int *)0x0) {\n                  piVar11 = DAT_00091e04;\n                  do {\n                    if (piVar11[2] == 0) {\n                      sVar13 = strlen((char *)piVar11[1]);\n                      pcVar14 = (char *)xmalloc(sVar13 + sVar12 + 2);\n                      sprintf(pcVar14,"%s/%s",piVar11[1],puVar19[2]);\n                      iVar8 = FUN_00038820();\n                      if (iVar8 != 0) goto LAB_00039300;\n                      free(pcVar14);\n                    }\n                    piVar11 = (int *)*piVar11;\n                  } while (piVar11 != (int *)0x0);\n                }\n                if (bVar3) {\n                  uVar9 = puVar19[1];\n                  uVar2 = puVar19[2];\n                  uVar15 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00031760(uVar15,uVar2,uVar9);\n                  break;\n                }\n                bVar3 = true;\n              }\n            }\n          }\n        }\nLAB_00039300:\n        uVar4 = DAT_00091c20._2_2_;\n      }" for ( (assignment_expression "puVar19 = puVar6" identifier = identifier) ; (comma_expression "DAT_00091c20._2_2_ = uVar4, puVar19 != (undefined4 *)0x0" (assignment_expression "DAT_00091c20._2_2_ = uVar4" (field_expression "DAT_00091c20._2_2_" identifier . field_identifier) = identifier) , (binary_expression "puVar19 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ; (assignment_expression "puVar19 = (undefined4 *)*puVar19" identifier = (cast_expression "(undefined4 *)*puVar19" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar19" * identifier))) ) (compound_statement "{\n        puVar5 = puVar6;\n        if ((puVar19[1] == 0) ||\n           ((uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 1) == 0 &&\n            (((puVar19[1] == 0 || ((DAT_00091c20._2_2_ & 0x180) != 0x80)) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 4) == 0)))))) {\n          for (; puVar5 != puVar19; puVar5 = (undefined4 *)*puVar5) {\n            if (((puVar5[1] == 0) ||\n                (uVar7 = bfd_elf_get_dyn_lib_class(puVar5[1]), (uVar7 & 1) == 0)) &&\n               (iVar8 = strcmp((char *)puVar5[2],(char *)puVar19[2]), iVar8 == 0)) {\n              if (puVar19 != puVar5) goto LAB_00039300;\n              break;\n            }\n          }\n          DAT_00091ae4 = FUN_00038720;\n          DAT_00091a60 = 0;\n          DAT_00091ae0 = puVar19;\n          FUN_00024c50(FUN_00035720);\n          if ((DAT_00091a60 == 0) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_00091a60 + 0x10)),\n             (uVar7 & 1) != 0)) {\n            uVar9 = puVar19[1];\n            uVar2 = puVar19[2];\n            if (DAT_00091d90 != 0) {\n              uVar15 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00031730(uVar15,uVar2,uVar9);\n            }\n            if ((DAT_00091a60 == 0) || (iVar8 = FUN_00038820(), iVar8 == 0)) {\n              bVar3 = false;\n              while (iVar8 = FUN_00038b50(), iVar8 == 0) {\n                if (DAT_00091d04 != 0) {\n                  pvVar10 = (void *)FUN_00037360();\n                  iVar8 = FUN_00038b50();\n                  free(pvVar10);\n                  if (iVar8 != 0) break;\n                }\n                piVar11 = (int *)bfd_elf_get_runpath_list(DAT_00091c50,&DAT_00091c20);\n                if (piVar11 != (int *)0x0) {\n                  do {\n                    bVar24 = true;\n                    pvVar10 = (void *)FUN_00037360();\n                    bVar22 = false;\n                    if (piVar11[1] == puVar19[1]) {\n                      iVar8 = FUN_00038b50();\n                      bVar24 = iVar8 == 0;\n                      bVar22 = !bVar24;\n                    }\n                    free(pvVar10);\n                    piVar11 = (int *)*piVar11;\n                  } while ((piVar11 != (int *)0x0) && (bVar24));\n                  if (bVar22) break;\n                }\n                if (DAT_00091a44 == 0) {\n                  pvVar10 = (void *)concat(DAT_00091ca8,"/usr/etc/ld.so.conf",0);\n                  iVar8 = FUN_00037470();\n                  if (iVar8 == 0) {\n                    free(pvVar10);\n                    pvVar10 = (void *)concat(DAT_00091ca8,"/etc/ld.so.conf",0);\n                    FUN_00037470();\n                  }\n                  free(pvVar10);\n                  DAT_00091a44 = 1;\n                }\n                pcVar14 = (char *)puVar19[2];\n                if (DAT_00091a40 != 0) {\n                  iVar8 = FUN_00038b50();\n                  if (iVar8 != 0) break;\n                  pcVar14 = (char *)puVar19[2];\n                }\n                sVar12 = strlen(pcVar14);\n                if (DAT_00091e04 != (int *)0x0) {\n                  piVar11 = DAT_00091e04;\n                  do {\n                    if (piVar11[2] == 0) {\n                      sVar13 = strlen((char *)piVar11[1]);\n                      pcVar14 = (char *)xmalloc(sVar13 + sVar12 + 2);\n                      sprintf(pcVar14,"%s/%s",piVar11[1],puVar19[2]);\n                      iVar8 = FUN_00038820();\n                      if (iVar8 != 0) goto LAB_00039300;\n                      free(pcVar14);\n                    }\n                    piVar11 = (int *)*piVar11;\n                  } while (piVar11 != (int *)0x0);\n                }\n                if (bVar3) {\n                  uVar9 = puVar19[1];\n                  uVar2 = puVar19[2];\n                  uVar15 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00031760(uVar15,uVar2,uVar9);\n                  break;\n                }\n                bVar3 = true;\n              }\n            }\n          }\n        }\nLAB_00039300:\n        uVar4 = DAT_00091c20._2_2_;\n      }" { (expression_statement "puVar5 = puVar6;" (assignment_expression "puVar5 = puVar6" identifier = identifier) ;) (if_statement "if ((puVar19[1] == 0) ||\n           ((uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 1) == 0 &&\n            (((puVar19[1] == 0 || ((DAT_00091c20._2_2_ & 0x180) != 0x80)) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 4) == 0)))))) {\n          for (; puVar5 != puVar19; puVar5 = (undefined4 *)*puVar5) {\n            if (((puVar5[1] == 0) ||\n                (uVar7 = bfd_elf_get_dyn_lib_class(puVar5[1]), (uVar7 & 1) == 0)) &&\n               (iVar8 = strcmp((char *)puVar5[2],(char *)puVar19[2]), iVar8 == 0)) {\n              if (puVar19 != puVar5) goto LAB_00039300;\n              break;\n            }\n          }\n          DAT_00091ae4 = FUN_00038720;\n          DAT_00091a60 = 0;\n          DAT_00091ae0 = puVar19;\n          FUN_00024c50(FUN_00035720);\n          if ((DAT_00091a60 == 0) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_00091a60 + 0x10)),\n             (uVar7 & 1) != 0)) {\n            uVar9 = puVar19[1];\n            uVar2 = puVar19[2];\n            if (DAT_00091d90 != 0) {\n              uVar15 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00031730(uVar15,uVar2,uVar9);\n            }\n            if ((DAT_00091a60 == 0) || (iVar8 = FUN_00038820(), iVar8 == 0)) {\n              bVar3 = false;\n              while (iVar8 = FUN_00038b50(), iVar8 == 0) {\n                if (DAT_00091d04 != 0) {\n                  pvVar10 = (void *)FUN_00037360();\n                  iVar8 = FUN_00038b50();\n                  free(pvVar10);\n                  if (iVar8 != 0) break;\n                }\n                piVar11 = (int *)bfd_elf_get_runpath_list(DAT_00091c50,&DAT_00091c20);\n                if (piVar11 != (int *)0x0) {\n                  do {\n                    bVar24 = true;\n                    pvVar10 = (void *)FUN_00037360();\n                    bVar22 = false;\n                    if (piVar11[1] == puVar19[1]) {\n                      iVar8 = FUN_00038b50();\n                      bVar24 = iVar8 == 0;\n                      bVar22 = !bVar24;\n                    }\n                    free(pvVar10);\n                    piVar11 = (int *)*piVar11;\n                  } while ((piVar11 != (int *)0x0) && (bVar24));\n                  if (bVar22) break;\n                }\n                if (DAT_00091a44 == 0) {\n                  pvVar10 = (void *)concat(DAT_00091ca8,"/usr/etc/ld.so.conf",0);\n                  iVar8 = FUN_00037470();\n                  if (iVar8 == 0) {\n                    free(pvVar10);\n                    pvVar10 = (void *)concat(DAT_00091ca8,"/etc/ld.so.conf",0);\n                    FUN_00037470();\n                  }\n                  free(pvVar10);\n                  DAT_00091a44 = 1;\n                }\n                pcVar14 = (char *)puVar19[2];\n                if (DAT_00091a40 != 0) {\n                  iVar8 = FUN_00038b50();\n                  if (iVar8 != 0) break;\n                  pcVar14 = (char *)puVar19[2];\n                }\n                sVar12 = strlen(pcVar14);\n                if (DAT_00091e04 != (int *)0x0) {\n                  piVar11 = DAT_00091e04;\n                  do {\n                    if (piVar11[2] == 0) {\n                      sVar13 = strlen((char *)piVar11[1]);\n                      pcVar14 = (char *)xmalloc(sVar13 + sVar12 + 2);\n                      sprintf(pcVar14,"%s/%s",piVar11[1],puVar19[2]);\n                      iVar8 = FUN_00038820();\n                      if (iVar8 != 0) goto LAB_00039300;\n                      free(pcVar14);\n                    }\n                    piVar11 = (int *)*piVar11;\n                  } while (piVar11 != (int *)0x0);\n                }\n                if (bVar3) {\n                  uVar9 = puVar19[1];\n                  uVar2 = puVar19[2];\n                  uVar15 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00031760(uVar15,uVar2,uVar9);\n                  break;\n                }\n                bVar3 = true;\n              }\n            }\n          }\n        }" if (parenthesized_expression "((puVar19[1] == 0) ||\n           ((uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 1) == 0 &&\n            (((puVar19[1] == 0 || ((DAT_00091c20._2_2_ & 0x180) != 0x80)) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 4) == 0))))))" ( (binary_expression "(puVar19[1] == 0) ||\n           ((uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 1) == 0 &&\n            (((puVar19[1] == 0 || ((DAT_00091c20._2_2_ & 0x180) != 0x80)) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 4) == 0)))))" (parenthesized_expression "(puVar19[1] == 0)" ( (binary_expression "puVar19[1] == 0" (subscript_expression "puVar19[1]" identifier [ number_literal ]) == number_literal) )) || (parenthesized_expression "((uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 1) == 0 &&\n            (((puVar19[1] == 0 || ((DAT_00091c20._2_2_ & 0x180) != 0x80)) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 4) == 0)))))" ( (parenthesized_expression "(uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 1) == 0 &&\n            (((puVar19[1] == 0 || ((DAT_00091c20._2_2_ & 0x180) != 0x80)) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 4) == 0))))" ( (comma_expression "uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 1) == 0 &&\n            (((puVar19[1] == 0 || ((DAT_00091c20._2_2_ & 0x180) != 0x80)) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 4) == 0)))" (assignment_expression "uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1])" identifier = (call_expression "bfd_elf_get_dyn_lib_class(puVar19[1])" identifier (argument_list "(puVar19[1])" ( (subscript_expression "puVar19[1]" identifier [ number_literal ]) )))) , (binary_expression "(uVar7 & 1) == 0 &&\n            (((puVar19[1] == 0 || ((DAT_00091c20._2_2_ & 0x180) != 0x80)) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 4) == 0)))" (binary_expression "(uVar7 & 1) == 0" (parenthesized_expression "(uVar7 & 1)" ( (binary_expression "uVar7 & 1" identifier & number_literal) )) == number_literal) && (parenthesized_expression "(((puVar19[1] == 0 || ((DAT_00091c20._2_2_ & 0x180) != 0x80)) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 4) == 0)))" ( (parenthesized_expression "((puVar19[1] == 0 || ((DAT_00091c20._2_2_ & 0x180) != 0x80)) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 4) == 0))" ( (binary_expression "(puVar19[1] == 0 || ((DAT_00091c20._2_2_ & 0x180) != 0x80)) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 4) == 0)" (parenthesized_expression "(puVar19[1] == 0 || ((DAT_00091c20._2_2_ & 0x180) != 0x80))" ( (binary_expression "puVar19[1] == 0 || ((DAT_00091c20._2_2_ & 0x180) != 0x80)" (binary_expression "puVar19[1] == 0" (subscript_expression "puVar19[1]" identifier [ number_literal ]) == number_literal) || (parenthesized_expression "((DAT_00091c20._2_2_ & 0x180) != 0x80)" ( (binary_expression "(DAT_00091c20._2_2_ & 0x180) != 0x80" (parenthesized_expression "(DAT_00091c20._2_2_ & 0x180)" ( (binary_expression "DAT_00091c20._2_2_ & 0x180" (field_expression "DAT_00091c20._2_2_" identifier . field_identifier) & number_literal) )) != number_literal) ))) )) || (parenthesized_expression "(uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 4) == 0)" ( (comma_expression "uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 4) == 0" (assignment_expression "uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1])" identifier = (call_expression "bfd_elf_get_dyn_lib_class(puVar19[1])" identifier (argument_list "(puVar19[1])" ( (subscript_expression "puVar19[1]" identifier [ number_literal ]) )))) , (binary_expression "(uVar7 & 4) == 0" (parenthesized_expression "(uVar7 & 4)" ( (binary_expression "uVar7 & 4" identifier & number_literal) )) == number_literal)) ))) )) )))) )) ))) )) (compound_statement "{\n          for (; puVar5 != puVar19; puVar5 = (undefined4 *)*puVar5) {\n            if (((puVar5[1] == 0) ||\n                (uVar7 = bfd_elf_get_dyn_lib_class(puVar5[1]), (uVar7 & 1) == 0)) &&\n               (iVar8 = strcmp((char *)puVar5[2],(char *)puVar19[2]), iVar8 == 0)) {\n              if (puVar19 != puVar5) goto LAB_00039300;\n              break;\n            }\n          }\n          DAT_00091ae4 = FUN_00038720;\n          DAT_00091a60 = 0;\n          DAT_00091ae0 = puVar19;\n          FUN_00024c50(FUN_00035720);\n          if ((DAT_00091a60 == 0) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_00091a60 + 0x10)),\n             (uVar7 & 1) != 0)) {\n            uVar9 = puVar19[1];\n            uVar2 = puVar19[2];\n            if (DAT_00091d90 != 0) {\n              uVar15 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00031730(uVar15,uVar2,uVar9);\n            }\n            if ((DAT_00091a60 == 0) || (iVar8 = FUN_00038820(), iVar8 == 0)) {\n              bVar3 = false;\n              while (iVar8 = FUN_00038b50(), iVar8 == 0) {\n                if (DAT_00091d04 != 0) {\n                  pvVar10 = (void *)FUN_00037360();\n                  iVar8 = FUN_00038b50();\n                  free(pvVar10);\n                  if (iVar8 != 0) break;\n                }\n                piVar11 = (int *)bfd_elf_get_runpath_list(DAT_00091c50,&DAT_00091c20);\n                if (piVar11 != (int *)0x0) {\n                  do {\n                    bVar24 = true;\n                    pvVar10 = (void *)FUN_00037360();\n                    bVar22 = false;\n                    if (piVar11[1] == puVar19[1]) {\n                      iVar8 = FUN_00038b50();\n                      bVar24 = iVar8 == 0;\n                      bVar22 = !bVar24;\n                    }\n                    free(pvVar10);\n                    piVar11 = (int *)*piVar11;\n                  } while ((piVar11 != (int *)0x0) && (bVar24));\n                  if (bVar22) break;\n                }\n                if (DAT_00091a44 == 0) {\n                  pvVar10 = (void *)concat(DAT_00091ca8,"/usr/etc/ld.so.conf",0);\n                  iVar8 = FUN_00037470();\n                  if (iVar8 == 0) {\n                    free(pvVar10);\n                    pvVar10 = (void *)concat(DAT_00091ca8,"/etc/ld.so.conf",0);\n                    FUN_00037470();\n                  }\n                  free(pvVar10);\n                  DAT_00091a44 = 1;\n                }\n                pcVar14 = (char *)puVar19[2];\n                if (DAT_00091a40 != 0) {\n                  iVar8 = FUN_00038b50();\n                  if (iVar8 != 0) break;\n                  pcVar14 = (char *)puVar19[2];\n                }\n                sVar12 = strlen(pcVar14);\n                if (DAT_00091e04 != (int *)0x0) {\n                  piVar11 = DAT_00091e04;\n                  do {\n                    if (piVar11[2] == 0) {\n                      sVar13 = strlen((char *)piVar11[1]);\n                      pcVar14 = (char *)xmalloc(sVar13 + sVar12 + 2);\n                      sprintf(pcVar14,"%s/%s",piVar11[1],puVar19[2]);\n                      iVar8 = FUN_00038820();\n                      if (iVar8 != 0) goto LAB_00039300;\n                      free(pcVar14);\n                    }\n                    piVar11 = (int *)*piVar11;\n                  } while (piVar11 != (int *)0x0);\n                }\n                if (bVar3) {\n                  uVar9 = puVar19[1];\n                  uVar2 = puVar19[2];\n                  uVar15 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00031760(uVar15,uVar2,uVar9);\n                  break;\n                }\n                bVar3 = true;\n              }\n            }\n          }\n        }" { (for_statement "for (; puVar5 != puVar19; puVar5 = (undefined4 *)*puVar5) {\n            if (((puVar5[1] == 0) ||\n                (uVar7 = bfd_elf_get_dyn_lib_class(puVar5[1]), (uVar7 & 1) == 0)) &&\n               (iVar8 = strcmp((char *)puVar5[2],(char *)puVar19[2]), iVar8 == 0)) {\n              if (puVar19 != puVar5) goto LAB_00039300;\n              break;\n            }\n          }" for ( ; (binary_expression "puVar5 != puVar19" identifier != identifier) ; (assignment_expression "puVar5 = (undefined4 *)*puVar5" identifier = (cast_expression "(undefined4 *)*puVar5" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar5" * identifier))) ) (compound_statement "{\n            if (((puVar5[1] == 0) ||\n                (uVar7 = bfd_elf_get_dyn_lib_class(puVar5[1]), (uVar7 & 1) == 0)) &&\n               (iVar8 = strcmp((char *)puVar5[2],(char *)puVar19[2]), iVar8 == 0)) {\n              if (puVar19 != puVar5) goto LAB_00039300;\n              break;\n            }\n          }" { (if_statement "if (((puVar5[1] == 0) ||\n                (uVar7 = bfd_elf_get_dyn_lib_class(puVar5[1]), (uVar7 & 1) == 0)) &&\n               (iVar8 = strcmp((char *)puVar5[2],(char *)puVar19[2]), iVar8 == 0)) {\n              if (puVar19 != puVar5) goto LAB_00039300;\n              break;\n            }" if (parenthesized_expression "(((puVar5[1] == 0) ||\n                (uVar7 = bfd_elf_get_dyn_lib_class(puVar5[1]), (uVar7 & 1) == 0)) &&\n               (iVar8 = strcmp((char *)puVar5[2],(char *)puVar19[2]), iVar8 == 0))" ( (binary_expression "((puVar5[1] == 0) ||\n                (uVar7 = bfd_elf_get_dyn_lib_class(puVar5[1]), (uVar7 & 1) == 0)) &&\n               (iVar8 = strcmp((char *)puVar5[2],(char *)puVar19[2]), iVar8 == 0)" (parenthesized_expression "((puVar5[1] == 0) ||\n                (uVar7 = bfd_elf_get_dyn_lib_class(puVar5[1]), (uVar7 & 1) == 0))" ( (binary_expression "(puVar5[1] == 0) ||\n                (uVar7 = bfd_elf_get_dyn_lib_class(puVar5[1]), (uVar7 & 1) == 0)" (parenthesized_expression "(puVar5[1] == 0)" ( (binary_expression "puVar5[1] == 0" (subscript_expression "puVar5[1]" identifier [ number_literal ]) == number_literal) )) || (parenthesized_expression "(uVar7 = bfd_elf_get_dyn_lib_class(puVar5[1]), (uVar7 & 1) == 0)" ( (comma_expression "uVar7 = bfd_elf_get_dyn_lib_class(puVar5[1]), (uVar7 & 1) == 0" (assignment_expression "uVar7 = bfd_elf_get_dyn_lib_class(puVar5[1])" identifier = (call_expression "bfd_elf_get_dyn_lib_class(puVar5[1])" identifier (argument_list "(puVar5[1])" ( (subscript_expression "puVar5[1]" identifier [ number_literal ]) )))) , (binary_expression "(uVar7 & 1) == 0" (parenthesized_expression "(uVar7 & 1)" ( (binary_expression "uVar7 & 1" identifier & number_literal) )) == number_literal)) ))) )) && (parenthesized_expression "(iVar8 = strcmp((char *)puVar5[2],(char *)puVar19[2]), iVar8 == 0)" ( (comma_expression "iVar8 = strcmp((char *)puVar5[2],(char *)puVar19[2]), iVar8 == 0" (assignment_expression "iVar8 = strcmp((char *)puVar5[2],(char *)puVar19[2])" identifier = (call_expression "strcmp((char *)puVar5[2],(char *)puVar19[2])" identifier (argument_list "((char *)puVar5[2],(char *)puVar19[2])" ( (cast_expression "(char *)puVar5[2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar5[2]" identifier [ number_literal ])) , (cast_expression "(char *)puVar19[2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar19[2]" identifier [ number_literal ])) )))) , (binary_expression "iVar8 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n              if (puVar19 != puVar5) goto LAB_00039300;\n              break;\n            }" { (if_statement "if (puVar19 != puVar5) goto LAB_00039300;" if (parenthesized_expression "(puVar19 != puVar5)" ( (binary_expression "puVar19 != puVar5" identifier != identifier) )) (goto_statement "goto LAB_00039300;" goto statement_identifier ;)) (break_statement "break;" break ;) })) })) (expression_statement "DAT_00091ae4 = FUN_00038720;" (assignment_expression "DAT_00091ae4 = FUN_00038720" identifier = identifier) ;) (expression_statement "DAT_00091a60 = 0;" (assignment_expression "DAT_00091a60 = 0" identifier = number_literal) ;) (expression_statement "DAT_00091ae0 = puVar19;" (assignment_expression "DAT_00091ae0 = puVar19" identifier = identifier) ;) (expression_statement "FUN_00024c50(FUN_00035720);" (call_expression "FUN_00024c50(FUN_00035720)" identifier (argument_list "(FUN_00035720)" ( identifier ))) ;) (if_statement "if ((DAT_00091a60 == 0) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_00091a60 + 0x10)),\n             (uVar7 & 1) != 0)) {\n            uVar9 = puVar19[1];\n            uVar2 = puVar19[2];\n            if (DAT_00091d90 != 0) {\n              uVar15 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00031730(uVar15,uVar2,uVar9);\n            }\n            if ((DAT_00091a60 == 0) || (iVar8 = FUN_00038820(), iVar8 == 0)) {\n              bVar3 = false;\n              while (iVar8 = FUN_00038b50(), iVar8 == 0) {\n                if (DAT_00091d04 != 0) {\n                  pvVar10 = (void *)FUN_00037360();\n                  iVar8 = FUN_00038b50();\n                  free(pvVar10);\n                  if (iVar8 != 0) break;\n                }\n                piVar11 = (int *)bfd_elf_get_runpath_list(DAT_00091c50,&DAT_00091c20);\n                if (piVar11 != (int *)0x0) {\n                  do {\n                    bVar24 = true;\n                    pvVar10 = (void *)FUN_00037360();\n                    bVar22 = false;\n                    if (piVar11[1] == puVar19[1]) {\n                      iVar8 = FUN_00038b50();\n                      bVar24 = iVar8 == 0;\n                      bVar22 = !bVar24;\n                    }\n                    free(pvVar10);\n                    piVar11 = (int *)*piVar11;\n                  } while ((piVar11 != (int *)0x0) && (bVar24));\n                  if (bVar22) break;\n                }\n                if (DAT_00091a44 == 0) {\n                  pvVar10 = (void *)concat(DAT_00091ca8,"/usr/etc/ld.so.conf",0);\n                  iVar8 = FUN_00037470();\n                  if (iVar8 == 0) {\n                    free(pvVar10);\n                    pvVar10 = (void *)concat(DAT_00091ca8,"/etc/ld.so.conf",0);\n                    FUN_00037470();\n                  }\n                  free(pvVar10);\n                  DAT_00091a44 = 1;\n                }\n                pcVar14 = (char *)puVar19[2];\n                if (DAT_00091a40 != 0) {\n                  iVar8 = FUN_00038b50();\n                  if (iVar8 != 0) break;\n                  pcVar14 = (char *)puVar19[2];\n                }\n                sVar12 = strlen(pcVar14);\n                if (DAT_00091e04 != (int *)0x0) {\n                  piVar11 = DAT_00091e04;\n                  do {\n                    if (piVar11[2] == 0) {\n                      sVar13 = strlen((char *)piVar11[1]);\n                      pcVar14 = (char *)xmalloc(sVar13 + sVar12 + 2);\n                      sprintf(pcVar14,"%s/%s",piVar11[1],puVar19[2]);\n                      iVar8 = FUN_00038820();\n                      if (iVar8 != 0) goto LAB_00039300;\n                      free(pcVar14);\n                    }\n                    piVar11 = (int *)*piVar11;\n                  } while (piVar11 != (int *)0x0);\n                }\n                if (bVar3) {\n                  uVar9 = puVar19[1];\n                  uVar2 = puVar19[2];\n                  uVar15 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00031760(uVar15,uVar2,uVar9);\n                  break;\n                }\n                bVar3 = true;\n              }\n            }\n          }" if (parenthesized_expression "((DAT_00091a60 == 0) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_00091a60 + 0x10)),\n             (uVar7 & 1) != 0))" ( (binary_expression "(DAT_00091a60 == 0) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_00091a60 + 0x10)),\n             (uVar7 & 1) != 0)" (parenthesized_expression "(DAT_00091a60 == 0)" ( (binary_expression "DAT_00091a60 == 0" identifier == number_literal) )) || (parenthesized_expression "(uVar7 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_00091a60 + 0x10)),\n             (uVar7 & 1) != 0)" ( (comma_expression "uVar7 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_00091a60 + 0x10)),\n             (uVar7 & 1) != 0" (assignment_expression "uVar7 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_00091a60 + 0x10))" identifier = (call_expression "bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_00091a60 + 0x10))" identifier (argument_list "(*(undefined4 *)(DAT_00091a60 + 0x10))" ( (pointer_expression "*(undefined4 *)(DAT_00091a60 + 0x10)" * (cast_expression "(undefined4 *)(DAT_00091a60 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00091a60 + 0x10)" ( (binary_expression "DAT_00091a60 + 0x10" identifier + number_literal) )))) )))) , (binary_expression "(uVar7 & 1) != 0" (parenthesized_expression "(uVar7 & 1)" ( (binary_expression "uVar7 & 1" identifier & number_literal) )) != number_literal)) ))) )) (compound_statement "{\n            uVar9 = puVar19[1];\n            uVar2 = puVar19[2];\n            if (DAT_00091d90 != 0) {\n              uVar15 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00031730(uVar15,uVar2,uVar9);\n            }\n            if ((DAT_00091a60 == 0) || (iVar8 = FUN_00038820(), iVar8 == 0)) {\n              bVar3 = false;\n              while (iVar8 = FUN_00038b50(), iVar8 == 0) {\n                if (DAT_00091d04 != 0) {\n                  pvVar10 = (void *)FUN_00037360();\n                  iVar8 = FUN_00038b50();\n                  free(pvVar10);\n                  if (iVar8 != 0) break;\n                }\n                piVar11 = (int *)bfd_elf_get_runpath_list(DAT_00091c50,&DAT_00091c20);\n                if (piVar11 != (int *)0x0) {\n                  do {\n                    bVar24 = true;\n                    pvVar10 = (void *)FUN_00037360();\n                    bVar22 = false;\n                    if (piVar11[1] == puVar19[1]) {\n                      iVar8 = FUN_00038b50();\n                      bVar24 = iVar8 == 0;\n                      bVar22 = !bVar24;\n                    }\n                    free(pvVar10);\n                    piVar11 = (int *)*piVar11;\n                  } while ((piVar11 != (int *)0x0) && (bVar24));\n                  if (bVar22) break;\n                }\n                if (DAT_00091a44 == 0) {\n                  pvVar10 = (void *)concat(DAT_00091ca8,"/usr/etc/ld.so.conf",0);\n                  iVar8 = FUN_00037470();\n                  if (iVar8 == 0) {\n                    free(pvVar10);\n                    pvVar10 = (void *)concat(DAT_00091ca8,"/etc/ld.so.conf",0);\n                    FUN_00037470();\n                  }\n                  free(pvVar10);\n                  DAT_00091a44 = 1;\n                }\n                pcVar14 = (char *)puVar19[2];\n                if (DAT_00091a40 != 0) {\n                  iVar8 = FUN_00038b50();\n                  if (iVar8 != 0) break;\n                  pcVar14 = (char *)puVar19[2];\n                }\n                sVar12 = strlen(pcVar14);\n                if (DAT_00091e04 != (int *)0x0) {\n                  piVar11 = DAT_00091e04;\n                  do {\n                    if (piVar11[2] == 0) {\n                      sVar13 = strlen((char *)piVar11[1]);\n                      pcVar14 = (char *)xmalloc(sVar13 + sVar12 + 2);\n                      sprintf(pcVar14,"%s/%s",piVar11[1],puVar19[2]);\n                      iVar8 = FUN_00038820();\n                      if (iVar8 != 0) goto LAB_00039300;\n                      free(pcVar14);\n                    }\n                    piVar11 = (int *)*piVar11;\n                  } while (piVar11 != (int *)0x0);\n                }\n                if (bVar3) {\n                  uVar9 = puVar19[1];\n                  uVar2 = puVar19[2];\n                  uVar15 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00031760(uVar15,uVar2,uVar9);\n                  break;\n                }\n                bVar3 = true;\n              }\n            }\n          }" { (expression_statement "uVar9 = puVar19[1];" (assignment_expression "uVar9 = puVar19[1]" identifier = (subscript_expression "puVar19[1]" identifier [ number_literal ])) ;) (expression_statement "uVar2 = puVar19[2];" (assignment_expression "uVar2 = puVar19[2]" identifier = (subscript_expression "puVar19[2]" identifier [ number_literal ])) ;) (if_statement "if (DAT_00091d90 != 0) {\n              uVar15 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00031730(uVar15,uVar2,uVar9);\n            }" if (parenthesized_expression "(DAT_00091d90 != 0)" ( (binary_expression "DAT_00091d90 != 0" identifier != number_literal) )) (compound_statement "{\n              uVar15 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00031730(uVar15,uVar2,uVar9);\n            }" { (expression_statement "uVar15 = dcgettext(0,"%s needed by %pB\n",5);" (assignment_expression "uVar15 = dcgettext(0,"%s needed by %pB\n",5)" identifier = (call_expression "dcgettext(0,"%s needed by %pB\n",5)" identifier (argument_list "(0,"%s needed by %pB\n",5)" ( number_literal , (string_literal ""%s needed by %pB\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_00031730(uVar15,uVar2,uVar9);" (call_expression "FUN_00031730(uVar15,uVar2,uVar9)" identifier (argument_list "(uVar15,uVar2,uVar9)" ( identifier , identifier , identifier ))) ;) })) (if_statement "if ((DAT_00091a60 == 0) || (iVar8 = FUN_00038820(), iVar8 == 0)) {\n              bVar3 = false;\n              while (iVar8 = FUN_00038b50(), iVar8 == 0) {\n                if (DAT_00091d04 != 0) {\n                  pvVar10 = (void *)FUN_00037360();\n                  iVar8 = FUN_00038b50();\n                  free(pvVar10);\n                  if (iVar8 != 0) break;\n                }\n                piVar11 = (int *)bfd_elf_get_runpath_list(DAT_00091c50,&DAT_00091c20);\n                if (piVar11 != (int *)0x0) {\n                  do {\n                    bVar24 = true;\n                    pvVar10 = (void *)FUN_00037360();\n                    bVar22 = false;\n                    if (piVar11[1] == puVar19[1]) {\n                      iVar8 = FUN_00038b50();\n                      bVar24 = iVar8 == 0;\n                      bVar22 = !bVar24;\n                    }\n                    free(pvVar10);\n                    piVar11 = (int *)*piVar11;\n                  } while ((piVar11 != (int *)0x0) && (bVar24));\n                  if (bVar22) break;\n                }\n                if (DAT_00091a44 == 0) {\n                  pvVar10 = (void *)concat(DAT_00091ca8,"/usr/etc/ld.so.conf",0);\n                  iVar8 = FUN_00037470();\n                  if (iVar8 == 0) {\n                    free(pvVar10);\n                    pvVar10 = (void *)concat(DAT_00091ca8,"/etc/ld.so.conf",0);\n                    FUN_00037470();\n                  }\n                  free(pvVar10);\n                  DAT_00091a44 = 1;\n                }\n                pcVar14 = (char *)puVar19[2];\n                if (DAT_00091a40 != 0) {\n                  iVar8 = FUN_00038b50();\n                  if (iVar8 != 0) break;\n                  pcVar14 = (char *)puVar19[2];\n                }\n                sVar12 = strlen(pcVar14);\n                if (DAT_00091e04 != (int *)0x0) {\n                  piVar11 = DAT_00091e04;\n                  do {\n                    if (piVar11[2] == 0) {\n                      sVar13 = strlen((char *)piVar11[1]);\n                      pcVar14 = (char *)xmalloc(sVar13 + sVar12 + 2);\n                      sprintf(pcVar14,"%s/%s",piVar11[1],puVar19[2]);\n                      iVar8 = FUN_00038820();\n                      if (iVar8 != 0) goto LAB_00039300;\n                      free(pcVar14);\n                    }\n                    piVar11 = (int *)*piVar11;\n                  } while (piVar11 != (int *)0x0);\n                }\n                if (bVar3) {\n                  uVar9 = puVar19[1];\n                  uVar2 = puVar19[2];\n                  uVar15 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00031760(uVar15,uVar2,uVar9);\n                  break;\n                }\n                bVar3 = true;\n              }\n            }" if (parenthesized_expression "((DAT_00091a60 == 0) || (iVar8 = FUN_00038820(), iVar8 == 0))" ( (binary_expression "(DAT_00091a60 == 0) || (iVar8 = FUN_00038820(), iVar8 == 0)" (parenthesized_expression "(DAT_00091a60 == 0)" ( (binary_expression "DAT_00091a60 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar8 = FUN_00038820(), iVar8 == 0)" ( (comma_expression "iVar8 = FUN_00038820(), iVar8 == 0" (assignment_expression "iVar8 = FUN_00038820()" identifier = (call_expression "FUN_00038820()" identifier (argument_list "()" ( )))) , (binary_expression "iVar8 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n              bVar3 = false;\n              while (iVar8 = FUN_00038b50(), iVar8 == 0) {\n                if (DAT_00091d04 != 0) {\n                  pvVar10 = (void *)FUN_00037360();\n                  iVar8 = FUN_00038b50();\n                  free(pvVar10);\n                  if (iVar8 != 0) break;\n                }\n                piVar11 = (int *)bfd_elf_get_runpath_list(DAT_00091c50,&DAT_00091c20);\n                if (piVar11 != (int *)0x0) {\n                  do {\n                    bVar24 = true;\n                    pvVar10 = (void *)FUN_00037360();\n                    bVar22 = false;\n                    if (piVar11[1] == puVar19[1]) {\n                      iVar8 = FUN_00038b50();\n                      bVar24 = iVar8 == 0;\n                      bVar22 = !bVar24;\n                    }\n                    free(pvVar10);\n                    piVar11 = (int *)*piVar11;\n                  } while ((piVar11 != (int *)0x0) && (bVar24));\n                  if (bVar22) break;\n                }\n                if (DAT_00091a44 == 0) {\n                  pvVar10 = (void *)concat(DAT_00091ca8,"/usr/etc/ld.so.conf",0);\n                  iVar8 = FUN_00037470();\n                  if (iVar8 == 0) {\n                    free(pvVar10);\n                    pvVar10 = (void *)concat(DAT_00091ca8,"/etc/ld.so.conf",0);\n                    FUN_00037470();\n                  }\n                  free(pvVar10);\n                  DAT_00091a44 = 1;\n                }\n                pcVar14 = (char *)puVar19[2];\n                if (DAT_00091a40 != 0) {\n                  iVar8 = FUN_00038b50();\n                  if (iVar8 != 0) break;\n                  pcVar14 = (char *)puVar19[2];\n                }\n                sVar12 = strlen(pcVar14);\n                if (DAT_00091e04 != (int *)0x0) {\n                  piVar11 = DAT_00091e04;\n                  do {\n                    if (piVar11[2] == 0) {\n                      sVar13 = strlen((char *)piVar11[1]);\n                      pcVar14 = (char *)xmalloc(sVar13 + sVar12 + 2);\n                      sprintf(pcVar14,"%s/%s",piVar11[1],puVar19[2]);\n                      iVar8 = FUN_00038820();\n                      if (iVar8 != 0) goto LAB_00039300;\n                      free(pcVar14);\n                    }\n                    piVar11 = (int *)*piVar11;\n                  } while (piVar11 != (int *)0x0);\n                }\n                if (bVar3) {\n                  uVar9 = puVar19[1];\n                  uVar2 = puVar19[2];\n                  uVar15 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00031760(uVar15,uVar2,uVar9);\n                  break;\n                }\n                bVar3 = true;\n              }\n            }" { (expression_statement "bVar3 = false;" (assignment_expression "bVar3 = false" identifier = false) ;) (while_statement "while (iVar8 = FUN_00038b50(), iVar8 == 0) {\n                if (DAT_00091d04 != 0) {\n                  pvVar10 = (void *)FUN_00037360();\n                  iVar8 = FUN_00038b50();\n                  free(pvVar10);\n                  if (iVar8 != 0) break;\n                }\n                piVar11 = (int *)bfd_elf_get_runpath_list(DAT_00091c50,&DAT_00091c20);\n                if (piVar11 != (int *)0x0) {\n                  do {\n                    bVar24 = true;\n                    pvVar10 = (void *)FUN_00037360();\n                    bVar22 = false;\n                    if (piVar11[1] == puVar19[1]) {\n                      iVar8 = FUN_00038b50();\n                      bVar24 = iVar8 == 0;\n                      bVar22 = !bVar24;\n                    }\n                    free(pvVar10);\n                    piVar11 = (int *)*piVar11;\n                  } while ((piVar11 != (int *)0x0) && (bVar24));\n                  if (bVar22) break;\n                }\n                if (DAT_00091a44 == 0) {\n                  pvVar10 = (void *)concat(DAT_00091ca8,"/usr/etc/ld.so.conf",0);\n                  iVar8 = FUN_00037470();\n                  if (iVar8 == 0) {\n                    free(pvVar10);\n                    pvVar10 = (void *)concat(DAT_00091ca8,"/etc/ld.so.conf",0);\n                    FUN_00037470();\n                  }\n                  free(pvVar10);\n                  DAT_00091a44 = 1;\n                }\n                pcVar14 = (char *)puVar19[2];\n                if (DAT_00091a40 != 0) {\n                  iVar8 = FUN_00038b50();\n                  if (iVar8 != 0) break;\n                  pcVar14 = (char *)puVar19[2];\n                }\n                sVar12 = strlen(pcVar14);\n                if (DAT_00091e04 != (int *)0x0) {\n                  piVar11 = DAT_00091e04;\n                  do {\n                    if (piVar11[2] == 0) {\n                      sVar13 = strlen((char *)piVar11[1]);\n                      pcVar14 = (char *)xmalloc(sVar13 + sVar12 + 2);\n                      sprintf(pcVar14,"%s/%s",piVar11[1],puVar19[2]);\n                      iVar8 = FUN_00038820();\n                      if (iVar8 != 0) goto LAB_00039300;\n                      free(pcVar14);\n                    }\n                    piVar11 = (int *)*piVar11;\n                  } while (piVar11 != (int *)0x0);\n                }\n                if (bVar3) {\n                  uVar9 = puVar19[1];\n                  uVar2 = puVar19[2];\n                  uVar15 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00031760(uVar15,uVar2,uVar9);\n                  break;\n                }\n                bVar3 = true;\n              }" while (parenthesized_expression "(iVar8 = FUN_00038b50(), iVar8 == 0)" ( (comma_expression "iVar8 = FUN_00038b50(), iVar8 == 0" (assignment_expression "iVar8 = FUN_00038b50()" identifier = (call_expression "FUN_00038b50()" identifier (argument_list "()" ( )))) , (binary_expression "iVar8 == 0" identifier == number_literal)) )) (compound_statement "{\n                if (DAT_00091d04 != 0) {\n                  pvVar10 = (void *)FUN_00037360();\n                  iVar8 = FUN_00038b50();\n                  free(pvVar10);\n                  if (iVar8 != 0) break;\n                }\n                piVar11 = (int *)bfd_elf_get_runpath_list(DAT_00091c50,&DAT_00091c20);\n                if (piVar11 != (int *)0x0) {\n                  do {\n                    bVar24 = true;\n                    pvVar10 = (void *)FUN_00037360();\n                    bVar22 = false;\n                    if (piVar11[1] == puVar19[1]) {\n                      iVar8 = FUN_00038b50();\n                      bVar24 = iVar8 == 0;\n                      bVar22 = !bVar24;\n                    }\n                    free(pvVar10);\n                    piVar11 = (int *)*piVar11;\n                  } while ((piVar11 != (int *)0x0) && (bVar24));\n                  if (bVar22) break;\n                }\n                if (DAT_00091a44 == 0) {\n                  pvVar10 = (void *)concat(DAT_00091ca8,"/usr/etc/ld.so.conf",0);\n                  iVar8 = FUN_00037470();\n                  if (iVar8 == 0) {\n                    free(pvVar10);\n                    pvVar10 = (void *)concat(DAT_00091ca8,"/etc/ld.so.conf",0);\n                    FUN_00037470();\n                  }\n                  free(pvVar10);\n                  DAT_00091a44 = 1;\n                }\n                pcVar14 = (char *)puVar19[2];\n                if (DAT_00091a40 != 0) {\n                  iVar8 = FUN_00038b50();\n                  if (iVar8 != 0) break;\n                  pcVar14 = (char *)puVar19[2];\n                }\n                sVar12 = strlen(pcVar14);\n                if (DAT_00091e04 != (int *)0x0) {\n                  piVar11 = DAT_00091e04;\n                  do {\n                    if (piVar11[2] == 0) {\n                      sVar13 = strlen((char *)piVar11[1]);\n                      pcVar14 = (char *)xmalloc(sVar13 + sVar12 + 2);\n                      sprintf(pcVar14,"%s/%s",piVar11[1],puVar19[2]);\n                      iVar8 = FUN_00038820();\n                      if (iVar8 != 0) goto LAB_00039300;\n                      free(pcVar14);\n                    }\n                    piVar11 = (int *)*piVar11;\n                  } while (piVar11 != (int *)0x0);\n                }\n                if (bVar3) {\n                  uVar9 = puVar19[1];\n                  uVar2 = puVar19[2];\n                  uVar15 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00031760(uVar15,uVar2,uVar9);\n                  break;\n                }\n                bVar3 = true;\n              }" { (if_statement "if (DAT_00091d04 != 0) {\n                  pvVar10 = (void *)FUN_00037360();\n                  iVar8 = FUN_00038b50();\n                  free(pvVar10);\n                  if (iVar8 != 0) break;\n                }" if (parenthesized_expression "(DAT_00091d04 != 0)" ( (binary_expression "DAT_00091d04 != 0" identifier != number_literal) )) (compound_statement "{\n                  pvVar10 = (void *)FUN_00037360();\n                  iVar8 = FUN_00038b50();\n                  free(pvVar10);\n                  if (iVar8 != 0) break;\n                }" { (expression_statement "pvVar10 = (void *)FUN_00037360();" (assignment_expression "pvVar10 = (void *)FUN_00037360()" identifier = (cast_expression "(void *)FUN_00037360()" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00037360()" identifier (argument_list "()" ( ))))) ;) (expression_statement "iVar8 = FUN_00038b50();" (assignment_expression "iVar8 = FUN_00038b50()" identifier = (call_expression "FUN_00038b50()" identifier (argument_list "()" ( )))) ;) (expression_statement "free(pvVar10);" (call_expression "free(pvVar10)" identifier (argument_list "(pvVar10)" ( identifier ))) ;) (if_statement "if (iVar8 != 0) break;" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (break_statement "break;" break ;)) })) (expression_statement "piVar11 = (int *)bfd_elf_get_runpath_list(DAT_00091c50,&DAT_00091c20);" (assignment_expression "piVar11 = (int *)bfd_elf_get_runpath_list(DAT_00091c50,&DAT_00091c20)" identifier = (cast_expression "(int *)bfd_elf_get_runpath_list(DAT_00091c50,&DAT_00091c20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "bfd_elf_get_runpath_list(DAT_00091c50,&DAT_00091c20)" identifier (argument_list "(DAT_00091c50,&DAT_00091c20)" ( identifier , (pointer_expression "&DAT_00091c20" & identifier) ))))) ;) (if_statement "if (piVar11 != (int *)0x0) {\n                  do {\n                    bVar24 = true;\n                    pvVar10 = (void *)FUN_00037360();\n                    bVar22 = false;\n                    if (piVar11[1] == puVar19[1]) {\n                      iVar8 = FUN_00038b50();\n                      bVar24 = iVar8 == 0;\n                      bVar22 = !bVar24;\n                    }\n                    free(pvVar10);\n                    piVar11 = (int *)*piVar11;\n                  } while ((piVar11 != (int *)0x0) && (bVar24));\n                  if (bVar22) break;\n                }" if (parenthesized_expression "(piVar11 != (int *)0x0)" ( (binary_expression "piVar11 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  do {\n                    bVar24 = true;\n                    pvVar10 = (void *)FUN_00037360();\n                    bVar22 = false;\n                    if (piVar11[1] == puVar19[1]) {\n                      iVar8 = FUN_00038b50();\n                      bVar24 = iVar8 == 0;\n                      bVar22 = !bVar24;\n                    }\n                    free(pvVar10);\n                    piVar11 = (int *)*piVar11;\n                  } while ((piVar11 != (int *)0x0) && (bVar24));\n                  if (bVar22) break;\n                }" { (do_statement "do {\n                    bVar24 = true;\n                    pvVar10 = (void *)FUN_00037360();\n                    bVar22 = false;\n                    if (piVar11[1] == puVar19[1]) {\n                      iVar8 = FUN_00038b50();\n                      bVar24 = iVar8 == 0;\n                      bVar22 = !bVar24;\n                    }\n                    free(pvVar10);\n                    piVar11 = (int *)*piVar11;\n                  } while ((piVar11 != (int *)0x0) && (bVar24));" do (compound_statement "{\n                    bVar24 = true;\n                    pvVar10 = (void *)FUN_00037360();\n                    bVar22 = false;\n                    if (piVar11[1] == puVar19[1]) {\n                      iVar8 = FUN_00038b50();\n                      bVar24 = iVar8 == 0;\n                      bVar22 = !bVar24;\n                    }\n                    free(pvVar10);\n                    piVar11 = (int *)*piVar11;\n                  }" { (expression_statement "bVar24 = true;" (assignment_expression "bVar24 = true" identifier = true) ;) (expression_statement "pvVar10 = (void *)FUN_00037360();" (assignment_expression "pvVar10 = (void *)FUN_00037360()" identifier = (cast_expression "(void *)FUN_00037360()" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00037360()" identifier (argument_list "()" ( ))))) ;) (expression_statement "bVar22 = false;" (assignment_expression "bVar22 = false" identifier = false) ;) (if_statement "if (piVar11[1] == puVar19[1]) {\n                      iVar8 = FUN_00038b50();\n                      bVar24 = iVar8 == 0;\n                      bVar22 = !bVar24;\n                    }" if (parenthesized_expression "(piVar11[1] == puVar19[1])" ( (binary_expression "piVar11[1] == puVar19[1]" (subscript_expression "piVar11[1]" identifier [ number_literal ]) == (subscript_expression "puVar19[1]" identifier [ number_literal ])) )) (compound_statement "{\n                      iVar8 = FUN_00038b50();\n                      bVar24 = iVar8 == 0;\n                      bVar22 = !bVar24;\n                    }" { (expression_statement "iVar8 = FUN_00038b50();" (assignment_expression "iVar8 = FUN_00038b50()" identifier = (call_expression "FUN_00038b50()" identifier (argument_list "()" ( )))) ;) (expression_statement "bVar24 = iVar8 == 0;" (assignment_expression "bVar24 = iVar8 == 0" identifier = (binary_expression "iVar8 == 0" identifier == number_literal)) ;) (expression_statement "bVar22 = !bVar24;" (assignment_expression "bVar22 = !bVar24" identifier = (unary_expression "!bVar24" ! identifier)) ;) })) (expression_statement "free(pvVar10);" (call_expression "free(pvVar10)" identifier (argument_list "(pvVar10)" ( identifier ))) ;) (expression_statement "piVar11 = (int *)*piVar11;" (assignment_expression "piVar11 = (int *)*piVar11" identifier = (cast_expression "(int *)*piVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar11" * identifier))) ;) }) while (parenthesized_expression "((piVar11 != (int *)0x0) && (bVar24))" ( (binary_expression "(piVar11 != (int *)0x0) && (bVar24)" (parenthesized_expression "(piVar11 != (int *)0x0)" ( (binary_expression "piVar11 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(bVar24)" ( identifier ))) )) ;) (if_statement "if (bVar22) break;" if (parenthesized_expression "(bVar22)" ( identifier )) (break_statement "break;" break ;)) })) (if_statement "if (DAT_00091a44 == 0) {\n                  pvVar10 = (void *)concat(DAT_00091ca8,"/usr/etc/ld.so.conf",0);\n                  iVar8 = FUN_00037470();\n                  if (iVar8 == 0) {\n                    free(pvVar10);\n                    pvVar10 = (void *)concat(DAT_00091ca8,"/etc/ld.so.conf",0);\n                    FUN_00037470();\n                  }\n                  free(pvVar10);\n                  DAT_00091a44 = 1;\n                }" if (parenthesized_expression "(DAT_00091a44 == 0)" ( (binary_expression "DAT_00091a44 == 0" identifier == number_literal) )) (compound_statement "{\n                  pvVar10 = (void *)concat(DAT_00091ca8,"/usr/etc/ld.so.conf",0);\n                  iVar8 = FUN_00037470();\n                  if (iVar8 == 0) {\n                    free(pvVar10);\n                    pvVar10 = (void *)concat(DAT_00091ca8,"/etc/ld.so.conf",0);\n                    FUN_00037470();\n                  }\n                  free(pvVar10);\n                  DAT_00091a44 = 1;\n                }" { (expression_statement "pvVar10 = (void *)concat(DAT_00091ca8,"/usr/etc/ld.so.conf",0);" (assignment_expression "pvVar10 = (void *)concat(DAT_00091ca8,"/usr/etc/ld.so.conf",0)" identifier = (cast_expression "(void *)concat(DAT_00091ca8,"/usr/etc/ld.so.conf",0)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "concat(DAT_00091ca8,"/usr/etc/ld.so.conf",0)" identifier (argument_list "(DAT_00091ca8,"/usr/etc/ld.so.conf",0)" ( identifier , (string_literal ""/usr/etc/ld.so.conf"" " string_content ") , number_literal ))))) ;) (expression_statement "iVar8 = FUN_00037470();" (assignment_expression "iVar8 = FUN_00037470()" identifier = (call_expression "FUN_00037470()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar8 == 0) {\n                    free(pvVar10);\n                    pvVar10 = (void *)concat(DAT_00091ca8,"/etc/ld.so.conf",0);\n                    FUN_00037470();\n                  }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n                    free(pvVar10);\n                    pvVar10 = (void *)concat(DAT_00091ca8,"/etc/ld.so.conf",0);\n                    FUN_00037470();\n                  }" { (expression_statement "free(pvVar10);" (call_expression "free(pvVar10)" identifier (argument_list "(pvVar10)" ( identifier ))) ;) (expression_statement "pvVar10 = (void *)concat(DAT_00091ca8,"/etc/ld.so.conf",0);" (assignment_expression "pvVar10 = (void *)concat(DAT_00091ca8,"/etc/ld.so.conf",0)" identifier = (cast_expression "(void *)concat(DAT_00091ca8,"/etc/ld.so.conf",0)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "concat(DAT_00091ca8,"/etc/ld.so.conf",0)" identifier (argument_list "(DAT_00091ca8,"/etc/ld.so.conf",0)" ( identifier , (string_literal ""/etc/ld.so.conf"" " string_content ") , number_literal ))))) ;) (expression_statement "FUN_00037470();" (call_expression "FUN_00037470()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "free(pvVar10);" (call_expression "free(pvVar10)" identifier (argument_list "(pvVar10)" ( identifier ))) ;) (expression_statement "DAT_00091a44 = 1;" (assignment_expression "DAT_00091a44 = 1" identifier = number_literal) ;) })) (expression_statement "pcVar14 = (char *)puVar19[2];" (assignment_expression "pcVar14 = (char *)puVar19[2]" identifier = (cast_expression "(char *)puVar19[2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar19[2]" identifier [ number_literal ]))) ;) (if_statement "if (DAT_00091a40 != 0) {\n                  iVar8 = FUN_00038b50();\n                  if (iVar8 != 0) break;\n                  pcVar14 = (char *)puVar19[2];\n                }" if (parenthesized_expression "(DAT_00091a40 != 0)" ( (binary_expression "DAT_00091a40 != 0" identifier != number_literal) )) (compound_statement "{\n                  iVar8 = FUN_00038b50();\n                  if (iVar8 != 0) break;\n                  pcVar14 = (char *)puVar19[2];\n                }" { (expression_statement "iVar8 = FUN_00038b50();" (assignment_expression "iVar8 = FUN_00038b50()" identifier = (call_expression "FUN_00038b50()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar8 != 0) break;" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (break_statement "break;" break ;)) (expression_statement "pcVar14 = (char *)puVar19[2];" (assignment_expression "pcVar14 = (char *)puVar19[2]" identifier = (cast_expression "(char *)puVar19[2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar19[2]" identifier [ number_literal ]))) ;) })) (expression_statement "sVar12 = strlen(pcVar14);" (assignment_expression "sVar12 = strlen(pcVar14)" identifier = (call_expression "strlen(pcVar14)" identifier (argument_list "(pcVar14)" ( identifier )))) ;) (if_statement "if (DAT_00091e04 != (int *)0x0) {\n                  piVar11 = DAT_00091e04;\n                  do {\n                    if (piVar11[2] == 0) {\n                      sVar13 = strlen((char *)piVar11[1]);\n                      pcVar14 = (char *)xmalloc(sVar13 + sVar12 + 2);\n                      sprintf(pcVar14,"%s/%s",piVar11[1],puVar19[2]);\n                      iVar8 = FUN_00038820();\n                      if (iVar8 != 0) goto LAB_00039300;\n                      free(pcVar14);\n                    }\n                    piVar11 = (int *)*piVar11;\n                  } while (piVar11 != (int *)0x0);\n                }" if (parenthesized_expression "(DAT_00091e04 != (int *)0x0)" ( (binary_expression "DAT_00091e04 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  piVar11 = DAT_00091e04;\n                  do {\n                    if (piVar11[2] == 0) {\n                      sVar13 = strlen((char *)piVar11[1]);\n                      pcVar14 = (char *)xmalloc(sVar13 + sVar12 + 2);\n                      sprintf(pcVar14,"%s/%s",piVar11[1],puVar19[2]);\n                      iVar8 = FUN_00038820();\n                      if (iVar8 != 0) goto LAB_00039300;\n                      free(pcVar14);\n                    }\n                    piVar11 = (int *)*piVar11;\n                  } while (piVar11 != (int *)0x0);\n                }" { (expression_statement "piVar11 = DAT_00091e04;" (assignment_expression "piVar11 = DAT_00091e04" identifier = identifier) ;) (do_statement "do {\n                    if (piVar11[2] == 0) {\n                      sVar13 = strlen((char *)piVar11[1]);\n                      pcVar14 = (char *)xmalloc(sVar13 + sVar12 + 2);\n                      sprintf(pcVar14,"%s/%s",piVar11[1],puVar19[2]);\n                      iVar8 = FUN_00038820();\n                      if (iVar8 != 0) goto LAB_00039300;\n                      free(pcVar14);\n                    }\n                    piVar11 = (int *)*piVar11;\n                  } while (piVar11 != (int *)0x0);" do (compound_statement "{\n                    if (piVar11[2] == 0) {\n                      sVar13 = strlen((char *)piVar11[1]);\n                      pcVar14 = (char *)xmalloc(sVar13 + sVar12 + 2);\n                      sprintf(pcVar14,"%s/%s",piVar11[1],puVar19[2]);\n                      iVar8 = FUN_00038820();\n                      if (iVar8 != 0) goto LAB_00039300;\n                      free(pcVar14);\n                    }\n                    piVar11 = (int *)*piVar11;\n                  }" { (if_statement "if (piVar11[2] == 0) {\n                      sVar13 = strlen((char *)piVar11[1]);\n                      pcVar14 = (char *)xmalloc(sVar13 + sVar12 + 2);\n                      sprintf(pcVar14,"%s/%s",piVar11[1],puVar19[2]);\n                      iVar8 = FUN_00038820();\n                      if (iVar8 != 0) goto LAB_00039300;\n                      free(pcVar14);\n                    }" if (parenthesized_expression "(piVar11[2] == 0)" ( (binary_expression "piVar11[2] == 0" (subscript_expression "piVar11[2]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                      sVar13 = strlen((char *)piVar11[1]);\n                      pcVar14 = (char *)xmalloc(sVar13 + sVar12 + 2);\n                      sprintf(pcVar14,"%s/%s",piVar11[1],puVar19[2]);\n                      iVar8 = FUN_00038820();\n                      if (iVar8 != 0) goto LAB_00039300;\n                      free(pcVar14);\n                    }" { (expression_statement "sVar13 = strlen((char *)piVar11[1]);" (assignment_expression "sVar13 = strlen((char *)piVar11[1])" identifier = (call_expression "strlen((char *)piVar11[1])" identifier (argument_list "((char *)piVar11[1])" ( (cast_expression "(char *)piVar11[1]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar11[1]" identifier [ number_literal ])) )))) ;) (expression_statement "pcVar14 = (char *)xmalloc(sVar13 + sVar12 + 2);" (assignment_expression "pcVar14 = (char *)xmalloc(sVar13 + sVar12 + 2)" identifier = (cast_expression "(char *)xmalloc(sVar13 + sVar12 + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(sVar13 + sVar12 + 2)" identifier (argument_list "(sVar13 + sVar12 + 2)" ( (binary_expression "sVar13 + sVar12 + 2" (binary_expression "sVar13 + sVar12" identifier + identifier) + number_literal) ))))) ;) (expression_statement "sprintf(pcVar14,"%s/%s",piVar11[1],puVar19[2]);" (call_expression "sprintf(pcVar14,"%s/%s",piVar11[1],puVar19[2])" identifier (argument_list "(pcVar14,"%s/%s",piVar11[1],puVar19[2])" ( identifier , (string_literal ""%s/%s"" " string_content ") , (subscript_expression "piVar11[1]" identifier [ number_literal ]) , (subscript_expression "puVar19[2]" identifier [ number_literal ]) ))) ;) (expression_statement "iVar8 = FUN_00038820();" (assignment_expression "iVar8 = FUN_00038820()" identifier = (call_expression "FUN_00038820()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar8 != 0) goto LAB_00039300;" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00039300;" goto statement_identifier ;)) (expression_statement "free(pcVar14);" (call_expression "free(pcVar14)" identifier (argument_list "(pcVar14)" ( identifier ))) ;) })) (expression_statement "piVar11 = (int *)*piVar11;" (assignment_expression "piVar11 = (int *)*piVar11" identifier = (cast_expression "(int *)*piVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar11" * identifier))) ;) }) while (parenthesized_expression "(piVar11 != (int *)0x0)" ( (binary_expression "piVar11 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) })) (if_statement "if (bVar3) {\n                  uVar9 = puVar19[1];\n                  uVar2 = puVar19[2];\n                  uVar15 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00031760(uVar15,uVar2,uVar9);\n                  break;\n                }" if (parenthesized_expression "(bVar3)" ( identifier )) (compound_statement "{\n                  uVar9 = puVar19[1];\n                  uVar2 = puVar19[2];\n                  uVar15 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00031760(uVar15,uVar2,uVar9);\n                  break;\n                }" { (expression_statement "uVar9 = puVar19[1];" (assignment_expression "uVar9 = puVar19[1]" identifier = (subscript_expression "puVar19[1]" identifier [ number_literal ])) ;) (expression_statement "uVar2 = puVar19[2];" (assignment_expression "uVar2 = puVar19[2]" identifier = (subscript_expression "puVar19[2]" identifier [ number_literal ])) ;) (expression_statement "uVar15 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);" (assignment_expression "uVar15 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5)" identifier = (call_expression "dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5)" identifier (argument_list "(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5)" ( number_literal , (string_literal ""%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_00031760(uVar15,uVar2,uVar9);" (call_expression "FUN_00031760(uVar15,uVar2,uVar9)" identifier (argument_list "(uVar15,uVar2,uVar9)" ( identifier , identifier , identifier ))) ;) (break_statement "break;" break ;) })) (expression_statement "bVar3 = true;" (assignment_expression "bVar3 = true" identifier = true) ;) })) })) })) })) (labeled_statement "LAB_00039300:\n        uVar4 = DAT_00091c20._2_2_;" statement_identifier : (expression_statement "uVar4 = DAT_00091c20._2_2_;" (assignment_expression "uVar4 = DAT_00091c20._2_2_" identifier = (field_expression "DAT_00091c20._2_2_" identifier . field_identifier)) ;)) })) (expression_statement "DAT_00091c20._3_1_ = (byte)(uVar4 >> 8);" (assignment_expression "DAT_00091c20._3_1_ = (byte)(uVar4 >> 8)" (field_expression "DAT_00091c20._3_1_" identifier . field_identifier) = (call_expression "(byte)(uVar4 >> 8)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uVar4 >> 8)" ( (binary_expression "uVar4 >> 8" identifier >> number_literal) )))) ;) (expression_statement "bVar25 = DAT_00091c20._3_1_ & 0xc0;" (assignment_expression "bVar25 = DAT_00091c20._3_1_ & 0xc0" identifier = (binary_expression "DAT_00091c20._3_1_ & 0xc0" (field_expression "DAT_00091c20._3_1_" identifier . field_identifier) & number_literal)) ;) (if_statement "if ((bVar25 == 0x80) && (iVar8 = bfd_elf_parse_eh_frame_entries(0,&DAT_00091c20), iVar8 == 0))\n      {\n        uVar9 = dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);\n        FUN_00031760(uVar9);\n      }" if (parenthesized_expression "((bVar25 == 0x80) && (iVar8 = bfd_elf_parse_eh_frame_entries(0,&DAT_00091c20), iVar8 == 0))" ( (binary_expression "(bVar25 == 0x80) && (iVar8 = bfd_elf_parse_eh_frame_entries(0,&DAT_00091c20), iVar8 == 0)" (parenthesized_expression "(bVar25 == 0x80)" ( (binary_expression "bVar25 == 0x80" identifier == number_literal) )) && (parenthesized_expression "(iVar8 = bfd_elf_parse_eh_frame_entries(0,&DAT_00091c20), iVar8 == 0)" ( (comma_expression "iVar8 = bfd_elf_parse_eh_frame_entries(0,&DAT_00091c20), iVar8 == 0" (assignment_expression "iVar8 = bfd_elf_parse_eh_frame_entries(0,&DAT_00091c20)" identifier = (call_expression "bfd_elf_parse_eh_frame_entries(0,&DAT_00091c20)" identifier (argument_list "(0,&DAT_00091c20)" ( number_literal , (pointer_expression "&DAT_00091c20" & identifier) )))) , (binary_expression "iVar8 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n        uVar9 = dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);\n        FUN_00031760(uVar9);\n      }" { (expression_statement "uVar9 = dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);" (assignment_expression "uVar9 = dcgettext(0,"%F%P: failed to parse EH frame entries\n",5)" identifier = (call_expression "dcgettext(0,"%F%P: failed to parse EH frame entries\n",5)" identifier (argument_list "(0,"%F%P: failed to parse EH frame entries\n",5)" ( number_literal , (string_literal ""%F%P: failed to parse EH frame entries\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_00031760(uVar9);" (call_expression "FUN_00031760(uVar9)" identifier (argument_list "(uVar9)" ( identifier ))) ;) })) }))) })) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Unknown calling convention -- yet parameter storage is locked */\n\nvoid gldhppalinux_after_open(void)\n\n{\n  output_elf_obj_tdata *poVar1;\n  bfd_link_needed_list *pbVar2;\n  bool bVar3;\n  bfd_link_needed_list *pbVar4;\n  bfd_link_hash_table *pbVar5;\n  dt_needed *pdVar6;\n  bfd_size_type bVar7;\n  asection *paVar8;\n  bfd_link_needed_list *pbVar9;\n  uint uVar10;\n  int iVar11;\n  bfd_boolean bVar12;\n  char *pcVar13;\n  int *piVar14;\n  size_t sVar15;\n  size_t sVar16;\n  char *pcVar17;\n  bfd_link_hash_table_type bVar18;\n  bfd *pbVar19;\n  bfd_section *pbVar20;\n  bfd *pbVar21;\n  search_dirs *psVar22;\n  byte *pbVar23;\n  byte *pbVar24;\n  bool bVar25;\n  bool bVar26;\n  bool bVar27;\n  byte bVar28;\n  dt_needed *local_60;\n  int local_50;\n  bfd *local_4c;\n  dt_needed n;\n  dt_needed nn;\n  dt_needed needed;\n  \n  bVar28 = 0;\n  after_open_default();\n  pbVar5 = link_info.hash;\n  if ((link_info.hash)->type == bfd_link_elf_hash_table) {\n    if (command_line.out_implib_filename != (char *)0x0) {\n      unlink_if_ordinary(command_line.out_implib_filename);\n      link_info.out_implib_bfd =\n           (bfd *)bfd_openw(command_line.out_implib_filename,(link_info.output_bfd)->xvec->name);\n      pcVar13 = command_line.out_implib_filename;\n      if (link_info.out_implib_bfd == (bfd *)0x0) {\n        pcVar17 = (char *)dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);\n        einfo(pcVar17,pcVar13);\n      }\n    }\n    pbVar19 = link_info.output_bfd;\n    pbVar21 = link_info.input_bfds;\n    if (emit_note_gnu_build_id != (char *)0x0) {\n      for (; pbVar21 != (bfd *)0x0; pbVar21 = (pbVar21->link).next) {\n        if (((pbVar21->xvec->flavour == bfd_target_elf_flavour) && (pbVar21->section_count != 0)) &&\n           ((*(byte *)((int)pbVar21->usrdata + 0x24) & 0x10) == 0)) {\n          bVar7 = compute_build_id_size(emit_note_gnu_build_id);\n          if ((bVar7 == 0) || (bVar7 + 0x10 == 0)) {\n            pcVar13 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            paVar8 = (asection *)bfd_make_section_with_flags(pbVar21,".note.gnu.build-id",0x10402b);\n            if (paVar8 != (asection *)0x0) {\n              paVar8->alignment_power = 2;\n              pbVar19 = link_info.output_bfd;\n              poVar1 = (((link_info.output_bfd)->tdata).elf_obj_data)->o;\n              (poVar1->build_id).after_write_object_contents = write_build_id;\n              pcVar13 = emit_note_gnu_build_id;\n              (poVar1->build_id).sec = paVar8;\n              (poVar1->build_id).style = pcVar13;\n              *(undefined4 *)((int)paVar8->used_by_bfd + 4) = 7;\n              paVar8->size = bVar7 + 0x10;\n              goto LAB_00039178;\n            }\n            pcVar13 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          pcVar13 = (char *)dcgettext(0,pcVar13,5);\n          einfo(pcVar13);\n          break;\n        }\n      }\n      free(emit_note_gnu_build_id);\n      emit_note_gnu_build_id = (char *)0x0;\n      pbVar19 = link_info.output_bfd;\n    }\nLAB_00039178:\n    (**(code **)((int)pbVar19->xvec->backend_data + 0x1bc))(&link_info);\n    if ((link_info._0_1_ & 3) == 2) {\n      if ((byte)link_info._5_1_ >> 7 == (~link_info._6_1_ & 1)) {\n        bfd_make_section_with_flags\n                  (link_info.input_bfds,".note.GNU-stack",(byte)link_info._5_1_ >> 3 & 0x10 | 8);\n      }\n    }\n    else {\n      if (((link_info._4_1_ & 0x20) == 0) && (link_info.input_bfds != (bfd *)0x0)) {\n        local_50 = 0;\n        bVar3 = false;\n        local_4c = (bfd *)0x0;\n        pbVar21 = link_info.input_bfds;\n        do {\n          while ((*(byte *)((int)pbVar21->usrdata + 0x24) & 0x10) != 0) {\nLAB_000395d0:\n            pbVar21 = (pbVar21->link).next;\n            if (pbVar21 == (bfd *)0x0) goto LAB_000396cd;\n          }\n          pbVar20 = pbVar21->sections;\n          if (pbVar20 == (bfd_section *)0x0) {\nLAB_00039697:\n            if (local_50 != 2) goto LAB_000395d0;\n          }\n          else {\n            local_60 = (dt_needed *)0x0;\n            do {\n              bVar26 = pbVar20->output_section <\n                       (bfd_section *)(PTR__bfd_std_section_00090fc4 + 0x150);\n              bVar27 = pbVar20->output_section ==\n                       (bfd_section *)(PTR__bfd_std_section_00090fc4 + 0x150);\n              pdVar6 = local_60;\n              if (!bVar27) {\n                iVar11 = 0xf;\n                pbVar23 = (byte *)pbVar20->name;\n                pbVar24 = (byte *)".eh_frame_entry";\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar26 = *pbVar23 < *pbVar24;\n                  bVar27 = *pbVar23 == *pbVar24;\n                  pbVar23 = pbVar23 + (uint)bVar28 * -2 + 1;\n                  pbVar24 = pbVar24 + (uint)bVar28 * -2 + 1;\n                } while (bVar27);\n                bVar25 = false;\n                bVar26 = (!bVar26 && !bVar27) == bVar26;\n                if (bVar26) {\n                  local_60 = (dt_needed *)0x2;\n                  goto LAB_0003966f;\n                }\n                iVar11 = 10;\n                pbVar23 = (byte *)pbVar20->name;\n                pbVar24 = (byte *)".eh_frame";\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar25 = *pbVar23 < *pbVar24;\n                  bVar26 = *pbVar23 == *pbVar24;\n                  pbVar23 = pbVar23 + (uint)bVar28 * -2 + 1;\n                  pbVar24 = pbVar24 + (uint)bVar28 * -2 + 1;\n                } while (bVar26);\n                if (((!bVar25 && !bVar26) == bVar25) && (pdVar6 = (dt_needed *)1, pbVar20->size < 9)\n                   ) {\n                  pdVar6 = local_60;\n                }\n              }\n              local_60 = pdVar6;\n              pbVar20 = pbVar20->next;\n            } while (pbVar20 != (bfd_section *)0x0);\n            if (local_60 == (dt_needed *)0x0) goto LAB_00039697;\nLAB_0003966f:\n            if ((local_50 != 0) && ((dt_needed *)local_50 != local_60)) {\n              if (local_60 != (dt_needed *)0x1) {\n                pbVar21 = local_4c;\n              }\n              pcVar13 = (char *)dcgettext(0,\n                                          "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                          ,5);\n              einfo(pcVar13,pbVar21);\n              break;\n            }\n            local_50 = (int)local_60;\n            if (local_4c != (bfd *)0x0) goto LAB_00039697;\n            if (local_60 != (dt_needed *)0x2) {\n              if ((link_info._2_2_ & 0xc000) == 0) {\n                local_50 = 1;\n              }\n              else {\n                local_50 = 1;\n                bVar3 = true;\n                if (pbVar21->xvec->flavour == bfd_target_elf_flavour) {\n                  local_4c = pbVar21;\n                }\n              }\n              goto LAB_000395d0;\n            }\n            bVar3 = true;\n            if (pbVar21->xvec->flavour == bfd_target_elf_flavour) {\n              local_4c = pbVar21;\n            }\n          }\n          pbVar21 = (pbVar21->link).next;\n          local_50 = 2;\n          link_info._2_2_ = link_info._2_2_ & 0x3fff | 0x8000;\n        } while (pbVar21 != (bfd *)0x0);\nLAB_000396cd:\n        if ((local_4c == (bfd *)0x0) ||\n           (bVar18 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)((int)local_4c->xvec->backend_data + 0x20) | 8),\n           bVar18 == bfd_link_generic_hash_table)) {\n          if (bVar3) {\n            pcVar13 = (char *)dcgettext(0,\n                                        "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                                        ,5);\n            einfo(pcVar13);\n          }\n        }\n        else {\n          *(undefined4 *)(bVar18 + 0x40) = 2;\n          pbVar5[3].type = bVar18;\n        }\n      }\n      pbVar9 = (bfd_link_needed_list *)bfd_elf_get_needed_list(link_info.output_bfd,&link_info);\n      for (pbVar2 = pbVar9; pbVar2 != (bfd_link_needed_list *)0x0; pbVar2 = pbVar2->next) {\n        pbVar4 = pbVar9;\n        if ((pbVar2->by == (bfd *)0x0) ||\n           ((uVar10 = bfd_elf_get_dyn_lib_class(pbVar2->by), (uVar10 & 1) == 0 &&\n            (((pbVar2->by == (bfd *)0x0 || ((link_info._2_2_ & 0x180) != 0x80)) ||\n             (uVar10 = bfd_elf_get_dyn_lib_class(pbVar2->by), (uVar10 & 4) == 0)))))) {\n          for (; pbVar4 != pbVar2; pbVar4 = pbVar4->next) {\n            if (((pbVar4->by == (bfd *)0x0) ||\n                (uVar10 = bfd_elf_get_dyn_lib_class(pbVar4->by), (uVar10 & 1) == 0)) &&\n               (iVar11 = strcmp(pbVar4->name,pbVar2->name), iVar11 == 0)) {\n              if (pbVar2 != pbVar4) goto LAB_00039300;\n              break;\n            }\n          }\n          real_func = gldhppalinux_check_needed;\n          global_found = (lang_input_statement_type *)0x0;\n          global_needed = pbVar2;\n          lang_for_each_input_file(hppa_for_each_input_file_wrapper);\n          if ((global_found == (lang_input_statement_type *)0x0) ||\n             (uVar10 = bfd_elf_get_dyn_lib_class(global_found->the_bfd), (uVar10 & 1) != 0)) {\n            pbVar21 = pbVar2->by;\n            pcVar13 = pbVar2->name;\n            n.by = pbVar21;\n            n.name = pcVar13;\n            nn.by = pbVar21;\n            if (verbose != 0) {\n              pcVar17 = (char *)dcgettext(0,"%s needed by %pB\n",5);\n              info_msg(pcVar17,pcVar13,pbVar21);\n            }\n            if (global_found != (lang_input_statement_type *)0x0) {\n              nn.name = global_found->filename;\n              bVar12 = gldhppalinux_try_needed(&nn,(int)nn.name,(dt_needed *)0x1);\n              if (bVar12 != 0) goto LAB_00039300;\n            }\n            local_60 = (dt_needed *)0x0;\n            while (bVar12 = gldhppalinux_search_needed(command_line.rpath_link,&n,(int)local_60),\n                  bVar12 == 0) {\n              if (command_line.rpath != (char *)0x0) {\n                pcVar13 = gldhppalinux_add_sysroot(command_line.rpath);\n                bVar12 = gldhppalinux_search_needed(pcVar13,&n,(int)local_60);\n                free(pcVar13);\n                if (bVar12 != 0) break;\n              }\n              piVar14 = (int *)bfd_elf_get_runpath_list(link_info.output_bfd,&link_info);\n              if (piVar14 != (int *)0x0) {\n                do {\n                  bVar26 = true;\n                  pcVar13 = gldhppalinux_add_sysroot((char *)piVar14[2]);\n                  bVar3 = false;\n                  if ((bfd *)piVar14[1] == pbVar2->by) {\n                    bVar12 = gldhppalinux_search_needed(pcVar13,&n,(int)local_60);\n                    bVar26 = bVar12 == 0;\n                    bVar3 = !bVar26;\n                  }\n                  free(pcVar13);\n                  piVar14 = (int *)*piVar14;\n                } while ((piVar14 != (int *)0x0) && (bVar26));\n                if (bVar3) break;\n              }\n              pcVar13 = ld_so_conf_13908;\n              if (initialized_13907 == 0) {\n                needed.by = (bfd *)0x0;\n                needed.name = (char *)0x0;\n                pcVar13 = (char *)concat(ld_sysroot,"/usr/etc/ld.so.conf",0);\n                bVar12 = gldhppalinux_parse_ld_so_conf((gldhppalinux_ld_so_conf *)&needed,pcVar13);\n                if (bVar12 == 0) {\n                  free(pcVar13);\n                  pcVar13 = (char *)concat(ld_sysroot,"/etc/ld.so.conf",0);\n                  gldhppalinux_parse_ld_so_conf((gldhppalinux_ld_so_conf *)&needed,pcVar13);\n                }\n                free(pcVar13);\n                pcVar13 = ld_so_conf_13908;\n                if (needed.by != (bfd *)0x0) {\n                  pcVar13 = gldhppalinux_add_sysroot((char *)needed.by);\n                  ld_so_conf_13908 = pcVar13;\n                  free(needed.by);\n                }\n                initialized_13907 = 1;\n              }\n              pcVar17 = pbVar2->name;\n              if (pcVar13 != (char *)0x0) {\n                needed.by = pbVar2->by;\n                needed.name = pcVar17;\n                bVar12 = gldhppalinux_search_needed(pcVar13,&needed,(int)local_60);\n                if (bVar12 != 0) break;\n                pcVar17 = pbVar2->name;\n              }\n              sVar15 = strlen(pcVar17);\n              if (search_head != (search_dirs_type *)0x0) {\n                psVar22 = search_head;\n                do {\n                  if (psVar22->cmdline == 0) {\n                    sVar16 = strlen(psVar22->name);\n                    pcVar13 = (char *)xmalloc(sVar16 + sVar15 + 2);\n                    sprintf(pcVar13,"%s/%s",psVar22->name,pbVar2->name);\n                    nn.name = pcVar13;\n                    bVar12 = gldhppalinux_try_needed(&nn,(int)pcVar13,local_60);\n                    if (bVar12 != 0) goto LAB_00039300;\n                    free(pcVar13);\n                  }\n                  psVar22 = psVar22->next;\n                } while (psVar22 != (search_dirs *)0x0);\n              }\n              if (local_60 == (dt_needed *)0x1) {\n                pbVar21 = pbVar2->by;\n                pcVar13 = pbVar2->name;\n                pcVar17 = (char *)dcgettext(0,\n                                            "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                            ,5);\n                einfo(pcVar17,pcVar13,pbVar21);\n                break;\n              }\n              local_60 = (dt_needed *)0x1;\n            }\n          }\n        }\nLAB_00039300:\n      }\n      if (((link_info._3_1_ & 0xc0) == 0x80) &&\n         (iVar11 = bfd_elf_parse_eh_frame_entries(0,&link_info), iVar11 == 0)) {\n        pcVar13 = (char *)dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);\n        einfo(pcVar13);\n      }\n    }\n  }\n  return;\n}\n\n" comment comment (function_definition "void gldhppalinux_after_open(void)\n\n{\n  output_elf_obj_tdata *poVar1;\n  bfd_link_needed_list *pbVar2;\n  bool bVar3;\n  bfd_link_needed_list *pbVar4;\n  bfd_link_hash_table *pbVar5;\n  dt_needed *pdVar6;\n  bfd_size_type bVar7;\n  asection *paVar8;\n  bfd_link_needed_list *pbVar9;\n  uint uVar10;\n  int iVar11;\n  bfd_boolean bVar12;\n  char *pcVar13;\n  int *piVar14;\n  size_t sVar15;\n  size_t sVar16;\n  char *pcVar17;\n  bfd_link_hash_table_type bVar18;\n  bfd *pbVar19;\n  bfd_section *pbVar20;\n  bfd *pbVar21;\n  search_dirs *psVar22;\n  byte *pbVar23;\n  byte *pbVar24;\n  bool bVar25;\n  bool bVar26;\n  bool bVar27;\n  byte bVar28;\n  dt_needed *local_60;\n  int local_50;\n  bfd *local_4c;\n  dt_needed n;\n  dt_needed nn;\n  dt_needed needed;\n  \n  bVar28 = 0;\n  after_open_default();\n  pbVar5 = link_info.hash;\n  if ((link_info.hash)->type == bfd_link_elf_hash_table) {\n    if (command_line.out_implib_filename != (char *)0x0) {\n      unlink_if_ordinary(command_line.out_implib_filename);\n      link_info.out_implib_bfd =\n           (bfd *)bfd_openw(command_line.out_implib_filename,(link_info.output_bfd)->xvec->name);\n      pcVar13 = command_line.out_implib_filename;\n      if (link_info.out_implib_bfd == (bfd *)0x0) {\n        pcVar17 = (char *)dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);\n        einfo(pcVar17,pcVar13);\n      }\n    }\n    pbVar19 = link_info.output_bfd;\n    pbVar21 = link_info.input_bfds;\n    if (emit_note_gnu_build_id != (char *)0x0) {\n      for (; pbVar21 != (bfd *)0x0; pbVar21 = (pbVar21->link).next) {\n        if (((pbVar21->xvec->flavour == bfd_target_elf_flavour) && (pbVar21->section_count != 0)) &&\n           ((*(byte *)((int)pbVar21->usrdata + 0x24) & 0x10) == 0)) {\n          bVar7 = compute_build_id_size(emit_note_gnu_build_id);\n          if ((bVar7 == 0) || (bVar7 + 0x10 == 0)) {\n            pcVar13 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            paVar8 = (asection *)bfd_make_section_with_flags(pbVar21,".note.gnu.build-id",0x10402b);\n            if (paVar8 != (asection *)0x0) {\n              paVar8->alignment_power = 2;\n              pbVar19 = link_info.output_bfd;\n              poVar1 = (((link_info.output_bfd)->tdata).elf_obj_data)->o;\n              (poVar1->build_id).after_write_object_contents = write_build_id;\n              pcVar13 = emit_note_gnu_build_id;\n              (poVar1->build_id).sec = paVar8;\n              (poVar1->build_id).style = pcVar13;\n              *(undefined4 *)((int)paVar8->used_by_bfd + 4) = 7;\n              paVar8->size = bVar7 + 0x10;\n              goto LAB_00039178;\n            }\n            pcVar13 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          pcVar13 = (char *)dcgettext(0,pcVar13,5);\n          einfo(pcVar13);\n          break;\n        }\n      }\n      free(emit_note_gnu_build_id);\n      emit_note_gnu_build_id = (char *)0x0;\n      pbVar19 = link_info.output_bfd;\n    }\nLAB_00039178:\n    (**(code **)((int)pbVar19->xvec->backend_data + 0x1bc))(&link_info);\n    if ((link_info._0_1_ & 3) == 2) {\n      if ((byte)link_info._5_1_ >> 7 == (~link_info._6_1_ & 1)) {\n        bfd_make_section_with_flags\n                  (link_info.input_bfds,".note.GNU-stack",(byte)link_info._5_1_ >> 3 & 0x10 | 8);\n      }\n    }\n    else {\n      if (((link_info._4_1_ & 0x20) == 0) && (link_info.input_bfds != (bfd *)0x0)) {\n        local_50 = 0;\n        bVar3 = false;\n        local_4c = (bfd *)0x0;\n        pbVar21 = link_info.input_bfds;\n        do {\n          while ((*(byte *)((int)pbVar21->usrdata + 0x24) & 0x10) != 0) {\nLAB_000395d0:\n            pbVar21 = (pbVar21->link).next;\n            if (pbVar21 == (bfd *)0x0) goto LAB_000396cd;\n          }\n          pbVar20 = pbVar21->sections;\n          if (pbVar20 == (bfd_section *)0x0) {\nLAB_00039697:\n            if (local_50 != 2) goto LAB_000395d0;\n          }\n          else {\n            local_60 = (dt_needed *)0x0;\n            do {\n              bVar26 = pbVar20->output_section <\n                       (bfd_section *)(PTR__bfd_std_section_00090fc4 + 0x150);\n              bVar27 = pbVar20->output_section ==\n                       (bfd_section *)(PTR__bfd_std_section_00090fc4 + 0x150);\n              pdVar6 = local_60;\n              if (!bVar27) {\n                iVar11 = 0xf;\n                pbVar23 = (byte *)pbVar20->name;\n                pbVar24 = (byte *)".eh_frame_entry";\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar26 = *pbVar23 < *pbVar24;\n                  bVar27 = *pbVar23 == *pbVar24;\n                  pbVar23 = pbVar23 + (uint)bVar28 * -2 + 1;\n                  pbVar24 = pbVar24 + (uint)bVar28 * -2 + 1;\n                } while (bVar27);\n                bVar25 = false;\n                bVar26 = (!bVar26 && !bVar27) == bVar26;\n                if (bVar26) {\n                  local_60 = (dt_needed *)0x2;\n                  goto LAB_0003966f;\n                }\n                iVar11 = 10;\n                pbVar23 = (byte *)pbVar20->name;\n                pbVar24 = (byte *)".eh_frame";\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar25 = *pbVar23 < *pbVar24;\n                  bVar26 = *pbVar23 == *pbVar24;\n                  pbVar23 = pbVar23 + (uint)bVar28 * -2 + 1;\n                  pbVar24 = pbVar24 + (uint)bVar28 * -2 + 1;\n                } while (bVar26);\n                if (((!bVar25 && !bVar26) == bVar25) && (pdVar6 = (dt_needed *)1, pbVar20->size < 9)\n                   ) {\n                  pdVar6 = local_60;\n                }\n              }\n              local_60 = pdVar6;\n              pbVar20 = pbVar20->next;\n            } while (pbVar20 != (bfd_section *)0x0);\n            if (local_60 == (dt_needed *)0x0) goto LAB_00039697;\nLAB_0003966f:\n            if ((local_50 != 0) && ((dt_needed *)local_50 != local_60)) {\n              if (local_60 != (dt_needed *)0x1) {\n                pbVar21 = local_4c;\n              }\n              pcVar13 = (char *)dcgettext(0,\n                                          "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                          ,5);\n              einfo(pcVar13,pbVar21);\n              break;\n            }\n            local_50 = (int)local_60;\n            if (local_4c != (bfd *)0x0) goto LAB_00039697;\n            if (local_60 != (dt_needed *)0x2) {\n              if ((link_info._2_2_ & 0xc000) == 0) {\n                local_50 = 1;\n              }\n              else {\n                local_50 = 1;\n                bVar3 = true;\n                if (pbVar21->xvec->flavour == bfd_target_elf_flavour) {\n                  local_4c = pbVar21;\n                }\n              }\n              goto LAB_000395d0;\n            }\n            bVar3 = true;\n            if (pbVar21->xvec->flavour == bfd_target_elf_flavour) {\n              local_4c = pbVar21;\n            }\n          }\n          pbVar21 = (pbVar21->link).next;\n          local_50 = 2;\n          link_info._2_2_ = link_info._2_2_ & 0x3fff | 0x8000;\n        } while (pbVar21 != (bfd *)0x0);\nLAB_000396cd:\n        if ((local_4c == (bfd *)0x0) ||\n           (bVar18 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)((int)local_4c->xvec->backend_data + 0x20) | 8),\n           bVar18 == bfd_link_generic_hash_table)) {\n          if (bVar3) {\n            pcVar13 = (char *)dcgettext(0,\n                                        "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                                        ,5);\n            einfo(pcVar13);\n          }\n        }\n        else {\n          *(undefined4 *)(bVar18 + 0x40) = 2;\n          pbVar5[3].type = bVar18;\n        }\n      }\n      pbVar9 = (bfd_link_needed_list *)bfd_elf_get_needed_list(link_info.output_bfd,&link_info);\n      for (pbVar2 = pbVar9; pbVar2 != (bfd_link_needed_list *)0x0; pbVar2 = pbVar2->next) {\n        pbVar4 = pbVar9;\n        if ((pbVar2->by == (bfd *)0x0) ||\n           ((uVar10 = bfd_elf_get_dyn_lib_class(pbVar2->by), (uVar10 & 1) == 0 &&\n            (((pbVar2->by == (bfd *)0x0 || ((link_info._2_2_ & 0x180) != 0x80)) ||\n             (uVar10 = bfd_elf_get_dyn_lib_class(pbVar2->by), (uVar10 & 4) == 0)))))) {\n          for (; pbVar4 != pbVar2; pbVar4 = pbVar4->next) {\n            if (((pbVar4->by == (bfd *)0x0) ||\n                (uVar10 = bfd_elf_get_dyn_lib_class(pbVar4->by), (uVar10 & 1) == 0)) &&\n               (iVar11 = strcmp(pbVar4->name,pbVar2->name), iVar11 == 0)) {\n              if (pbVar2 != pbVar4) goto LAB_00039300;\n              break;\n            }\n          }\n          real_func = gldhppalinux_check_needed;\n          global_found = (lang_input_statement_type *)0x0;\n          global_needed = pbVar2;\n          lang_for_each_input_file(hppa_for_each_input_file_wrapper);\n          if ((global_found == (lang_input_statement_type *)0x0) ||\n             (uVar10 = bfd_elf_get_dyn_lib_class(global_found->the_bfd), (uVar10 & 1) != 0)) {\n            pbVar21 = pbVar2->by;\n            pcVar13 = pbVar2->name;\n            n.by = pbVar21;\n            n.name = pcVar13;\n            nn.by = pbVar21;\n            if (verbose != 0) {\n              pcVar17 = (char *)dcgettext(0,"%s needed by %pB\n",5);\n              info_msg(pcVar17,pcVar13,pbVar21);\n            }\n            if (global_found != (lang_input_statement_type *)0x0) {\n              nn.name = global_found->filename;\n              bVar12 = gldhppalinux_try_needed(&nn,(int)nn.name,(dt_needed *)0x1);\n              if (bVar12 != 0) goto LAB_00039300;\n            }\n            local_60 = (dt_needed *)0x0;\n            while (bVar12 = gldhppalinux_search_needed(command_line.rpath_link,&n,(int)local_60),\n                  bVar12 == 0) {\n              if (command_line.rpath != (char *)0x0) {\n                pcVar13 = gldhppalinux_add_sysroot(command_line.rpath);\n                bVar12 = gldhppalinux_search_needed(pcVar13,&n,(int)local_60);\n                free(pcVar13);\n                if (bVar12 != 0) break;\n              }\n              piVar14 = (int *)bfd_elf_get_runpath_list(link_info.output_bfd,&link_info);\n              if (piVar14 != (int *)0x0) {\n                do {\n                  bVar26 = true;\n                  pcVar13 = gldhppalinux_add_sysroot((char *)piVar14[2]);\n                  bVar3 = false;\n                  if ((bfd *)piVar14[1] == pbVar2->by) {\n                    bVar12 = gldhppalinux_search_needed(pcVar13,&n,(int)local_60);\n                    bVar26 = bVar12 == 0;\n                    bVar3 = !bVar26;\n                  }\n                  free(pcVar13);\n                  piVar14 = (int *)*piVar14;\n                } while ((piVar14 != (int *)0x0) && (bVar26));\n                if (bVar3) break;\n              }\n              pcVar13 = ld_so_conf_13908;\n              if (initialized_13907 == 0) {\n                needed.by = (bfd *)0x0;\n                needed.name = (char *)0x0;\n                pcVar13 = (char *)concat(ld_sysroot,"/usr/etc/ld.so.conf",0);\n                bVar12 = gldhppalinux_parse_ld_so_conf((gldhppalinux_ld_so_conf *)&needed,pcVar13);\n                if (bVar12 == 0) {\n                  free(pcVar13);\n                  pcVar13 = (char *)concat(ld_sysroot,"/etc/ld.so.conf",0);\n                  gldhppalinux_parse_ld_so_conf((gldhppalinux_ld_so_conf *)&needed,pcVar13);\n                }\n                free(pcVar13);\n                pcVar13 = ld_so_conf_13908;\n                if (needed.by != (bfd *)0x0) {\n                  pcVar13 = gldhppalinux_add_sysroot((char *)needed.by);\n                  ld_so_conf_13908 = pcVar13;\n                  free(needed.by);\n                }\n                initialized_13907 = 1;\n              }\n              pcVar17 = pbVar2->name;\n              if (pcVar13 != (char *)0x0) {\n                needed.by = pbVar2->by;\n                needed.name = pcVar17;\n                bVar12 = gldhppalinux_search_needed(pcVar13,&needed,(int)local_60);\n                if (bVar12 != 0) break;\n                pcVar17 = pbVar2->name;\n              }\n              sVar15 = strlen(pcVar17);\n              if (search_head != (search_dirs_type *)0x0) {\n                psVar22 = search_head;\n                do {\n                  if (psVar22->cmdline == 0) {\n                    sVar16 = strlen(psVar22->name);\n                    pcVar13 = (char *)xmalloc(sVar16 + sVar15 + 2);\n                    sprintf(pcVar13,"%s/%s",psVar22->name,pbVar2->name);\n                    nn.name = pcVar13;\n                    bVar12 = gldhppalinux_try_needed(&nn,(int)pcVar13,local_60);\n                    if (bVar12 != 0) goto LAB_00039300;\n                    free(pcVar13);\n                  }\n                  psVar22 = psVar22->next;\n                } while (psVar22 != (search_dirs *)0x0);\n              }\n              if (local_60 == (dt_needed *)0x1) {\n                pbVar21 = pbVar2->by;\n                pcVar13 = pbVar2->name;\n                pcVar17 = (char *)dcgettext(0,\n                                            "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                            ,5);\n                einfo(pcVar17,pcVar13,pbVar21);\n                break;\n              }\n              local_60 = (dt_needed *)0x1;\n            }\n          }\n        }\nLAB_00039300:\n      }\n      if (((link_info._3_1_ & 0xc0) == 0x80) &&\n         (iVar11 = bfd_elf_parse_eh_frame_entries(0,&link_info), iVar11 == 0)) {\n        pcVar13 = (char *)dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);\n        einfo(pcVar13);\n      }\n    }\n  }\n  return;\n}" primitive_type (function_declarator "gldhppalinux_after_open(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  output_elf_obj_tdata *poVar1;\n  bfd_link_needed_list *pbVar2;\n  bool bVar3;\n  bfd_link_needed_list *pbVar4;\n  bfd_link_hash_table *pbVar5;\n  dt_needed *pdVar6;\n  bfd_size_type bVar7;\n  asection *paVar8;\n  bfd_link_needed_list *pbVar9;\n  uint uVar10;\n  int iVar11;\n  bfd_boolean bVar12;\n  char *pcVar13;\n  int *piVar14;\n  size_t sVar15;\n  size_t sVar16;\n  char *pcVar17;\n  bfd_link_hash_table_type bVar18;\n  bfd *pbVar19;\n  bfd_section *pbVar20;\n  bfd *pbVar21;\n  search_dirs *psVar22;\n  byte *pbVar23;\n  byte *pbVar24;\n  bool bVar25;\n  bool bVar26;\n  bool bVar27;\n  byte bVar28;\n  dt_needed *local_60;\n  int local_50;\n  bfd *local_4c;\n  dt_needed n;\n  dt_needed nn;\n  dt_needed needed;\n  \n  bVar28 = 0;\n  after_open_default();\n  pbVar5 = link_info.hash;\n  if ((link_info.hash)->type == bfd_link_elf_hash_table) {\n    if (command_line.out_implib_filename != (char *)0x0) {\n      unlink_if_ordinary(command_line.out_implib_filename);\n      link_info.out_implib_bfd =\n           (bfd *)bfd_openw(command_line.out_implib_filename,(link_info.output_bfd)->xvec->name);\n      pcVar13 = command_line.out_implib_filename;\n      if (link_info.out_implib_bfd == (bfd *)0x0) {\n        pcVar17 = (char *)dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);\n        einfo(pcVar17,pcVar13);\n      }\n    }\n    pbVar19 = link_info.output_bfd;\n    pbVar21 = link_info.input_bfds;\n    if (emit_note_gnu_build_id != (char *)0x0) {\n      for (; pbVar21 != (bfd *)0x0; pbVar21 = (pbVar21->link).next) {\n        if (((pbVar21->xvec->flavour == bfd_target_elf_flavour) && (pbVar21->section_count != 0)) &&\n           ((*(byte *)((int)pbVar21->usrdata + 0x24) & 0x10) == 0)) {\n          bVar7 = compute_build_id_size(emit_note_gnu_build_id);\n          if ((bVar7 == 0) || (bVar7 + 0x10 == 0)) {\n            pcVar13 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            paVar8 = (asection *)bfd_make_section_with_flags(pbVar21,".note.gnu.build-id",0x10402b);\n            if (paVar8 != (asection *)0x0) {\n              paVar8->alignment_power = 2;\n              pbVar19 = link_info.output_bfd;\n              poVar1 = (((link_info.output_bfd)->tdata).elf_obj_data)->o;\n              (poVar1->build_id).after_write_object_contents = write_build_id;\n              pcVar13 = emit_note_gnu_build_id;\n              (poVar1->build_id).sec = paVar8;\n              (poVar1->build_id).style = pcVar13;\n              *(undefined4 *)((int)paVar8->used_by_bfd + 4) = 7;\n              paVar8->size = bVar7 + 0x10;\n              goto LAB_00039178;\n            }\n            pcVar13 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          pcVar13 = (char *)dcgettext(0,pcVar13,5);\n          einfo(pcVar13);\n          break;\n        }\n      }\n      free(emit_note_gnu_build_id);\n      emit_note_gnu_build_id = (char *)0x0;\n      pbVar19 = link_info.output_bfd;\n    }\nLAB_00039178:\n    (**(code **)((int)pbVar19->xvec->backend_data + 0x1bc))(&link_info);\n    if ((link_info._0_1_ & 3) == 2) {\n      if ((byte)link_info._5_1_ >> 7 == (~link_info._6_1_ & 1)) {\n        bfd_make_section_with_flags\n                  (link_info.input_bfds,".note.GNU-stack",(byte)link_info._5_1_ >> 3 & 0x10 | 8);\n      }\n    }\n    else {\n      if (((link_info._4_1_ & 0x20) == 0) && (link_info.input_bfds != (bfd *)0x0)) {\n        local_50 = 0;\n        bVar3 = false;\n        local_4c = (bfd *)0x0;\n        pbVar21 = link_info.input_bfds;\n        do {\n          while ((*(byte *)((int)pbVar21->usrdata + 0x24) & 0x10) != 0) {\nLAB_000395d0:\n            pbVar21 = (pbVar21->link).next;\n            if (pbVar21 == (bfd *)0x0) goto LAB_000396cd;\n          }\n          pbVar20 = pbVar21->sections;\n          if (pbVar20 == (bfd_section *)0x0) {\nLAB_00039697:\n            if (local_50 != 2) goto LAB_000395d0;\n          }\n          else {\n            local_60 = (dt_needed *)0x0;\n            do {\n              bVar26 = pbVar20->output_section <\n                       (bfd_section *)(PTR__bfd_std_section_00090fc4 + 0x150);\n              bVar27 = pbVar20->output_section ==\n                       (bfd_section *)(PTR__bfd_std_section_00090fc4 + 0x150);\n              pdVar6 = local_60;\n              if (!bVar27) {\n                iVar11 = 0xf;\n                pbVar23 = (byte *)pbVar20->name;\n                pbVar24 = (byte *)".eh_frame_entry";\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar26 = *pbVar23 < *pbVar24;\n                  bVar27 = *pbVar23 == *pbVar24;\n                  pbVar23 = pbVar23 + (uint)bVar28 * -2 + 1;\n                  pbVar24 = pbVar24 + (uint)bVar28 * -2 + 1;\n                } while (bVar27);\n                bVar25 = false;\n                bVar26 = (!bVar26 && !bVar27) == bVar26;\n                if (bVar26) {\n                  local_60 = (dt_needed *)0x2;\n                  goto LAB_0003966f;\n                }\n                iVar11 = 10;\n                pbVar23 = (byte *)pbVar20->name;\n                pbVar24 = (byte *)".eh_frame";\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar25 = *pbVar23 < *pbVar24;\n                  bVar26 = *pbVar23 == *pbVar24;\n                  pbVar23 = pbVar23 + (uint)bVar28 * -2 + 1;\n                  pbVar24 = pbVar24 + (uint)bVar28 * -2 + 1;\n                } while (bVar26);\n                if (((!bVar25 && !bVar26) == bVar25) && (pdVar6 = (dt_needed *)1, pbVar20->size < 9)\n                   ) {\n                  pdVar6 = local_60;\n                }\n              }\n              local_60 = pdVar6;\n              pbVar20 = pbVar20->next;\n            } while (pbVar20 != (bfd_section *)0x0);\n            if (local_60 == (dt_needed *)0x0) goto LAB_00039697;\nLAB_0003966f:\n            if ((local_50 != 0) && ((dt_needed *)local_50 != local_60)) {\n              if (local_60 != (dt_needed *)0x1) {\n                pbVar21 = local_4c;\n              }\n              pcVar13 = (char *)dcgettext(0,\n                                          "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                          ,5);\n              einfo(pcVar13,pbVar21);\n              break;\n            }\n            local_50 = (int)local_60;\n            if (local_4c != (bfd *)0x0) goto LAB_00039697;\n            if (local_60 != (dt_needed *)0x2) {\n              if ((link_info._2_2_ & 0xc000) == 0) {\n                local_50 = 1;\n              }\n              else {\n                local_50 = 1;\n                bVar3 = true;\n                if (pbVar21->xvec->flavour == bfd_target_elf_flavour) {\n                  local_4c = pbVar21;\n                }\n              }\n              goto LAB_000395d0;\n            }\n            bVar3 = true;\n            if (pbVar21->xvec->flavour == bfd_target_elf_flavour) {\n              local_4c = pbVar21;\n            }\n          }\n          pbVar21 = (pbVar21->link).next;\n          local_50 = 2;\n          link_info._2_2_ = link_info._2_2_ & 0x3fff | 0x8000;\n        } while (pbVar21 != (bfd *)0x0);\nLAB_000396cd:\n        if ((local_4c == (bfd *)0x0) ||\n           (bVar18 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)((int)local_4c->xvec->backend_data + 0x20) | 8),\n           bVar18 == bfd_link_generic_hash_table)) {\n          if (bVar3) {\n            pcVar13 = (char *)dcgettext(0,\n                                        "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                                        ,5);\n            einfo(pcVar13);\n          }\n        }\n        else {\n          *(undefined4 *)(bVar18 + 0x40) = 2;\n          pbVar5[3].type = bVar18;\n        }\n      }\n      pbVar9 = (bfd_link_needed_list *)bfd_elf_get_needed_list(link_info.output_bfd,&link_info);\n      for (pbVar2 = pbVar9; pbVar2 != (bfd_link_needed_list *)0x0; pbVar2 = pbVar2->next) {\n        pbVar4 = pbVar9;\n        if ((pbVar2->by == (bfd *)0x0) ||\n           ((uVar10 = bfd_elf_get_dyn_lib_class(pbVar2->by), (uVar10 & 1) == 0 &&\n            (((pbVar2->by == (bfd *)0x0 || ((link_info._2_2_ & 0x180) != 0x80)) ||\n             (uVar10 = bfd_elf_get_dyn_lib_class(pbVar2->by), (uVar10 & 4) == 0)))))) {\n          for (; pbVar4 != pbVar2; pbVar4 = pbVar4->next) {\n            if (((pbVar4->by == (bfd *)0x0) ||\n                (uVar10 = bfd_elf_get_dyn_lib_class(pbVar4->by), (uVar10 & 1) == 0)) &&\n               (iVar11 = strcmp(pbVar4->name,pbVar2->name), iVar11 == 0)) {\n              if (pbVar2 != pbVar4) goto LAB_00039300;\n              break;\n            }\n          }\n          real_func = gldhppalinux_check_needed;\n          global_found = (lang_input_statement_type *)0x0;\n          global_needed = pbVar2;\n          lang_for_each_input_file(hppa_for_each_input_file_wrapper);\n          if ((global_found == (lang_input_statement_type *)0x0) ||\n             (uVar10 = bfd_elf_get_dyn_lib_class(global_found->the_bfd), (uVar10 & 1) != 0)) {\n            pbVar21 = pbVar2->by;\n            pcVar13 = pbVar2->name;\n            n.by = pbVar21;\n            n.name = pcVar13;\n            nn.by = pbVar21;\n            if (verbose != 0) {\n              pcVar17 = (char *)dcgettext(0,"%s needed by %pB\n",5);\n              info_msg(pcVar17,pcVar13,pbVar21);\n            }\n            if (global_found != (lang_input_statement_type *)0x0) {\n              nn.name = global_found->filename;\n              bVar12 = gldhppalinux_try_needed(&nn,(int)nn.name,(dt_needed *)0x1);\n              if (bVar12 != 0) goto LAB_00039300;\n            }\n            local_60 = (dt_needed *)0x0;\n            while (bVar12 = gldhppalinux_search_needed(command_line.rpath_link,&n,(int)local_60),\n                  bVar12 == 0) {\n              if (command_line.rpath != (char *)0x0) {\n                pcVar13 = gldhppalinux_add_sysroot(command_line.rpath);\n                bVar12 = gldhppalinux_search_needed(pcVar13,&n,(int)local_60);\n                free(pcVar13);\n                if (bVar12 != 0) break;\n              }\n              piVar14 = (int *)bfd_elf_get_runpath_list(link_info.output_bfd,&link_info);\n              if (piVar14 != (int *)0x0) {\n                do {\n                  bVar26 = true;\n                  pcVar13 = gldhppalinux_add_sysroot((char *)piVar14[2]);\n                  bVar3 = false;\n                  if ((bfd *)piVar14[1] == pbVar2->by) {\n                    bVar12 = gldhppalinux_search_needed(pcVar13,&n,(int)local_60);\n                    bVar26 = bVar12 == 0;\n                    bVar3 = !bVar26;\n                  }\n                  free(pcVar13);\n                  piVar14 = (int *)*piVar14;\n                } while ((piVar14 != (int *)0x0) && (bVar26));\n                if (bVar3) break;\n              }\n              pcVar13 = ld_so_conf_13908;\n              if (initialized_13907 == 0) {\n                needed.by = (bfd *)0x0;\n                needed.name = (char *)0x0;\n                pcVar13 = (char *)concat(ld_sysroot,"/usr/etc/ld.so.conf",0);\n                bVar12 = gldhppalinux_parse_ld_so_conf((gldhppalinux_ld_so_conf *)&needed,pcVar13);\n                if (bVar12 == 0) {\n                  free(pcVar13);\n                  pcVar13 = (char *)concat(ld_sysroot,"/etc/ld.so.conf",0);\n                  gldhppalinux_parse_ld_so_conf((gldhppalinux_ld_so_conf *)&needed,pcVar13);\n                }\n                free(pcVar13);\n                pcVar13 = ld_so_conf_13908;\n                if (needed.by != (bfd *)0x0) {\n                  pcVar13 = gldhppalinux_add_sysroot((char *)needed.by);\n                  ld_so_conf_13908 = pcVar13;\n                  free(needed.by);\n                }\n                initialized_13907 = 1;\n              }\n              pcVar17 = pbVar2->name;\n              if (pcVar13 != (char *)0x0) {\n                needed.by = pbVar2->by;\n                needed.name = pcVar17;\n                bVar12 = gldhppalinux_search_needed(pcVar13,&needed,(int)local_60);\n                if (bVar12 != 0) break;\n                pcVar17 = pbVar2->name;\n              }\n              sVar15 = strlen(pcVar17);\n              if (search_head != (search_dirs_type *)0x0) {\n                psVar22 = search_head;\n                do {\n                  if (psVar22->cmdline == 0) {\n                    sVar16 = strlen(psVar22->name);\n                    pcVar13 = (char *)xmalloc(sVar16 + sVar15 + 2);\n                    sprintf(pcVar13,"%s/%s",psVar22->name,pbVar2->name);\n                    nn.name = pcVar13;\n                    bVar12 = gldhppalinux_try_needed(&nn,(int)pcVar13,local_60);\n                    if (bVar12 != 0) goto LAB_00039300;\n                    free(pcVar13);\n                  }\n                  psVar22 = psVar22->next;\n                } while (psVar22 != (search_dirs *)0x0);\n              }\n              if (local_60 == (dt_needed *)0x1) {\n                pbVar21 = pbVar2->by;\n                pcVar13 = pbVar2->name;\n                pcVar17 = (char *)dcgettext(0,\n                                            "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                            ,5);\n                einfo(pcVar17,pcVar13,pbVar21);\n                break;\n              }\n              local_60 = (dt_needed *)0x1;\n            }\n          }\n        }\nLAB_00039300:\n      }\n      if (((link_info._3_1_ & 0xc0) == 0x80) &&\n         (iVar11 = bfd_elf_parse_eh_frame_entries(0,&link_info), iVar11 == 0)) {\n        pcVar13 = (char *)dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);\n        einfo(pcVar13);\n      }\n    }\n  }\n  return;\n}" { (declaration "output_elf_obj_tdata *poVar1;" type_identifier (pointer_declarator "*poVar1" * identifier) ;) (declaration "bfd_link_needed_list *pbVar2;" type_identifier (pointer_declarator "*pbVar2" * identifier) ;) (declaration "bool bVar3;" primitive_type identifier ;) (declaration "bfd_link_needed_list *pbVar4;" type_identifier (pointer_declarator "*pbVar4" * identifier) ;) (declaration "bfd_link_hash_table *pbVar5;" type_identifier (pointer_declarator "*pbVar5" * identifier) ;) (declaration "dt_needed *pdVar6;" type_identifier (pointer_declarator "*pdVar6" * identifier) ;) (declaration "bfd_size_type bVar7;" type_identifier identifier ;) (declaration "asection *paVar8;" type_identifier (pointer_declarator "*paVar8" * identifier) ;) (declaration "bfd_link_needed_list *pbVar9;" type_identifier (pointer_declarator "*pbVar9" * identifier) ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "bfd_boolean bVar12;" type_identifier identifier ;) (declaration "char *pcVar13;" primitive_type (pointer_declarator "*pcVar13" * identifier) ;) (declaration "int *piVar14;" primitive_type (pointer_declarator "*piVar14" * identifier) ;) (declaration "size_t sVar15;" primitive_type identifier ;) (declaration "size_t sVar16;" primitive_type identifier ;) (declaration "char *pcVar17;" primitive_type (pointer_declarator "*pcVar17" * identifier) ;) (declaration "bfd_link_hash_table_type bVar18;" type_identifier identifier ;) (declaration "bfd *pbVar19;" type_identifier (pointer_declarator "*pbVar19" * identifier) ;) (declaration "bfd_section *pbVar20;" type_identifier (pointer_declarator "*pbVar20" * identifier) ;) (declaration "bfd *pbVar21;" type_identifier (pointer_declarator "*pbVar21" * identifier) ;) (declaration "search_dirs *psVar22;" type_identifier (pointer_declarator "*psVar22" * identifier) ;) (declaration "byte *pbVar23;" type_identifier (pointer_declarator "*pbVar23" * identifier) ;) (declaration "byte *pbVar24;" type_identifier (pointer_declarator "*pbVar24" * identifier) ;) (declaration "bool bVar25;" primitive_type identifier ;) (declaration "bool bVar26;" primitive_type identifier ;) (declaration "bool bVar27;" primitive_type identifier ;) (declaration "byte bVar28;" type_identifier identifier ;) (declaration "dt_needed *local_60;" type_identifier (pointer_declarator "*local_60" * identifier) ;) (declaration "int local_50;" primitive_type identifier ;) (declaration "bfd *local_4c;" type_identifier (pointer_declarator "*local_4c" * identifier) ;) (declaration "dt_needed n;" type_identifier identifier ;) (declaration "dt_needed nn;" type_identifier identifier ;) (declaration "dt_needed needed;" type_identifier identifier ;) (expression_statement "bVar28 = 0;" (assignment_expression "bVar28 = 0" identifier = number_literal) ;) (expression_statement "after_open_default();" (call_expression "after_open_default()" identifier (argument_list "()" ( ))) ;) (expression_statement "pbVar5 = link_info.hash;" (assignment_expression "pbVar5 = link_info.hash" identifier = (field_expression "link_info.hash" identifier . field_identifier)) ;) (if_statement "if ((link_info.hash)->type == bfd_link_elf_hash_table) {\n    if (command_line.out_implib_filename != (char *)0x0) {\n      unlink_if_ordinary(command_line.out_implib_filename);\n      link_info.out_implib_bfd =\n           (bfd *)bfd_openw(command_line.out_implib_filename,(link_info.output_bfd)->xvec->name);\n      pcVar13 = command_line.out_implib_filename;\n      if (link_info.out_implib_bfd == (bfd *)0x0) {\n        pcVar17 = (char *)dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);\n        einfo(pcVar17,pcVar13);\n      }\n    }\n    pbVar19 = link_info.output_bfd;\n    pbVar21 = link_info.input_bfds;\n    if (emit_note_gnu_build_id != (char *)0x0) {\n      for (; pbVar21 != (bfd *)0x0; pbVar21 = (pbVar21->link).next) {\n        if (((pbVar21->xvec->flavour == bfd_target_elf_flavour) && (pbVar21->section_count != 0)) &&\n           ((*(byte *)((int)pbVar21->usrdata + 0x24) & 0x10) == 0)) {\n          bVar7 = compute_build_id_size(emit_note_gnu_build_id);\n          if ((bVar7 == 0) || (bVar7 + 0x10 == 0)) {\n            pcVar13 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            paVar8 = (asection *)bfd_make_section_with_flags(pbVar21,".note.gnu.build-id",0x10402b);\n            if (paVar8 != (asection *)0x0) {\n              paVar8->alignment_power = 2;\n              pbVar19 = link_info.output_bfd;\n              poVar1 = (((link_info.output_bfd)->tdata).elf_obj_data)->o;\n              (poVar1->build_id).after_write_object_contents = write_build_id;\n              pcVar13 = emit_note_gnu_build_id;\n              (poVar1->build_id).sec = paVar8;\n              (poVar1->build_id).style = pcVar13;\n              *(undefined4 *)((int)paVar8->used_by_bfd + 4) = 7;\n              paVar8->size = bVar7 + 0x10;\n              goto LAB_00039178;\n            }\n            pcVar13 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          pcVar13 = (char *)dcgettext(0,pcVar13,5);\n          einfo(pcVar13);\n          break;\n        }\n      }\n      free(emit_note_gnu_build_id);\n      emit_note_gnu_build_id = (char *)0x0;\n      pbVar19 = link_info.output_bfd;\n    }\nLAB_00039178:\n    (**(code **)((int)pbVar19->xvec->backend_data + 0x1bc))(&link_info);\n    if ((link_info._0_1_ & 3) == 2) {\n      if ((byte)link_info._5_1_ >> 7 == (~link_info._6_1_ & 1)) {\n        bfd_make_section_with_flags\n                  (link_info.input_bfds,".note.GNU-stack",(byte)link_info._5_1_ >> 3 & 0x10 | 8);\n      }\n    }\n    else {\n      if (((link_info._4_1_ & 0x20) == 0) && (link_info.input_bfds != (bfd *)0x0)) {\n        local_50 = 0;\n        bVar3 = false;\n        local_4c = (bfd *)0x0;\n        pbVar21 = link_info.input_bfds;\n        do {\n          while ((*(byte *)((int)pbVar21->usrdata + 0x24) & 0x10) != 0) {\nLAB_000395d0:\n            pbVar21 = (pbVar21->link).next;\n            if (pbVar21 == (bfd *)0x0) goto LAB_000396cd;\n          }\n          pbVar20 = pbVar21->sections;\n          if (pbVar20 == (bfd_section *)0x0) {\nLAB_00039697:\n            if (local_50 != 2) goto LAB_000395d0;\n          }\n          else {\n            local_60 = (dt_needed *)0x0;\n            do {\n              bVar26 = pbVar20->output_section <\n                       (bfd_section *)(PTR__bfd_std_section_00090fc4 + 0x150);\n              bVar27 = pbVar20->output_section ==\n                       (bfd_section *)(PTR__bfd_std_section_00090fc4 + 0x150);\n              pdVar6 = local_60;\n              if (!bVar27) {\n                iVar11 = 0xf;\n                pbVar23 = (byte *)pbVar20->name;\n                pbVar24 = (byte *)".eh_frame_entry";\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar26 = *pbVar23 < *pbVar24;\n                  bVar27 = *pbVar23 == *pbVar24;\n                  pbVar23 = pbVar23 + (uint)bVar28 * -2 + 1;\n                  pbVar24 = pbVar24 + (uint)bVar28 * -2 + 1;\n                } while (bVar27);\n                bVar25 = false;\n                bVar26 = (!bVar26 && !bVar27) == bVar26;\n                if (bVar26) {\n                  local_60 = (dt_needed *)0x2;\n                  goto LAB_0003966f;\n                }\n                iVar11 = 10;\n                pbVar23 = (byte *)pbVar20->name;\n                pbVar24 = (byte *)".eh_frame";\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar25 = *pbVar23 < *pbVar24;\n                  bVar26 = *pbVar23 == *pbVar24;\n                  pbVar23 = pbVar23 + (uint)bVar28 * -2 + 1;\n                  pbVar24 = pbVar24 + (uint)bVar28 * -2 + 1;\n                } while (bVar26);\n                if (((!bVar25 && !bVar26) == bVar25) && (pdVar6 = (dt_needed *)1, pbVar20->size < 9)\n                   ) {\n                  pdVar6 = local_60;\n                }\n              }\n              local_60 = pdVar6;\n              pbVar20 = pbVar20->next;\n            } while (pbVar20 != (bfd_section *)0x0);\n            if (local_60 == (dt_needed *)0x0) goto LAB_00039697;\nLAB_0003966f:\n            if ((local_50 != 0) && ((dt_needed *)local_50 != local_60)) {\n              if (local_60 != (dt_needed *)0x1) {\n                pbVar21 = local_4c;\n              }\n              pcVar13 = (char *)dcgettext(0,\n                                          "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                          ,5);\n              einfo(pcVar13,pbVar21);\n              break;\n            }\n            local_50 = (int)local_60;\n            if (local_4c != (bfd *)0x0) goto LAB_00039697;\n            if (local_60 != (dt_needed *)0x2) {\n              if ((link_info._2_2_ & 0xc000) == 0) {\n                local_50 = 1;\n              }\n              else {\n                local_50 = 1;\n                bVar3 = true;\n                if (pbVar21->xvec->flavour == bfd_target_elf_flavour) {\n                  local_4c = pbVar21;\n                }\n              }\n              goto LAB_000395d0;\n            }\n            bVar3 = true;\n            if (pbVar21->xvec->flavour == bfd_target_elf_flavour) {\n              local_4c = pbVar21;\n            }\n          }\n          pbVar21 = (pbVar21->link).next;\n          local_50 = 2;\n          link_info._2_2_ = link_info._2_2_ & 0x3fff | 0x8000;\n        } while (pbVar21 != (bfd *)0x0);\nLAB_000396cd:\n        if ((local_4c == (bfd *)0x0) ||\n           (bVar18 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)((int)local_4c->xvec->backend_data + 0x20) | 8),\n           bVar18 == bfd_link_generic_hash_table)) {\n          if (bVar3) {\n            pcVar13 = (char *)dcgettext(0,\n                                        "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                                        ,5);\n            einfo(pcVar13);\n          }\n        }\n        else {\n          *(undefined4 *)(bVar18 + 0x40) = 2;\n          pbVar5[3].type = bVar18;\n        }\n      }\n      pbVar9 = (bfd_link_needed_list *)bfd_elf_get_needed_list(link_info.output_bfd,&link_info);\n      for (pbVar2 = pbVar9; pbVar2 != (bfd_link_needed_list *)0x0; pbVar2 = pbVar2->next) {\n        pbVar4 = pbVar9;\n        if ((pbVar2->by == (bfd *)0x0) ||\n           ((uVar10 = bfd_elf_get_dyn_lib_class(pbVar2->by), (uVar10 & 1) == 0 &&\n            (((pbVar2->by == (bfd *)0x0 || ((link_info._2_2_ & 0x180) != 0x80)) ||\n             (uVar10 = bfd_elf_get_dyn_lib_class(pbVar2->by), (uVar10 & 4) == 0)))))) {\n          for (; pbVar4 != pbVar2; pbVar4 = pbVar4->next) {\n            if (((pbVar4->by == (bfd *)0x0) ||\n                (uVar10 = bfd_elf_get_dyn_lib_class(pbVar4->by), (uVar10 & 1) == 0)) &&\n               (iVar11 = strcmp(pbVar4->name,pbVar2->name), iVar11 == 0)) {\n              if (pbVar2 != pbVar4) goto LAB_00039300;\n              break;\n            }\n          }\n          real_func = gldhppalinux_check_needed;\n          global_found = (lang_input_statement_type *)0x0;\n          global_needed = pbVar2;\n          lang_for_each_input_file(hppa_for_each_input_file_wrapper);\n          if ((global_found == (lang_input_statement_type *)0x0) ||\n             (uVar10 = bfd_elf_get_dyn_lib_class(global_found->the_bfd), (uVar10 & 1) != 0)) {\n            pbVar21 = pbVar2->by;\n            pcVar13 = pbVar2->name;\n            n.by = pbVar21;\n            n.name = pcVar13;\n            nn.by = pbVar21;\n            if (verbose != 0) {\n              pcVar17 = (char *)dcgettext(0,"%s needed by %pB\n",5);\n              info_msg(pcVar17,pcVar13,pbVar21);\n            }\n            if (global_found != (lang_input_statement_type *)0x0) {\n              nn.name = global_found->filename;\n              bVar12 = gldhppalinux_try_needed(&nn,(int)nn.name,(dt_needed *)0x1);\n              if (bVar12 != 0) goto LAB_00039300;\n            }\n            local_60 = (dt_needed *)0x0;\n            while (bVar12 = gldhppalinux_search_needed(command_line.rpath_link,&n,(int)local_60),\n                  bVar12 == 0) {\n              if (command_line.rpath != (char *)0x0) {\n                pcVar13 = gldhppalinux_add_sysroot(command_line.rpath);\n                bVar12 = gldhppalinux_search_needed(pcVar13,&n,(int)local_60);\n                free(pcVar13);\n                if (bVar12 != 0) break;\n              }\n              piVar14 = (int *)bfd_elf_get_runpath_list(link_info.output_bfd,&link_info);\n              if (piVar14 != (int *)0x0) {\n                do {\n                  bVar26 = true;\n                  pcVar13 = gldhppalinux_add_sysroot((char *)piVar14[2]);\n                  bVar3 = false;\n                  if ((bfd *)piVar14[1] == pbVar2->by) {\n                    bVar12 = gldhppalinux_search_needed(pcVar13,&n,(int)local_60);\n                    bVar26 = bVar12 == 0;\n                    bVar3 = !bVar26;\n                  }\n                  free(pcVar13);\n                  piVar14 = (int *)*piVar14;\n                } while ((piVar14 != (int *)0x0) && (bVar26));\n                if (bVar3) break;\n              }\n              pcVar13 = ld_so_conf_13908;\n              if (initialized_13907 == 0) {\n                needed.by = (bfd *)0x0;\n                needed.name = (char *)0x0;\n                pcVar13 = (char *)concat(ld_sysroot,"/usr/etc/ld.so.conf",0);\n                bVar12 = gldhppalinux_parse_ld_so_conf((gldhppalinux_ld_so_conf *)&needed,pcVar13);\n                if (bVar12 == 0) {\n                  free(pcVar13);\n                  pcVar13 = (char *)concat(ld_sysroot,"/etc/ld.so.conf",0);\n                  gldhppalinux_parse_ld_so_conf((gldhppalinux_ld_so_conf *)&needed,pcVar13);\n                }\n                free(pcVar13);\n                pcVar13 = ld_so_conf_13908;\n                if (needed.by != (bfd *)0x0) {\n                  pcVar13 = gldhppalinux_add_sysroot((char *)needed.by);\n                  ld_so_conf_13908 = pcVar13;\n                  free(needed.by);\n                }\n                initialized_13907 = 1;\n              }\n              pcVar17 = pbVar2->name;\n              if (pcVar13 != (char *)0x0) {\n                needed.by = pbVar2->by;\n                needed.name = pcVar17;\n                bVar12 = gldhppalinux_search_needed(pcVar13,&needed,(int)local_60);\n                if (bVar12 != 0) break;\n                pcVar17 = pbVar2->name;\n              }\n              sVar15 = strlen(pcVar17);\n              if (search_head != (search_dirs_type *)0x0) {\n                psVar22 = search_head;\n                do {\n                  if (psVar22->cmdline == 0) {\n                    sVar16 = strlen(psVar22->name);\n                    pcVar13 = (char *)xmalloc(sVar16 + sVar15 + 2);\n                    sprintf(pcVar13,"%s/%s",psVar22->name,pbVar2->name);\n                    nn.name = pcVar13;\n                    bVar12 = gldhppalinux_try_needed(&nn,(int)pcVar13,local_60);\n                    if (bVar12 != 0) goto LAB_00039300;\n                    free(pcVar13);\n                  }\n                  psVar22 = psVar22->next;\n                } while (psVar22 != (search_dirs *)0x0);\n              }\n              if (local_60 == (dt_needed *)0x1) {\n                pbVar21 = pbVar2->by;\n                pcVar13 = pbVar2->name;\n                pcVar17 = (char *)dcgettext(0,\n                                            "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                            ,5);\n                einfo(pcVar17,pcVar13,pbVar21);\n                break;\n              }\n              local_60 = (dt_needed *)0x1;\n            }\n          }\n        }\nLAB_00039300:\n      }\n      if (((link_info._3_1_ & 0xc0) == 0x80) &&\n         (iVar11 = bfd_elf_parse_eh_frame_entries(0,&link_info), iVar11 == 0)) {\n        pcVar13 = (char *)dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);\n        einfo(pcVar13);\n      }\n    }\n  }" if (parenthesized_expression "((link_info.hash)->type == bfd_link_elf_hash_table)" ( (binary_expression "(link_info.hash)->type == bfd_link_elf_hash_table" (field_expression "(link_info.hash)->type" (parenthesized_expression "(link_info.hash)" ( (field_expression "link_info.hash" identifier . field_identifier) )) -> field_identifier) == identifier) )) (compound_statement "{\n    if (command_line.out_implib_filename != (char *)0x0) {\n      unlink_if_ordinary(command_line.out_implib_filename);\n      link_info.out_implib_bfd =\n           (bfd *)bfd_openw(command_line.out_implib_filename,(link_info.output_bfd)->xvec->name);\n      pcVar13 = command_line.out_implib_filename;\n      if (link_info.out_implib_bfd == (bfd *)0x0) {\n        pcVar17 = (char *)dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);\n        einfo(pcVar17,pcVar13);\n      }\n    }\n    pbVar19 = link_info.output_bfd;\n    pbVar21 = link_info.input_bfds;\n    if (emit_note_gnu_build_id != (char *)0x0) {\n      for (; pbVar21 != (bfd *)0x0; pbVar21 = (pbVar21->link).next) {\n        if (((pbVar21->xvec->flavour == bfd_target_elf_flavour) && (pbVar21->section_count != 0)) &&\n           ((*(byte *)((int)pbVar21->usrdata + 0x24) & 0x10) == 0)) {\n          bVar7 = compute_build_id_size(emit_note_gnu_build_id);\n          if ((bVar7 == 0) || (bVar7 + 0x10 == 0)) {\n            pcVar13 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            paVar8 = (asection *)bfd_make_section_with_flags(pbVar21,".note.gnu.build-id",0x10402b);\n            if (paVar8 != (asection *)0x0) {\n              paVar8->alignment_power = 2;\n              pbVar19 = link_info.output_bfd;\n              poVar1 = (((link_info.output_bfd)->tdata).elf_obj_data)->o;\n              (poVar1->build_id).after_write_object_contents = write_build_id;\n              pcVar13 = emit_note_gnu_build_id;\n              (poVar1->build_id).sec = paVar8;\n              (poVar1->build_id).style = pcVar13;\n              *(undefined4 *)((int)paVar8->used_by_bfd + 4) = 7;\n              paVar8->size = bVar7 + 0x10;\n              goto LAB_00039178;\n            }\n            pcVar13 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          pcVar13 = (char *)dcgettext(0,pcVar13,5);\n          einfo(pcVar13);\n          break;\n        }\n      }\n      free(emit_note_gnu_build_id);\n      emit_note_gnu_build_id = (char *)0x0;\n      pbVar19 = link_info.output_bfd;\n    }\nLAB_00039178:\n    (**(code **)((int)pbVar19->xvec->backend_data + 0x1bc))(&link_info);\n    if ((link_info._0_1_ & 3) == 2) {\n      if ((byte)link_info._5_1_ >> 7 == (~link_info._6_1_ & 1)) {\n        bfd_make_section_with_flags\n                  (link_info.input_bfds,".note.GNU-stack",(byte)link_info._5_1_ >> 3 & 0x10 | 8);\n      }\n    }\n    else {\n      if (((link_info._4_1_ & 0x20) == 0) && (link_info.input_bfds != (bfd *)0x0)) {\n        local_50 = 0;\n        bVar3 = false;\n        local_4c = (bfd *)0x0;\n        pbVar21 = link_info.input_bfds;\n        do {\n          while ((*(byte *)((int)pbVar21->usrdata + 0x24) & 0x10) != 0) {\nLAB_000395d0:\n            pbVar21 = (pbVar21->link).next;\n            if (pbVar21 == (bfd *)0x0) goto LAB_000396cd;\n          }\n          pbVar20 = pbVar21->sections;\n          if (pbVar20 == (bfd_section *)0x0) {\nLAB_00039697:\n            if (local_50 != 2) goto LAB_000395d0;\n          }\n          else {\n            local_60 = (dt_needed *)0x0;\n            do {\n              bVar26 = pbVar20->output_section <\n                       (bfd_section *)(PTR__bfd_std_section_00090fc4 + 0x150);\n              bVar27 = pbVar20->output_section ==\n                       (bfd_section *)(PTR__bfd_std_section_00090fc4 + 0x150);\n              pdVar6 = local_60;\n              if (!bVar27) {\n                iVar11 = 0xf;\n                pbVar23 = (byte *)pbVar20->name;\n                pbVar24 = (byte *)".eh_frame_entry";\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar26 = *pbVar23 < *pbVar24;\n                  bVar27 = *pbVar23 == *pbVar24;\n                  pbVar23 = pbVar23 + (uint)bVar28 * -2 + 1;\n                  pbVar24 = pbVar24 + (uint)bVar28 * -2 + 1;\n                } while (bVar27);\n                bVar25 = false;\n                bVar26 = (!bVar26 && !bVar27) == bVar26;\n                if (bVar26) {\n                  local_60 = (dt_needed *)0x2;\n                  goto LAB_0003966f;\n                }\n                iVar11 = 10;\n                pbVar23 = (byte *)pbVar20->name;\n                pbVar24 = (byte *)".eh_frame";\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar25 = *pbVar23 < *pbVar24;\n                  bVar26 = *pbVar23 == *pbVar24;\n                  pbVar23 = pbVar23 + (uint)bVar28 * -2 + 1;\n                  pbVar24 = pbVar24 + (uint)bVar28 * -2 + 1;\n                } while (bVar26);\n                if (((!bVar25 && !bVar26) == bVar25) && (pdVar6 = (dt_needed *)1, pbVar20->size < 9)\n                   ) {\n                  pdVar6 = local_60;\n                }\n              }\n              local_60 = pdVar6;\n              pbVar20 = pbVar20->next;\n            } while (pbVar20 != (bfd_section *)0x0);\n            if (local_60 == (dt_needed *)0x0) goto LAB_00039697;\nLAB_0003966f:\n            if ((local_50 != 0) && ((dt_needed *)local_50 != local_60)) {\n              if (local_60 != (dt_needed *)0x1) {\n                pbVar21 = local_4c;\n              }\n              pcVar13 = (char *)dcgettext(0,\n                                          "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                          ,5);\n              einfo(pcVar13,pbVar21);\n              break;\n            }\n            local_50 = (int)local_60;\n            if (local_4c != (bfd *)0x0) goto LAB_00039697;\n            if (local_60 != (dt_needed *)0x2) {\n              if ((link_info._2_2_ & 0xc000) == 0) {\n                local_50 = 1;\n              }\n              else {\n                local_50 = 1;\n                bVar3 = true;\n                if (pbVar21->xvec->flavour == bfd_target_elf_flavour) {\n                  local_4c = pbVar21;\n                }\n              }\n              goto LAB_000395d0;\n            }\n            bVar3 = true;\n            if (pbVar21->xvec->flavour == bfd_target_elf_flavour) {\n              local_4c = pbVar21;\n            }\n          }\n          pbVar21 = (pbVar21->link).next;\n          local_50 = 2;\n          link_info._2_2_ = link_info._2_2_ & 0x3fff | 0x8000;\n        } while (pbVar21 != (bfd *)0x0);\nLAB_000396cd:\n        if ((local_4c == (bfd *)0x0) ||\n           (bVar18 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)((int)local_4c->xvec->backend_data + 0x20) | 8),\n           bVar18 == bfd_link_generic_hash_table)) {\n          if (bVar3) {\n            pcVar13 = (char *)dcgettext(0,\n                                        "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                                        ,5);\n            einfo(pcVar13);\n          }\n        }\n        else {\n          *(undefined4 *)(bVar18 + 0x40) = 2;\n          pbVar5[3].type = bVar18;\n        }\n      }\n      pbVar9 = (bfd_link_needed_list *)bfd_elf_get_needed_list(link_info.output_bfd,&link_info);\n      for (pbVar2 = pbVar9; pbVar2 != (bfd_link_needed_list *)0x0; pbVar2 = pbVar2->next) {\n        pbVar4 = pbVar9;\n        if ((pbVar2->by == (bfd *)0x0) ||\n           ((uVar10 = bfd_elf_get_dyn_lib_class(pbVar2->by), (uVar10 & 1) == 0 &&\n            (((pbVar2->by == (bfd *)0x0 || ((link_info._2_2_ & 0x180) != 0x80)) ||\n             (uVar10 = bfd_elf_get_dyn_lib_class(pbVar2->by), (uVar10 & 4) == 0)))))) {\n          for (; pbVar4 != pbVar2; pbVar4 = pbVar4->next) {\n            if (((pbVar4->by == (bfd *)0x0) ||\n                (uVar10 = bfd_elf_get_dyn_lib_class(pbVar4->by), (uVar10 & 1) == 0)) &&\n               (iVar11 = strcmp(pbVar4->name,pbVar2->name), iVar11 == 0)) {\n              if (pbVar2 != pbVar4) goto LAB_00039300;\n              break;\n            }\n          }\n          real_func = gldhppalinux_check_needed;\n          global_found = (lang_input_statement_type *)0x0;\n          global_needed = pbVar2;\n          lang_for_each_input_file(hppa_for_each_input_file_wrapper);\n          if ((global_found == (lang_input_statement_type *)0x0) ||\n             (uVar10 = bfd_elf_get_dyn_lib_class(global_found->the_bfd), (uVar10 & 1) != 0)) {\n            pbVar21 = pbVar2->by;\n            pcVar13 = pbVar2->name;\n            n.by = pbVar21;\n            n.name = pcVar13;\n            nn.by = pbVar21;\n            if (verbose != 0) {\n              pcVar17 = (char *)dcgettext(0,"%s needed by %pB\n",5);\n              info_msg(pcVar17,pcVar13,pbVar21);\n            }\n            if (global_found != (lang_input_statement_type *)0x0) {\n              nn.name = global_found->filename;\n              bVar12 = gldhppalinux_try_needed(&nn,(int)nn.name,(dt_needed *)0x1);\n              if (bVar12 != 0) goto LAB_00039300;\n            }\n            local_60 = (dt_needed *)0x0;\n            while (bVar12 = gldhppalinux_search_needed(command_line.rpath_link,&n,(int)local_60),\n                  bVar12 == 0) {\n              if (command_line.rpath != (char *)0x0) {\n                pcVar13 = gldhppalinux_add_sysroot(command_line.rpath);\n                bVar12 = gldhppalinux_search_needed(pcVar13,&n,(int)local_60);\n                free(pcVar13);\n                if (bVar12 != 0) break;\n              }\n              piVar14 = (int *)bfd_elf_get_runpath_list(link_info.output_bfd,&link_info);\n              if (piVar14 != (int *)0x0) {\n                do {\n                  bVar26 = true;\n                  pcVar13 = gldhppalinux_add_sysroot((char *)piVar14[2]);\n                  bVar3 = false;\n                  if ((bfd *)piVar14[1] == pbVar2->by) {\n                    bVar12 = gldhppalinux_search_needed(pcVar13,&n,(int)local_60);\n                    bVar26 = bVar12 == 0;\n                    bVar3 = !bVar26;\n                  }\n                  free(pcVar13);\n                  piVar14 = (int *)*piVar14;\n                } while ((piVar14 != (int *)0x0) && (bVar26));\n                if (bVar3) break;\n              }\n              pcVar13 = ld_so_conf_13908;\n              if (initialized_13907 == 0) {\n                needed.by = (bfd *)0x0;\n                needed.name = (char *)0x0;\n                pcVar13 = (char *)concat(ld_sysroot,"/usr/etc/ld.so.conf",0);\n                bVar12 = gldhppalinux_parse_ld_so_conf((gldhppalinux_ld_so_conf *)&needed,pcVar13);\n                if (bVar12 == 0) {\n                  free(pcVar13);\n                  pcVar13 = (char *)concat(ld_sysroot,"/etc/ld.so.conf",0);\n                  gldhppalinux_parse_ld_so_conf((gldhppalinux_ld_so_conf *)&needed,pcVar13);\n                }\n                free(pcVar13);\n                pcVar13 = ld_so_conf_13908;\n                if (needed.by != (bfd *)0x0) {\n                  pcVar13 = gldhppalinux_add_sysroot((char *)needed.by);\n                  ld_so_conf_13908 = pcVar13;\n                  free(needed.by);\n                }\n                initialized_13907 = 1;\n              }\n              pcVar17 = pbVar2->name;\n              if (pcVar13 != (char *)0x0) {\n                needed.by = pbVar2->by;\n                needed.name = pcVar17;\n                bVar12 = gldhppalinux_search_needed(pcVar13,&needed,(int)local_60);\n                if (bVar12 != 0) break;\n                pcVar17 = pbVar2->name;\n              }\n              sVar15 = strlen(pcVar17);\n              if (search_head != (search_dirs_type *)0x0) {\n                psVar22 = search_head;\n                do {\n                  if (psVar22->cmdline == 0) {\n                    sVar16 = strlen(psVar22->name);\n                    pcVar13 = (char *)xmalloc(sVar16 + sVar15 + 2);\n                    sprintf(pcVar13,"%s/%s",psVar22->name,pbVar2->name);\n                    nn.name = pcVar13;\n                    bVar12 = gldhppalinux_try_needed(&nn,(int)pcVar13,local_60);\n                    if (bVar12 != 0) goto LAB_00039300;\n                    free(pcVar13);\n                  }\n                  psVar22 = psVar22->next;\n                } while (psVar22 != (search_dirs *)0x0);\n              }\n              if (local_60 == (dt_needed *)0x1) {\n                pbVar21 = pbVar2->by;\n                pcVar13 = pbVar2->name;\n                pcVar17 = (char *)dcgettext(0,\n                                            "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                            ,5);\n                einfo(pcVar17,pcVar13,pbVar21);\n                break;\n              }\n              local_60 = (dt_needed *)0x1;\n            }\n          }\n        }\nLAB_00039300:\n      }\n      if (((link_info._3_1_ & 0xc0) == 0x80) &&\n         (iVar11 = bfd_elf_parse_eh_frame_entries(0,&link_info), iVar11 == 0)) {\n        pcVar13 = (char *)dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);\n        einfo(pcVar13);\n      }\n    }\n  }" { (if_statement "if (command_line.out_implib_filename != (char *)0x0) {\n      unlink_if_ordinary(command_line.out_implib_filename);\n      link_info.out_implib_bfd =\n           (bfd *)bfd_openw(command_line.out_implib_filename,(link_info.output_bfd)->xvec->name);\n      pcVar13 = command_line.out_implib_filename;\n      if (link_info.out_implib_bfd == (bfd *)0x0) {\n        pcVar17 = (char *)dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);\n        einfo(pcVar17,pcVar13);\n      }\n    }" if (parenthesized_expression "(command_line.out_implib_filename != (char *)0x0)" ( (binary_expression "command_line.out_implib_filename != (char *)0x0" (field_expression "command_line.out_implib_filename" identifier . field_identifier) != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      unlink_if_ordinary(command_line.out_implib_filename);\n      link_info.out_implib_bfd =\n           (bfd *)bfd_openw(command_line.out_implib_filename,(link_info.output_bfd)->xvec->name);\n      pcVar13 = command_line.out_implib_filename;\n      if (link_info.out_implib_bfd == (bfd *)0x0) {\n        pcVar17 = (char *)dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);\n        einfo(pcVar17,pcVar13);\n      }\n    }" { (expression_statement "unlink_if_ordinary(command_line.out_implib_filename);" (call_expression "unlink_if_ordinary(command_line.out_implib_filename)" identifier (argument_list "(command_line.out_implib_filename)" ( (field_expression "command_line.out_implib_filename" identifier . field_identifier) ))) ;) (expression_statement "link_info.out_implib_bfd =\n           (bfd *)bfd_openw(command_line.out_implib_filename,(link_info.output_bfd)->xvec->name);" (assignment_expression "link_info.out_implib_bfd =\n           (bfd *)bfd_openw(command_line.out_implib_filename,(link_info.output_bfd)->xvec->name)" (field_expression "link_info.out_implib_bfd" identifier . field_identifier) = (cast_expression "(bfd *)bfd_openw(command_line.out_implib_filename,(link_info.output_bfd)->xvec->name)" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "bfd_openw(command_line.out_implib_filename,(link_info.output_bfd)->xvec->name)" identifier (argument_list "(command_line.out_implib_filename,(link_info.output_bfd)->xvec->name)" ( (field_expression "command_line.out_implib_filename" identifier . field_identifier) , (field_expression "(link_info.output_bfd)->xvec->name" (field_expression "(link_info.output_bfd)->xvec" (parenthesized_expression "(link_info.output_bfd)" ( (field_expression "link_info.output_bfd" identifier . field_identifier) )) -> field_identifier) -> field_identifier) ))))) ;) (expression_statement "pcVar13 = command_line.out_implib_filename;" (assignment_expression "pcVar13 = command_line.out_implib_filename" identifier = (field_expression "command_line.out_implib_filename" identifier . field_identifier)) ;) (if_statement "if (link_info.out_implib_bfd == (bfd *)0x0) {\n        pcVar17 = (char *)dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);\n        einfo(pcVar17,pcVar13);\n      }" if (parenthesized_expression "(link_info.out_implib_bfd == (bfd *)0x0)" ( (binary_expression "link_info.out_implib_bfd == (bfd *)0x0" (field_expression "link_info.out_implib_bfd" identifier . field_identifier) == (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pcVar17 = (char *)dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);\n        einfo(pcVar17,pcVar13);\n      }" { (expression_statement "pcVar17 = (char *)dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);" (assignment_expression "pcVar17 = (char *)dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5)" identifier (argument_list "(0,"%F%P: %s: can\'t open for writing: %E\n",5)" ( number_literal , (string_literal ""%F%P: %s: can\'t open for writing: %E\n"" " string_content escape_sequence string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "einfo(pcVar17,pcVar13);" (call_expression "einfo(pcVar17,pcVar13)" identifier (argument_list "(pcVar17,pcVar13)" ( identifier , identifier ))) ;) })) })) (expression_statement "pbVar19 = link_info.output_bfd;" (assignment_expression "pbVar19 = link_info.output_bfd" identifier = (field_expression "link_info.output_bfd" identifier . field_identifier)) ;) (expression_statement "pbVar21 = link_info.input_bfds;" (assignment_expression "pbVar21 = link_info.input_bfds" identifier = (field_expression "link_info.input_bfds" identifier . field_identifier)) ;) (if_statement "if (emit_note_gnu_build_id != (char *)0x0) {\n      for (; pbVar21 != (bfd *)0x0; pbVar21 = (pbVar21->link).next) {\n        if (((pbVar21->xvec->flavour == bfd_target_elf_flavour) && (pbVar21->section_count != 0)) &&\n           ((*(byte *)((int)pbVar21->usrdata + 0x24) & 0x10) == 0)) {\n          bVar7 = compute_build_id_size(emit_note_gnu_build_id);\n          if ((bVar7 == 0) || (bVar7 + 0x10 == 0)) {\n            pcVar13 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            paVar8 = (asection *)bfd_make_section_with_flags(pbVar21,".note.gnu.build-id",0x10402b);\n            if (paVar8 != (asection *)0x0) {\n              paVar8->alignment_power = 2;\n              pbVar19 = link_info.output_bfd;\n              poVar1 = (((link_info.output_bfd)->tdata).elf_obj_data)->o;\n              (poVar1->build_id).after_write_object_contents = write_build_id;\n              pcVar13 = emit_note_gnu_build_id;\n              (poVar1->build_id).sec = paVar8;\n              (poVar1->build_id).style = pcVar13;\n              *(undefined4 *)((int)paVar8->used_by_bfd + 4) = 7;\n              paVar8->size = bVar7 + 0x10;\n              goto LAB_00039178;\n            }\n            pcVar13 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          pcVar13 = (char *)dcgettext(0,pcVar13,5);\n          einfo(pcVar13);\n          break;\n        }\n      }\n      free(emit_note_gnu_build_id);\n      emit_note_gnu_build_id = (char *)0x0;\n      pbVar19 = link_info.output_bfd;\n    }" if (parenthesized_expression "(emit_note_gnu_build_id != (char *)0x0)" ( (binary_expression "emit_note_gnu_build_id != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      for (; pbVar21 != (bfd *)0x0; pbVar21 = (pbVar21->link).next) {\n        if (((pbVar21->xvec->flavour == bfd_target_elf_flavour) && (pbVar21->section_count != 0)) &&\n           ((*(byte *)((int)pbVar21->usrdata + 0x24) & 0x10) == 0)) {\n          bVar7 = compute_build_id_size(emit_note_gnu_build_id);\n          if ((bVar7 == 0) || (bVar7 + 0x10 == 0)) {\n            pcVar13 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            paVar8 = (asection *)bfd_make_section_with_flags(pbVar21,".note.gnu.build-id",0x10402b);\n            if (paVar8 != (asection *)0x0) {\n              paVar8->alignment_power = 2;\n              pbVar19 = link_info.output_bfd;\n              poVar1 = (((link_info.output_bfd)->tdata).elf_obj_data)->o;\n              (poVar1->build_id).after_write_object_contents = write_build_id;\n              pcVar13 = emit_note_gnu_build_id;\n              (poVar1->build_id).sec = paVar8;\n              (poVar1->build_id).style = pcVar13;\n              *(undefined4 *)((int)paVar8->used_by_bfd + 4) = 7;\n              paVar8->size = bVar7 + 0x10;\n              goto LAB_00039178;\n            }\n            pcVar13 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          pcVar13 = (char *)dcgettext(0,pcVar13,5);\n          einfo(pcVar13);\n          break;\n        }\n      }\n      free(emit_note_gnu_build_id);\n      emit_note_gnu_build_id = (char *)0x0;\n      pbVar19 = link_info.output_bfd;\n    }" { (for_statement "for (; pbVar21 != (bfd *)0x0; pbVar21 = (pbVar21->link).next) {\n        if (((pbVar21->xvec->flavour == bfd_target_elf_flavour) && (pbVar21->section_count != 0)) &&\n           ((*(byte *)((int)pbVar21->usrdata + 0x24) & 0x10) == 0)) {\n          bVar7 = compute_build_id_size(emit_note_gnu_build_id);\n          if ((bVar7 == 0) || (bVar7 + 0x10 == 0)) {\n            pcVar13 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            paVar8 = (asection *)bfd_make_section_with_flags(pbVar21,".note.gnu.build-id",0x10402b);\n            if (paVar8 != (asection *)0x0) {\n              paVar8->alignment_power = 2;\n              pbVar19 = link_info.output_bfd;\n              poVar1 = (((link_info.output_bfd)->tdata).elf_obj_data)->o;\n              (poVar1->build_id).after_write_object_contents = write_build_id;\n              pcVar13 = emit_note_gnu_build_id;\n              (poVar1->build_id).sec = paVar8;\n              (poVar1->build_id).style = pcVar13;\n              *(undefined4 *)((int)paVar8->used_by_bfd + 4) = 7;\n              paVar8->size = bVar7 + 0x10;\n              goto LAB_00039178;\n            }\n            pcVar13 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          pcVar13 = (char *)dcgettext(0,pcVar13,5);\n          einfo(pcVar13);\n          break;\n        }\n      }" for ( ; (binary_expression "pbVar21 != (bfd *)0x0" identifier != (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "pbVar21 = (pbVar21->link).next" identifier = (field_expression "(pbVar21->link).next" (parenthesized_expression "(pbVar21->link)" ( (field_expression "pbVar21->link" identifier -> field_identifier) )) . field_identifier)) ) (compound_statement "{\n        if (((pbVar21->xvec->flavour == bfd_target_elf_flavour) && (pbVar21->section_count != 0)) &&\n           ((*(byte *)((int)pbVar21->usrdata + 0x24) & 0x10) == 0)) {\n          bVar7 = compute_build_id_size(emit_note_gnu_build_id);\n          if ((bVar7 == 0) || (bVar7 + 0x10 == 0)) {\n            pcVar13 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            paVar8 = (asection *)bfd_make_section_with_flags(pbVar21,".note.gnu.build-id",0x10402b);\n            if (paVar8 != (asection *)0x0) {\n              paVar8->alignment_power = 2;\n              pbVar19 = link_info.output_bfd;\n              poVar1 = (((link_info.output_bfd)->tdata).elf_obj_data)->o;\n              (poVar1->build_id).after_write_object_contents = write_build_id;\n              pcVar13 = emit_note_gnu_build_id;\n              (poVar1->build_id).sec = paVar8;\n              (poVar1->build_id).style = pcVar13;\n              *(undefined4 *)((int)paVar8->used_by_bfd + 4) = 7;\n              paVar8->size = bVar7 + 0x10;\n              goto LAB_00039178;\n            }\n            pcVar13 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          pcVar13 = (char *)dcgettext(0,pcVar13,5);\n          einfo(pcVar13);\n          break;\n        }\n      }" { (if_statement "if (((pbVar21->xvec->flavour == bfd_target_elf_flavour) && (pbVar21->section_count != 0)) &&\n           ((*(byte *)((int)pbVar21->usrdata + 0x24) & 0x10) == 0)) {\n          bVar7 = compute_build_id_size(emit_note_gnu_build_id);\n          if ((bVar7 == 0) || (bVar7 + 0x10 == 0)) {\n            pcVar13 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            paVar8 = (asection *)bfd_make_section_with_flags(pbVar21,".note.gnu.build-id",0x10402b);\n            if (paVar8 != (asection *)0x0) {\n              paVar8->alignment_power = 2;\n              pbVar19 = link_info.output_bfd;\n              poVar1 = (((link_info.output_bfd)->tdata).elf_obj_data)->o;\n              (poVar1->build_id).after_write_object_contents = write_build_id;\n              pcVar13 = emit_note_gnu_build_id;\n              (poVar1->build_id).sec = paVar8;\n              (poVar1->build_id).style = pcVar13;\n              *(undefined4 *)((int)paVar8->used_by_bfd + 4) = 7;\n              paVar8->size = bVar7 + 0x10;\n              goto LAB_00039178;\n            }\n            pcVar13 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          pcVar13 = (char *)dcgettext(0,pcVar13,5);\n          einfo(pcVar13);\n          break;\n        }" if (parenthesized_expression "(((pbVar21->xvec->flavour == bfd_target_elf_flavour) && (pbVar21->section_count != 0)) &&\n           ((*(byte *)((int)pbVar21->usrdata + 0x24) & 0x10) == 0))" ( (binary_expression "((pbVar21->xvec->flavour == bfd_target_elf_flavour) && (pbVar21->section_count != 0)) &&\n           ((*(byte *)((int)pbVar21->usrdata + 0x24) & 0x10) == 0)" (parenthesized_expression "((pbVar21->xvec->flavour == bfd_target_elf_flavour) && (pbVar21->section_count != 0))" ( (binary_expression "(pbVar21->xvec->flavour == bfd_target_elf_flavour) && (pbVar21->section_count != 0)" (parenthesized_expression "(pbVar21->xvec->flavour == bfd_target_elf_flavour)" ( (binary_expression "pbVar21->xvec->flavour == bfd_target_elf_flavour" (field_expression "pbVar21->xvec->flavour" (field_expression "pbVar21->xvec" identifier -> field_identifier) -> field_identifier) == identifier) )) && (parenthesized_expression "(pbVar21->section_count != 0)" ( (binary_expression "pbVar21->section_count != 0" (field_expression "pbVar21->section_count" identifier -> field_identifier) != number_literal) ))) )) && (parenthesized_expression "((*(byte *)((int)pbVar21->usrdata + 0x24) & 0x10) == 0)" ( (binary_expression "(*(byte *)((int)pbVar21->usrdata + 0x24) & 0x10) == 0" (parenthesized_expression "(*(byte *)((int)pbVar21->usrdata + 0x24) & 0x10)" ( (binary_expression "*(byte *)((int)pbVar21->usrdata + 0x24) & 0x10" (pointer_expression "*(byte *)((int)pbVar21->usrdata + 0x24)" * (cast_expression "(byte *)((int)pbVar21->usrdata + 0x24)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pbVar21->usrdata + 0x24)" ( (binary_expression "(int)pbVar21->usrdata + 0x24" (cast_expression "(int)pbVar21->usrdata" ( (type_descriptor "int" primitive_type) ) (field_expression "pbVar21->usrdata" identifier -> field_identifier)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n          bVar7 = compute_build_id_size(emit_note_gnu_build_id);\n          if ((bVar7 == 0) || (bVar7 + 0x10 == 0)) {\n            pcVar13 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            paVar8 = (asection *)bfd_make_section_with_flags(pbVar21,".note.gnu.build-id",0x10402b);\n            if (paVar8 != (asection *)0x0) {\n              paVar8->alignment_power = 2;\n              pbVar19 = link_info.output_bfd;\n              poVar1 = (((link_info.output_bfd)->tdata).elf_obj_data)->o;\n              (poVar1->build_id).after_write_object_contents = write_build_id;\n              pcVar13 = emit_note_gnu_build_id;\n              (poVar1->build_id).sec = paVar8;\n              (poVar1->build_id).style = pcVar13;\n              *(undefined4 *)((int)paVar8->used_by_bfd + 4) = 7;\n              paVar8->size = bVar7 + 0x10;\n              goto LAB_00039178;\n            }\n            pcVar13 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          pcVar13 = (char *)dcgettext(0,pcVar13,5);\n          einfo(pcVar13);\n          break;\n        }" { (expression_statement "bVar7 = compute_build_id_size(emit_note_gnu_build_id);" (assignment_expression "bVar7 = compute_build_id_size(emit_note_gnu_build_id)" identifier = (call_expression "compute_build_id_size(emit_note_gnu_build_id)" identifier (argument_list "(emit_note_gnu_build_id)" ( identifier )))) ;) (if_statement "if ((bVar7 == 0) || (bVar7 + 0x10 == 0)) {\n            pcVar13 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            paVar8 = (asection *)bfd_make_section_with_flags(pbVar21,".note.gnu.build-id",0x10402b);\n            if (paVar8 != (asection *)0x0) {\n              paVar8->alignment_power = 2;\n              pbVar19 = link_info.output_bfd;\n              poVar1 = (((link_info.output_bfd)->tdata).elf_obj_data)->o;\n              (poVar1->build_id).after_write_object_contents = write_build_id;\n              pcVar13 = emit_note_gnu_build_id;\n              (poVar1->build_id).sec = paVar8;\n              (poVar1->build_id).style = pcVar13;\n              *(undefined4 *)((int)paVar8->used_by_bfd + 4) = 7;\n              paVar8->size = bVar7 + 0x10;\n              goto LAB_00039178;\n            }\n            pcVar13 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }" if (parenthesized_expression "((bVar7 == 0) || (bVar7 + 0x10 == 0))" ( (binary_expression "(bVar7 == 0) || (bVar7 + 0x10 == 0)" (parenthesized_expression "(bVar7 == 0)" ( (binary_expression "bVar7 == 0" identifier == number_literal) )) || (parenthesized_expression "(bVar7 + 0x10 == 0)" ( (binary_expression "bVar7 + 0x10 == 0" (binary_expression "bVar7 + 0x10" identifier + number_literal) == number_literal) ))) )) (compound_statement "{\n            pcVar13 = "%P: warning: unrecognized --build-id style ignored\n";\n          }" { (expression_statement "pcVar13 = "%P: warning: unrecognized --build-id style ignored\n";" (assignment_expression "pcVar13 = "%P: warning: unrecognized --build-id style ignored\n"" identifier = (string_literal ""%P: warning: unrecognized --build-id style ignored\n"" " string_content escape_sequence ")) ;) }) (else_clause "else {\n            paVar8 = (asection *)bfd_make_section_with_flags(pbVar21,".note.gnu.build-id",0x10402b);\n            if (paVar8 != (asection *)0x0) {\n              paVar8->alignment_power = 2;\n              pbVar19 = link_info.output_bfd;\n              poVar1 = (((link_info.output_bfd)->tdata).elf_obj_data)->o;\n              (poVar1->build_id).after_write_object_contents = write_build_id;\n              pcVar13 = emit_note_gnu_build_id;\n              (poVar1->build_id).sec = paVar8;\n              (poVar1->build_id).style = pcVar13;\n              *(undefined4 *)((int)paVar8->used_by_bfd + 4) = 7;\n              paVar8->size = bVar7 + 0x10;\n              goto LAB_00039178;\n            }\n            pcVar13 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }" else (compound_statement "{\n            paVar8 = (asection *)bfd_make_section_with_flags(pbVar21,".note.gnu.build-id",0x10402b);\n            if (paVar8 != (asection *)0x0) {\n              paVar8->alignment_power = 2;\n              pbVar19 = link_info.output_bfd;\n              poVar1 = (((link_info.output_bfd)->tdata).elf_obj_data)->o;\n              (poVar1->build_id).after_write_object_contents = write_build_id;\n              pcVar13 = emit_note_gnu_build_id;\n              (poVar1->build_id).sec = paVar8;\n              (poVar1->build_id).style = pcVar13;\n              *(undefined4 *)((int)paVar8->used_by_bfd + 4) = 7;\n              paVar8->size = bVar7 + 0x10;\n              goto LAB_00039178;\n            }\n            pcVar13 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }" { (expression_statement "paVar8 = (asection *)bfd_make_section_with_flags(pbVar21,".note.gnu.build-id",0x10402b);" (assignment_expression "paVar8 = (asection *)bfd_make_section_with_flags(pbVar21,".note.gnu.build-id",0x10402b)" identifier = (cast_expression "(asection *)bfd_make_section_with_flags(pbVar21,".note.gnu.build-id",0x10402b)" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "bfd_make_section_with_flags(pbVar21,".note.gnu.build-id",0x10402b)" identifier (argument_list "(pbVar21,".note.gnu.build-id",0x10402b)" ( identifier , (string_literal "".note.gnu.build-id"" " string_content ") , number_literal ))))) ;) (if_statement "if (paVar8 != (asection *)0x0) {\n              paVar8->alignment_power = 2;\n              pbVar19 = link_info.output_bfd;\n              poVar1 = (((link_info.output_bfd)->tdata).elf_obj_data)->o;\n              (poVar1->build_id).after_write_object_contents = write_build_id;\n              pcVar13 = emit_note_gnu_build_id;\n              (poVar1->build_id).sec = paVar8;\n              (poVar1->build_id).style = pcVar13;\n              *(undefined4 *)((int)paVar8->used_by_bfd + 4) = 7;\n              paVar8->size = bVar7 + 0x10;\n              goto LAB_00039178;\n            }" if (parenthesized_expression "(paVar8 != (asection *)0x0)" ( (binary_expression "paVar8 != (asection *)0x0" identifier != (cast_expression "(asection *)0x0" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              paVar8->alignment_power = 2;\n              pbVar19 = link_info.output_bfd;\n              poVar1 = (((link_info.output_bfd)->tdata).elf_obj_data)->o;\n              (poVar1->build_id).after_write_object_contents = write_build_id;\n              pcVar13 = emit_note_gnu_build_id;\n              (poVar1->build_id).sec = paVar8;\n              (poVar1->build_id).style = pcVar13;\n              *(undefined4 *)((int)paVar8->used_by_bfd + 4) = 7;\n              paVar8->size = bVar7 + 0x10;\n              goto LAB_00039178;\n            }" { (expression_statement "paVar8->alignment_power = 2;" (assignment_expression "paVar8->alignment_power = 2" (field_expression "paVar8->alignment_power" identifier -> field_identifier) = number_literal) ;) (expression_statement "pbVar19 = link_info.output_bfd;" (assignment_expression "pbVar19 = link_info.output_bfd" identifier = (field_expression "link_info.output_bfd" identifier . field_identifier)) ;) (expression_statement "poVar1 = (((link_info.output_bfd)->tdata).elf_obj_data)->o;" (assignment_expression "poVar1 = (((link_info.output_bfd)->tdata).elf_obj_data)->o" identifier = (field_expression "(((link_info.output_bfd)->tdata).elf_obj_data)->o" (parenthesized_expression "(((link_info.output_bfd)->tdata).elf_obj_data)" ( (field_expression "((link_info.output_bfd)->tdata).elf_obj_data" (parenthesized_expression "((link_info.output_bfd)->tdata)" ( (field_expression "(link_info.output_bfd)->tdata" (parenthesized_expression "(link_info.output_bfd)" ( (field_expression "link_info.output_bfd" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) )) -> field_identifier)) ;) (expression_statement "(poVar1->build_id).after_write_object_contents = write_build_id;" (assignment_expression "(poVar1->build_id).after_write_object_contents = write_build_id" (field_expression "(poVar1->build_id).after_write_object_contents" (parenthesized_expression "(poVar1->build_id)" ( (field_expression "poVar1->build_id" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "pcVar13 = emit_note_gnu_build_id;" (assignment_expression "pcVar13 = emit_note_gnu_build_id" identifier = identifier) ;) (expression_statement "(poVar1->build_id).sec = paVar8;" (assignment_expression "(poVar1->build_id).sec = paVar8" (field_expression "(poVar1->build_id).sec" (parenthesized_expression "(poVar1->build_id)" ( (field_expression "poVar1->build_id" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "(poVar1->build_id).style = pcVar13;" (assignment_expression "(poVar1->build_id).style = pcVar13" (field_expression "(poVar1->build_id).style" (parenthesized_expression "(poVar1->build_id)" ( (field_expression "poVar1->build_id" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "*(undefined4 *)((int)paVar8->used_by_bfd + 4) = 7;" (assignment_expression "*(undefined4 *)((int)paVar8->used_by_bfd + 4) = 7" (pointer_expression "*(undefined4 *)((int)paVar8->used_by_bfd + 4)" * (cast_expression "(undefined4 *)((int)paVar8->used_by_bfd + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)paVar8->used_by_bfd + 4)" ( (binary_expression "(int)paVar8->used_by_bfd + 4" (cast_expression "(int)paVar8->used_by_bfd" ( (type_descriptor "int" primitive_type) ) (field_expression "paVar8->used_by_bfd" identifier -> field_identifier)) + number_literal) )))) = number_literal) ;) (expression_statement "paVar8->size = bVar7 + 0x10;" (assignment_expression "paVar8->size = bVar7 + 0x10" (field_expression "paVar8->size" identifier -> field_identifier) = (binary_expression "bVar7 + 0x10" identifier + number_literal)) ;) (goto_statement "goto LAB_00039178;" goto statement_identifier ;) })) (expression_statement "pcVar13 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";" (assignment_expression "pcVar13 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n"" identifier = (string_literal ""%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n"" " string_content escape_sequence ")) ;) }))) (expression_statement "pcVar13 = (char *)dcgettext(0,pcVar13,5);" (assignment_expression "pcVar13 = (char *)dcgettext(0,pcVar13,5)" identifier = (cast_expression "(char *)dcgettext(0,pcVar13,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar13,5)" identifier (argument_list "(0,pcVar13,5)" ( number_literal , identifier , number_literal ))))) ;) (expression_statement "einfo(pcVar13);" (call_expression "einfo(pcVar13)" identifier (argument_list "(pcVar13)" ( identifier ))) ;) (break_statement "break;" break ;) })) })) (expression_statement "free(emit_note_gnu_build_id);" (call_expression "free(emit_note_gnu_build_id)" identifier (argument_list "(emit_note_gnu_build_id)" ( identifier ))) ;) (expression_statement "emit_note_gnu_build_id = (char *)0x0;" (assignment_expression "emit_note_gnu_build_id = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar19 = link_info.output_bfd;" (assignment_expression "pbVar19 = link_info.output_bfd" identifier = (field_expression "link_info.output_bfd" identifier . field_identifier)) ;) })) (labeled_statement "LAB_00039178:\n    (**(code **)((int)pbVar19->xvec->backend_data + 0x1bc))(&link_info);" statement_identifier : (expression_statement "(**(code **)((int)pbVar19->xvec->backend_data + 0x1bc))(&link_info);" (call_expression "(**(code **)((int)pbVar19->xvec->backend_data + 0x1bc))(&link_info)" (parenthesized_expression "(**(code **)((int)pbVar19->xvec->backend_data + 0x1bc))" ( (pointer_expression "**(code **)((int)pbVar19->xvec->backend_data + 0x1bc)" * (pointer_expression "*(code **)((int)pbVar19->xvec->backend_data + 0x1bc)" * (cast_expression "(code **)((int)pbVar19->xvec->backend_data + 0x1bc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pbVar19->xvec->backend_data + 0x1bc)" ( (binary_expression "(int)pbVar19->xvec->backend_data + 0x1bc" (cast_expression "(int)pbVar19->xvec->backend_data" ( (type_descriptor "int" primitive_type) ) (field_expression "pbVar19->xvec->backend_data" (field_expression "pbVar19->xvec" identifier -> field_identifier) -> field_identifier)) + number_literal) ))))) )) (argument_list "(&link_info)" ( (pointer_expression "&link_info" & identifier) ))) ;)) (if_statement "if ((link_info._0_1_ & 3) == 2) {\n      if ((byte)link_info._5_1_ >> 7 == (~link_info._6_1_ & 1)) {\n        bfd_make_section_with_flags\n                  (link_info.input_bfds,".note.GNU-stack",(byte)link_info._5_1_ >> 3 & 0x10 | 8);\n      }\n    }\n    else {\n      if (((link_info._4_1_ & 0x20) == 0) && (link_info.input_bfds != (bfd *)0x0)) {\n        local_50 = 0;\n        bVar3 = false;\n        local_4c = (bfd *)0x0;\n        pbVar21 = link_info.input_bfds;\n        do {\n          while ((*(byte *)((int)pbVar21->usrdata + 0x24) & 0x10) != 0) {\nLAB_000395d0:\n            pbVar21 = (pbVar21->link).next;\n            if (pbVar21 == (bfd *)0x0) goto LAB_000396cd;\n          }\n          pbVar20 = pbVar21->sections;\n          if (pbVar20 == (bfd_section *)0x0) {\nLAB_00039697:\n            if (local_50 != 2) goto LAB_000395d0;\n          }\n          else {\n            local_60 = (dt_needed *)0x0;\n            do {\n              bVar26 = pbVar20->output_section <\n                       (bfd_section *)(PTR__bfd_std_section_00090fc4 + 0x150);\n              bVar27 = pbVar20->output_section ==\n                       (bfd_section *)(PTR__bfd_std_section_00090fc4 + 0x150);\n              pdVar6 = local_60;\n              if (!bVar27) {\n                iVar11 = 0xf;\n                pbVar23 = (byte *)pbVar20->name;\n                pbVar24 = (byte *)".eh_frame_entry";\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar26 = *pbVar23 < *pbVar24;\n                  bVar27 = *pbVar23 == *pbVar24;\n                  pbVar23 = pbVar23 + (uint)bVar28 * -2 + 1;\n                  pbVar24 = pbVar24 + (uint)bVar28 * -2 + 1;\n                } while (bVar27);\n                bVar25 = false;\n                bVar26 = (!bVar26 && !bVar27) == bVar26;\n                if (bVar26) {\n                  local_60 = (dt_needed *)0x2;\n                  goto LAB_0003966f;\n                }\n                iVar11 = 10;\n                pbVar23 = (byte *)pbVar20->name;\n                pbVar24 = (byte *)".eh_frame";\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar25 = *pbVar23 < *pbVar24;\n                  bVar26 = *pbVar23 == *pbVar24;\n                  pbVar23 = pbVar23 + (uint)bVar28 * -2 + 1;\n                  pbVar24 = pbVar24 + (uint)bVar28 * -2 + 1;\n                } while (bVar26);\n                if (((!bVar25 && !bVar26) == bVar25) && (pdVar6 = (dt_needed *)1, pbVar20->size < 9)\n                   ) {\n                  pdVar6 = local_60;\n                }\n              }\n              local_60 = pdVar6;\n              pbVar20 = pbVar20->next;\n            } while (pbVar20 != (bfd_section *)0x0);\n            if (local_60 == (dt_needed *)0x0) goto LAB_00039697;\nLAB_0003966f:\n            if ((local_50 != 0) && ((dt_needed *)local_50 != local_60)) {\n              if (local_60 != (dt_needed *)0x1) {\n                pbVar21 = local_4c;\n              }\n              pcVar13 = (char *)dcgettext(0,\n                                          "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                          ,5);\n              einfo(pcVar13,pbVar21);\n              break;\n            }\n            local_50 = (int)local_60;\n            if (local_4c != (bfd *)0x0) goto LAB_00039697;\n            if (local_60 != (dt_needed *)0x2) {\n              if ((link_info._2_2_ & 0xc000) == 0) {\n                local_50 = 1;\n              }\n              else {\n                local_50 = 1;\n                bVar3 = true;\n                if (pbVar21->xvec->flavour == bfd_target_elf_flavour) {\n                  local_4c = pbVar21;\n                }\n              }\n              goto LAB_000395d0;\n            }\n            bVar3 = true;\n            if (pbVar21->xvec->flavour == bfd_target_elf_flavour) {\n              local_4c = pbVar21;\n            }\n          }\n          pbVar21 = (pbVar21->link).next;\n          local_50 = 2;\n          link_info._2_2_ = link_info._2_2_ & 0x3fff | 0x8000;\n        } while (pbVar21 != (bfd *)0x0);\nLAB_000396cd:\n        if ((local_4c == (bfd *)0x0) ||\n           (bVar18 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)((int)local_4c->xvec->backend_data + 0x20) | 8),\n           bVar18 == bfd_link_generic_hash_table)) {\n          if (bVar3) {\n            pcVar13 = (char *)dcgettext(0,\n                                        "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                                        ,5);\n            einfo(pcVar13);\n          }\n        }\n        else {\n          *(undefined4 *)(bVar18 + 0x40) = 2;\n          pbVar5[3].type = bVar18;\n        }\n      }\n      pbVar9 = (bfd_link_needed_list *)bfd_elf_get_needed_list(link_info.output_bfd,&link_info);\n      for (pbVar2 = pbVar9; pbVar2 != (bfd_link_needed_list *)0x0; pbVar2 = pbVar2->next) {\n        pbVar4 = pbVar9;\n        if ((pbVar2->by == (bfd *)0x0) ||\n           ((uVar10 = bfd_elf_get_dyn_lib_class(pbVar2->by), (uVar10 & 1) == 0 &&\n            (((pbVar2->by == (bfd *)0x0 || ((link_info._2_2_ & 0x180) != 0x80)) ||\n             (uVar10 = bfd_elf_get_dyn_lib_class(pbVar2->by), (uVar10 & 4) == 0)))))) {\n          for (; pbVar4 != pbVar2; pbVar4 = pbVar4->next) {\n            if (((pbVar4->by == (bfd *)0x0) ||\n                (uVar10 = bfd_elf_get_dyn_lib_class(pbVar4->by), (uVar10 & 1) == 0)) &&\n               (iVar11 = strcmp(pbVar4->name,pbVar2->name), iVar11 == 0)) {\n              if (pbVar2 != pbVar4) goto LAB_00039300;\n              break;\n            }\n          }\n          real_func = gldhppalinux_check_needed;\n          global_found = (lang_input_statement_type *)0x0;\n          global_needed = pbVar2;\n          lang_for_each_input_file(hppa_for_each_input_file_wrapper);\n          if ((global_found == (lang_input_statement_type *)0x0) ||\n             (uVar10 = bfd_elf_get_dyn_lib_class(global_found->the_bfd), (uVar10 & 1) != 0)) {\n            pbVar21 = pbVar2->by;\n            pcVar13 = pbVar2->name;\n            n.by = pbVar21;\n            n.name = pcVar13;\n            nn.by = pbVar21;\n            if (verbose != 0) {\n              pcVar17 = (char *)dcgettext(0,"%s needed by %pB\n",5);\n              info_msg(pcVar17,pcVar13,pbVar21);\n            }\n            if (global_found != (lang_input_statement_type *)0x0) {\n              nn.name = global_found->filename;\n              bVar12 = gldhppalinux_try_needed(&nn,(int)nn.name,(dt_needed *)0x1);\n              if (bVar12 != 0) goto LAB_00039300;\n            }\n            local_60 = (dt_needed *)0x0;\n            while (bVar12 = gldhppalinux_search_needed(command_line.rpath_link,&n,(int)local_60),\n                  bVar12 == 0) {\n              if (command_line.rpath != (char *)0x0) {\n                pcVar13 = gldhppalinux_add_sysroot(command_line.rpath);\n                bVar12 = gldhppalinux_search_needed(pcVar13,&n,(int)local_60);\n                free(pcVar13);\n                if (bVar12 != 0) break;\n              }\n              piVar14 = (int *)bfd_elf_get_runpath_list(link_info.output_bfd,&link_info);\n              if (piVar14 != (int *)0x0) {\n                do {\n                  bVar26 = true;\n                  pcVar13 = gldhppalinux_add_sysroot((char *)piVar14[2]);\n                  bVar3 = false;\n                  if ((bfd *)piVar14[1] == pbVar2->by) {\n                    bVar12 = gldhppalinux_search_needed(pcVar13,&n,(int)local_60);\n                    bVar26 = bVar12 == 0;\n                    bVar3 = !bVar26;\n                  }\n                  free(pcVar13);\n                  piVar14 = (int *)*piVar14;\n                } while ((piVar14 != (int *)0x0) && (bVar26));\n                if (bVar3) break;\n              }\n              pcVar13 = ld_so_conf_13908;\n              if (initialized_13907 == 0) {\n                needed.by = (bfd *)0x0;\n                needed.name = (char *)0x0;\n                pcVar13 = (char *)concat(ld_sysroot,"/usr/etc/ld.so.conf",0);\n                bVar12 = gldhppalinux_parse_ld_so_conf((gldhppalinux_ld_so_conf *)&needed,pcVar13);\n                if (bVar12 == 0) {\n                  free(pcVar13);\n                  pcVar13 = (char *)concat(ld_sysroot,"/etc/ld.so.conf",0);\n                  gldhppalinux_parse_ld_so_conf((gldhppalinux_ld_so_conf *)&needed,pcVar13);\n                }\n                free(pcVar13);\n                pcVar13 = ld_so_conf_13908;\n                if (needed.by != (bfd *)0x0) {\n                  pcVar13 = gldhppalinux_add_sysroot((char *)needed.by);\n                  ld_so_conf_13908 = pcVar13;\n                  free(needed.by);\n                }\n                initialized_13907 = 1;\n              }\n              pcVar17 = pbVar2->name;\n              if (pcVar13 != (char *)0x0) {\n                needed.by = pbVar2->by;\n                needed.name = pcVar17;\n                bVar12 = gldhppalinux_search_needed(pcVar13,&needed,(int)local_60);\n                if (bVar12 != 0) break;\n                pcVar17 = pbVar2->name;\n              }\n              sVar15 = strlen(pcVar17);\n              if (search_head != (search_dirs_type *)0x0) {\n                psVar22 = search_head;\n                do {\n                  if (psVar22->cmdline == 0) {\n                    sVar16 = strlen(psVar22->name);\n                    pcVar13 = (char *)xmalloc(sVar16 + sVar15 + 2);\n                    sprintf(pcVar13,"%s/%s",psVar22->name,pbVar2->name);\n                    nn.name = pcVar13;\n                    bVar12 = gldhppalinux_try_needed(&nn,(int)pcVar13,local_60);\n                    if (bVar12 != 0) goto LAB_00039300;\n                    free(pcVar13);\n                  }\n                  psVar22 = psVar22->next;\n                } while (psVar22 != (search_dirs *)0x0);\n              }\n              if (local_60 == (dt_needed *)0x1) {\n                pbVar21 = pbVar2->by;\n                pcVar13 = pbVar2->name;\n                pcVar17 = (char *)dcgettext(0,\n                                            "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                            ,5);\n                einfo(pcVar17,pcVar13,pbVar21);\n                break;\n              }\n              local_60 = (dt_needed *)0x1;\n            }\n          }\n        }\nLAB_00039300:\n      }\n      if (((link_info._3_1_ & 0xc0) == 0x80) &&\n         (iVar11 = bfd_elf_parse_eh_frame_entries(0,&link_info), iVar11 == 0)) {\n        pcVar13 = (char *)dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);\n        einfo(pcVar13);\n      }\n    }" if (parenthesized_expression "((link_info._0_1_ & 3) == 2)" ( (binary_expression "(link_info._0_1_ & 3) == 2" (parenthesized_expression "(link_info._0_1_ & 3)" ( (binary_expression "link_info._0_1_ & 3" (field_expression "link_info._0_1_" identifier . field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n      if ((byte)link_info._5_1_ >> 7 == (~link_info._6_1_ & 1)) {\n        bfd_make_section_with_flags\n                  (link_info.input_bfds,".note.GNU-stack",(byte)link_info._5_1_ >> 3 & 0x10 | 8);\n      }\n    }" { (if_statement "if ((byte)link_info._5_1_ >> 7 == (~link_info._6_1_ & 1)) {\n        bfd_make_section_with_flags\n                  (link_info.input_bfds,".note.GNU-stack",(byte)link_info._5_1_ >> 3 & 0x10 | 8);\n      }" if (parenthesized_expression "((byte)link_info._5_1_ >> 7 == (~link_info._6_1_ & 1))" ( (binary_expression "(byte)link_info._5_1_ >> 7 == (~link_info._6_1_ & 1)" (binary_expression "(byte)link_info._5_1_ >> 7" (cast_expression "(byte)link_info._5_1_" ( (type_descriptor "byte" type_identifier) ) (field_expression "link_info._5_1_" identifier . field_identifier)) >> number_literal) == (parenthesized_expression "(~link_info._6_1_ & 1)" ( (binary_expression "~link_info._6_1_ & 1" (unary_expression "~link_info._6_1_" ~ (field_expression "link_info._6_1_" identifier . field_identifier)) & number_literal) ))) )) (compound_statement "{\n        bfd_make_section_with_flags\n                  (link_info.input_bfds,".note.GNU-stack",(byte)link_info._5_1_ >> 3 & 0x10 | 8);\n      }" { (expression_statement "bfd_make_section_with_flags\n                  (link_info.input_bfds,".note.GNU-stack",(byte)link_info._5_1_ >> 3 & 0x10 | 8);" (call_expression "bfd_make_section_with_flags\n                  (link_info.input_bfds,".note.GNU-stack",(byte)link_info._5_1_ >> 3 & 0x10 | 8)" identifier (argument_list "(link_info.input_bfds,".note.GNU-stack",(byte)link_info._5_1_ >> 3 & 0x10 | 8)" ( (field_expression "link_info.input_bfds" identifier . field_identifier) , (string_literal "".note.GNU-stack"" " string_content ") , (binary_expression "(byte)link_info._5_1_ >> 3 & 0x10 | 8" (binary_expression "(byte)link_info._5_1_ >> 3 & 0x10" (binary_expression "(byte)link_info._5_1_ >> 3" (cast_expression "(byte)link_info._5_1_" ( (type_descriptor "byte" type_identifier) ) (field_expression "link_info._5_1_" identifier . field_identifier)) >> number_literal) & number_literal) | number_literal) ))) ;) })) }) (else_clause "else {\n      if (((link_info._4_1_ & 0x20) == 0) && (link_info.input_bfds != (bfd *)0x0)) {\n        local_50 = 0;\n        bVar3 = false;\n        local_4c = (bfd *)0x0;\n        pbVar21 = link_info.input_bfds;\n        do {\n          while ((*(byte *)((int)pbVar21->usrdata + 0x24) & 0x10) != 0) {\nLAB_000395d0:\n            pbVar21 = (pbVar21->link).next;\n            if (pbVar21 == (bfd *)0x0) goto LAB_000396cd;\n          }\n          pbVar20 = pbVar21->sections;\n          if (pbVar20 == (bfd_section *)0x0) {\nLAB_00039697:\n            if (local_50 != 2) goto LAB_000395d0;\n          }\n          else {\n            local_60 = (dt_needed *)0x0;\n            do {\n              bVar26 = pbVar20->output_section <\n                       (bfd_section *)(PTR__bfd_std_section_00090fc4 + 0x150);\n              bVar27 = pbVar20->output_section ==\n                       (bfd_section *)(PTR__bfd_std_section_00090fc4 + 0x150);\n              pdVar6 = local_60;\n              if (!bVar27) {\n                iVar11 = 0xf;\n                pbVar23 = (byte *)pbVar20->name;\n                pbVar24 = (byte *)".eh_frame_entry";\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar26 = *pbVar23 < *pbVar24;\n                  bVar27 = *pbVar23 == *pbVar24;\n                  pbVar23 = pbVar23 + (uint)bVar28 * -2 + 1;\n                  pbVar24 = pbVar24 + (uint)bVar28 * -2 + 1;\n                } while (bVar27);\n                bVar25 = false;\n                bVar26 = (!bVar26 && !bVar27) == bVar26;\n                if (bVar26) {\n                  local_60 = (dt_needed *)0x2;\n                  goto LAB_0003966f;\n                }\n                iVar11 = 10;\n                pbVar23 = (byte *)pbVar20->name;\n                pbVar24 = (byte *)".eh_frame";\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar25 = *pbVar23 < *pbVar24;\n                  bVar26 = *pbVar23 == *pbVar24;\n                  pbVar23 = pbVar23 + (uint)bVar28 * -2 + 1;\n                  pbVar24 = pbVar24 + (uint)bVar28 * -2 + 1;\n                } while (bVar26);\n                if (((!bVar25 && !bVar26) == bVar25) && (pdVar6 = (dt_needed *)1, pbVar20->size < 9)\n                   ) {\n                  pdVar6 = local_60;\n                }\n              }\n              local_60 = pdVar6;\n              pbVar20 = pbVar20->next;\n            } while (pbVar20 != (bfd_section *)0x0);\n            if (local_60 == (dt_needed *)0x0) goto LAB_00039697;\nLAB_0003966f:\n            if ((local_50 != 0) && ((dt_needed *)local_50 != local_60)) {\n              if (local_60 != (dt_needed *)0x1) {\n                pbVar21 = local_4c;\n              }\n              pcVar13 = (char *)dcgettext(0,\n                                          "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                          ,5);\n              einfo(pcVar13,pbVar21);\n              break;\n            }\n            local_50 = (int)local_60;\n            if (local_4c != (bfd *)0x0) goto LAB_00039697;\n            if (local_60 != (dt_needed *)0x2) {\n              if ((link_info._2_2_ & 0xc000) == 0) {\n                local_50 = 1;\n              }\n              else {\n                local_50 = 1;\n                bVar3 = true;\n                if (pbVar21->xvec->flavour == bfd_target_elf_flavour) {\n                  local_4c = pbVar21;\n                }\n              }\n              goto LAB_000395d0;\n            }\n            bVar3 = true;\n            if (pbVar21->xvec->flavour == bfd_target_elf_flavour) {\n              local_4c = pbVar21;\n            }\n          }\n          pbVar21 = (pbVar21->link).next;\n          local_50 = 2;\n          link_info._2_2_ = link_info._2_2_ & 0x3fff | 0x8000;\n        } while (pbVar21 != (bfd *)0x0);\nLAB_000396cd:\n        if ((local_4c == (bfd *)0x0) ||\n           (bVar18 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)((int)local_4c->xvec->backend_data + 0x20) | 8),\n           bVar18 == bfd_link_generic_hash_table)) {\n          if (bVar3) {\n            pcVar13 = (char *)dcgettext(0,\n                                        "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                                        ,5);\n            einfo(pcVar13);\n          }\n        }\n        else {\n          *(undefined4 *)(bVar18 + 0x40) = 2;\n          pbVar5[3].type = bVar18;\n        }\n      }\n      pbVar9 = (bfd_link_needed_list *)bfd_elf_get_needed_list(link_info.output_bfd,&link_info);\n      for (pbVar2 = pbVar9; pbVar2 != (bfd_link_needed_list *)0x0; pbVar2 = pbVar2->next) {\n        pbVar4 = pbVar9;\n        if ((pbVar2->by == (bfd *)0x0) ||\n           ((uVar10 = bfd_elf_get_dyn_lib_class(pbVar2->by), (uVar10 & 1) == 0 &&\n            (((pbVar2->by == (bfd *)0x0 || ((link_info._2_2_ & 0x180) != 0x80)) ||\n             (uVar10 = bfd_elf_get_dyn_lib_class(pbVar2->by), (uVar10 & 4) == 0)))))) {\n          for (; pbVar4 != pbVar2; pbVar4 = pbVar4->next) {\n            if (((pbVar4->by == (bfd *)0x0) ||\n                (uVar10 = bfd_elf_get_dyn_lib_class(pbVar4->by), (uVar10 & 1) == 0)) &&\n               (iVar11 = strcmp(pbVar4->name,pbVar2->name), iVar11 == 0)) {\n              if (pbVar2 != pbVar4) goto LAB_00039300;\n              break;\n            }\n          }\n          real_func = gldhppalinux_check_needed;\n          global_found = (lang_input_statement_type *)0x0;\n          global_needed = pbVar2;\n          lang_for_each_input_file(hppa_for_each_input_file_wrapper);\n          if ((global_found == (lang_input_statement_type *)0x0) ||\n             (uVar10 = bfd_elf_get_dyn_lib_class(global_found->the_bfd), (uVar10 & 1) != 0)) {\n            pbVar21 = pbVar2->by;\n            pcVar13 = pbVar2->name;\n            n.by = pbVar21;\n            n.name = pcVar13;\n            nn.by = pbVar21;\n            if (verbose != 0) {\n              pcVar17 = (char *)dcgettext(0,"%s needed by %pB\n",5);\n              info_msg(pcVar17,pcVar13,pbVar21);\n            }\n            if (global_found != (lang_input_statement_type *)0x0) {\n              nn.name = global_found->filename;\n              bVar12 = gldhppalinux_try_needed(&nn,(int)nn.name,(dt_needed *)0x1);\n              if (bVar12 != 0) goto LAB_00039300;\n            }\n            local_60 = (dt_needed *)0x0;\n            while (bVar12 = gldhppalinux_search_needed(command_line.rpath_link,&n,(int)local_60),\n                  bVar12 == 0) {\n              if (command_line.rpath != (char *)0x0) {\n                pcVar13 = gldhppalinux_add_sysroot(command_line.rpath);\n                bVar12 = gldhppalinux_search_needed(pcVar13,&n,(int)local_60);\n                free(pcVar13);\n                if (bVar12 != 0) break;\n              }\n              piVar14 = (int *)bfd_elf_get_runpath_list(link_info.output_bfd,&link_info);\n              if (piVar14 != (int *)0x0) {\n                do {\n                  bVar26 = true;\n                  pcVar13 = gldhppalinux_add_sysroot((char *)piVar14[2]);\n                  bVar3 = false;\n                  if ((bfd *)piVar14[1] == pbVar2->by) {\n                    bVar12 = gldhppalinux_search_needed(pcVar13,&n,(int)local_60);\n                    bVar26 = bVar12 == 0;\n                    bVar3 = !bVar26;\n                  }\n                  free(pcVar13);\n                  piVar14 = (int *)*piVar14;\n                } while ((piVar14 != (int *)0x0) && (bVar26));\n                if (bVar3) break;\n              }\n              pcVar13 = ld_so_conf_13908;\n              if (initialized_13907 == 0) {\n                needed.by = (bfd *)0x0;\n                needed.name = (char *)0x0;\n                pcVar13 = (char *)concat(ld_sysroot,"/usr/etc/ld.so.conf",0);\n                bVar12 = gldhppalinux_parse_ld_so_conf((gldhppalinux_ld_so_conf *)&needed,pcVar13);\n                if (bVar12 == 0) {\n                  free(pcVar13);\n                  pcVar13 = (char *)concat(ld_sysroot,"/etc/ld.so.conf",0);\n                  gldhppalinux_parse_ld_so_conf((gldhppalinux_ld_so_conf *)&needed,pcVar13);\n                }\n                free(pcVar13);\n                pcVar13 = ld_so_conf_13908;\n                if (needed.by != (bfd *)0x0) {\n                  pcVar13 = gldhppalinux_add_sysroot((char *)needed.by);\n                  ld_so_conf_13908 = pcVar13;\n                  free(needed.by);\n                }\n                initialized_13907 = 1;\n              }\n              pcVar17 = pbVar2->name;\n              if (pcVar13 != (char *)0x0) {\n                needed.by = pbVar2->by;\n                needed.name = pcVar17;\n                bVar12 = gldhppalinux_search_needed(pcVar13,&needed,(int)local_60);\n                if (bVar12 != 0) break;\n                pcVar17 = pbVar2->name;\n              }\n              sVar15 = strlen(pcVar17);\n              if (search_head != (search_dirs_type *)0x0) {\n                psVar22 = search_head;\n                do {\n                  if (psVar22->cmdline == 0) {\n                    sVar16 = strlen(psVar22->name);\n                    pcVar13 = (char *)xmalloc(sVar16 + sVar15 + 2);\n                    sprintf(pcVar13,"%s/%s",psVar22->name,pbVar2->name);\n                    nn.name = pcVar13;\n                    bVar12 = gldhppalinux_try_needed(&nn,(int)pcVar13,local_60);\n                    if (bVar12 != 0) goto LAB_00039300;\n                    free(pcVar13);\n                  }\n                  psVar22 = psVar22->next;\n                } while (psVar22 != (search_dirs *)0x0);\n              }\n              if (local_60 == (dt_needed *)0x1) {\n                pbVar21 = pbVar2->by;\n                pcVar13 = pbVar2->name;\n                pcVar17 = (char *)dcgettext(0,\n                                            "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                            ,5);\n                einfo(pcVar17,pcVar13,pbVar21);\n                break;\n              }\n              local_60 = (dt_needed *)0x1;\n            }\n          }\n        }\nLAB_00039300:\n      }\n      if (((link_info._3_1_ & 0xc0) == 0x80) &&\n         (iVar11 = bfd_elf_parse_eh_frame_entries(0,&link_info), iVar11 == 0)) {\n        pcVar13 = (char *)dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);\n        einfo(pcVar13);\n      }\n    }" else (compound_statement "{\n      if (((link_info._4_1_ & 0x20) == 0) && (link_info.input_bfds != (bfd *)0x0)) {\n        local_50 = 0;\n        bVar3 = false;\n        local_4c = (bfd *)0x0;\n        pbVar21 = link_info.input_bfds;\n        do {\n          while ((*(byte *)((int)pbVar21->usrdata + 0x24) & 0x10) != 0) {\nLAB_000395d0:\n            pbVar21 = (pbVar21->link).next;\n            if (pbVar21 == (bfd *)0x0) goto LAB_000396cd;\n          }\n          pbVar20 = pbVar21->sections;\n          if (pbVar20 == (bfd_section *)0x0) {\nLAB_00039697:\n            if (local_50 != 2) goto LAB_000395d0;\n          }\n          else {\n            local_60 = (dt_needed *)0x0;\n            do {\n              bVar26 = pbVar20->output_section <\n                       (bfd_section *)(PTR__bfd_std_section_00090fc4 + 0x150);\n              bVar27 = pbVar20->output_section ==\n                       (bfd_section *)(PTR__bfd_std_section_00090fc4 + 0x150);\n              pdVar6 = local_60;\n              if (!bVar27) {\n                iVar11 = 0xf;\n                pbVar23 = (byte *)pbVar20->name;\n                pbVar24 = (byte *)".eh_frame_entry";\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar26 = *pbVar23 < *pbVar24;\n                  bVar27 = *pbVar23 == *pbVar24;\n                  pbVar23 = pbVar23 + (uint)bVar28 * -2 + 1;\n                  pbVar24 = pbVar24 + (uint)bVar28 * -2 + 1;\n                } while (bVar27);\n                bVar25 = false;\n                bVar26 = (!bVar26 && !bVar27) == bVar26;\n                if (bVar26) {\n                  local_60 = (dt_needed *)0x2;\n                  goto LAB_0003966f;\n                }\n                iVar11 = 10;\n                pbVar23 = (byte *)pbVar20->name;\n                pbVar24 = (byte *)".eh_frame";\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar25 = *pbVar23 < *pbVar24;\n                  bVar26 = *pbVar23 == *pbVar24;\n                  pbVar23 = pbVar23 + (uint)bVar28 * -2 + 1;\n                  pbVar24 = pbVar24 + (uint)bVar28 * -2 + 1;\n                } while (bVar26);\n                if (((!bVar25 && !bVar26) == bVar25) && (pdVar6 = (dt_needed *)1, pbVar20->size < 9)\n                   ) {\n                  pdVar6 = local_60;\n                }\n              }\n              local_60 = pdVar6;\n              pbVar20 = pbVar20->next;\n            } while (pbVar20 != (bfd_section *)0x0);\n            if (local_60 == (dt_needed *)0x0) goto LAB_00039697;\nLAB_0003966f:\n            if ((local_50 != 0) && ((dt_needed *)local_50 != local_60)) {\n              if (local_60 != (dt_needed *)0x1) {\n                pbVar21 = local_4c;\n              }\n              pcVar13 = (char *)dcgettext(0,\n                                          "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                          ,5);\n              einfo(pcVar13,pbVar21);\n              break;\n            }\n            local_50 = (int)local_60;\n            if (local_4c != (bfd *)0x0) goto LAB_00039697;\n            if (local_60 != (dt_needed *)0x2) {\n              if ((link_info._2_2_ & 0xc000) == 0) {\n                local_50 = 1;\n              }\n              else {\n                local_50 = 1;\n                bVar3 = true;\n                if (pbVar21->xvec->flavour == bfd_target_elf_flavour) {\n                  local_4c = pbVar21;\n                }\n              }\n              goto LAB_000395d0;\n            }\n            bVar3 = true;\n            if (pbVar21->xvec->flavour == bfd_target_elf_flavour) {\n              local_4c = pbVar21;\n            }\n          }\n          pbVar21 = (pbVar21->link).next;\n          local_50 = 2;\n          link_info._2_2_ = link_info._2_2_ & 0x3fff | 0x8000;\n        } while (pbVar21 != (bfd *)0x0);\nLAB_000396cd:\n        if ((local_4c == (bfd *)0x0) ||\n           (bVar18 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)((int)local_4c->xvec->backend_data + 0x20) | 8),\n           bVar18 == bfd_link_generic_hash_table)) {\n          if (bVar3) {\n            pcVar13 = (char *)dcgettext(0,\n                                        "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                                        ,5);\n            einfo(pcVar13);\n          }\n        }\n        else {\n          *(undefined4 *)(bVar18 + 0x40) = 2;\n          pbVar5[3].type = bVar18;\n        }\n      }\n      pbVar9 = (bfd_link_needed_list *)bfd_elf_get_needed_list(link_info.output_bfd,&link_info);\n      for (pbVar2 = pbVar9; pbVar2 != (bfd_link_needed_list *)0x0; pbVar2 = pbVar2->next) {\n        pbVar4 = pbVar9;\n        if ((pbVar2->by == (bfd *)0x0) ||\n           ((uVar10 = bfd_elf_get_dyn_lib_class(pbVar2->by), (uVar10 & 1) == 0 &&\n            (((pbVar2->by == (bfd *)0x0 || ((link_info._2_2_ & 0x180) != 0x80)) ||\n             (uVar10 = bfd_elf_get_dyn_lib_class(pbVar2->by), (uVar10 & 4) == 0)))))) {\n          for (; pbVar4 != pbVar2; pbVar4 = pbVar4->next) {\n            if (((pbVar4->by == (bfd *)0x0) ||\n                (uVar10 = bfd_elf_get_dyn_lib_class(pbVar4->by), (uVar10 & 1) == 0)) &&\n               (iVar11 = strcmp(pbVar4->name,pbVar2->name), iVar11 == 0)) {\n              if (pbVar2 != pbVar4) goto LAB_00039300;\n              break;\n            }\n          }\n          real_func = gldhppalinux_check_needed;\n          global_found = (lang_input_statement_type *)0x0;\n          global_needed = pbVar2;\n          lang_for_each_input_file(hppa_for_each_input_file_wrapper);\n          if ((global_found == (lang_input_statement_type *)0x0) ||\n             (uVar10 = bfd_elf_get_dyn_lib_class(global_found->the_bfd), (uVar10 & 1) != 0)) {\n            pbVar21 = pbVar2->by;\n            pcVar13 = pbVar2->name;\n            n.by = pbVar21;\n            n.name = pcVar13;\n            nn.by = pbVar21;\n            if (verbose != 0) {\n              pcVar17 = (char *)dcgettext(0,"%s needed by %pB\n",5);\n              info_msg(pcVar17,pcVar13,pbVar21);\n            }\n            if (global_found != (lang_input_statement_type *)0x0) {\n              nn.name = global_found->filename;\n              bVar12 = gldhppalinux_try_needed(&nn,(int)nn.name,(dt_needed *)0x1);\n              if (bVar12 != 0) goto LAB_00039300;\n            }\n            local_60 = (dt_needed *)0x0;\n            while (bVar12 = gldhppalinux_search_needed(command_line.rpath_link,&n,(int)local_60),\n                  bVar12 == 0) {\n              if (command_line.rpath != (char *)0x0) {\n                pcVar13 = gldhppalinux_add_sysroot(command_line.rpath);\n                bVar12 = gldhppalinux_search_needed(pcVar13,&n,(int)local_60);\n                free(pcVar13);\n                if (bVar12 != 0) break;\n              }\n              piVar14 = (int *)bfd_elf_get_runpath_list(link_info.output_bfd,&link_info);\n              if (piVar14 != (int *)0x0) {\n                do {\n                  bVar26 = true;\n                  pcVar13 = gldhppalinux_add_sysroot((char *)piVar14[2]);\n                  bVar3 = false;\n                  if ((bfd *)piVar14[1] == pbVar2->by) {\n                    bVar12 = gldhppalinux_search_needed(pcVar13,&n,(int)local_60);\n                    bVar26 = bVar12 == 0;\n                    bVar3 = !bVar26;\n                  }\n                  free(pcVar13);\n                  piVar14 = (int *)*piVar14;\n                } while ((piVar14 != (int *)0x0) && (bVar26));\n                if (bVar3) break;\n              }\n              pcVar13 = ld_so_conf_13908;\n              if (initialized_13907 == 0) {\n                needed.by = (bfd *)0x0;\n                needed.name = (char *)0x0;\n                pcVar13 = (char *)concat(ld_sysroot,"/usr/etc/ld.so.conf",0);\n                bVar12 = gldhppalinux_parse_ld_so_conf((gldhppalinux_ld_so_conf *)&needed,pcVar13);\n                if (bVar12 == 0) {\n                  free(pcVar13);\n                  pcVar13 = (char *)concat(ld_sysroot,"/etc/ld.so.conf",0);\n                  gldhppalinux_parse_ld_so_conf((gldhppalinux_ld_so_conf *)&needed,pcVar13);\n                }\n                free(pcVar13);\n                pcVar13 = ld_so_conf_13908;\n                if (needed.by != (bfd *)0x0) {\n                  pcVar13 = gldhppalinux_add_sysroot((char *)needed.by);\n                  ld_so_conf_13908 = pcVar13;\n                  free(needed.by);\n                }\n                initialized_13907 = 1;\n              }\n              pcVar17 = pbVar2->name;\n              if (pcVar13 != (char *)0x0) {\n                needed.by = pbVar2->by;\n                needed.name = pcVar17;\n                bVar12 = gldhppalinux_search_needed(pcVar13,&needed,(int)local_60);\n                if (bVar12 != 0) break;\n                pcVar17 = pbVar2->name;\n              }\n              sVar15 = strlen(pcVar17);\n              if (search_head != (search_dirs_type *)0x0) {\n                psVar22 = search_head;\n                do {\n                  if (psVar22->cmdline == 0) {\n                    sVar16 = strlen(psVar22->name);\n                    pcVar13 = (char *)xmalloc(sVar16 + sVar15 + 2);\n                    sprintf(pcVar13,"%s/%s",psVar22->name,pbVar2->name);\n                    nn.name = pcVar13;\n                    bVar12 = gldhppalinux_try_needed(&nn,(int)pcVar13,local_60);\n                    if (bVar12 != 0) goto LAB_00039300;\n                    free(pcVar13);\n                  }\n                  psVar22 = psVar22->next;\n                } while (psVar22 != (search_dirs *)0x0);\n              }\n              if (local_60 == (dt_needed *)0x1) {\n                pbVar21 = pbVar2->by;\n                pcVar13 = pbVar2->name;\n                pcVar17 = (char *)dcgettext(0,\n                                            "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                            ,5);\n                einfo(pcVar17,pcVar13,pbVar21);\n                break;\n              }\n              local_60 = (dt_needed *)0x1;\n            }\n          }\n        }\nLAB_00039300:\n      }\n      if (((link_info._3_1_ & 0xc0) == 0x80) &&\n         (iVar11 = bfd_elf_parse_eh_frame_entries(0,&link_info), iVar11 == 0)) {\n        pcVar13 = (char *)dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);\n        einfo(pcVar13);\n      }\n    }" { (if_statement "if (((link_info._4_1_ & 0x20) == 0) && (link_info.input_bfds != (bfd *)0x0)) {\n        local_50 = 0;\n        bVar3 = false;\n        local_4c = (bfd *)0x0;\n        pbVar21 = link_info.input_bfds;\n        do {\n          while ((*(byte *)((int)pbVar21->usrdata + 0x24) & 0x10) != 0) {\nLAB_000395d0:\n            pbVar21 = (pbVar21->link).next;\n            if (pbVar21 == (bfd *)0x0) goto LAB_000396cd;\n          }\n          pbVar20 = pbVar21->sections;\n          if (pbVar20 == (bfd_section *)0x0) {\nLAB_00039697:\n            if (local_50 != 2) goto LAB_000395d0;\n          }\n          else {\n            local_60 = (dt_needed *)0x0;\n            do {\n              bVar26 = pbVar20->output_section <\n                       (bfd_section *)(PTR__bfd_std_section_00090fc4 + 0x150);\n              bVar27 = pbVar20->output_section ==\n                       (bfd_section *)(PTR__bfd_std_section_00090fc4 + 0x150);\n              pdVar6 = local_60;\n              if (!bVar27) {\n                iVar11 = 0xf;\n                pbVar23 = (byte *)pbVar20->name;\n                pbVar24 = (byte *)".eh_frame_entry";\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar26 = *pbVar23 < *pbVar24;\n                  bVar27 = *pbVar23 == *pbVar24;\n                  pbVar23 = pbVar23 + (uint)bVar28 * -2 + 1;\n                  pbVar24 = pbVar24 + (uint)bVar28 * -2 + 1;\n                } while (bVar27);\n                bVar25 = false;\n                bVar26 = (!bVar26 && !bVar27) == bVar26;\n                if (bVar26) {\n                  local_60 = (dt_needed *)0x2;\n                  goto LAB_0003966f;\n                }\n                iVar11 = 10;\n                pbVar23 = (byte *)pbVar20->name;\n                pbVar24 = (byte *)".eh_frame";\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar25 = *pbVar23 < *pbVar24;\n                  bVar26 = *pbVar23 == *pbVar24;\n                  pbVar23 = pbVar23 + (uint)bVar28 * -2 + 1;\n                  pbVar24 = pbVar24 + (uint)bVar28 * -2 + 1;\n                } while (bVar26);\n                if (((!bVar25 && !bVar26) == bVar25) && (pdVar6 = (dt_needed *)1, pbVar20->size < 9)\n                   ) {\n                  pdVar6 = local_60;\n                }\n              }\n              local_60 = pdVar6;\n              pbVar20 = pbVar20->next;\n            } while (pbVar20 != (bfd_section *)0x0);\n            if (local_60 == (dt_needed *)0x0) goto LAB_00039697;\nLAB_0003966f:\n            if ((local_50 != 0) && ((dt_needed *)local_50 != local_60)) {\n              if (local_60 != (dt_needed *)0x1) {\n                pbVar21 = local_4c;\n              }\n              pcVar13 = (char *)dcgettext(0,\n                                          "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                          ,5);\n              einfo(pcVar13,pbVar21);\n              break;\n            }\n            local_50 = (int)local_60;\n            if (local_4c != (bfd *)0x0) goto LAB_00039697;\n            if (local_60 != (dt_needed *)0x2) {\n              if ((link_info._2_2_ & 0xc000) == 0) {\n                local_50 = 1;\n              }\n              else {\n                local_50 = 1;\n                bVar3 = true;\n                if (pbVar21->xvec->flavour == bfd_target_elf_flavour) {\n                  local_4c = pbVar21;\n                }\n              }\n              goto LAB_000395d0;\n            }\n            bVar3 = true;\n            if (pbVar21->xvec->flavour == bfd_target_elf_flavour) {\n              local_4c = pbVar21;\n            }\n          }\n          pbVar21 = (pbVar21->link).next;\n          local_50 = 2;\n          link_info._2_2_ = link_info._2_2_ & 0x3fff | 0x8000;\n        } while (pbVar21 != (bfd *)0x0);\nLAB_000396cd:\n        if ((local_4c == (bfd *)0x0) ||\n           (bVar18 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)((int)local_4c->xvec->backend_data + 0x20) | 8),\n           bVar18 == bfd_link_generic_hash_table)) {\n          if (bVar3) {\n            pcVar13 = (char *)dcgettext(0,\n                                        "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                                        ,5);\n            einfo(pcVar13);\n          }\n        }\n        else {\n          *(undefined4 *)(bVar18 + 0x40) = 2;\n          pbVar5[3].type = bVar18;\n        }\n      }" if (parenthesized_expression "(((link_info._4_1_ & 0x20) == 0) && (link_info.input_bfds != (bfd *)0x0))" ( (binary_expression "((link_info._4_1_ & 0x20) == 0) && (link_info.input_bfds != (bfd *)0x0)" (parenthesized_expression "((link_info._4_1_ & 0x20) == 0)" ( (binary_expression "(link_info._4_1_ & 0x20) == 0" (parenthesized_expression "(link_info._4_1_ & 0x20)" ( (binary_expression "link_info._4_1_ & 0x20" (field_expression "link_info._4_1_" identifier . field_identifier) & number_literal) )) == number_literal) )) && (parenthesized_expression "(link_info.input_bfds != (bfd *)0x0)" ( (binary_expression "link_info.input_bfds != (bfd *)0x0" (field_expression "link_info.input_bfds" identifier . field_identifier) != (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n        local_50 = 0;\n        bVar3 = false;\n        local_4c = (bfd *)0x0;\n        pbVar21 = link_info.input_bfds;\n        do {\n          while ((*(byte *)((int)pbVar21->usrdata + 0x24) & 0x10) != 0) {\nLAB_000395d0:\n            pbVar21 = (pbVar21->link).next;\n            if (pbVar21 == (bfd *)0x0) goto LAB_000396cd;\n          }\n          pbVar20 = pbVar21->sections;\n          if (pbVar20 == (bfd_section *)0x0) {\nLAB_00039697:\n            if (local_50 != 2) goto LAB_000395d0;\n          }\n          else {\n            local_60 = (dt_needed *)0x0;\n            do {\n              bVar26 = pbVar20->output_section <\n                       (bfd_section *)(PTR__bfd_std_section_00090fc4 + 0x150);\n              bVar27 = pbVar20->output_section ==\n                       (bfd_section *)(PTR__bfd_std_section_00090fc4 + 0x150);\n              pdVar6 = local_60;\n              if (!bVar27) {\n                iVar11 = 0xf;\n                pbVar23 = (byte *)pbVar20->name;\n                pbVar24 = (byte *)".eh_frame_entry";\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar26 = *pbVar23 < *pbVar24;\n                  bVar27 = *pbVar23 == *pbVar24;\n                  pbVar23 = pbVar23 + (uint)bVar28 * -2 + 1;\n                  pbVar24 = pbVar24 + (uint)bVar28 * -2 + 1;\n                } while (bVar27);\n                bVar25 = false;\n                bVar26 = (!bVar26 && !bVar27) == bVar26;\n                if (bVar26) {\n                  local_60 = (dt_needed *)0x2;\n                  goto LAB_0003966f;\n                }\n                iVar11 = 10;\n                pbVar23 = (byte *)pbVar20->name;\n                pbVar24 = (byte *)".eh_frame";\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar25 = *pbVar23 < *pbVar24;\n                  bVar26 = *pbVar23 == *pbVar24;\n                  pbVar23 = pbVar23 + (uint)bVar28 * -2 + 1;\n                  pbVar24 = pbVar24 + (uint)bVar28 * -2 + 1;\n                } while (bVar26);\n                if (((!bVar25 && !bVar26) == bVar25) && (pdVar6 = (dt_needed *)1, pbVar20->size < 9)\n                   ) {\n                  pdVar6 = local_60;\n                }\n              }\n              local_60 = pdVar6;\n              pbVar20 = pbVar20->next;\n            } while (pbVar20 != (bfd_section *)0x0);\n            if (local_60 == (dt_needed *)0x0) goto LAB_00039697;\nLAB_0003966f:\n            if ((local_50 != 0) && ((dt_needed *)local_50 != local_60)) {\n              if (local_60 != (dt_needed *)0x1) {\n                pbVar21 = local_4c;\n              }\n              pcVar13 = (char *)dcgettext(0,\n                                          "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                          ,5);\n              einfo(pcVar13,pbVar21);\n              break;\n            }\n            local_50 = (int)local_60;\n            if (local_4c != (bfd *)0x0) goto LAB_00039697;\n            if (local_60 != (dt_needed *)0x2) {\n              if ((link_info._2_2_ & 0xc000) == 0) {\n                local_50 = 1;\n              }\n              else {\n                local_50 = 1;\n                bVar3 = true;\n                if (pbVar21->xvec->flavour == bfd_target_elf_flavour) {\n                  local_4c = pbVar21;\n                }\n              }\n              goto LAB_000395d0;\n            }\n            bVar3 = true;\n            if (pbVar21->xvec->flavour == bfd_target_elf_flavour) {\n              local_4c = pbVar21;\n            }\n          }\n          pbVar21 = (pbVar21->link).next;\n          local_50 = 2;\n          link_info._2_2_ = link_info._2_2_ & 0x3fff | 0x8000;\n        } while (pbVar21 != (bfd *)0x0);\nLAB_000396cd:\n        if ((local_4c == (bfd *)0x0) ||\n           (bVar18 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)((int)local_4c->xvec->backend_data + 0x20) | 8),\n           bVar18 == bfd_link_generic_hash_table)) {\n          if (bVar3) {\n            pcVar13 = (char *)dcgettext(0,\n                                        "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                                        ,5);\n            einfo(pcVar13);\n          }\n        }\n        else {\n          *(undefined4 *)(bVar18 + 0x40) = 2;\n          pbVar5[3].type = bVar18;\n        }\n      }" { (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" identifier = number_literal) ;) (expression_statement "bVar3 = false;" (assignment_expression "bVar3 = false" identifier = false) ;) (expression_statement "local_4c = (bfd *)0x0;" (assignment_expression "local_4c = (bfd *)0x0" identifier = (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar21 = link_info.input_bfds;" (assignment_expression "pbVar21 = link_info.input_bfds" identifier = (field_expression "link_info.input_bfds" identifier . field_identifier)) ;) (do_statement "do {\n          while ((*(byte *)((int)pbVar21->usrdata + 0x24) & 0x10) != 0) {\nLAB_000395d0:\n            pbVar21 = (pbVar21->link).next;\n            if (pbVar21 == (bfd *)0x0) goto LAB_000396cd;\n          }\n          pbVar20 = pbVar21->sections;\n          if (pbVar20 == (bfd_section *)0x0) {\nLAB_00039697:\n            if (local_50 != 2) goto LAB_000395d0;\n          }\n          else {\n            local_60 = (dt_needed *)0x0;\n            do {\n              bVar26 = pbVar20->output_section <\n                       (bfd_section *)(PTR__bfd_std_section_00090fc4 + 0x150);\n              bVar27 = pbVar20->output_section ==\n                       (bfd_section *)(PTR__bfd_std_section_00090fc4 + 0x150);\n              pdVar6 = local_60;\n              if (!bVar27) {\n                iVar11 = 0xf;\n                pbVar23 = (byte *)pbVar20->name;\n                pbVar24 = (byte *)".eh_frame_entry";\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar26 = *pbVar23 < *pbVar24;\n                  bVar27 = *pbVar23 == *pbVar24;\n                  pbVar23 = pbVar23 + (uint)bVar28 * -2 + 1;\n                  pbVar24 = pbVar24 + (uint)bVar28 * -2 + 1;\n                } while (bVar27);\n                bVar25 = false;\n                bVar26 = (!bVar26 && !bVar27) == bVar26;\n                if (bVar26) {\n                  local_60 = (dt_needed *)0x2;\n                  goto LAB_0003966f;\n                }\n                iVar11 = 10;\n                pbVar23 = (byte *)pbVar20->name;\n                pbVar24 = (byte *)".eh_frame";\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar25 = *pbVar23 < *pbVar24;\n                  bVar26 = *pbVar23 == *pbVar24;\n                  pbVar23 = pbVar23 + (uint)bVar28 * -2 + 1;\n                  pbVar24 = pbVar24 + (uint)bVar28 * -2 + 1;\n                } while (bVar26);\n                if (((!bVar25 && !bVar26) == bVar25) && (pdVar6 = (dt_needed *)1, pbVar20->size < 9)\n                   ) {\n                  pdVar6 = local_60;\n                }\n              }\n              local_60 = pdVar6;\n              pbVar20 = pbVar20->next;\n            } while (pbVar20 != (bfd_section *)0x0);\n            if (local_60 == (dt_needed *)0x0) goto LAB_00039697;\nLAB_0003966f:\n            if ((local_50 != 0) && ((dt_needed *)local_50 != local_60)) {\n              if (local_60 != (dt_needed *)0x1) {\n                pbVar21 = local_4c;\n              }\n              pcVar13 = (char *)dcgettext(0,\n                                          "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                          ,5);\n              einfo(pcVar13,pbVar21);\n              break;\n            }\n            local_50 = (int)local_60;\n            if (local_4c != (bfd *)0x0) goto LAB_00039697;\n            if (local_60 != (dt_needed *)0x2) {\n              if ((link_info._2_2_ & 0xc000) == 0) {\n                local_50 = 1;\n              }\n              else {\n                local_50 = 1;\n                bVar3 = true;\n                if (pbVar21->xvec->flavour == bfd_target_elf_flavour) {\n                  local_4c = pbVar21;\n                }\n              }\n              goto LAB_000395d0;\n            }\n            bVar3 = true;\n            if (pbVar21->xvec->flavour == bfd_target_elf_flavour) {\n              local_4c = pbVar21;\n            }\n          }\n          pbVar21 = (pbVar21->link).next;\n          local_50 = 2;\n          link_info._2_2_ = link_info._2_2_ & 0x3fff | 0x8000;\n        } while (pbVar21 != (bfd *)0x0);" do (compound_statement "{\n          while ((*(byte *)((int)pbVar21->usrdata + 0x24) & 0x10) != 0) {\nLAB_000395d0:\n            pbVar21 = (pbVar21->link).next;\n            if (pbVar21 == (bfd *)0x0) goto LAB_000396cd;\n          }\n          pbVar20 = pbVar21->sections;\n          if (pbVar20 == (bfd_section *)0x0) {\nLAB_00039697:\n            if (local_50 != 2) goto LAB_000395d0;\n          }\n          else {\n            local_60 = (dt_needed *)0x0;\n            do {\n              bVar26 = pbVar20->output_section <\n                       (bfd_section *)(PTR__bfd_std_section_00090fc4 + 0x150);\n              bVar27 = pbVar20->output_section ==\n                       (bfd_section *)(PTR__bfd_std_section_00090fc4 + 0x150);\n              pdVar6 = local_60;\n              if (!bVar27) {\n                iVar11 = 0xf;\n                pbVar23 = (byte *)pbVar20->name;\n                pbVar24 = (byte *)".eh_frame_entry";\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar26 = *pbVar23 < *pbVar24;\n                  bVar27 = *pbVar23 == *pbVar24;\n                  pbVar23 = pbVar23 + (uint)bVar28 * -2 + 1;\n                  pbVar24 = pbVar24 + (uint)bVar28 * -2 + 1;\n                } while (bVar27);\n                bVar25 = false;\n                bVar26 = (!bVar26 && !bVar27) == bVar26;\n                if (bVar26) {\n                  local_60 = (dt_needed *)0x2;\n                  goto LAB_0003966f;\n                }\n                iVar11 = 10;\n                pbVar23 = (byte *)pbVar20->name;\n                pbVar24 = (byte *)".eh_frame";\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar25 = *pbVar23 < *pbVar24;\n                  bVar26 = *pbVar23 == *pbVar24;\n                  pbVar23 = pbVar23 + (uint)bVar28 * -2 + 1;\n                  pbVar24 = pbVar24 + (uint)bVar28 * -2 + 1;\n                } while (bVar26);\n                if (((!bVar25 && !bVar26) == bVar25) && (pdVar6 = (dt_needed *)1, pbVar20->size < 9)\n                   ) {\n                  pdVar6 = local_60;\n                }\n              }\n              local_60 = pdVar6;\n              pbVar20 = pbVar20->next;\n            } while (pbVar20 != (bfd_section *)0x0);\n            if (local_60 == (dt_needed *)0x0) goto LAB_00039697;\nLAB_0003966f:\n            if ((local_50 != 0) && ((dt_needed *)local_50 != local_60)) {\n              if (local_60 != (dt_needed *)0x1) {\n                pbVar21 = local_4c;\n              }\n              pcVar13 = (char *)dcgettext(0,\n                                          "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                          ,5);\n              einfo(pcVar13,pbVar21);\n              break;\n            }\n            local_50 = (int)local_60;\n            if (local_4c != (bfd *)0x0) goto LAB_00039697;\n            if (local_60 != (dt_needed *)0x2) {\n              if ((link_info._2_2_ & 0xc000) == 0) {\n                local_50 = 1;\n              }\n              else {\n                local_50 = 1;\n                bVar3 = true;\n                if (pbVar21->xvec->flavour == bfd_target_elf_flavour) {\n                  local_4c = pbVar21;\n                }\n              }\n              goto LAB_000395d0;\n            }\n            bVar3 = true;\n            if (pbVar21->xvec->flavour == bfd_target_elf_flavour) {\n              local_4c = pbVar21;\n            }\n          }\n          pbVar21 = (pbVar21->link).next;\n          local_50 = 2;\n          link_info._2_2_ = link_info._2_2_ & 0x3fff | 0x8000;\n        }" { (while_statement "while ((*(byte *)((int)pbVar21->usrdata + 0x24) & 0x10) != 0) {\nLAB_000395d0:\n            pbVar21 = (pbVar21->link).next;\n            if (pbVar21 == (bfd *)0x0) goto LAB_000396cd;\n          }" while (parenthesized_expression "((*(byte *)((int)pbVar21->usrdata + 0x24) & 0x10) != 0)" ( (binary_expression "(*(byte *)((int)pbVar21->usrdata + 0x24) & 0x10) != 0" (parenthesized_expression "(*(byte *)((int)pbVar21->usrdata + 0x24) & 0x10)" ( (binary_expression "*(byte *)((int)pbVar21->usrdata + 0x24) & 0x10" (pointer_expression "*(byte *)((int)pbVar21->usrdata + 0x24)" * (cast_expression "(byte *)((int)pbVar21->usrdata + 0x24)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pbVar21->usrdata + 0x24)" ( (binary_expression "(int)pbVar21->usrdata + 0x24" (cast_expression "(int)pbVar21->usrdata" ( (type_descriptor "int" primitive_type) ) (field_expression "pbVar21->usrdata" identifier -> field_identifier)) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_000395d0:\n            pbVar21 = (pbVar21->link).next;\n            if (pbVar21 == (bfd *)0x0) goto LAB_000396cd;\n          }" { (labeled_statement "LAB_000395d0:\n            pbVar21 = (pbVar21->link).next;" statement_identifier : (expression_statement "pbVar21 = (pbVar21->link).next;" (assignment_expression "pbVar21 = (pbVar21->link).next" identifier = (field_expression "(pbVar21->link).next" (parenthesized_expression "(pbVar21->link)" ( (field_expression "pbVar21->link" identifier -> field_identifier) )) . field_identifier)) ;)) (if_statement "if (pbVar21 == (bfd *)0x0) goto LAB_000396cd;" if (parenthesized_expression "(pbVar21 == (bfd *)0x0)" ( (binary_expression "pbVar21 == (bfd *)0x0" identifier == (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000396cd;" goto statement_identifier ;)) })) (expression_statement "pbVar20 = pbVar21->sections;" (assignment_expression "pbVar20 = pbVar21->sections" identifier = (field_expression "pbVar21->sections" identifier -> field_identifier)) ;) (if_statement "if (pbVar20 == (bfd_section *)0x0) {\nLAB_00039697:\n            if (local_50 != 2) goto LAB_000395d0;\n          }\n          else {\n            local_60 = (dt_needed *)0x0;\n            do {\n              bVar26 = pbVar20->output_section <\n                       (bfd_section *)(PTR__bfd_std_section_00090fc4 + 0x150);\n              bVar27 = pbVar20->output_section ==\n                       (bfd_section *)(PTR__bfd_std_section_00090fc4 + 0x150);\n              pdVar6 = local_60;\n              if (!bVar27) {\n                iVar11 = 0xf;\n                pbVar23 = (byte *)pbVar20->name;\n                pbVar24 = (byte *)".eh_frame_entry";\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar26 = *pbVar23 < *pbVar24;\n                  bVar27 = *pbVar23 == *pbVar24;\n                  pbVar23 = pbVar23 + (uint)bVar28 * -2 + 1;\n                  pbVar24 = pbVar24 + (uint)bVar28 * -2 + 1;\n                } while (bVar27);\n                bVar25 = false;\n                bVar26 = (!bVar26 && !bVar27) == bVar26;\n                if (bVar26) {\n                  local_60 = (dt_needed *)0x2;\n                  goto LAB_0003966f;\n                }\n                iVar11 = 10;\n                pbVar23 = (byte *)pbVar20->name;\n                pbVar24 = (byte *)".eh_frame";\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar25 = *pbVar23 < *pbVar24;\n                  bVar26 = *pbVar23 == *pbVar24;\n                  pbVar23 = pbVar23 + (uint)bVar28 * -2 + 1;\n                  pbVar24 = pbVar24 + (uint)bVar28 * -2 + 1;\n                } while (bVar26);\n                if (((!bVar25 && !bVar26) == bVar25) && (pdVar6 = (dt_needed *)1, pbVar20->size < 9)\n                   ) {\n                  pdVar6 = local_60;\n                }\n              }\n              local_60 = pdVar6;\n              pbVar20 = pbVar20->next;\n            } while (pbVar20 != (bfd_section *)0x0);\n            if (local_60 == (dt_needed *)0x0) goto LAB_00039697;\nLAB_0003966f:\n            if ((local_50 != 0) && ((dt_needed *)local_50 != local_60)) {\n              if (local_60 != (dt_needed *)0x1) {\n                pbVar21 = local_4c;\n              }\n              pcVar13 = (char *)dcgettext(0,\n                                          "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                          ,5);\n              einfo(pcVar13,pbVar21);\n              break;\n            }\n            local_50 = (int)local_60;\n            if (local_4c != (bfd *)0x0) goto LAB_00039697;\n            if (local_60 != (dt_needed *)0x2) {\n              if ((link_info._2_2_ & 0xc000) == 0) {\n                local_50 = 1;\n              }\n              else {\n                local_50 = 1;\n                bVar3 = true;\n                if (pbVar21->xvec->flavour == bfd_target_elf_flavour) {\n                  local_4c = pbVar21;\n                }\n              }\n              goto LAB_000395d0;\n            }\n            bVar3 = true;\n            if (pbVar21->xvec->flavour == bfd_target_elf_flavour) {\n              local_4c = pbVar21;\n            }\n          }" if (parenthesized_expression "(pbVar20 == (bfd_section *)0x0)" ( (binary_expression "pbVar20 == (bfd_section *)0x0" identifier == (cast_expression "(bfd_section *)0x0" ( (type_descriptor "bfd_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00039697:\n            if (local_50 != 2) goto LAB_000395d0;\n          }" { (labeled_statement "LAB_00039697:\n            if (local_50 != 2) goto LAB_000395d0;" statement_identifier : (if_statement "if (local_50 != 2) goto LAB_000395d0;" if (parenthesized_expression "(local_50 != 2)" ( (binary_expression "local_50 != 2" identifier != number_literal) )) (goto_statement "goto LAB_000395d0;" goto statement_identifier ;))) }) (else_clause "else {\n            local_60 = (dt_needed *)0x0;\n            do {\n              bVar26 = pbVar20->output_section <\n                       (bfd_section *)(PTR__bfd_std_section_00090fc4 + 0x150);\n              bVar27 = pbVar20->output_section ==\n                       (bfd_section *)(PTR__bfd_std_section_00090fc4 + 0x150);\n              pdVar6 = local_60;\n              if (!bVar27) {\n                iVar11 = 0xf;\n                pbVar23 = (byte *)pbVar20->name;\n                pbVar24 = (byte *)".eh_frame_entry";\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar26 = *pbVar23 < *pbVar24;\n                  bVar27 = *pbVar23 == *pbVar24;\n                  pbVar23 = pbVar23 + (uint)bVar28 * -2 + 1;\n                  pbVar24 = pbVar24 + (uint)bVar28 * -2 + 1;\n                } while (bVar27);\n                bVar25 = false;\n                bVar26 = (!bVar26 && !bVar27) == bVar26;\n                if (bVar26) {\n                  local_60 = (dt_needed *)0x2;\n                  goto LAB_0003966f;\n                }\n                iVar11 = 10;\n                pbVar23 = (byte *)pbVar20->name;\n                pbVar24 = (byte *)".eh_frame";\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar25 = *pbVar23 < *pbVar24;\n                  bVar26 = *pbVar23 == *pbVar24;\n                  pbVar23 = pbVar23 + (uint)bVar28 * -2 + 1;\n                  pbVar24 = pbVar24 + (uint)bVar28 * -2 + 1;\n                } while (bVar26);\n                if (((!bVar25 && !bVar26) == bVar25) && (pdVar6 = (dt_needed *)1, pbVar20->size < 9)\n                   ) {\n                  pdVar6 = local_60;\n                }\n              }\n              local_60 = pdVar6;\n              pbVar20 = pbVar20->next;\n            } while (pbVar20 != (bfd_section *)0x0);\n            if (local_60 == (dt_needed *)0x0) goto LAB_00039697;\nLAB_0003966f:\n            if ((local_50 != 0) && ((dt_needed *)local_50 != local_60)) {\n              if (local_60 != (dt_needed *)0x1) {\n                pbVar21 = local_4c;\n              }\n              pcVar13 = (char *)dcgettext(0,\n                                          "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                          ,5);\n              einfo(pcVar13,pbVar21);\n              break;\n            }\n            local_50 = (int)local_60;\n            if (local_4c != (bfd *)0x0) goto LAB_00039697;\n            if (local_60 != (dt_needed *)0x2) {\n              if ((link_info._2_2_ & 0xc000) == 0) {\n                local_50 = 1;\n              }\n              else {\n                local_50 = 1;\n                bVar3 = true;\n                if (pbVar21->xvec->flavour == bfd_target_elf_flavour) {\n                  local_4c = pbVar21;\n                }\n              }\n              goto LAB_000395d0;\n            }\n            bVar3 = true;\n            if (pbVar21->xvec->flavour == bfd_target_elf_flavour) {\n              local_4c = pbVar21;\n            }\n          }" else (compound_statement "{\n            local_60 = (dt_needed *)0x0;\n            do {\n              bVar26 = pbVar20->output_section <\n                       (bfd_section *)(PTR__bfd_std_section_00090fc4 + 0x150);\n              bVar27 = pbVar20->output_section ==\n                       (bfd_section *)(PTR__bfd_std_section_00090fc4 + 0x150);\n              pdVar6 = local_60;\n              if (!bVar27) {\n                iVar11 = 0xf;\n                pbVar23 = (byte *)pbVar20->name;\n                pbVar24 = (byte *)".eh_frame_entry";\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar26 = *pbVar23 < *pbVar24;\n                  bVar27 = *pbVar23 == *pbVar24;\n                  pbVar23 = pbVar23 + (uint)bVar28 * -2 + 1;\n                  pbVar24 = pbVar24 + (uint)bVar28 * -2 + 1;\n                } while (bVar27);\n                bVar25 = false;\n                bVar26 = (!bVar26 && !bVar27) == bVar26;\n                if (bVar26) {\n                  local_60 = (dt_needed *)0x2;\n                  goto LAB_0003966f;\n                }\n                iVar11 = 10;\n                pbVar23 = (byte *)pbVar20->name;\n                pbVar24 = (byte *)".eh_frame";\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar25 = *pbVar23 < *pbVar24;\n                  bVar26 = *pbVar23 == *pbVar24;\n                  pbVar23 = pbVar23 + (uint)bVar28 * -2 + 1;\n                  pbVar24 = pbVar24 + (uint)bVar28 * -2 + 1;\n                } while (bVar26);\n                if (((!bVar25 && !bVar26) == bVar25) && (pdVar6 = (dt_needed *)1, pbVar20->size < 9)\n                   ) {\n                  pdVar6 = local_60;\n                }\n              }\n              local_60 = pdVar6;\n              pbVar20 = pbVar20->next;\n            } while (pbVar20 != (bfd_section *)0x0);\n            if (local_60 == (dt_needed *)0x0) goto LAB_00039697;\nLAB_0003966f:\n            if ((local_50 != 0) && ((dt_needed *)local_50 != local_60)) {\n              if (local_60 != (dt_needed *)0x1) {\n                pbVar21 = local_4c;\n              }\n              pcVar13 = (char *)dcgettext(0,\n                                          "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                          ,5);\n              einfo(pcVar13,pbVar21);\n              break;\n            }\n            local_50 = (int)local_60;\n            if (local_4c != (bfd *)0x0) goto LAB_00039697;\n            if (local_60 != (dt_needed *)0x2) {\n              if ((link_info._2_2_ & 0xc000) == 0) {\n                local_50 = 1;\n              }\n              else {\n                local_50 = 1;\n                bVar3 = true;\n                if (pbVar21->xvec->flavour == bfd_target_elf_flavour) {\n                  local_4c = pbVar21;\n                }\n              }\n              goto LAB_000395d0;\n            }\n            bVar3 = true;\n            if (pbVar21->xvec->flavour == bfd_target_elf_flavour) {\n              local_4c = pbVar21;\n            }\n          }" { (expression_statement "local_60 = (dt_needed *)0x0;" (assignment_expression "local_60 = (dt_needed *)0x0" identifier = (cast_expression "(dt_needed *)0x0" ( (type_descriptor "dt_needed *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n              bVar26 = pbVar20->output_section <\n                       (bfd_section *)(PTR__bfd_std_section_00090fc4 + 0x150);\n              bVar27 = pbVar20->output_section ==\n                       (bfd_section *)(PTR__bfd_std_section_00090fc4 + 0x150);\n              pdVar6 = local_60;\n              if (!bVar27) {\n                iVar11 = 0xf;\n                pbVar23 = (byte *)pbVar20->name;\n                pbVar24 = (byte *)".eh_frame_entry";\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar26 = *pbVar23 < *pbVar24;\n                  bVar27 = *pbVar23 == *pbVar24;\n                  pbVar23 = pbVar23 + (uint)bVar28 * -2 + 1;\n                  pbVar24 = pbVar24 + (uint)bVar28 * -2 + 1;\n                } while (bVar27);\n                bVar25 = false;\n                bVar26 = (!bVar26 && !bVar27) == bVar26;\n                if (bVar26) {\n                  local_60 = (dt_needed *)0x2;\n                  goto LAB_0003966f;\n                }\n                iVar11 = 10;\n                pbVar23 = (byte *)pbVar20->name;\n                pbVar24 = (byte *)".eh_frame";\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar25 = *pbVar23 < *pbVar24;\n                  bVar26 = *pbVar23 == *pbVar24;\n                  pbVar23 = pbVar23 + (uint)bVar28 * -2 + 1;\n                  pbVar24 = pbVar24 + (uint)bVar28 * -2 + 1;\n                } while (bVar26);\n                if (((!bVar25 && !bVar26) == bVar25) && (pdVar6 = (dt_needed *)1, pbVar20->size < 9)\n                   ) {\n                  pdVar6 = local_60;\n                }\n              }\n              local_60 = pdVar6;\n              pbVar20 = pbVar20->next;\n            } while (pbVar20 != (bfd_section *)0x0);" do (compound_statement "{\n              bVar26 = pbVar20->output_section <\n                       (bfd_section *)(PTR__bfd_std_section_00090fc4 + 0x150);\n              bVar27 = pbVar20->output_section ==\n                       (bfd_section *)(PTR__bfd_std_section_00090fc4 + 0x150);\n              pdVar6 = local_60;\n              if (!bVar27) {\n                iVar11 = 0xf;\n                pbVar23 = (byte *)pbVar20->name;\n                pbVar24 = (byte *)".eh_frame_entry";\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar26 = *pbVar23 < *pbVar24;\n                  bVar27 = *pbVar23 == *pbVar24;\n                  pbVar23 = pbVar23 + (uint)bVar28 * -2 + 1;\n                  pbVar24 = pbVar24 + (uint)bVar28 * -2 + 1;\n                } while (bVar27);\n                bVar25 = false;\n                bVar26 = (!bVar26 && !bVar27) == bVar26;\n                if (bVar26) {\n                  local_60 = (dt_needed *)0x2;\n                  goto LAB_0003966f;\n                }\n                iVar11 = 10;\n                pbVar23 = (byte *)pbVar20->name;\n                pbVar24 = (byte *)".eh_frame";\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar25 = *pbVar23 < *pbVar24;\n                  bVar26 = *pbVar23 == *pbVar24;\n                  pbVar23 = pbVar23 + (uint)bVar28 * -2 + 1;\n                  pbVar24 = pbVar24 + (uint)bVar28 * -2 + 1;\n                } while (bVar26);\n                if (((!bVar25 && !bVar26) == bVar25) && (pdVar6 = (dt_needed *)1, pbVar20->size < 9)\n                   ) {\n                  pdVar6 = local_60;\n                }\n              }\n              local_60 = pdVar6;\n              pbVar20 = pbVar20->next;\n            }" { (expression_statement "bVar26 = pbVar20->output_section <\n                       (bfd_section *)(PTR__bfd_std_section_00090fc4 + 0x150);" (assignment_expression "bVar26 = pbVar20->output_section <\n                       (bfd_section *)(PTR__bfd_std_section_00090fc4 + 0x150)" identifier = (binary_expression "pbVar20->output_section <\n                       (bfd_section *)(PTR__bfd_std_section_00090fc4 + 0x150)" (field_expression "pbVar20->output_section" identifier -> field_identifier) < (cast_expression "(bfd_section *)(PTR__bfd_std_section_00090fc4 + 0x150)" ( (type_descriptor "bfd_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR__bfd_std_section_00090fc4 + 0x150)" ( (binary_expression "PTR__bfd_std_section_00090fc4 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "bVar27 = pbVar20->output_section ==\n                       (bfd_section *)(PTR__bfd_std_section_00090fc4 + 0x150);" (assignment_expression "bVar27 = pbVar20->output_section ==\n                       (bfd_section *)(PTR__bfd_std_section_00090fc4 + 0x150)" identifier = (binary_expression "pbVar20->output_section ==\n                       (bfd_section *)(PTR__bfd_std_section_00090fc4 + 0x150)" (field_expression "pbVar20->output_section" identifier -> field_identifier) == (cast_expression "(bfd_section *)(PTR__bfd_std_section_00090fc4 + 0x150)" ( (type_descriptor "bfd_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR__bfd_std_section_00090fc4 + 0x150)" ( (binary_expression "PTR__bfd_std_section_00090fc4 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "pdVar6 = local_60;" (assignment_expression "pdVar6 = local_60" identifier = identifier) ;) (if_statement "if (!bVar27) {\n                iVar11 = 0xf;\n                pbVar23 = (byte *)pbVar20->name;\n                pbVar24 = (byte *)".eh_frame_entry";\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar26 = *pbVar23 < *pbVar24;\n                  bVar27 = *pbVar23 == *pbVar24;\n                  pbVar23 = pbVar23 + (uint)bVar28 * -2 + 1;\n                  pbVar24 = pbVar24 + (uint)bVar28 * -2 + 1;\n                } while (bVar27);\n                bVar25 = false;\n                bVar26 = (!bVar26 && !bVar27) == bVar26;\n                if (bVar26) {\n                  local_60 = (dt_needed *)0x2;\n                  goto LAB_0003966f;\n                }\n                iVar11 = 10;\n                pbVar23 = (byte *)pbVar20->name;\n                pbVar24 = (byte *)".eh_frame";\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar25 = *pbVar23 < *pbVar24;\n                  bVar26 = *pbVar23 == *pbVar24;\n                  pbVar23 = pbVar23 + (uint)bVar28 * -2 + 1;\n                  pbVar24 = pbVar24 + (uint)bVar28 * -2 + 1;\n                } while (bVar26);\n                if (((!bVar25 && !bVar26) == bVar25) && (pdVar6 = (dt_needed *)1, pbVar20->size < 9)\n                   ) {\n                  pdVar6 = local_60;\n                }\n              }" if (parenthesized_expression "(!bVar27)" ( (unary_expression "!bVar27" ! identifier) )) (compound_statement "{\n                iVar11 = 0xf;\n                pbVar23 = (byte *)pbVar20->name;\n                pbVar24 = (byte *)".eh_frame_entry";\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar26 = *pbVar23 < *pbVar24;\n                  bVar27 = *pbVar23 == *pbVar24;\n                  pbVar23 = pbVar23 + (uint)bVar28 * -2 + 1;\n                  pbVar24 = pbVar24 + (uint)bVar28 * -2 + 1;\n                } while (bVar27);\n                bVar25 = false;\n                bVar26 = (!bVar26 && !bVar27) == bVar26;\n                if (bVar26) {\n                  local_60 = (dt_needed *)0x2;\n                  goto LAB_0003966f;\n                }\n                iVar11 = 10;\n                pbVar23 = (byte *)pbVar20->name;\n                pbVar24 = (byte *)".eh_frame";\n                do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar25 = *pbVar23 < *pbVar24;\n                  bVar26 = *pbVar23 == *pbVar24;\n                  pbVar23 = pbVar23 + (uint)bVar28 * -2 + 1;\n                  pbVar24 = pbVar24 + (uint)bVar28 * -2 + 1;\n                } while (bVar26);\n                if (((!bVar25 && !bVar26) == bVar25) && (pdVar6 = (dt_needed *)1, pbVar20->size < 9)\n                   ) {\n                  pdVar6 = local_60;\n                }\n              }" { (expression_statement "iVar11 = 0xf;" (assignment_expression "iVar11 = 0xf" identifier = number_literal) ;) (expression_statement "pbVar23 = (byte *)pbVar20->name;" (assignment_expression "pbVar23 = (byte *)pbVar20->name" identifier = (cast_expression "(byte *)pbVar20->name" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pbVar20->name" identifier -> field_identifier))) ;) (expression_statement "pbVar24 = (byte *)".eh_frame_entry";" (assignment_expression "pbVar24 = (byte *)".eh_frame_entry"" identifier = (cast_expression "(byte *)".eh_frame_entry"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".eh_frame_entry"" " string_content "))) ;) (do_statement "do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar26 = *pbVar23 < *pbVar24;\n                  bVar27 = *pbVar23 == *pbVar24;\n                  pbVar23 = pbVar23 + (uint)bVar28 * -2 + 1;\n                  pbVar24 = pbVar24 + (uint)bVar28 * -2 + 1;\n                } while (bVar27);" do (compound_statement "{\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar26 = *pbVar23 < *pbVar24;\n                  bVar27 = *pbVar23 == *pbVar24;\n                  pbVar23 = pbVar23 + (uint)bVar28 * -2 + 1;\n                  pbVar24 = pbVar24 + (uint)bVar28 * -2 + 1;\n                }" { (if_statement "if (iVar11 == 0) break;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar11 = iVar11 + -1;" (assignment_expression "iVar11 = iVar11 + -1" identifier = (binary_expression "iVar11 + -1" identifier + number_literal)) ;) (expression_statement "bVar26 = *pbVar23 < *pbVar24;" (assignment_expression "bVar26 = *pbVar23 < *pbVar24" identifier = (binary_expression "*pbVar23 < *pbVar24" (pointer_expression "*pbVar23" * identifier) < (pointer_expression "*pbVar24" * identifier))) ;) (expression_statement "bVar27 = *pbVar23 == *pbVar24;" (assignment_expression "bVar27 = *pbVar23 == *pbVar24" identifier = (binary_expression "*pbVar23 == *pbVar24" (pointer_expression "*pbVar23" * identifier) == (pointer_expression "*pbVar24" * identifier))) ;) (expression_statement "pbVar23 = pbVar23 + (uint)bVar28 * -2 + 1;" (assignment_expression "pbVar23 = pbVar23 + (uint)bVar28 * -2 + 1" identifier = (binary_expression "pbVar23 + (uint)bVar28 * -2 + 1" (binary_expression "pbVar23 + (uint)bVar28 * -2" identifier + (binary_expression "(uint)bVar28 * -2" (cast_expression "(uint)bVar28" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar24 = pbVar24 + (uint)bVar28 * -2 + 1;" (assignment_expression "pbVar24 = pbVar24 + (uint)bVar28 * -2 + 1" identifier = (binary_expression "pbVar24 + (uint)bVar28 * -2 + 1" (binary_expression "pbVar24 + (uint)bVar28 * -2" identifier + (binary_expression "(uint)bVar28 * -2" (cast_expression "(uint)bVar28" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar27)" ( identifier )) ;) (expression_statement "bVar25 = false;" (assignment_expression "bVar25 = false" identifier = false) ;) (expression_statement "bVar26 = (!bVar26 && !bVar27) == bVar26;" (assignment_expression "bVar26 = (!bVar26 && !bVar27) == bVar26" identifier = (binary_expression "(!bVar26 && !bVar27) == bVar26" (parenthesized_expression "(!bVar26 && !bVar27)" ( (binary_expression "!bVar26 && !bVar27" (unary_expression "!bVar26" ! identifier) && (unary_expression "!bVar27" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar26) {\n                  local_60 = (dt_needed *)0x2;\n                  goto LAB_0003966f;\n                }" if (parenthesized_expression "(bVar26)" ( identifier )) (compound_statement "{\n                  local_60 = (dt_needed *)0x2;\n                  goto LAB_0003966f;\n                }" { (expression_statement "local_60 = (dt_needed *)0x2;" (assignment_expression "local_60 = (dt_needed *)0x2" identifier = (cast_expression "(dt_needed *)0x2" ( (type_descriptor "dt_needed *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_0003966f;" goto statement_identifier ;) })) (expression_statement "iVar11 = 10;" (assignment_expression "iVar11 = 10" identifier = number_literal) ;) (expression_statement "pbVar23 = (byte *)pbVar20->name;" (assignment_expression "pbVar23 = (byte *)pbVar20->name" identifier = (cast_expression "(byte *)pbVar20->name" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pbVar20->name" identifier -> field_identifier))) ;) (expression_statement "pbVar24 = (byte *)".eh_frame";" (assignment_expression "pbVar24 = (byte *)".eh_frame"" identifier = (cast_expression "(byte *)".eh_frame"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".eh_frame"" " string_content "))) ;) (do_statement "do {\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar25 = *pbVar23 < *pbVar24;\n                  bVar26 = *pbVar23 == *pbVar24;\n                  pbVar23 = pbVar23 + (uint)bVar28 * -2 + 1;\n                  pbVar24 = pbVar24 + (uint)bVar28 * -2 + 1;\n                } while (bVar26);" do (compound_statement "{\n                  if (iVar11 == 0) break;\n                  iVar11 = iVar11 + -1;\n                  bVar25 = *pbVar23 < *pbVar24;\n                  bVar26 = *pbVar23 == *pbVar24;\n                  pbVar23 = pbVar23 + (uint)bVar28 * -2 + 1;\n                  pbVar24 = pbVar24 + (uint)bVar28 * -2 + 1;\n                }" { (if_statement "if (iVar11 == 0) break;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar11 = iVar11 + -1;" (assignment_expression "iVar11 = iVar11 + -1" identifier = (binary_expression "iVar11 + -1" identifier + number_literal)) ;) (expression_statement "bVar25 = *pbVar23 < *pbVar24;" (assignment_expression "bVar25 = *pbVar23 < *pbVar24" identifier = (binary_expression "*pbVar23 < *pbVar24" (pointer_expression "*pbVar23" * identifier) < (pointer_expression "*pbVar24" * identifier))) ;) (expression_statement "bVar26 = *pbVar23 == *pbVar24;" (assignment_expression "bVar26 = *pbVar23 == *pbVar24" identifier = (binary_expression "*pbVar23 == *pbVar24" (pointer_expression "*pbVar23" * identifier) == (pointer_expression "*pbVar24" * identifier))) ;) (expression_statement "pbVar23 = pbVar23 + (uint)bVar28 * -2 + 1;" (assignment_expression "pbVar23 = pbVar23 + (uint)bVar28 * -2 + 1" identifier = (binary_expression "pbVar23 + (uint)bVar28 * -2 + 1" (binary_expression "pbVar23 + (uint)bVar28 * -2" identifier + (binary_expression "(uint)bVar28 * -2" (cast_expression "(uint)bVar28" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar24 = pbVar24 + (uint)bVar28 * -2 + 1;" (assignment_expression "pbVar24 = pbVar24 + (uint)bVar28 * -2 + 1" identifier = (binary_expression "pbVar24 + (uint)bVar28 * -2 + 1" (binary_expression "pbVar24 + (uint)bVar28 * -2" identifier + (binary_expression "(uint)bVar28 * -2" (cast_expression "(uint)bVar28" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar26)" ( identifier )) ;) (if_statement "if (((!bVar25 && !bVar26) == bVar25) && (pdVar6 = (dt_needed *)1, pbVar20->size < 9)\n                   ) {\n                  pdVar6 = local_60;\n                }" if (parenthesized_expression "(((!bVar25 && !bVar26) == bVar25) && (pdVar6 = (dt_needed *)1, pbVar20->size < 9)\n                   )" ( (binary_expression "((!bVar25 && !bVar26) == bVar25) && (pdVar6 = (dt_needed *)1, pbVar20->size < 9)" (parenthesized_expression "((!bVar25 && !bVar26) == bVar25)" ( (binary_expression "(!bVar25 && !bVar26) == bVar25" (parenthesized_expression "(!bVar25 && !bVar26)" ( (binary_expression "!bVar25 && !bVar26" (unary_expression "!bVar25" ! identifier) && (unary_expression "!bVar26" ! identifier)) )) == identifier) )) && (parenthesized_expression "(pdVar6 = (dt_needed *)1, pbVar20->size < 9)" ( (comma_expression "pdVar6 = (dt_needed *)1, pbVar20->size < 9" (assignment_expression "pdVar6 = (dt_needed *)1" identifier = (cast_expression "(dt_needed *)1" ( (type_descriptor "dt_needed *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) , (binary_expression "pbVar20->size < 9" (field_expression "pbVar20->size" identifier -> field_identifier) < number_literal)) ))) )) (compound_statement "{\n                  pdVar6 = local_60;\n                }" { (expression_statement "pdVar6 = local_60;" (assignment_expression "pdVar6 = local_60" identifier = identifier) ;) })) })) (expression_statement "local_60 = pdVar6;" (assignment_expression "local_60 = pdVar6" identifier = identifier) ;) (expression_statement "pbVar20 = pbVar20->next;" (assignment_expression "pbVar20 = pbVar20->next" identifier = (field_expression "pbVar20->next" identifier -> field_identifier)) ;) }) while (parenthesized_expression "(pbVar20 != (bfd_section *)0x0)" ( (binary_expression "pbVar20 != (bfd_section *)0x0" identifier != (cast_expression "(bfd_section *)0x0" ( (type_descriptor "bfd_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (if_statement "if (local_60 == (dt_needed *)0x0) goto LAB_00039697;" if (parenthesized_expression "(local_60 == (dt_needed *)0x0)" ( (binary_expression "local_60 == (dt_needed *)0x0" identifier == (cast_expression "(dt_needed *)0x0" ( (type_descriptor "dt_needed *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00039697;" goto statement_identifier ;)) (labeled_statement "LAB_0003966f:\n            if ((local_50 != 0) && ((dt_needed *)local_50 != local_60)) {\n              if (local_60 != (dt_needed *)0x1) {\n                pbVar21 = local_4c;\n              }\n              pcVar13 = (char *)dcgettext(0,\n                                          "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                          ,5);\n              einfo(pcVar13,pbVar21);\n              break;\n            }" statement_identifier : (if_statement "if ((local_50 != 0) && ((dt_needed *)local_50 != local_60)) {\n              if (local_60 != (dt_needed *)0x1) {\n                pbVar21 = local_4c;\n              }\n              pcVar13 = (char *)dcgettext(0,\n                                          "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                          ,5);\n              einfo(pcVar13,pbVar21);\n              break;\n            }" if (parenthesized_expression "((local_50 != 0) && ((dt_needed *)local_50 != local_60))" ( (binary_expression "(local_50 != 0) && ((dt_needed *)local_50 != local_60)" (parenthesized_expression "(local_50 != 0)" ( (binary_expression "local_50 != 0" identifier != number_literal) )) && (parenthesized_expression "((dt_needed *)local_50 != local_60)" ( (binary_expression "(dt_needed *)local_50 != local_60" (cast_expression "(dt_needed *)local_50" ( (type_descriptor "dt_needed *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) != identifier) ))) )) (compound_statement "{\n              if (local_60 != (dt_needed *)0x1) {\n                pbVar21 = local_4c;\n              }\n              pcVar13 = (char *)dcgettext(0,\n                                          "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                          ,5);\n              einfo(pcVar13,pbVar21);\n              break;\n            }" { (if_statement "if (local_60 != (dt_needed *)0x1) {\n                pbVar21 = local_4c;\n              }" if (parenthesized_expression "(local_60 != (dt_needed *)0x1)" ( (binary_expression "local_60 != (dt_needed *)0x1" identifier != (cast_expression "(dt_needed *)0x1" ( (type_descriptor "dt_needed *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                pbVar21 = local_4c;\n              }" { (expression_statement "pbVar21 = local_4c;" (assignment_expression "pbVar21 = local_4c" identifier = identifier) ;) })) (expression_statement "pcVar13 = (char *)dcgettext(0,\n                                          "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                          ,5);" (assignment_expression "pcVar13 = (char *)dcgettext(0,\n                                          "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                          ,5)" identifier = (cast_expression "(char *)dcgettext(0,\n                                          "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                          ,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,\n                                          "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                          ,5)" identifier (argument_list "(0,\n                                          "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                          ,5)" ( number_literal , (string_literal ""%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "einfo(pcVar13,pbVar21);" (call_expression "einfo(pcVar13,pbVar21)" identifier (argument_list "(pcVar13,pbVar21)" ( identifier , identifier ))) ;) (break_statement "break;" break ;) }))) (expression_statement "local_50 = (int)local_60;" (assignment_expression "local_50 = (int)local_60" identifier = (cast_expression "(int)local_60" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (local_4c != (bfd *)0x0) goto LAB_00039697;" if (parenthesized_expression "(local_4c != (bfd *)0x0)" ( (binary_expression "local_4c != (bfd *)0x0" identifier != (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00039697;" goto statement_identifier ;)) (if_statement "if (local_60 != (dt_needed *)0x2) {\n              if ((link_info._2_2_ & 0xc000) == 0) {\n                local_50 = 1;\n              }\n              else {\n                local_50 = 1;\n                bVar3 = true;\n                if (pbVar21->xvec->flavour == bfd_target_elf_flavour) {\n                  local_4c = pbVar21;\n                }\n              }\n              goto LAB_000395d0;\n            }" if (parenthesized_expression "(local_60 != (dt_needed *)0x2)" ( (binary_expression "local_60 != (dt_needed *)0x2" identifier != (cast_expression "(dt_needed *)0x2" ( (type_descriptor "dt_needed *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              if ((link_info._2_2_ & 0xc000) == 0) {\n                local_50 = 1;\n              }\n              else {\n                local_50 = 1;\n                bVar3 = true;\n                if (pbVar21->xvec->flavour == bfd_target_elf_flavour) {\n                  local_4c = pbVar21;\n                }\n              }\n              goto LAB_000395d0;\n            }" { (if_statement "if ((link_info._2_2_ & 0xc000) == 0) {\n                local_50 = 1;\n              }\n              else {\n                local_50 = 1;\n                bVar3 = true;\n                if (pbVar21->xvec->flavour == bfd_target_elf_flavour) {\n                  local_4c = pbVar21;\n                }\n              }" if (parenthesized_expression "((link_info._2_2_ & 0xc000) == 0)" ( (binary_expression "(link_info._2_2_ & 0xc000) == 0" (parenthesized_expression "(link_info._2_2_ & 0xc000)" ( (binary_expression "link_info._2_2_ & 0xc000" (field_expression "link_info._2_2_" identifier . field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n                local_50 = 1;\n              }" { (expression_statement "local_50 = 1;" (assignment_expression "local_50 = 1" identifier = number_literal) ;) }) (else_clause "else {\n                local_50 = 1;\n                bVar3 = true;\n                if (pbVar21->xvec->flavour == bfd_target_elf_flavour) {\n                  local_4c = pbVar21;\n                }\n              }" else (compound_statement "{\n                local_50 = 1;\n                bVar3 = true;\n                if (pbVar21->xvec->flavour == bfd_target_elf_flavour) {\n                  local_4c = pbVar21;\n                }\n              }" { (expression_statement "local_50 = 1;" (assignment_expression "local_50 = 1" identifier = number_literal) ;) (expression_statement "bVar3 = true;" (assignment_expression "bVar3 = true" identifier = true) ;) (if_statement "if (pbVar21->xvec->flavour == bfd_target_elf_flavour) {\n                  local_4c = pbVar21;\n                }" if (parenthesized_expression "(pbVar21->xvec->flavour == bfd_target_elf_flavour)" ( (binary_expression "pbVar21->xvec->flavour == bfd_target_elf_flavour" (field_expression "pbVar21->xvec->flavour" (field_expression "pbVar21->xvec" identifier -> field_identifier) -> field_identifier) == identifier) )) (compound_statement "{\n                  local_4c = pbVar21;\n                }" { (expression_statement "local_4c = pbVar21;" (assignment_expression "local_4c = pbVar21" identifier = identifier) ;) })) }))) (goto_statement "goto LAB_000395d0;" goto statement_identifier ;) })) (expression_statement "bVar3 = true;" (assignment_expression "bVar3 = true" identifier = true) ;) (if_statement "if (pbVar21->xvec->flavour == bfd_target_elf_flavour) {\n              local_4c = pbVar21;\n            }" if (parenthesized_expression "(pbVar21->xvec->flavour == bfd_target_elf_flavour)" ( (binary_expression "pbVar21->xvec->flavour == bfd_target_elf_flavour" (field_expression "pbVar21->xvec->flavour" (field_expression "pbVar21->xvec" identifier -> field_identifier) -> field_identifier) == identifier) )) (compound_statement "{\n              local_4c = pbVar21;\n            }" { (expression_statement "local_4c = pbVar21;" (assignment_expression "local_4c = pbVar21" identifier = identifier) ;) })) }))) (expression_statement "pbVar21 = (pbVar21->link).next;" (assignment_expression "pbVar21 = (pbVar21->link).next" identifier = (field_expression "(pbVar21->link).next" (parenthesized_expression "(pbVar21->link)" ( (field_expression "pbVar21->link" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "local_50 = 2;" (assignment_expression "local_50 = 2" identifier = number_literal) ;) (expression_statement "link_info._2_2_ = link_info._2_2_ & 0x3fff | 0x8000;" (assignment_expression "link_info._2_2_ = link_info._2_2_ & 0x3fff | 0x8000" (field_expression "link_info._2_2_" identifier . field_identifier) = (binary_expression "link_info._2_2_ & 0x3fff | 0x8000" (binary_expression "link_info._2_2_ & 0x3fff" (field_expression "link_info._2_2_" identifier . field_identifier) & number_literal) | number_literal)) ;) }) while (parenthesized_expression "(pbVar21 != (bfd *)0x0)" ( (binary_expression "pbVar21 != (bfd *)0x0" identifier != (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (labeled_statement "LAB_000396cd:\n        if ((local_4c == (bfd *)0x0) ||\n           (bVar18 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)((int)local_4c->xvec->backend_data + 0x20) | 8),\n           bVar18 == bfd_link_generic_hash_table)) {\n          if (bVar3) {\n            pcVar13 = (char *)dcgettext(0,\n                                        "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                                        ,5);\n            einfo(pcVar13);\n          }\n        }\n        else {\n          *(undefined4 *)(bVar18 + 0x40) = 2;\n          pbVar5[3].type = bVar18;\n        }" statement_identifier : (if_statement "if ((local_4c == (bfd *)0x0) ||\n           (bVar18 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)((int)local_4c->xvec->backend_data + 0x20) | 8),\n           bVar18 == bfd_link_generic_hash_table)) {\n          if (bVar3) {\n            pcVar13 = (char *)dcgettext(0,\n                                        "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                                        ,5);\n            einfo(pcVar13);\n          }\n        }\n        else {\n          *(undefined4 *)(bVar18 + 0x40) = 2;\n          pbVar5[3].type = bVar18;\n        }" if (parenthesized_expression "((local_4c == (bfd *)0x0) ||\n           (bVar18 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)((int)local_4c->xvec->backend_data + 0x20) | 8),\n           bVar18 == bfd_link_generic_hash_table))" ( (binary_expression "(local_4c == (bfd *)0x0) ||\n           (bVar18 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)((int)local_4c->xvec->backend_data + 0x20) | 8),\n           bVar18 == bfd_link_generic_hash_table)" (parenthesized_expression "(local_4c == (bfd *)0x0)" ( (binary_expression "local_4c == (bfd *)0x0" identifier == (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(bVar18 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)((int)local_4c->xvec->backend_data + 0x20) | 8),\n           bVar18 == bfd_link_generic_hash_table)" ( (comma_expression "bVar18 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)((int)local_4c->xvec->backend_data + 0x20) | 8),\n           bVar18 == bfd_link_generic_hash_table" (assignment_expression "bVar18 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)((int)local_4c->xvec->backend_data + 0x20) | 8)" identifier = (call_expression "bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)((int)local_4c->xvec->backend_data + 0x20) | 8)" identifier (argument_list "(local_4c,".eh_frame_hdr",\n                                *(uint *)((int)local_4c->xvec->backend_data + 0x20) | 8)" ( identifier , (string_literal "".eh_frame_hdr"" " string_content ") , (binary_expression "*(uint *)((int)local_4c->xvec->backend_data + 0x20) | 8" (pointer_expression "*(uint *)((int)local_4c->xvec->backend_data + 0x20)" * (cast_expression "(uint *)((int)local_4c->xvec->backend_data + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_4c->xvec->backend_data + 0x20)" ( (binary_expression "(int)local_4c->xvec->backend_data + 0x20" (cast_expression "(int)local_4c->xvec->backend_data" ( (type_descriptor "int" primitive_type) ) (field_expression "local_4c->xvec->backend_data" (field_expression "local_4c->xvec" identifier -> field_identifier) -> field_identifier)) + number_literal) )))) | number_literal) )))) , (binary_expression "bVar18 == bfd_link_generic_hash_table" identifier == identifier)) ))) )) (compound_statement "{\n          if (bVar3) {\n            pcVar13 = (char *)dcgettext(0,\n                                        "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                                        ,5);\n            einfo(pcVar13);\n          }\n        }" { (if_statement "if (bVar3) {\n            pcVar13 = (char *)dcgettext(0,\n                                        "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                                        ,5);\n            einfo(pcVar13);\n          }" if (parenthesized_expression "(bVar3)" ( identifier )) (compound_statement "{\n            pcVar13 = (char *)dcgettext(0,\n                                        "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                                        ,5);\n            einfo(pcVar13);\n          }" { (expression_statement "pcVar13 = (char *)dcgettext(0,\n                                        "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                                        ,5);" (assignment_expression "pcVar13 = (char *)dcgettext(0,\n                                        "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                                        ,5)" identifier = (cast_expression "(char *)dcgettext(0,\n                                        "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                                        ,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,\n                                        "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                                        ,5)" identifier (argument_list "(0,\n                                        "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                                        ,5)" ( number_literal , (string_literal ""%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "einfo(pcVar13);" (call_expression "einfo(pcVar13)" identifier (argument_list "(pcVar13)" ( identifier ))) ;) })) }) (else_clause "else {\n          *(undefined4 *)(bVar18 + 0x40) = 2;\n          pbVar5[3].type = bVar18;\n        }" else (compound_statement "{\n          *(undefined4 *)(bVar18 + 0x40) = 2;\n          pbVar5[3].type = bVar18;\n        }" { (expression_statement "*(undefined4 *)(bVar18 + 0x40) = 2;" (assignment_expression "*(undefined4 *)(bVar18 + 0x40) = 2" (pointer_expression "*(undefined4 *)(bVar18 + 0x40)" * (cast_expression "(undefined4 *)(bVar18 + 0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(bVar18 + 0x40)" ( (binary_expression "bVar18 + 0x40" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pbVar5[3].type = bVar18;" (assignment_expression "pbVar5[3].type = bVar18" (field_expression "pbVar5[3].type" (subscript_expression "pbVar5[3]" identifier [ number_literal ]) . field_identifier) = identifier) ;) })))) })) (expression_statement "pbVar9 = (bfd_link_needed_list *)bfd_elf_get_needed_list(link_info.output_bfd,&link_info);" (assignment_expression "pbVar9 = (bfd_link_needed_list *)bfd_elf_get_needed_list(link_info.output_bfd,&link_info)" identifier = (cast_expression "(bfd_link_needed_list *)bfd_elf_get_needed_list(link_info.output_bfd,&link_info)" ( (type_descriptor "bfd_link_needed_list *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "bfd_elf_get_needed_list(link_info.output_bfd,&link_info)" identifier (argument_list "(link_info.output_bfd,&link_info)" ( (field_expression "link_info.output_bfd" identifier . field_identifier) , (pointer_expression "&link_info" & identifier) ))))) ;) (for_statement "for (pbVar2 = pbVar9; pbVar2 != (bfd_link_needed_list *)0x0; pbVar2 = pbVar2->next) {\n        pbVar4 = pbVar9;\n        if ((pbVar2->by == (bfd *)0x0) ||\n           ((uVar10 = bfd_elf_get_dyn_lib_class(pbVar2->by), (uVar10 & 1) == 0 &&\n            (((pbVar2->by == (bfd *)0x0 || ((link_info._2_2_ & 0x180) != 0x80)) ||\n             (uVar10 = bfd_elf_get_dyn_lib_class(pbVar2->by), (uVar10 & 4) == 0)))))) {\n          for (; pbVar4 != pbVar2; pbVar4 = pbVar4->next) {\n            if (((pbVar4->by == (bfd *)0x0) ||\n                (uVar10 = bfd_elf_get_dyn_lib_class(pbVar4->by), (uVar10 & 1) == 0)) &&\n               (iVar11 = strcmp(pbVar4->name,pbVar2->name), iVar11 == 0)) {\n              if (pbVar2 != pbVar4) goto LAB_00039300;\n              break;\n            }\n          }\n          real_func = gldhppalinux_check_needed;\n          global_found = (lang_input_statement_type *)0x0;\n          global_needed = pbVar2;\n          lang_for_each_input_file(hppa_for_each_input_file_wrapper);\n          if ((global_found == (lang_input_statement_type *)0x0) ||\n             (uVar10 = bfd_elf_get_dyn_lib_class(global_found->the_bfd), (uVar10 & 1) != 0)) {\n            pbVar21 = pbVar2->by;\n            pcVar13 = pbVar2->name;\n            n.by = pbVar21;\n            n.name = pcVar13;\n            nn.by = pbVar21;\n            if (verbose != 0) {\n              pcVar17 = (char *)dcgettext(0,"%s needed by %pB\n",5);\n              info_msg(pcVar17,pcVar13,pbVar21);\n            }\n            if (global_found != (lang_input_statement_type *)0x0) {\n              nn.name = global_found->filename;\n              bVar12 = gldhppalinux_try_needed(&nn,(int)nn.name,(dt_needed *)0x1);\n              if (bVar12 != 0) goto LAB_00039300;\n            }\n            local_60 = (dt_needed *)0x0;\n            while (bVar12 = gldhppalinux_search_needed(command_line.rpath_link,&n,(int)local_60),\n                  bVar12 == 0) {\n              if (command_line.rpath != (char *)0x0) {\n                pcVar13 = gldhppalinux_add_sysroot(command_line.rpath);\n                bVar12 = gldhppalinux_search_needed(pcVar13,&n,(int)local_60);\n                free(pcVar13);\n                if (bVar12 != 0) break;\n              }\n              piVar14 = (int *)bfd_elf_get_runpath_list(link_info.output_bfd,&link_info);\n              if (piVar14 != (int *)0x0) {\n                do {\n                  bVar26 = true;\n                  pcVar13 = gldhppalinux_add_sysroot((char *)piVar14[2]);\n                  bVar3 = false;\n                  if ((bfd *)piVar14[1] == pbVar2->by) {\n                    bVar12 = gldhppalinux_search_needed(pcVar13,&n,(int)local_60);\n                    bVar26 = bVar12 == 0;\n                    bVar3 = !bVar26;\n                  }\n                  free(pcVar13);\n                  piVar14 = (int *)*piVar14;\n                } while ((piVar14 != (int *)0x0) && (bVar26));\n                if (bVar3) break;\n              }\n              pcVar13 = ld_so_conf_13908;\n              if (initialized_13907 == 0) {\n                needed.by = (bfd *)0x0;\n                needed.name = (char *)0x0;\n                pcVar13 = (char *)concat(ld_sysroot,"/usr/etc/ld.so.conf",0);\n                bVar12 = gldhppalinux_parse_ld_so_conf((gldhppalinux_ld_so_conf *)&needed,pcVar13);\n                if (bVar12 == 0) {\n                  free(pcVar13);\n                  pcVar13 = (char *)concat(ld_sysroot,"/etc/ld.so.conf",0);\n                  gldhppalinux_parse_ld_so_conf((gldhppalinux_ld_so_conf *)&needed,pcVar13);\n                }\n                free(pcVar13);\n                pcVar13 = ld_so_conf_13908;\n                if (needed.by != (bfd *)0x0) {\n                  pcVar13 = gldhppalinux_add_sysroot((char *)needed.by);\n                  ld_so_conf_13908 = pcVar13;\n                  free(needed.by);\n                }\n                initialized_13907 = 1;\n              }\n              pcVar17 = pbVar2->name;\n              if (pcVar13 != (char *)0x0) {\n                needed.by = pbVar2->by;\n                needed.name = pcVar17;\n                bVar12 = gldhppalinux_search_needed(pcVar13,&needed,(int)local_60);\n                if (bVar12 != 0) break;\n                pcVar17 = pbVar2->name;\n              }\n              sVar15 = strlen(pcVar17);\n              if (search_head != (search_dirs_type *)0x0) {\n                psVar22 = search_head;\n                do {\n                  if (psVar22->cmdline == 0) {\n                    sVar16 = strlen(psVar22->name);\n                    pcVar13 = (char *)xmalloc(sVar16 + sVar15 + 2);\n                    sprintf(pcVar13,"%s/%s",psVar22->name,pbVar2->name);\n                    nn.name = pcVar13;\n                    bVar12 = gldhppalinux_try_needed(&nn,(int)pcVar13,local_60);\n                    if (bVar12 != 0) goto LAB_00039300;\n                    free(pcVar13);\n                  }\n                  psVar22 = psVar22->next;\n                } while (psVar22 != (search_dirs *)0x0);\n              }\n              if (local_60 == (dt_needed *)0x1) {\n                pbVar21 = pbVar2->by;\n                pcVar13 = pbVar2->name;\n                pcVar17 = (char *)dcgettext(0,\n                                            "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                            ,5);\n                einfo(pcVar17,pcVar13,pbVar21);\n                break;\n              }\n              local_60 = (dt_needed *)0x1;\n            }\n          }\n        }\nLAB_00039300:\n      }" for ( (assignment_expression "pbVar2 = pbVar9" identifier = identifier) ; (binary_expression "pbVar2 != (bfd_link_needed_list *)0x0" identifier != (cast_expression "(bfd_link_needed_list *)0x0" ( (type_descriptor "bfd_link_needed_list *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "pbVar2 = pbVar2->next" identifier = (field_expression "pbVar2->next" identifier -> field_identifier)) ) (compound_statement "{\n        pbVar4 = pbVar9;\n        if ((pbVar2->by == (bfd *)0x0) ||\n           ((uVar10 = bfd_elf_get_dyn_lib_class(pbVar2->by), (uVar10 & 1) == 0 &&\n            (((pbVar2->by == (bfd *)0x0 || ((link_info._2_2_ & 0x180) != 0x80)) ||\n             (uVar10 = bfd_elf_get_dyn_lib_class(pbVar2->by), (uVar10 & 4) == 0)))))) {\n          for (; pbVar4 != pbVar2; pbVar4 = pbVar4->next) {\n            if (((pbVar4->by == (bfd *)0x0) ||\n                (uVar10 = bfd_elf_get_dyn_lib_class(pbVar4->by), (uVar10 & 1) == 0)) &&\n               (iVar11 = strcmp(pbVar4->name,pbVar2->name), iVar11 == 0)) {\n              if (pbVar2 != pbVar4) goto LAB_00039300;\n              break;\n            }\n          }\n          real_func = gldhppalinux_check_needed;\n          global_found = (lang_input_statement_type *)0x0;\n          global_needed = pbVar2;\n          lang_for_each_input_file(hppa_for_each_input_file_wrapper);\n          if ((global_found == (lang_input_statement_type *)0x0) ||\n             (uVar10 = bfd_elf_get_dyn_lib_class(global_found->the_bfd), (uVar10 & 1) != 0)) {\n            pbVar21 = pbVar2->by;\n            pcVar13 = pbVar2->name;\n            n.by = pbVar21;\n            n.name = pcVar13;\n            nn.by = pbVar21;\n            if (verbose != 0) {\n              pcVar17 = (char *)dcgettext(0,"%s needed by %pB\n",5);\n              info_msg(pcVar17,pcVar13,pbVar21);\n            }\n            if (global_found != (lang_input_statement_type *)0x0) {\n              nn.name = global_found->filename;\n              bVar12 = gldhppalinux_try_needed(&nn,(int)nn.name,(dt_needed *)0x1);\n              if (bVar12 != 0) goto LAB_00039300;\n            }\n            local_60 = (dt_needed *)0x0;\n            while (bVar12 = gldhppalinux_search_needed(command_line.rpath_link,&n,(int)local_60),\n                  bVar12 == 0) {\n              if (command_line.rpath != (char *)0x0) {\n                pcVar13 = gldhppalinux_add_sysroot(command_line.rpath);\n                bVar12 = gldhppalinux_search_needed(pcVar13,&n,(int)local_60);\n                free(pcVar13);\n                if (bVar12 != 0) break;\n              }\n              piVar14 = (int *)bfd_elf_get_runpath_list(link_info.output_bfd,&link_info);\n              if (piVar14 != (int *)0x0) {\n                do {\n                  bVar26 = true;\n                  pcVar13 = gldhppalinux_add_sysroot((char *)piVar14[2]);\n                  bVar3 = false;\n                  if ((bfd *)piVar14[1] == pbVar2->by) {\n                    bVar12 = gldhppalinux_search_needed(pcVar13,&n,(int)local_60);\n                    bVar26 = bVar12 == 0;\n                    bVar3 = !bVar26;\n                  }\n                  free(pcVar13);\n                  piVar14 = (int *)*piVar14;\n                } while ((piVar14 != (int *)0x0) && (bVar26));\n                if (bVar3) break;\n              }\n              pcVar13 = ld_so_conf_13908;\n              if (initialized_13907 == 0) {\n                needed.by = (bfd *)0x0;\n                needed.name = (char *)0x0;\n                pcVar13 = (char *)concat(ld_sysroot,"/usr/etc/ld.so.conf",0);\n                bVar12 = gldhppalinux_parse_ld_so_conf((gldhppalinux_ld_so_conf *)&needed,pcVar13);\n                if (bVar12 == 0) {\n                  free(pcVar13);\n                  pcVar13 = (char *)concat(ld_sysroot,"/etc/ld.so.conf",0);\n                  gldhppalinux_parse_ld_so_conf((gldhppalinux_ld_so_conf *)&needed,pcVar13);\n                }\n                free(pcVar13);\n                pcVar13 = ld_so_conf_13908;\n                if (needed.by != (bfd *)0x0) {\n                  pcVar13 = gldhppalinux_add_sysroot((char *)needed.by);\n                  ld_so_conf_13908 = pcVar13;\n                  free(needed.by);\n                }\n                initialized_13907 = 1;\n              }\n              pcVar17 = pbVar2->name;\n              if (pcVar13 != (char *)0x0) {\n                needed.by = pbVar2->by;\n                needed.name = pcVar17;\n                bVar12 = gldhppalinux_search_needed(pcVar13,&needed,(int)local_60);\n                if (bVar12 != 0) break;\n                pcVar17 = pbVar2->name;\n              }\n              sVar15 = strlen(pcVar17);\n              if (search_head != (search_dirs_type *)0x0) {\n                psVar22 = search_head;\n                do {\n                  if (psVar22->cmdline == 0) {\n                    sVar16 = strlen(psVar22->name);\n                    pcVar13 = (char *)xmalloc(sVar16 + sVar15 + 2);\n                    sprintf(pcVar13,"%s/%s",psVar22->name,pbVar2->name);\n                    nn.name = pcVar13;\n                    bVar12 = gldhppalinux_try_needed(&nn,(int)pcVar13,local_60);\n                    if (bVar12 != 0) goto LAB_00039300;\n                    free(pcVar13);\n                  }\n                  psVar22 = psVar22->next;\n                } while (psVar22 != (search_dirs *)0x0);\n              }\n              if (local_60 == (dt_needed *)0x1) {\n                pbVar21 = pbVar2->by;\n                pcVar13 = pbVar2->name;\n                pcVar17 = (char *)dcgettext(0,\n                                            "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                            ,5);\n                einfo(pcVar17,pcVar13,pbVar21);\n                break;\n              }\n              local_60 = (dt_needed *)0x1;\n            }\n          }\n        }\nLAB_00039300:\n      }" { (expression_statement "pbVar4 = pbVar9;" (assignment_expression "pbVar4 = pbVar9" identifier = identifier) ;) (if_statement "if ((pbVar2->by == (bfd *)0x0) ||\n           ((uVar10 = bfd_elf_get_dyn_lib_class(pbVar2->by), (uVar10 & 1) == 0 &&\n            (((pbVar2->by == (bfd *)0x0 || ((link_info._2_2_ & 0x180) != 0x80)) ||\n             (uVar10 = bfd_elf_get_dyn_lib_class(pbVar2->by), (uVar10 & 4) == 0)))))) {\n          for (; pbVar4 != pbVar2; pbVar4 = pbVar4->next) {\n            if (((pbVar4->by == (bfd *)0x0) ||\n                (uVar10 = bfd_elf_get_dyn_lib_class(pbVar4->by), (uVar10 & 1) == 0)) &&\n               (iVar11 = strcmp(pbVar4->name,pbVar2->name), iVar11 == 0)) {\n              if (pbVar2 != pbVar4) goto LAB_00039300;\n              break;\n            }\n          }\n          real_func = gldhppalinux_check_needed;\n          global_found = (lang_input_statement_type *)0x0;\n          global_needed = pbVar2;\n          lang_for_each_input_file(hppa_for_each_input_file_wrapper);\n          if ((global_found == (lang_input_statement_type *)0x0) ||\n             (uVar10 = bfd_elf_get_dyn_lib_class(global_found->the_bfd), (uVar10 & 1) != 0)) {\n            pbVar21 = pbVar2->by;\n            pcVar13 = pbVar2->name;\n            n.by = pbVar21;\n            n.name = pcVar13;\n            nn.by = pbVar21;\n            if (verbose != 0) {\n              pcVar17 = (char *)dcgettext(0,"%s needed by %pB\n",5);\n              info_msg(pcVar17,pcVar13,pbVar21);\n            }\n            if (global_found != (lang_input_statement_type *)0x0) {\n              nn.name = global_found->filename;\n              bVar12 = gldhppalinux_try_needed(&nn,(int)nn.name,(dt_needed *)0x1);\n              if (bVar12 != 0) goto LAB_00039300;\n            }\n            local_60 = (dt_needed *)0x0;\n            while (bVar12 = gldhppalinux_search_needed(command_line.rpath_link,&n,(int)local_60),\n                  bVar12 == 0) {\n              if (command_line.rpath != (char *)0x0) {\n                pcVar13 = gldhppalinux_add_sysroot(command_line.rpath);\n                bVar12 = gldhppalinux_search_needed(pcVar13,&n,(int)local_60);\n                free(pcVar13);\n                if (bVar12 != 0) break;\n              }\n              piVar14 = (int *)bfd_elf_get_runpath_list(link_info.output_bfd,&link_info);\n              if (piVar14 != (int *)0x0) {\n                do {\n                  bVar26 = true;\n                  pcVar13 = gldhppalinux_add_sysroot((char *)piVar14[2]);\n                  bVar3 = false;\n                  if ((bfd *)piVar14[1] == pbVar2->by) {\n                    bVar12 = gldhppalinux_search_needed(pcVar13,&n,(int)local_60);\n                    bVar26 = bVar12 == 0;\n                    bVar3 = !bVar26;\n                  }\n                  free(pcVar13);\n                  piVar14 = (int *)*piVar14;\n                } while ((piVar14 != (int *)0x0) && (bVar26));\n                if (bVar3) break;\n              }\n              pcVar13 = ld_so_conf_13908;\n              if (initialized_13907 == 0) {\n                needed.by = (bfd *)0x0;\n                needed.name = (char *)0x0;\n                pcVar13 = (char *)concat(ld_sysroot,"/usr/etc/ld.so.conf",0);\n                bVar12 = gldhppalinux_parse_ld_so_conf((gldhppalinux_ld_so_conf *)&needed,pcVar13);\n                if (bVar12 == 0) {\n                  free(pcVar13);\n                  pcVar13 = (char *)concat(ld_sysroot,"/etc/ld.so.conf",0);\n                  gldhppalinux_parse_ld_so_conf((gldhppalinux_ld_so_conf *)&needed,pcVar13);\n                }\n                free(pcVar13);\n                pcVar13 = ld_so_conf_13908;\n                if (needed.by != (bfd *)0x0) {\n                  pcVar13 = gldhppalinux_add_sysroot((char *)needed.by);\n                  ld_so_conf_13908 = pcVar13;\n                  free(needed.by);\n                }\n                initialized_13907 = 1;\n              }\n              pcVar17 = pbVar2->name;\n              if (pcVar13 != (char *)0x0) {\n                needed.by = pbVar2->by;\n                needed.name = pcVar17;\n                bVar12 = gldhppalinux_search_needed(pcVar13,&needed,(int)local_60);\n                if (bVar12 != 0) break;\n                pcVar17 = pbVar2->name;\n              }\n              sVar15 = strlen(pcVar17);\n              if (search_head != (search_dirs_type *)0x0) {\n                psVar22 = search_head;\n                do {\n                  if (psVar22->cmdline == 0) {\n                    sVar16 = strlen(psVar22->name);\n                    pcVar13 = (char *)xmalloc(sVar16 + sVar15 + 2);\n                    sprintf(pcVar13,"%s/%s",psVar22->name,pbVar2->name);\n                    nn.name = pcVar13;\n                    bVar12 = gldhppalinux_try_needed(&nn,(int)pcVar13,local_60);\n                    if (bVar12 != 0) goto LAB_00039300;\n                    free(pcVar13);\n                  }\n                  psVar22 = psVar22->next;\n                } while (psVar22 != (search_dirs *)0x0);\n              }\n              if (local_60 == (dt_needed *)0x1) {\n                pbVar21 = pbVar2->by;\n                pcVar13 = pbVar2->name;\n                pcVar17 = (char *)dcgettext(0,\n                                            "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                            ,5);\n                einfo(pcVar17,pcVar13,pbVar21);\n                break;\n              }\n              local_60 = (dt_needed *)0x1;\n            }\n          }\n        }" if (parenthesized_expression "((pbVar2->by == (bfd *)0x0) ||\n           ((uVar10 = bfd_elf_get_dyn_lib_class(pbVar2->by), (uVar10 & 1) == 0 &&\n            (((pbVar2->by == (bfd *)0x0 || ((link_info._2_2_ & 0x180) != 0x80)) ||\n             (uVar10 = bfd_elf_get_dyn_lib_class(pbVar2->by), (uVar10 & 4) == 0))))))" ( (binary_expression "(pbVar2->by == (bfd *)0x0) ||\n           ((uVar10 = bfd_elf_get_dyn_lib_class(pbVar2->by), (uVar10 & 1) == 0 &&\n            (((pbVar2->by == (bfd *)0x0 || ((link_info._2_2_ & 0x180) != 0x80)) ||\n             (uVar10 = bfd_elf_get_dyn_lib_class(pbVar2->by), (uVar10 & 4) == 0)))))" (parenthesized_expression "(pbVar2->by == (bfd *)0x0)" ( (binary_expression "pbVar2->by == (bfd *)0x0" (field_expression "pbVar2->by" identifier -> field_identifier) == (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "((uVar10 = bfd_elf_get_dyn_lib_class(pbVar2->by), (uVar10 & 1) == 0 &&\n            (((pbVar2->by == (bfd *)0x0 || ((link_info._2_2_ & 0x180) != 0x80)) ||\n             (uVar10 = bfd_elf_get_dyn_lib_class(pbVar2->by), (uVar10 & 4) == 0)))))" ( (parenthesized_expression "(uVar10 = bfd_elf_get_dyn_lib_class(pbVar2->by), (uVar10 & 1) == 0 &&\n            (((pbVar2->by == (bfd *)0x0 || ((link_info._2_2_ & 0x180) != 0x80)) ||\n             (uVar10 = bfd_elf_get_dyn_lib_class(pbVar2->by), (uVar10 & 4) == 0))))" ( (comma_expression "uVar10 = bfd_elf_get_dyn_lib_class(pbVar2->by), (uVar10 & 1) == 0 &&\n            (((pbVar2->by == (bfd *)0x0 || ((link_info._2_2_ & 0x180) != 0x80)) ||\n             (uVar10 = bfd_elf_get_dyn_lib_class(pbVar2->by), (uVar10 & 4) == 0)))" (assignment_expression "uVar10 = bfd_elf_get_dyn_lib_class(pbVar2->by)" identifier = (call_expression "bfd_elf_get_dyn_lib_class(pbVar2->by)" identifier (argument_list "(pbVar2->by)" ( (field_expression "pbVar2->by" identifier -> field_identifier) )))) , (binary_expression "(uVar10 & 1) == 0 &&\n            (((pbVar2->by == (bfd *)0x0 || ((link_info._2_2_ & 0x180) != 0x80)) ||\n             (uVar10 = bfd_elf_get_dyn_lib_class(pbVar2->by), (uVar10 & 4) == 0)))" (binary_expression "(uVar10 & 1) == 0" (parenthesized_expression "(uVar10 & 1)" ( (binary_expression "uVar10 & 1" identifier & number_literal) )) == number_literal) && (parenthesized_expression "(((pbVar2->by == (bfd *)0x0 || ((link_info._2_2_ & 0x180) != 0x80)) ||\n             (uVar10 = bfd_elf_get_dyn_lib_class(pbVar2->by), (uVar10 & 4) == 0)))" ( (parenthesized_expression "((pbVar2->by == (bfd *)0x0 || ((link_info._2_2_ & 0x180) != 0x80)) ||\n             (uVar10 = bfd_elf_get_dyn_lib_class(pbVar2->by), (uVar10 & 4) == 0))" ( (binary_expression "(pbVar2->by == (bfd *)0x0 || ((link_info._2_2_ & 0x180) != 0x80)) ||\n             (uVar10 = bfd_elf_get_dyn_lib_class(pbVar2->by), (uVar10 & 4) == 0)" (parenthesized_expression "(pbVar2->by == (bfd *)0x0 || ((link_info._2_2_ & 0x180) != 0x80))" ( (binary_expression "pbVar2->by == (bfd *)0x0 || ((link_info._2_2_ & 0x180) != 0x80)" (binary_expression "pbVar2->by == (bfd *)0x0" (field_expression "pbVar2->by" identifier -> field_identifier) == (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) || (parenthesized_expression "((link_info._2_2_ & 0x180) != 0x80)" ( (binary_expression "(link_info._2_2_ & 0x180) != 0x80" (parenthesized_expression "(link_info._2_2_ & 0x180)" ( (binary_expression "link_info._2_2_ & 0x180" (field_expression "link_info._2_2_" identifier . field_identifier) & number_literal) )) != number_literal) ))) )) || (parenthesized_expression "(uVar10 = bfd_elf_get_dyn_lib_class(pbVar2->by), (uVar10 & 4) == 0)" ( (comma_expression "uVar10 = bfd_elf_get_dyn_lib_class(pbVar2->by), (uVar10 & 4) == 0" (assignment_expression "uVar10 = bfd_elf_get_dyn_lib_class(pbVar2->by)" identifier = (call_expression "bfd_elf_get_dyn_lib_class(pbVar2->by)" identifier (argument_list "(pbVar2->by)" ( (field_expression "pbVar2->by" identifier -> field_identifier) )))) , (binary_expression "(uVar10 & 4) == 0" (parenthesized_expression "(uVar10 & 4)" ( (binary_expression "uVar10 & 4" identifier & number_literal) )) == number_literal)) ))) )) )))) )) ))) )) (compound_statement "{\n          for (; pbVar4 != pbVar2; pbVar4 = pbVar4->next) {\n            if (((pbVar4->by == (bfd *)0x0) ||\n                (uVar10 = bfd_elf_get_dyn_lib_class(pbVar4->by), (uVar10 & 1) == 0)) &&\n               (iVar11 = strcmp(pbVar4->name,pbVar2->name), iVar11 == 0)) {\n              if (pbVar2 != pbVar4) goto LAB_00039300;\n              break;\n            }\n          }\n          real_func = gldhppalinux_check_needed;\n          global_found = (lang_input_statement_type *)0x0;\n          global_needed = pbVar2;\n          lang_for_each_input_file(hppa_for_each_input_file_wrapper);\n          if ((global_found == (lang_input_statement_type *)0x0) ||\n             (uVar10 = bfd_elf_get_dyn_lib_class(global_found->the_bfd), (uVar10 & 1) != 0)) {\n            pbVar21 = pbVar2->by;\n            pcVar13 = pbVar2->name;\n            n.by = pbVar21;\n            n.name = pcVar13;\n            nn.by = pbVar21;\n            if (verbose != 0) {\n              pcVar17 = (char *)dcgettext(0,"%s needed by %pB\n",5);\n              info_msg(pcVar17,pcVar13,pbVar21);\n            }\n            if (global_found != (lang_input_statement_type *)0x0) {\n              nn.name = global_found->filename;\n              bVar12 = gldhppalinux_try_needed(&nn,(int)nn.name,(dt_needed *)0x1);\n              if (bVar12 != 0) goto LAB_00039300;\n            }\n            local_60 = (dt_needed *)0x0;\n            while (bVar12 = gldhppalinux_search_needed(command_line.rpath_link,&n,(int)local_60),\n                  bVar12 == 0) {\n              if (command_line.rpath != (char *)0x0) {\n                pcVar13 = gldhppalinux_add_sysroot(command_line.rpath);\n                bVar12 = gldhppalinux_search_needed(pcVar13,&n,(int)local_60);\n                free(pcVar13);\n                if (bVar12 != 0) break;\n              }\n              piVar14 = (int *)bfd_elf_get_runpath_list(link_info.output_bfd,&link_info);\n              if (piVar14 != (int *)0x0) {\n                do {\n                  bVar26 = true;\n                  pcVar13 = gldhppalinux_add_sysroot((char *)piVar14[2]);\n                  bVar3 = false;\n                  if ((bfd *)piVar14[1] == pbVar2->by) {\n                    bVar12 = gldhppalinux_search_needed(pcVar13,&n,(int)local_60);\n                    bVar26 = bVar12 == 0;\n                    bVar3 = !bVar26;\n                  }\n                  free(pcVar13);\n                  piVar14 = (int *)*piVar14;\n                } while ((piVar14 != (int *)0x0) && (bVar26));\n                if (bVar3) break;\n              }\n              pcVar13 = ld_so_conf_13908;\n              if (initialized_13907 == 0) {\n                needed.by = (bfd *)0x0;\n                needed.name = (char *)0x0;\n                pcVar13 = (char *)concat(ld_sysroot,"/usr/etc/ld.so.conf",0);\n                bVar12 = gldhppalinux_parse_ld_so_conf((gldhppalinux_ld_so_conf *)&needed,pcVar13);\n                if (bVar12 == 0) {\n                  free(pcVar13);\n                  pcVar13 = (char *)concat(ld_sysroot,"/etc/ld.so.conf",0);\n                  gldhppalinux_parse_ld_so_conf((gldhppalinux_ld_so_conf *)&needed,pcVar13);\n                }\n                free(pcVar13);\n                pcVar13 = ld_so_conf_13908;\n                if (needed.by != (bfd *)0x0) {\n                  pcVar13 = gldhppalinux_add_sysroot((char *)needed.by);\n                  ld_so_conf_13908 = pcVar13;\n                  free(needed.by);\n                }\n                initialized_13907 = 1;\n              }\n              pcVar17 = pbVar2->name;\n              if (pcVar13 != (char *)0x0) {\n                needed.by = pbVar2->by;\n                needed.name = pcVar17;\n                bVar12 = gldhppalinux_search_needed(pcVar13,&needed,(int)local_60);\n                if (bVar12 != 0) break;\n                pcVar17 = pbVar2->name;\n              }\n              sVar15 = strlen(pcVar17);\n              if (search_head != (search_dirs_type *)0x0) {\n                psVar22 = search_head;\n                do {\n                  if (psVar22->cmdline == 0) {\n                    sVar16 = strlen(psVar22->name);\n                    pcVar13 = (char *)xmalloc(sVar16 + sVar15 + 2);\n                    sprintf(pcVar13,"%s/%s",psVar22->name,pbVar2->name);\n                    nn.name = pcVar13;\n                    bVar12 = gldhppalinux_try_needed(&nn,(int)pcVar13,local_60);\n                    if (bVar12 != 0) goto LAB_00039300;\n                    free(pcVar13);\n                  }\n                  psVar22 = psVar22->next;\n                } while (psVar22 != (search_dirs *)0x0);\n              }\n              if (local_60 == (dt_needed *)0x1) {\n                pbVar21 = pbVar2->by;\n                pcVar13 = pbVar2->name;\n                pcVar17 = (char *)dcgettext(0,\n                                            "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                            ,5);\n                einfo(pcVar17,pcVar13,pbVar21);\n                break;\n              }\n              local_60 = (dt_needed *)0x1;\n            }\n          }\n        }" { (for_statement "for (; pbVar4 != pbVar2; pbVar4 = pbVar4->next) {\n            if (((pbVar4->by == (bfd *)0x0) ||\n                (uVar10 = bfd_elf_get_dyn_lib_class(pbVar4->by), (uVar10 & 1) == 0)) &&\n               (iVar11 = strcmp(pbVar4->name,pbVar2->name), iVar11 == 0)) {\n              if (pbVar2 != pbVar4) goto LAB_00039300;\n              break;\n            }\n          }" for ( ; (binary_expression "pbVar4 != pbVar2" identifier != identifier) ; (assignment_expression "pbVar4 = pbVar4->next" identifier = (field_expression "pbVar4->next" identifier -> field_identifier)) ) (compound_statement "{\n            if (((pbVar4->by == (bfd *)0x0) ||\n                (uVar10 = bfd_elf_get_dyn_lib_class(pbVar4->by), (uVar10 & 1) == 0)) &&\n               (iVar11 = strcmp(pbVar4->name,pbVar2->name), iVar11 == 0)) {\n              if (pbVar2 != pbVar4) goto LAB_00039300;\n              break;\n            }\n          }" { (if_statement "if (((pbVar4->by == (bfd *)0x0) ||\n                (uVar10 = bfd_elf_get_dyn_lib_class(pbVar4->by), (uVar10 & 1) == 0)) &&\n               (iVar11 = strcmp(pbVar4->name,pbVar2->name), iVar11 == 0)) {\n              if (pbVar2 != pbVar4) goto LAB_00039300;\n              break;\n            }" if (parenthesized_expression "(((pbVar4->by == (bfd *)0x0) ||\n                (uVar10 = bfd_elf_get_dyn_lib_class(pbVar4->by), (uVar10 & 1) == 0)) &&\n               (iVar11 = strcmp(pbVar4->name,pbVar2->name), iVar11 == 0))" ( (binary_expression "((pbVar4->by == (bfd *)0x0) ||\n                (uVar10 = bfd_elf_get_dyn_lib_class(pbVar4->by), (uVar10 & 1) == 0)) &&\n               (iVar11 = strcmp(pbVar4->name,pbVar2->name), iVar11 == 0)" (parenthesized_expression "((pbVar4->by == (bfd *)0x0) ||\n                (uVar10 = bfd_elf_get_dyn_lib_class(pbVar4->by), (uVar10 & 1) == 0))" ( (binary_expression "(pbVar4->by == (bfd *)0x0) ||\n                (uVar10 = bfd_elf_get_dyn_lib_class(pbVar4->by), (uVar10 & 1) == 0)" (parenthesized_expression "(pbVar4->by == (bfd *)0x0)" ( (binary_expression "pbVar4->by == (bfd *)0x0" (field_expression "pbVar4->by" identifier -> field_identifier) == (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(uVar10 = bfd_elf_get_dyn_lib_class(pbVar4->by), (uVar10 & 1) == 0)" ( (comma_expression "uVar10 = bfd_elf_get_dyn_lib_class(pbVar4->by), (uVar10 & 1) == 0" (assignment_expression "uVar10 = bfd_elf_get_dyn_lib_class(pbVar4->by)" identifier = (call_expression "bfd_elf_get_dyn_lib_class(pbVar4->by)" identifier (argument_list "(pbVar4->by)" ( (field_expression "pbVar4->by" identifier -> field_identifier) )))) , (binary_expression "(uVar10 & 1) == 0" (parenthesized_expression "(uVar10 & 1)" ( (binary_expression "uVar10 & 1" identifier & number_literal) )) == number_literal)) ))) )) && (parenthesized_expression "(iVar11 = strcmp(pbVar4->name,pbVar2->name), iVar11 == 0)" ( (comma_expression "iVar11 = strcmp(pbVar4->name,pbVar2->name), iVar11 == 0" (assignment_expression "iVar11 = strcmp(pbVar4->name,pbVar2->name)" identifier = (call_expression "strcmp(pbVar4->name,pbVar2->name)" identifier (argument_list "(pbVar4->name,pbVar2->name)" ( (field_expression "pbVar4->name" identifier -> field_identifier) , (field_expression "pbVar2->name" identifier -> field_identifier) )))) , (binary_expression "iVar11 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n              if (pbVar2 != pbVar4) goto LAB_00039300;\n              break;\n            }" { (if_statement "if (pbVar2 != pbVar4) goto LAB_00039300;" if (parenthesized_expression "(pbVar2 != pbVar4)" ( (binary_expression "pbVar2 != pbVar4" identifier != identifier) )) (goto_statement "goto LAB_00039300;" goto statement_identifier ;)) (break_statement "break;" break ;) })) })) (expression_statement "real_func = gldhppalinux_check_needed;" (assignment_expression "real_func = gldhppalinux_check_needed" identifier = identifier) ;) (expression_statement "global_found = (lang_input_statement_type *)0x0;" (assignment_expression "global_found = (lang_input_statement_type *)0x0" identifier = (cast_expression "(lang_input_statement_type *)0x0" ( (type_descriptor "lang_input_statement_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "global_needed = pbVar2;" (assignment_expression "global_needed = pbVar2" identifier = identifier) ;) (expression_statement "lang_for_each_input_file(hppa_for_each_input_file_wrapper);" (call_expression "lang_for_each_input_file(hppa_for_each_input_file_wrapper)" identifier (argument_list "(hppa_for_each_input_file_wrapper)" ( identifier ))) ;) (if_statement "if ((global_found == (lang_input_statement_type *)0x0) ||\n             (uVar10 = bfd_elf_get_dyn_lib_class(global_found->the_bfd), (uVar10 & 1) != 0)) {\n            pbVar21 = pbVar2->by;\n            pcVar13 = pbVar2->name;\n            n.by = pbVar21;\n            n.name = pcVar13;\n            nn.by = pbVar21;\n            if (verbose != 0) {\n              pcVar17 = (char *)dcgettext(0,"%s needed by %pB\n",5);\n              info_msg(pcVar17,pcVar13,pbVar21);\n            }\n            if (global_found != (lang_input_statement_type *)0x0) {\n              nn.name = global_found->filename;\n              bVar12 = gldhppalinux_try_needed(&nn,(int)nn.name,(dt_needed *)0x1);\n              if (bVar12 != 0) goto LAB_00039300;\n            }\n            local_60 = (dt_needed *)0x0;\n            while (bVar12 = gldhppalinux_search_needed(command_line.rpath_link,&n,(int)local_60),\n                  bVar12 == 0) {\n              if (command_line.rpath != (char *)0x0) {\n                pcVar13 = gldhppalinux_add_sysroot(command_line.rpath);\n                bVar12 = gldhppalinux_search_needed(pcVar13,&n,(int)local_60);\n                free(pcVar13);\n                if (bVar12 != 0) break;\n              }\n              piVar14 = (int *)bfd_elf_get_runpath_list(link_info.output_bfd,&link_info);\n              if (piVar14 != (int *)0x0) {\n                do {\n                  bVar26 = true;\n                  pcVar13 = gldhppalinux_add_sysroot((char *)piVar14[2]);\n                  bVar3 = false;\n                  if ((bfd *)piVar14[1] == pbVar2->by) {\n                    bVar12 = gldhppalinux_search_needed(pcVar13,&n,(int)local_60);\n                    bVar26 = bVar12 == 0;\n                    bVar3 = !bVar26;\n                  }\n                  free(pcVar13);\n                  piVar14 = (int *)*piVar14;\n                } while ((piVar14 != (int *)0x0) && (bVar26));\n                if (bVar3) break;\n              }\n              pcVar13 = ld_so_conf_13908;\n              if (initialized_13907 == 0) {\n                needed.by = (bfd *)0x0;\n                needed.name = (char *)0x0;\n                pcVar13 = (char *)concat(ld_sysroot,"/usr/etc/ld.so.conf",0);\n                bVar12 = gldhppalinux_parse_ld_so_conf((gldhppalinux_ld_so_conf *)&needed,pcVar13);\n                if (bVar12 == 0) {\n                  free(pcVar13);\n                  pcVar13 = (char *)concat(ld_sysroot,"/etc/ld.so.conf",0);\n                  gldhppalinux_parse_ld_so_conf((gldhppalinux_ld_so_conf *)&needed,pcVar13);\n                }\n                free(pcVar13);\n                pcVar13 = ld_so_conf_13908;\n                if (needed.by != (bfd *)0x0) {\n                  pcVar13 = gldhppalinux_add_sysroot((char *)needed.by);\n                  ld_so_conf_13908 = pcVar13;\n                  free(needed.by);\n                }\n                initialized_13907 = 1;\n              }\n              pcVar17 = pbVar2->name;\n              if (pcVar13 != (char *)0x0) {\n                needed.by = pbVar2->by;\n                needed.name = pcVar17;\n                bVar12 = gldhppalinux_search_needed(pcVar13,&needed,(int)local_60);\n                if (bVar12 != 0) break;\n                pcVar17 = pbVar2->name;\n              }\n              sVar15 = strlen(pcVar17);\n              if (search_head != (search_dirs_type *)0x0) {\n                psVar22 = search_head;\n                do {\n                  if (psVar22->cmdline == 0) {\n                    sVar16 = strlen(psVar22->name);\n                    pcVar13 = (char *)xmalloc(sVar16 + sVar15 + 2);\n                    sprintf(pcVar13,"%s/%s",psVar22->name,pbVar2->name);\n                    nn.name = pcVar13;\n                    bVar12 = gldhppalinux_try_needed(&nn,(int)pcVar13,local_60);\n                    if (bVar12 != 0) goto LAB_00039300;\n                    free(pcVar13);\n                  }\n                  psVar22 = psVar22->next;\n                } while (psVar22 != (search_dirs *)0x0);\n              }\n              if (local_60 == (dt_needed *)0x1) {\n                pbVar21 = pbVar2->by;\n                pcVar13 = pbVar2->name;\n                pcVar17 = (char *)dcgettext(0,\n                                            "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                            ,5);\n                einfo(pcVar17,pcVar13,pbVar21);\n                break;\n              }\n              local_60 = (dt_needed *)0x1;\n            }\n          }" if (parenthesized_expression "((global_found == (lang_input_statement_type *)0x0) ||\n             (uVar10 = bfd_elf_get_dyn_lib_class(global_found->the_bfd), (uVar10 & 1) != 0))" ( (binary_expression "(global_found == (lang_input_statement_type *)0x0) ||\n             (uVar10 = bfd_elf_get_dyn_lib_class(global_found->the_bfd), (uVar10 & 1) != 0)" (parenthesized_expression "(global_found == (lang_input_statement_type *)0x0)" ( (binary_expression "global_found == (lang_input_statement_type *)0x0" identifier == (cast_expression "(lang_input_statement_type *)0x0" ( (type_descriptor "lang_input_statement_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(uVar10 = bfd_elf_get_dyn_lib_class(global_found->the_bfd), (uVar10 & 1) != 0)" ( (comma_expression "uVar10 = bfd_elf_get_dyn_lib_class(global_found->the_bfd), (uVar10 & 1) != 0" (assignment_expression "uVar10 = bfd_elf_get_dyn_lib_class(global_found->the_bfd)" identifier = (call_expression "bfd_elf_get_dyn_lib_class(global_found->the_bfd)" identifier (argument_list "(global_found->the_bfd)" ( (field_expression "global_found->the_bfd" identifier -> field_identifier) )))) , (binary_expression "(uVar10 & 1) != 0" (parenthesized_expression "(uVar10 & 1)" ( (binary_expression "uVar10 & 1" identifier & number_literal) )) != number_literal)) ))) )) (compound_statement "{\n            pbVar21 = pbVar2->by;\n            pcVar13 = pbVar2->name;\n            n.by = pbVar21;\n            n.name = pcVar13;\n            nn.by = pbVar21;\n            if (verbose != 0) {\n              pcVar17 = (char *)dcgettext(0,"%s needed by %pB\n",5);\n              info_msg(pcVar17,pcVar13,pbVar21);\n            }\n            if (global_found != (lang_input_statement_type *)0x0) {\n              nn.name = global_found->filename;\n              bVar12 = gldhppalinux_try_needed(&nn,(int)nn.name,(dt_needed *)0x1);\n              if (bVar12 != 0) goto LAB_00039300;\n            }\n            local_60 = (dt_needed *)0x0;\n            while (bVar12 = gldhppalinux_search_needed(command_line.rpath_link,&n,(int)local_60),\n                  bVar12 == 0) {\n              if (command_line.rpath != (char *)0x0) {\n                pcVar13 = gldhppalinux_add_sysroot(command_line.rpath);\n                bVar12 = gldhppalinux_search_needed(pcVar13,&n,(int)local_60);\n                free(pcVar13);\n                if (bVar12 != 0) break;\n              }\n              piVar14 = (int *)bfd_elf_get_runpath_list(link_info.output_bfd,&link_info);\n              if (piVar14 != (int *)0x0) {\n                do {\n                  bVar26 = true;\n                  pcVar13 = gldhppalinux_add_sysroot((char *)piVar14[2]);\n                  bVar3 = false;\n                  if ((bfd *)piVar14[1] == pbVar2->by) {\n                    bVar12 = gldhppalinux_search_needed(pcVar13,&n,(int)local_60);\n                    bVar26 = bVar12 == 0;\n                    bVar3 = !bVar26;\n                  }\n                  free(pcVar13);\n                  piVar14 = (int *)*piVar14;\n                } while ((piVar14 != (int *)0x0) && (bVar26));\n                if (bVar3) break;\n              }\n              pcVar13 = ld_so_conf_13908;\n              if (initialized_13907 == 0) {\n                needed.by = (bfd *)0x0;\n                needed.name = (char *)0x0;\n                pcVar13 = (char *)concat(ld_sysroot,"/usr/etc/ld.so.conf",0);\n                bVar12 = gldhppalinux_parse_ld_so_conf((gldhppalinux_ld_so_conf *)&needed,pcVar13);\n                if (bVar12 == 0) {\n                  free(pcVar13);\n                  pcVar13 = (char *)concat(ld_sysroot,"/etc/ld.so.conf",0);\n                  gldhppalinux_parse_ld_so_conf((gldhppalinux_ld_so_conf *)&needed,pcVar13);\n                }\n                free(pcVar13);\n                pcVar13 = ld_so_conf_13908;\n                if (needed.by != (bfd *)0x0) {\n                  pcVar13 = gldhppalinux_add_sysroot((char *)needed.by);\n                  ld_so_conf_13908 = pcVar13;\n                  free(needed.by);\n                }\n                initialized_13907 = 1;\n              }\n              pcVar17 = pbVar2->name;\n              if (pcVar13 != (char *)0x0) {\n                needed.by = pbVar2->by;\n                needed.name = pcVar17;\n                bVar12 = gldhppalinux_search_needed(pcVar13,&needed,(int)local_60);\n                if (bVar12 != 0) break;\n                pcVar17 = pbVar2->name;\n              }\n              sVar15 = strlen(pcVar17);\n              if (search_head != (search_dirs_type *)0x0) {\n                psVar22 = search_head;\n                do {\n                  if (psVar22->cmdline == 0) {\n                    sVar16 = strlen(psVar22->name);\n                    pcVar13 = (char *)xmalloc(sVar16 + sVar15 + 2);\n                    sprintf(pcVar13,"%s/%s",psVar22->name,pbVar2->name);\n                    nn.name = pcVar13;\n                    bVar12 = gldhppalinux_try_needed(&nn,(int)pcVar13,local_60);\n                    if (bVar12 != 0) goto LAB_00039300;\n                    free(pcVar13);\n                  }\n                  psVar22 = psVar22->next;\n                } while (psVar22 != (search_dirs *)0x0);\n              }\n              if (local_60 == (dt_needed *)0x1) {\n                pbVar21 = pbVar2->by;\n                pcVar13 = pbVar2->name;\n                pcVar17 = (char *)dcgettext(0,\n                                            "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                            ,5);\n                einfo(pcVar17,pcVar13,pbVar21);\n                break;\n              }\n              local_60 = (dt_needed *)0x1;\n            }\n          }" { (expression_statement "pbVar21 = pbVar2->by;" (assignment_expression "pbVar21 = pbVar2->by" identifier = (field_expression "pbVar2->by" identifier -> field_identifier)) ;) (expression_statement "pcVar13 = pbVar2->name;" (assignment_expression "pcVar13 = pbVar2->name" identifier = (field_expression "pbVar2->name" identifier -> field_identifier)) ;) (expression_statement "n.by = pbVar21;" (assignment_expression "n.by = pbVar21" (field_expression "n.by" identifier . field_identifier) = identifier) ;) (expression_statement "n.name = pcVar13;" (assignment_expression "n.name = pcVar13" (field_expression "n.name" identifier . field_identifier) = identifier) ;) (expression_statement "nn.by = pbVar21;" (assignment_expression "nn.by = pbVar21" (field_expression "nn.by" identifier . field_identifier) = identifier) ;) (if_statement "if (verbose != 0) {\n              pcVar17 = (char *)dcgettext(0,"%s needed by %pB\n",5);\n              info_msg(pcVar17,pcVar13,pbVar21);\n            }" if (parenthesized_expression "(verbose != 0)" ( (binary_expression "verbose != 0" identifier != number_literal) )) (compound_statement "{\n              pcVar17 = (char *)dcgettext(0,"%s needed by %pB\n",5);\n              info_msg(pcVar17,pcVar13,pbVar21);\n            }" { (expression_statement "pcVar17 = (char *)dcgettext(0,"%s needed by %pB\n",5);" (assignment_expression "pcVar17 = (char *)dcgettext(0,"%s needed by %pB\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"%s needed by %pB\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"%s needed by %pB\n",5)" identifier (argument_list "(0,"%s needed by %pB\n",5)" ( number_literal , (string_literal ""%s needed by %pB\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "info_msg(pcVar17,pcVar13,pbVar21);" (call_expression "info_msg(pcVar17,pcVar13,pbVar21)" identifier (argument_list "(pcVar17,pcVar13,pbVar21)" ( identifier , identifier , identifier ))) ;) })) (if_statement "if (global_found != (lang_input_statement_type *)0x0) {\n              nn.name = global_found->filename;\n              bVar12 = gldhppalinux_try_needed(&nn,(int)nn.name,(dt_needed *)0x1);\n              if (bVar12 != 0) goto LAB_00039300;\n            }" if (parenthesized_expression "(global_found != (lang_input_statement_type *)0x0)" ( (binary_expression "global_found != (lang_input_statement_type *)0x0" identifier != (cast_expression "(lang_input_statement_type *)0x0" ( (type_descriptor "lang_input_statement_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              nn.name = global_found->filename;\n              bVar12 = gldhppalinux_try_needed(&nn,(int)nn.name,(dt_needed *)0x1);\n              if (bVar12 != 0) goto LAB_00039300;\n            }" { (expression_statement "nn.name = global_found->filename;" (assignment_expression "nn.name = global_found->filename" (field_expression "nn.name" identifier . field_identifier) = (field_expression "global_found->filename" identifier -> field_identifier)) ;) (expression_statement "bVar12 = gldhppalinux_try_needed(&nn,(int)nn.name,(dt_needed *)0x1);" (assignment_expression "bVar12 = gldhppalinux_try_needed(&nn,(int)nn.name,(dt_needed *)0x1)" identifier = (call_expression "gldhppalinux_try_needed(&nn,(int)nn.name,(dt_needed *)0x1)" identifier (argument_list "(&nn,(int)nn.name,(dt_needed *)0x1)" ( (pointer_expression "&nn" & identifier) , (cast_expression "(int)nn.name" ( (type_descriptor "int" primitive_type) ) (field_expression "nn.name" identifier . field_identifier)) , (cast_expression "(dt_needed *)0x1" ( (type_descriptor "dt_needed *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) )))) ;) (if_statement "if (bVar12 != 0) goto LAB_00039300;" if (parenthesized_expression "(bVar12 != 0)" ( (binary_expression "bVar12 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00039300;" goto statement_identifier ;)) })) (expression_statement "local_60 = (dt_needed *)0x0;" (assignment_expression "local_60 = (dt_needed *)0x0" identifier = (cast_expression "(dt_needed *)0x0" ( (type_descriptor "dt_needed *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (while_statement "while (bVar12 = gldhppalinux_search_needed(command_line.rpath_link,&n,(int)local_60),\n                  bVar12 == 0) {\n              if (command_line.rpath != (char *)0x0) {\n                pcVar13 = gldhppalinux_add_sysroot(command_line.rpath);\n                bVar12 = gldhppalinux_search_needed(pcVar13,&n,(int)local_60);\n                free(pcVar13);\n                if (bVar12 != 0) break;\n              }\n              piVar14 = (int *)bfd_elf_get_runpath_list(link_info.output_bfd,&link_info);\n              if (piVar14 != (int *)0x0) {\n                do {\n                  bVar26 = true;\n                  pcVar13 = gldhppalinux_add_sysroot((char *)piVar14[2]);\n                  bVar3 = false;\n                  if ((bfd *)piVar14[1] == pbVar2->by) {\n                    bVar12 = gldhppalinux_search_needed(pcVar13,&n,(int)local_60);\n                    bVar26 = bVar12 == 0;\n                    bVar3 = !bVar26;\n                  }\n                  free(pcVar13);\n                  piVar14 = (int *)*piVar14;\n                } while ((piVar14 != (int *)0x0) && (bVar26));\n                if (bVar3) break;\n              }\n              pcVar13 = ld_so_conf_13908;\n              if (initialized_13907 == 0) {\n                needed.by = (bfd *)0x0;\n                needed.name = (char *)0x0;\n                pcVar13 = (char *)concat(ld_sysroot,"/usr/etc/ld.so.conf",0);\n                bVar12 = gldhppalinux_parse_ld_so_conf((gldhppalinux_ld_so_conf *)&needed,pcVar13);\n                if (bVar12 == 0) {\n                  free(pcVar13);\n                  pcVar13 = (char *)concat(ld_sysroot,"/etc/ld.so.conf",0);\n                  gldhppalinux_parse_ld_so_conf((gldhppalinux_ld_so_conf *)&needed,pcVar13);\n                }\n                free(pcVar13);\n                pcVar13 = ld_so_conf_13908;\n                if (needed.by != (bfd *)0x0) {\n                  pcVar13 = gldhppalinux_add_sysroot((char *)needed.by);\n                  ld_so_conf_13908 = pcVar13;\n                  free(needed.by);\n                }\n                initialized_13907 = 1;\n              }\n              pcVar17 = pbVar2->name;\n              if (pcVar13 != (char *)0x0) {\n                needed.by = pbVar2->by;\n                needed.name = pcVar17;\n                bVar12 = gldhppalinux_search_needed(pcVar13,&needed,(int)local_60);\n                if (bVar12 != 0) break;\n                pcVar17 = pbVar2->name;\n              }\n              sVar15 = strlen(pcVar17);\n              if (search_head != (search_dirs_type *)0x0) {\n                psVar22 = search_head;\n                do {\n                  if (psVar22->cmdline == 0) {\n                    sVar16 = strlen(psVar22->name);\n                    pcVar13 = (char *)xmalloc(sVar16 + sVar15 + 2);\n                    sprintf(pcVar13,"%s/%s",psVar22->name,pbVar2->name);\n                    nn.name = pcVar13;\n                    bVar12 = gldhppalinux_try_needed(&nn,(int)pcVar13,local_60);\n                    if (bVar12 != 0) goto LAB_00039300;\n                    free(pcVar13);\n                  }\n                  psVar22 = psVar22->next;\n                } while (psVar22 != (search_dirs *)0x0);\n              }\n              if (local_60 == (dt_needed *)0x1) {\n                pbVar21 = pbVar2->by;\n                pcVar13 = pbVar2->name;\n                pcVar17 = (char *)dcgettext(0,\n                                            "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                            ,5);\n                einfo(pcVar17,pcVar13,pbVar21);\n                break;\n              }\n              local_60 = (dt_needed *)0x1;\n            }" while (parenthesized_expression "(bVar12 = gldhppalinux_search_needed(command_line.rpath_link,&n,(int)local_60),\n                  bVar12 == 0)" ( (comma_expression "bVar12 = gldhppalinux_search_needed(command_line.rpath_link,&n,(int)local_60),\n                  bVar12 == 0" (assignment_expression "bVar12 = gldhppalinux_search_needed(command_line.rpath_link,&n,(int)local_60)" identifier = (call_expression "gldhppalinux_search_needed(command_line.rpath_link,&n,(int)local_60)" identifier (argument_list "(command_line.rpath_link,&n,(int)local_60)" ( (field_expression "command_line.rpath_link" identifier . field_identifier) , (pointer_expression "&n" & identifier) , (cast_expression "(int)local_60" ( (type_descriptor "int" primitive_type) ) identifier) )))) , (binary_expression "bVar12 == 0" identifier == number_literal)) )) (compound_statement "{\n              if (command_line.rpath != (char *)0x0) {\n                pcVar13 = gldhppalinux_add_sysroot(command_line.rpath);\n                bVar12 = gldhppalinux_search_needed(pcVar13,&n,(int)local_60);\n                free(pcVar13);\n                if (bVar12 != 0) break;\n              }\n              piVar14 = (int *)bfd_elf_get_runpath_list(link_info.output_bfd,&link_info);\n              if (piVar14 != (int *)0x0) {\n                do {\n                  bVar26 = true;\n                  pcVar13 = gldhppalinux_add_sysroot((char *)piVar14[2]);\n                  bVar3 = false;\n                  if ((bfd *)piVar14[1] == pbVar2->by) {\n                    bVar12 = gldhppalinux_search_needed(pcVar13,&n,(int)local_60);\n                    bVar26 = bVar12 == 0;\n                    bVar3 = !bVar26;\n                  }\n                  free(pcVar13);\n                  piVar14 = (int *)*piVar14;\n                } while ((piVar14 != (int *)0x0) && (bVar26));\n                if (bVar3) break;\n              }\n              pcVar13 = ld_so_conf_13908;\n              if (initialized_13907 == 0) {\n                needed.by = (bfd *)0x0;\n                needed.name = (char *)0x0;\n                pcVar13 = (char *)concat(ld_sysroot,"/usr/etc/ld.so.conf",0);\n                bVar12 = gldhppalinux_parse_ld_so_conf((gldhppalinux_ld_so_conf *)&needed,pcVar13);\n                if (bVar12 == 0) {\n                  free(pcVar13);\n                  pcVar13 = (char *)concat(ld_sysroot,"/etc/ld.so.conf",0);\n                  gldhppalinux_parse_ld_so_conf((gldhppalinux_ld_so_conf *)&needed,pcVar13);\n                }\n                free(pcVar13);\n                pcVar13 = ld_so_conf_13908;\n                if (needed.by != (bfd *)0x0) {\n                  pcVar13 = gldhppalinux_add_sysroot((char *)needed.by);\n                  ld_so_conf_13908 = pcVar13;\n                  free(needed.by);\n                }\n                initialized_13907 = 1;\n              }\n              pcVar17 = pbVar2->name;\n              if (pcVar13 != (char *)0x0) {\n                needed.by = pbVar2->by;\n                needed.name = pcVar17;\n                bVar12 = gldhppalinux_search_needed(pcVar13,&needed,(int)local_60);\n                if (bVar12 != 0) break;\n                pcVar17 = pbVar2->name;\n              }\n              sVar15 = strlen(pcVar17);\n              if (search_head != (search_dirs_type *)0x0) {\n                psVar22 = search_head;\n                do {\n                  if (psVar22->cmdline == 0) {\n                    sVar16 = strlen(psVar22->name);\n                    pcVar13 = (char *)xmalloc(sVar16 + sVar15 + 2);\n                    sprintf(pcVar13,"%s/%s",psVar22->name,pbVar2->name);\n                    nn.name = pcVar13;\n                    bVar12 = gldhppalinux_try_needed(&nn,(int)pcVar13,local_60);\n                    if (bVar12 != 0) goto LAB_00039300;\n                    free(pcVar13);\n                  }\n                  psVar22 = psVar22->next;\n                } while (psVar22 != (search_dirs *)0x0);\n              }\n              if (local_60 == (dt_needed *)0x1) {\n                pbVar21 = pbVar2->by;\n                pcVar13 = pbVar2->name;\n                pcVar17 = (char *)dcgettext(0,\n                                            "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                            ,5);\n                einfo(pcVar17,pcVar13,pbVar21);\n                break;\n              }\n              local_60 = (dt_needed *)0x1;\n            }" { (if_statement "if (command_line.rpath != (char *)0x0) {\n                pcVar13 = gldhppalinux_add_sysroot(command_line.rpath);\n                bVar12 = gldhppalinux_search_needed(pcVar13,&n,(int)local_60);\n                free(pcVar13);\n                if (bVar12 != 0) break;\n              }" if (parenthesized_expression "(command_line.rpath != (char *)0x0)" ( (binary_expression "command_line.rpath != (char *)0x0" (field_expression "command_line.rpath" identifier . field_identifier) != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                pcVar13 = gldhppalinux_add_sysroot(command_line.rpath);\n                bVar12 = gldhppalinux_search_needed(pcVar13,&n,(int)local_60);\n                free(pcVar13);\n                if (bVar12 != 0) break;\n              }" { (expression_statement "pcVar13 = gldhppalinux_add_sysroot(command_line.rpath);" (assignment_expression "pcVar13 = gldhppalinux_add_sysroot(command_line.rpath)" identifier = (call_expression "gldhppalinux_add_sysroot(command_line.rpath)" identifier (argument_list "(command_line.rpath)" ( (field_expression "command_line.rpath" identifier . field_identifier) )))) ;) (expression_statement "bVar12 = gldhppalinux_search_needed(pcVar13,&n,(int)local_60);" (assignment_expression "bVar12 = gldhppalinux_search_needed(pcVar13,&n,(int)local_60)" identifier = (call_expression "gldhppalinux_search_needed(pcVar13,&n,(int)local_60)" identifier (argument_list "(pcVar13,&n,(int)local_60)" ( identifier , (pointer_expression "&n" & identifier) , (cast_expression "(int)local_60" ( (type_descriptor "int" primitive_type) ) identifier) )))) ;) (expression_statement "free(pcVar13);" (call_expression "free(pcVar13)" identifier (argument_list "(pcVar13)" ( identifier ))) ;) (if_statement "if (bVar12 != 0) break;" if (parenthesized_expression "(bVar12 != 0)" ( (binary_expression "bVar12 != 0" identifier != number_literal) )) (break_statement "break;" break ;)) })) (expression_statement "piVar14 = (int *)bfd_elf_get_runpath_list(link_info.output_bfd,&link_info);" (assignment_expression "piVar14 = (int *)bfd_elf_get_runpath_list(link_info.output_bfd,&link_info)" identifier = (cast_expression "(int *)bfd_elf_get_runpath_list(link_info.output_bfd,&link_info)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "bfd_elf_get_runpath_list(link_info.output_bfd,&link_info)" identifier (argument_list "(link_info.output_bfd,&link_info)" ( (field_expression "link_info.output_bfd" identifier . field_identifier) , (pointer_expression "&link_info" & identifier) ))))) ;) (if_statement "if (piVar14 != (int *)0x0) {\n                do {\n                  bVar26 = true;\n                  pcVar13 = gldhppalinux_add_sysroot((char *)piVar14[2]);\n                  bVar3 = false;\n                  if ((bfd *)piVar14[1] == pbVar2->by) {\n                    bVar12 = gldhppalinux_search_needed(pcVar13,&n,(int)local_60);\n                    bVar26 = bVar12 == 0;\n                    bVar3 = !bVar26;\n                  }\n                  free(pcVar13);\n                  piVar14 = (int *)*piVar14;\n                } while ((piVar14 != (int *)0x0) && (bVar26));\n                if (bVar3) break;\n              }" if (parenthesized_expression "(piVar14 != (int *)0x0)" ( (binary_expression "piVar14 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                do {\n                  bVar26 = true;\n                  pcVar13 = gldhppalinux_add_sysroot((char *)piVar14[2]);\n                  bVar3 = false;\n                  if ((bfd *)piVar14[1] == pbVar2->by) {\n                    bVar12 = gldhppalinux_search_needed(pcVar13,&n,(int)local_60);\n                    bVar26 = bVar12 == 0;\n                    bVar3 = !bVar26;\n                  }\n                  free(pcVar13);\n                  piVar14 = (int *)*piVar14;\n                } while ((piVar14 != (int *)0x0) && (bVar26));\n                if (bVar3) break;\n              }" { (do_statement "do {\n                  bVar26 = true;\n                  pcVar13 = gldhppalinux_add_sysroot((char *)piVar14[2]);\n                  bVar3 = false;\n                  if ((bfd *)piVar14[1] == pbVar2->by) {\n                    bVar12 = gldhppalinux_search_needed(pcVar13,&n,(int)local_60);\n                    bVar26 = bVar12 == 0;\n                    bVar3 = !bVar26;\n                  }\n                  free(pcVar13);\n                  piVar14 = (int *)*piVar14;\n                } while ((piVar14 != (int *)0x0) && (bVar26));" do (compound_statement "{\n                  bVar26 = true;\n                  pcVar13 = gldhppalinux_add_sysroot((char *)piVar14[2]);\n                  bVar3 = false;\n                  if ((bfd *)piVar14[1] == pbVar2->by) {\n                    bVar12 = gldhppalinux_search_needed(pcVar13,&n,(int)local_60);\n                    bVar26 = bVar12 == 0;\n                    bVar3 = !bVar26;\n                  }\n                  free(pcVar13);\n                  piVar14 = (int *)*piVar14;\n                }" { (expression_statement "bVar26 = true;" (assignment_expression "bVar26 = true" identifier = true) ;) (expression_statement "pcVar13 = gldhppalinux_add_sysroot((char *)piVar14[2]);" (assignment_expression "pcVar13 = gldhppalinux_add_sysroot((char *)piVar14[2])" identifier = (call_expression "gldhppalinux_add_sysroot((char *)piVar14[2])" identifier (argument_list "((char *)piVar14[2])" ( (cast_expression "(char *)piVar14[2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar14[2]" identifier [ number_literal ])) )))) ;) (expression_statement "bVar3 = false;" (assignment_expression "bVar3 = false" identifier = false) ;) (if_statement "if ((bfd *)piVar14[1] == pbVar2->by) {\n                    bVar12 = gldhppalinux_search_needed(pcVar13,&n,(int)local_60);\n                    bVar26 = bVar12 == 0;\n                    bVar3 = !bVar26;\n                  }" if (parenthesized_expression "((bfd *)piVar14[1] == pbVar2->by)" ( (binary_expression "(bfd *)piVar14[1] == pbVar2->by" (cast_expression "(bfd *)piVar14[1]" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar14[1]" identifier [ number_literal ])) == (field_expression "pbVar2->by" identifier -> field_identifier)) )) (compound_statement "{\n                    bVar12 = gldhppalinux_search_needed(pcVar13,&n,(int)local_60);\n                    bVar26 = bVar12 == 0;\n                    bVar3 = !bVar26;\n                  }" { (expression_statement "bVar12 = gldhppalinux_search_needed(pcVar13,&n,(int)local_60);" (assignment_expression "bVar12 = gldhppalinux_search_needed(pcVar13,&n,(int)local_60)" identifier = (call_expression "gldhppalinux_search_needed(pcVar13,&n,(int)local_60)" identifier (argument_list "(pcVar13,&n,(int)local_60)" ( identifier , (pointer_expression "&n" & identifier) , (cast_expression "(int)local_60" ( (type_descriptor "int" primitive_type) ) identifier) )))) ;) (expression_statement "bVar26 = bVar12 == 0;" (assignment_expression "bVar26 = bVar12 == 0" identifier = (binary_expression "bVar12 == 0" identifier == number_literal)) ;) (expression_statement "bVar3 = !bVar26;" (assignment_expression "bVar3 = !bVar26" identifier = (unary_expression "!bVar26" ! identifier)) ;) })) (expression_statement "free(pcVar13);" (call_expression "free(pcVar13)" identifier (argument_list "(pcVar13)" ( identifier ))) ;) (expression_statement "piVar14 = (int *)*piVar14;" (assignment_expression "piVar14 = (int *)*piVar14" identifier = (cast_expression "(int *)*piVar14" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar14" * identifier))) ;) }) while (parenthesized_expression "((piVar14 != (int *)0x0) && (bVar26))" ( (binary_expression "(piVar14 != (int *)0x0) && (bVar26)" (parenthesized_expression "(piVar14 != (int *)0x0)" ( (binary_expression "piVar14 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(bVar26)" ( identifier ))) )) ;) (if_statement "if (bVar3) break;" if (parenthesized_expression "(bVar3)" ( identifier )) (break_statement "break;" break ;)) })) (expression_statement "pcVar13 = ld_so_conf_13908;" (assignment_expression "pcVar13 = ld_so_conf_13908" identifier = identifier) ;) (if_statement "if (initialized_13907 == 0) {\n                needed.by = (bfd *)0x0;\n                needed.name = (char *)0x0;\n                pcVar13 = (char *)concat(ld_sysroot,"/usr/etc/ld.so.conf",0);\n                bVar12 = gldhppalinux_parse_ld_so_conf((gldhppalinux_ld_so_conf *)&needed,pcVar13);\n                if (bVar12 == 0) {\n                  free(pcVar13);\n                  pcVar13 = (char *)concat(ld_sysroot,"/etc/ld.so.conf",0);\n                  gldhppalinux_parse_ld_so_conf((gldhppalinux_ld_so_conf *)&needed,pcVar13);\n                }\n                free(pcVar13);\n                pcVar13 = ld_so_conf_13908;\n                if (needed.by != (bfd *)0x0) {\n                  pcVar13 = gldhppalinux_add_sysroot((char *)needed.by);\n                  ld_so_conf_13908 = pcVar13;\n                  free(needed.by);\n                }\n                initialized_13907 = 1;\n              }" if (parenthesized_expression "(initialized_13907 == 0)" ( (binary_expression "initialized_13907 == 0" identifier == number_literal) )) (compound_statement "{\n                needed.by = (bfd *)0x0;\n                needed.name = (char *)0x0;\n                pcVar13 = (char *)concat(ld_sysroot,"/usr/etc/ld.so.conf",0);\n                bVar12 = gldhppalinux_parse_ld_so_conf((gldhppalinux_ld_so_conf *)&needed,pcVar13);\n                if (bVar12 == 0) {\n                  free(pcVar13);\n                  pcVar13 = (char *)concat(ld_sysroot,"/etc/ld.so.conf",0);\n                  gldhppalinux_parse_ld_so_conf((gldhppalinux_ld_so_conf *)&needed,pcVar13);\n                }\n                free(pcVar13);\n                pcVar13 = ld_so_conf_13908;\n                if (needed.by != (bfd *)0x0) {\n                  pcVar13 = gldhppalinux_add_sysroot((char *)needed.by);\n                  ld_so_conf_13908 = pcVar13;\n                  free(needed.by);\n                }\n                initialized_13907 = 1;\n              }" { (expression_statement "needed.by = (bfd *)0x0;" (assignment_expression "needed.by = (bfd *)0x0" (field_expression "needed.by" identifier . field_identifier) = (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "needed.name = (char *)0x0;" (assignment_expression "needed.name = (char *)0x0" (field_expression "needed.name" identifier . field_identifier) = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar13 = (char *)concat(ld_sysroot,"/usr/etc/ld.so.conf",0);" (assignment_expression "pcVar13 = (char *)concat(ld_sysroot,"/usr/etc/ld.so.conf",0)" identifier = (cast_expression "(char *)concat(ld_sysroot,"/usr/etc/ld.so.conf",0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "concat(ld_sysroot,"/usr/etc/ld.so.conf",0)" identifier (argument_list "(ld_sysroot,"/usr/etc/ld.so.conf",0)" ( identifier , (string_literal ""/usr/etc/ld.so.conf"" " string_content ") , number_literal ))))) ;) (expression_statement "bVar12 = gldhppalinux_parse_ld_so_conf((gldhppalinux_ld_so_conf *)&needed,pcVar13);" (assignment_expression "bVar12 = gldhppalinux_parse_ld_so_conf((gldhppalinux_ld_so_conf *)&needed,pcVar13)" identifier = (call_expression "gldhppalinux_parse_ld_so_conf((gldhppalinux_ld_so_conf *)&needed,pcVar13)" identifier (argument_list "((gldhppalinux_ld_so_conf *)&needed,pcVar13)" ( (cast_expression "(gldhppalinux_ld_so_conf *)&needed" ( (type_descriptor "gldhppalinux_ld_so_conf *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&needed" & identifier)) , identifier )))) ;) (if_statement "if (bVar12 == 0) {\n                  free(pcVar13);\n                  pcVar13 = (char *)concat(ld_sysroot,"/etc/ld.so.conf",0);\n                  gldhppalinux_parse_ld_so_conf((gldhppalinux_ld_so_conf *)&needed,pcVar13);\n                }" if (parenthesized_expression "(bVar12 == 0)" ( (binary_expression "bVar12 == 0" identifier == number_literal) )) (compound_statement "{\n                  free(pcVar13);\n                  pcVar13 = (char *)concat(ld_sysroot,"/etc/ld.so.conf",0);\n                  gldhppalinux_parse_ld_so_conf((gldhppalinux_ld_so_conf *)&needed,pcVar13);\n                }" { (expression_statement "free(pcVar13);" (call_expression "free(pcVar13)" identifier (argument_list "(pcVar13)" ( identifier ))) ;) (expression_statement "pcVar13 = (char *)concat(ld_sysroot,"/etc/ld.so.conf",0);" (assignment_expression "pcVar13 = (char *)concat(ld_sysroot,"/etc/ld.so.conf",0)" identifier = (cast_expression "(char *)concat(ld_sysroot,"/etc/ld.so.conf",0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "concat(ld_sysroot,"/etc/ld.so.conf",0)" identifier (argument_list "(ld_sysroot,"/etc/ld.so.conf",0)" ( identifier , (string_literal ""/etc/ld.so.conf"" " string_content ") , number_literal ))))) ;) (expression_statement "gldhppalinux_parse_ld_so_conf((gldhppalinux_ld_so_conf *)&needed,pcVar13);" (call_expression "gldhppalinux_parse_ld_so_conf((gldhppalinux_ld_so_conf *)&needed,pcVar13)" identifier (argument_list "((gldhppalinux_ld_so_conf *)&needed,pcVar13)" ( (cast_expression "(gldhppalinux_ld_so_conf *)&needed" ( (type_descriptor "gldhppalinux_ld_so_conf *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&needed" & identifier)) , identifier ))) ;) })) (expression_statement "free(pcVar13);" (call_expression "free(pcVar13)" identifier (argument_list "(pcVar13)" ( identifier ))) ;) (expression_statement "pcVar13 = ld_so_conf_13908;" (assignment_expression "pcVar13 = ld_so_conf_13908" identifier = identifier) ;) (if_statement "if (needed.by != (bfd *)0x0) {\n                  pcVar13 = gldhppalinux_add_sysroot((char *)needed.by);\n                  ld_so_conf_13908 = pcVar13;\n                  free(needed.by);\n                }" if (parenthesized_expression "(needed.by != (bfd *)0x0)" ( (binary_expression "needed.by != (bfd *)0x0" (field_expression "needed.by" identifier . field_identifier) != (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  pcVar13 = gldhppalinux_add_sysroot((char *)needed.by);\n                  ld_so_conf_13908 = pcVar13;\n                  free(needed.by);\n                }" { (expression_statement "pcVar13 = gldhppalinux_add_sysroot((char *)needed.by);" (assignment_expression "pcVar13 = gldhppalinux_add_sysroot((char *)needed.by)" identifier = (call_expression "gldhppalinux_add_sysroot((char *)needed.by)" identifier (argument_list "((char *)needed.by)" ( (cast_expression "(char *)needed.by" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "needed.by" identifier . field_identifier)) )))) ;) (expression_statement "ld_so_conf_13908 = pcVar13;" (assignment_expression "ld_so_conf_13908 = pcVar13" identifier = identifier) ;) (expression_statement "free(needed.by);" (call_expression "free(needed.by)" identifier (argument_list "(needed.by)" ( (field_expression "needed.by" identifier . field_identifier) ))) ;) })) (expression_statement "initialized_13907 = 1;" (assignment_expression "initialized_13907 = 1" identifier = number_literal) ;) })) (expression_statement "pcVar17 = pbVar2->name;" (assignment_expression "pcVar17 = pbVar2->name" identifier = (field_expression "pbVar2->name" identifier -> field_identifier)) ;) (if_statement "if (pcVar13 != (char *)0x0) {\n                needed.by = pbVar2->by;\n                needed.name = pcVar17;\n                bVar12 = gldhppalinux_search_needed(pcVar13,&needed,(int)local_60);\n                if (bVar12 != 0) break;\n                pcVar17 = pbVar2->name;\n              }" if (parenthesized_expression "(pcVar13 != (char *)0x0)" ( (binary_expression "pcVar13 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                needed.by = pbVar2->by;\n                needed.name = pcVar17;\n                bVar12 = gldhppalinux_search_needed(pcVar13,&needed,(int)local_60);\n                if (bVar12 != 0) break;\n                pcVar17 = pbVar2->name;\n              }" { (expression_statement "needed.by = pbVar2->by;" (assignment_expression "needed.by = pbVar2->by" (field_expression "needed.by" identifier . field_identifier) = (field_expression "pbVar2->by" identifier -> field_identifier)) ;) (expression_statement "needed.name = pcVar17;" (assignment_expression "needed.name = pcVar17" (field_expression "needed.name" identifier . field_identifier) = identifier) ;) (expression_statement "bVar12 = gldhppalinux_search_needed(pcVar13,&needed,(int)local_60);" (assignment_expression "bVar12 = gldhppalinux_search_needed(pcVar13,&needed,(int)local_60)" identifier = (call_expression "gldhppalinux_search_needed(pcVar13,&needed,(int)local_60)" identifier (argument_list "(pcVar13,&needed,(int)local_60)" ( identifier , (pointer_expression "&needed" & identifier) , (cast_expression "(int)local_60" ( (type_descriptor "int" primitive_type) ) identifier) )))) ;) (if_statement "if (bVar12 != 0) break;" if (parenthesized_expression "(bVar12 != 0)" ( (binary_expression "bVar12 != 0" identifier != number_literal) )) (break_statement "break;" break ;)) (expression_statement "pcVar17 = pbVar2->name;" (assignment_expression "pcVar17 = pbVar2->name" identifier = (field_expression "pbVar2->name" identifier -> field_identifier)) ;) })) (expression_statement "sVar15 = strlen(pcVar17);" (assignment_expression "sVar15 = strlen(pcVar17)" identifier = (call_expression "strlen(pcVar17)" identifier (argument_list "(pcVar17)" ( identifier )))) ;) (if_statement "if (search_head != (search_dirs_type *)0x0) {\n                psVar22 = search_head;\n                do {\n                  if (psVar22->cmdline == 0) {\n                    sVar16 = strlen(psVar22->name);\n                    pcVar13 = (char *)xmalloc(sVar16 + sVar15 + 2);\n                    sprintf(pcVar13,"%s/%s",psVar22->name,pbVar2->name);\n                    nn.name = pcVar13;\n                    bVar12 = gldhppalinux_try_needed(&nn,(int)pcVar13,local_60);\n                    if (bVar12 != 0) goto LAB_00039300;\n                    free(pcVar13);\n                  }\n                  psVar22 = psVar22->next;\n                } while (psVar22 != (search_dirs *)0x0);\n              }" if (parenthesized_expression "(search_head != (search_dirs_type *)0x0)" ( (binary_expression "search_head != (search_dirs_type *)0x0" identifier != (cast_expression "(search_dirs_type *)0x0" ( (type_descriptor "search_dirs_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                psVar22 = search_head;\n                do {\n                  if (psVar22->cmdline == 0) {\n                    sVar16 = strlen(psVar22->name);\n                    pcVar13 = (char *)xmalloc(sVar16 + sVar15 + 2);\n                    sprintf(pcVar13,"%s/%s",psVar22->name,pbVar2->name);\n                    nn.name = pcVar13;\n                    bVar12 = gldhppalinux_try_needed(&nn,(int)pcVar13,local_60);\n                    if (bVar12 != 0) goto LAB_00039300;\n                    free(pcVar13);\n                  }\n                  psVar22 = psVar22->next;\n                } while (psVar22 != (search_dirs *)0x0);\n              }" { (expression_statement "psVar22 = search_head;" (assignment_expression "psVar22 = search_head" identifier = identifier) ;) (do_statement "do {\n                  if (psVar22->cmdline == 0) {\n                    sVar16 = strlen(psVar22->name);\n                    pcVar13 = (char *)xmalloc(sVar16 + sVar15 + 2);\n                    sprintf(pcVar13,"%s/%s",psVar22->name,pbVar2->name);\n                    nn.name = pcVar13;\n                    bVar12 = gldhppalinux_try_needed(&nn,(int)pcVar13,local_60);\n                    if (bVar12 != 0) goto LAB_00039300;\n                    free(pcVar13);\n                  }\n                  psVar22 = psVar22->next;\n                } while (psVar22 != (search_dirs *)0x0);" do (compound_statement "{\n                  if (psVar22->cmdline == 0) {\n                    sVar16 = strlen(psVar22->name);\n                    pcVar13 = (char *)xmalloc(sVar16 + sVar15 + 2);\n                    sprintf(pcVar13,"%s/%s",psVar22->name,pbVar2->name);\n                    nn.name = pcVar13;\n                    bVar12 = gldhppalinux_try_needed(&nn,(int)pcVar13,local_60);\n                    if (bVar12 != 0) goto LAB_00039300;\n                    free(pcVar13);\n                  }\n                  psVar22 = psVar22->next;\n                }" { (if_statement "if (psVar22->cmdline == 0) {\n                    sVar16 = strlen(psVar22->name);\n                    pcVar13 = (char *)xmalloc(sVar16 + sVar15 + 2);\n                    sprintf(pcVar13,"%s/%s",psVar22->name,pbVar2->name);\n                    nn.name = pcVar13;\n                    bVar12 = gldhppalinux_try_needed(&nn,(int)pcVar13,local_60);\n                    if (bVar12 != 0) goto LAB_00039300;\n                    free(pcVar13);\n                  }" if (parenthesized_expression "(psVar22->cmdline == 0)" ( (binary_expression "psVar22->cmdline == 0" (field_expression "psVar22->cmdline" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n                    sVar16 = strlen(psVar22->name);\n                    pcVar13 = (char *)xmalloc(sVar16 + sVar15 + 2);\n                    sprintf(pcVar13,"%s/%s",psVar22->name,pbVar2->name);\n                    nn.name = pcVar13;\n                    bVar12 = gldhppalinux_try_needed(&nn,(int)pcVar13,local_60);\n                    if (bVar12 != 0) goto LAB_00039300;\n                    free(pcVar13);\n                  }" { (expression_statement "sVar16 = strlen(psVar22->name);" (assignment_expression "sVar16 = strlen(psVar22->name)" identifier = (call_expression "strlen(psVar22->name)" identifier (argument_list "(psVar22->name)" ( (field_expression "psVar22->name" identifier -> field_identifier) )))) ;) (expression_statement "pcVar13 = (char *)xmalloc(sVar16 + sVar15 + 2);" (assignment_expression "pcVar13 = (char *)xmalloc(sVar16 + sVar15 + 2)" identifier = (cast_expression "(char *)xmalloc(sVar16 + sVar15 + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(sVar16 + sVar15 + 2)" identifier (argument_list "(sVar16 + sVar15 + 2)" ( (binary_expression "sVar16 + sVar15 + 2" (binary_expression "sVar16 + sVar15" identifier + identifier) + number_literal) ))))) ;) (expression_statement "sprintf(pcVar13,"%s/%s",psVar22->name,pbVar2->name);" (call_expression "sprintf(pcVar13,"%s/%s",psVar22->name,pbVar2->name)" identifier (argument_list "(pcVar13,"%s/%s",psVar22->name,pbVar2->name)" ( identifier , (string_literal ""%s/%s"" " string_content ") , (field_expression "psVar22->name" identifier -> field_identifier) , (field_expression "pbVar2->name" identifier -> field_identifier) ))) ;) (expression_statement "nn.name = pcVar13;" (assignment_expression "nn.name = pcVar13" (field_expression "nn.name" identifier . field_identifier) = identifier) ;) (expression_statement "bVar12 = gldhppalinux_try_needed(&nn,(int)pcVar13,local_60);" (assignment_expression "bVar12 = gldhppalinux_try_needed(&nn,(int)pcVar13,local_60)" identifier = (call_expression "gldhppalinux_try_needed(&nn,(int)pcVar13,local_60)" identifier (argument_list "(&nn,(int)pcVar13,local_60)" ( (pointer_expression "&nn" & identifier) , (cast_expression "(int)pcVar13" ( (type_descriptor "int" primitive_type) ) identifier) , identifier )))) ;) (if_statement "if (bVar12 != 0) goto LAB_00039300;" if (parenthesized_expression "(bVar12 != 0)" ( (binary_expression "bVar12 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00039300;" goto statement_identifier ;)) (expression_statement "free(pcVar13);" (call_expression "free(pcVar13)" identifier (argument_list "(pcVar13)" ( identifier ))) ;) })) (expression_statement "psVar22 = psVar22->next;" (assignment_expression "psVar22 = psVar22->next" identifier = (field_expression "psVar22->next" identifier -> field_identifier)) ;) }) while (parenthesized_expression "(psVar22 != (search_dirs *)0x0)" ( (binary_expression "psVar22 != (search_dirs *)0x0" identifier != (cast_expression "(search_dirs *)0x0" ( (type_descriptor "search_dirs *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) })) (if_statement "if (local_60 == (dt_needed *)0x1) {\n                pbVar21 = pbVar2->by;\n                pcVar13 = pbVar2->name;\n                pcVar17 = (char *)dcgettext(0,\n                                            "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                            ,5);\n                einfo(pcVar17,pcVar13,pbVar21);\n                break;\n              }" if (parenthesized_expression "(local_60 == (dt_needed *)0x1)" ( (binary_expression "local_60 == (dt_needed *)0x1" identifier == (cast_expression "(dt_needed *)0x1" ( (type_descriptor "dt_needed *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                pbVar21 = pbVar2->by;\n                pcVar13 = pbVar2->name;\n                pcVar17 = (char *)dcgettext(0,\n                                            "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                            ,5);\n                einfo(pcVar17,pcVar13,pbVar21);\n                break;\n              }" { (expression_statement "pbVar21 = pbVar2->by;" (assignment_expression "pbVar21 = pbVar2->by" identifier = (field_expression "pbVar2->by" identifier -> field_identifier)) ;) (expression_statement "pcVar13 = pbVar2->name;" (assignment_expression "pcVar13 = pbVar2->name" identifier = (field_expression "pbVar2->name" identifier -> field_identifier)) ;) (expression_statement "pcVar17 = (char *)dcgettext(0,\n                                            "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                            ,5);" (assignment_expression "pcVar17 = (char *)dcgettext(0,\n                                            "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                            ,5)" identifier = (cast_expression "(char *)dcgettext(0,\n                                            "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                            ,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,\n                                            "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                            ,5)" identifier (argument_list "(0,\n                                            "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                            ,5)" ( number_literal , (string_literal ""%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "einfo(pcVar17,pcVar13,pbVar21);" (call_expression "einfo(pcVar17,pcVar13,pbVar21)" identifier (argument_list "(pcVar17,pcVar13,pbVar21)" ( identifier , identifier , identifier ))) ;) (break_statement "break;" break ;) })) (expression_statement "local_60 = (dt_needed *)0x1;" (assignment_expression "local_60 = (dt_needed *)0x1" identifier = (cast_expression "(dt_needed *)0x1" ( (type_descriptor "dt_needed *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) })) })) (labeled_statement "LAB_00039300:" statement_identifier : (expression_statement "" ;)) })) (if_statement "if (((link_info._3_1_ & 0xc0) == 0x80) &&\n         (iVar11 = bfd_elf_parse_eh_frame_entries(0,&link_info), iVar11 == 0)) {\n        pcVar13 = (char *)dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);\n        einfo(pcVar13);\n      }" if (parenthesized_expression "(((link_info._3_1_ & 0xc0) == 0x80) &&\n         (iVar11 = bfd_elf_parse_eh_frame_entries(0,&link_info), iVar11 == 0))" ( (binary_expression "((link_info._3_1_ & 0xc0) == 0x80) &&\n         (iVar11 = bfd_elf_parse_eh_frame_entries(0,&link_info), iVar11 == 0)" (parenthesized_expression "((link_info._3_1_ & 0xc0) == 0x80)" ( (binary_expression "(link_info._3_1_ & 0xc0) == 0x80" (parenthesized_expression "(link_info._3_1_ & 0xc0)" ( (binary_expression "link_info._3_1_ & 0xc0" (field_expression "link_info._3_1_" identifier . field_identifier) & number_literal) )) == number_literal) )) && (parenthesized_expression "(iVar11 = bfd_elf_parse_eh_frame_entries(0,&link_info), iVar11 == 0)" ( (comma_expression "iVar11 = bfd_elf_parse_eh_frame_entries(0,&link_info), iVar11 == 0" (assignment_expression "iVar11 = bfd_elf_parse_eh_frame_entries(0,&link_info)" identifier = (call_expression "bfd_elf_parse_eh_frame_entries(0,&link_info)" identifier (argument_list "(0,&link_info)" ( number_literal , (pointer_expression "&link_info" & identifier) )))) , (binary_expression "iVar11 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n        pcVar13 = (char *)dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);\n        einfo(pcVar13);\n      }" { (expression_statement "pcVar13 = (char *)dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);" (assignment_expression "pcVar13 = (char *)dcgettext(0,"%F%P: failed to parse EH frame entries\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"%F%P: failed to parse EH frame entries\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"%F%P: failed to parse EH frame entries\n",5)" identifier (argument_list "(0,"%F%P: failed to parse EH frame entries\n",5)" ( number_literal , (string_literal ""%F%P: failed to parse EH frame entries\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "einfo(pcVar13);" (call_expression "einfo(pcVar13)" identifier (argument_list "(pcVar13)" ( identifier ))) ;) })) }))) })) (return_statement "return;" return ;) })))
(translation_unit "void FUN_00038fb0(void)\n\n{\n  int iVar1;\n  undefined4 uVar2;\n  bool bVar3;\n  ushort uVar4;\n  undefined4 *puVar5;\n  undefined4 *puVar6;\n  uint uVar7;\n  int iVar8;\n  undefined4 uVar9;\n  void *pvVar10;\n  int *piVar11;\n  size_t sVar12;\n  size_t sVar13;\n  char *pcVar14;\n  undefined4 uVar15;\n  int iVar16;\n  int iVar17;\n  int iVar18;\n  undefined4 *puVar19;\n  byte *pbVar20;\n  byte *pbVar21;\n  bool bVar22;\n  bool bVar23;\n  bool bVar24;\n  byte bVar25;\n  int local_60;\n  int local_50;\n  int local_4c;\n  \n  bVar25 = 0;\n  FUN_00030330();\n  iVar8 = DAT_00091c3c;\n  if (*(int *)(DAT_00091c3c + 0x28) == 1) {\n    if (DAT_00091ce0 != 0) {\n      unlink_if_ordinary(DAT_00091ce0);\n      DAT_00091c54 = bfd_openw(DAT_00091ce0,**(undefined4 **)(DAT_00091c50 + 4));\n      iVar16 = DAT_00091ce0;\n      if (DAT_00091c54 == 0) {\n        uVar9 = dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);\n        FUN_00031760(uVar9,iVar16);\n      }\n    }\n    iVar18 = DAT_00091c50;\n    iVar16 = DAT_00091c58;\n    if (DAT_00091a4c != (void *)0x0) {\n      for (; iVar16 != 0; iVar16 = *(int *)(iVar16 + 0x98)) {\n        if (((*(int *)(*(int *)(iVar16 + 4) + 4) == 5) && (*(int *)(iVar16 + 0x68) != 0)) &&\n           ((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0)) {\n          iVar17 = FUN_000353f0(DAT_00091a4c);\n          if ((iVar17 == 0) || (iVar17 + 0x10 == 0)) {\n            pcVar14 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar16 = bfd_make_section_with_flags(iVar16,".note.gnu.build-id",0x10402b);\n            if (iVar16 != 0) {\n              *(undefined4 *)(iVar16 + 0x40) = 2;\n              iVar18 = DAT_00091c50;\n              iVar1 = *(int *)(*(int *)(DAT_00091c50 + 0x9c) + 0x910);\n              *(code **)(iVar1 + 0x10) = FUN_000371f0;\n              pvVar10 = DAT_00091a4c;\n              *(int *)(iVar1 + 0x18) = iVar16;\n              *(void **)(iVar1 + 0x14) = pvVar10;\n              *(undefined4 *)(*(int *)(iVar16 + 0x8c) + 4) = 7;\n              *(int *)(iVar16 + 0x24) = iVar17 + 0x10;\n              goto LAB_00039178;\n            }\n            pcVar14 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          uVar9 = dcgettext(0,pcVar14,5);\n          FUN_00031760(uVar9);\n          break;\n        }\n      }\n      free(DAT_00091a4c);\n      DAT_00091a4c = (void *)0x0;\n      iVar18 = DAT_00091c50;\n    }\nLAB_00039178:\n    (**(code **)(*(int *)(*(int *)(iVar18 + 4) + 0x1c0) + 0x1bc))(&DAT_00091c20);\n    if (((byte)DAT_00091c20 & 3) == 2) {\n      if (DAT_00091c25 >> 7 == (~DAT_00091c26 & 1)) {\n        bfd_make_section_with_flags(DAT_00091c58,".note.GNU-stack",DAT_00091c25 >> 3 & 0x10 | 8);\n      }\n    }\n    else {\n      if (((DAT_00091c24 & 0x20) == 0) && (DAT_00091c58 != 0)) {\n        local_50 = 0;\n        bVar3 = false;\n        local_4c = 0;\n        iVar16 = DAT_00091c58;\n        do {\n          while ((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0) {\n            puVar19 = *(undefined4 **)(iVar16 + 0x60);\n            if (puVar19 == (undefined4 *)0x0) {\nLAB_00039697:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar22 = (undefined *)puVar19[0xf] < PTR__bfd_std_section_00090fc4 + 0x150;\n                bVar24 = (undefined *)puVar19[0xf] == PTR__bfd_std_section_00090fc4 + 0x150;\n                iVar18 = local_60;\n                if (!bVar24) {\n                  iVar17 = 0xf;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar22 = *pbVar20 < *pbVar21;\n                    bVar24 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar24);\n                  bVar23 = false;\n                  bVar22 = (!bVar22 && !bVar24) == bVar22;\n                  if (bVar22) {\n                    local_60 = 2;\n                    goto LAB_0003966f;\n                  }\n                  iVar17 = 10;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar23 = *pbVar20 < *pbVar21;\n                    bVar22 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar22);\n                  if (((!bVar23 && !bVar22) == bVar23) && (iVar18 = 1, (uint)puVar19[9] < 9)) {\n                    iVar18 = local_60;\n                  }\n                }\n                local_60 = iVar18;\n                puVar19 = (undefined4 *)puVar19[3];\n              } while (puVar19 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_00039697;\nLAB_0003966f:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar16 = local_4c;\n                }\n                uVar9 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00031760(uVar9,iVar16);\n                goto LAB_000396cd;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_00039697;\n              if (local_60 != 2) {\n                if ((DAT_00091c20._2_2_ & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar3 = true;\n                  if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                    local_4c = iVar16;\n                  }\n                }\n                break;\n              }\n              bVar3 = true;\n              if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                local_4c = iVar16;\n              }\n            }\n            iVar16 = *(int *)(iVar16 + 0x98);\n            local_50 = 2;\n            DAT_00091c20._2_2_ = DAT_00091c20._2_2_ & 0x3fff | 0x8000;\n            if (iVar16 == 0) goto LAB_000396cd;\n          }\n          iVar16 = *(int *)(iVar16 + 0x98);\n        } while (iVar16 != 0);\nLAB_000396cd:\n        if ((local_4c == 0) ||\n           (iVar16 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x20) | 8),\n           iVar16 == 0)) {\n          if (bVar3) {\n            uVar9 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00031760(uVar9);\n          }\n        }\n        else {\n          *(undefined4 *)(iVar16 + 0x40) = 2;\n          *(int *)(iVar8 + 0xac) = iVar16;\n        }\n      }\n      puVar6 = (undefined4 *)bfd_elf_get_needed_list(DAT_00091c50,&DAT_00091c20);\n      uVar4 = DAT_00091c20._2_2_;\n      for (puVar19 = puVar6; DAT_00091c20._2_2_ = uVar4, puVar19 != (undefined4 *)0x0;\n          puVar19 = (undefined4 *)*puVar19) {\n        puVar5 = puVar6;\n        if ((puVar19[1] == 0) ||\n           ((uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 1) == 0 &&\n            (((puVar19[1] == 0 || ((DAT_00091c20._2_2_ & 0x180) != 0x80)) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 4) == 0)))))) {\n          for (; puVar5 != puVar19; puVar5 = (undefined4 *)*puVar5) {\n            if (((puVar5[1] == 0) ||\n                (uVar7 = bfd_elf_get_dyn_lib_class(puVar5[1]), (uVar7 & 1) == 0)) &&\n               (iVar8 = strcmp((char *)puVar5[2],(char *)puVar19[2]), iVar8 == 0)) {\n              if (puVar19 != puVar5) goto LAB_00039300;\n              break;\n            }\n          }\n          DAT_00091ae4 = FUN_00038720;\n          DAT_00091a60 = 0;\n          DAT_00091ae0 = puVar19;\n          FUN_00024c50(FUN_00035720);\n          if ((DAT_00091a60 == 0) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_00091a60 + 0x10)),\n             (uVar7 & 1) != 0)) {\n            uVar9 = puVar19[1];\n            uVar2 = puVar19[2];\n            if (DAT_00091d90 != 0) {\n              uVar15 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00031730(uVar15,uVar2,uVar9);\n            }\n            if ((DAT_00091a60 == 0) || (iVar8 = FUN_00038820(), iVar8 == 0)) {\n              bVar3 = false;\n              while (iVar8 = FUN_00038b50(), iVar8 == 0) {\n                if (DAT_00091d04 != 0) {\n                  pvVar10 = (void *)FUN_00037360();\n                  iVar8 = FUN_00038b50();\n                  free(pvVar10);\n                  if (iVar8 != 0) break;\n                }\n                piVar11 = (int *)bfd_elf_get_runpath_list(DAT_00091c50,&DAT_00091c20);\n                if (piVar11 != (int *)0x0) {\n                  do {\n                    bVar24 = true;\n                    pvVar10 = (void *)FUN_00037360();\n                    bVar22 = false;\n                    if (piVar11[1] == puVar19[1]) {\n                      iVar8 = FUN_00038b50();\n                      bVar24 = iVar8 == 0;\n                      bVar22 = !bVar24;\n                    }\n                    free(pvVar10);\n                    piVar11 = (int *)*piVar11;\n                  } while ((piVar11 != (int *)0x0) && (bVar24));\n                  if (bVar22) break;\n                }\n                if (DAT_00091a44 == 0) {\n                  pvVar10 = (void *)concat(DAT_00091ca8,"/usr/etc/ld.so.conf",0);\n                  iVar8 = FUN_00037470();\n                  if (iVar8 == 0) {\n                    free(pvVar10);\n                    pvVar10 = (void *)concat(DAT_00091ca8,"/etc/ld.so.conf",0);\n                    FUN_00037470();\n                  }\n                  free(pvVar10);\n                  DAT_00091a44 = 1;\n                }\n                pcVar14 = (char *)puVar19[2];\n                if (DAT_00091a40 != 0) {\n                  iVar8 = FUN_00038b50();\n                  if (iVar8 != 0) break;\n                  pcVar14 = (char *)puVar19[2];\n                }\n                sVar12 = strlen(pcVar14);\n                if (DAT_00091e04 != (int *)0x0) {\n                  piVar11 = DAT_00091e04;\n                  do {\n                    if (piVar11[2] == 0) {\n                      sVar13 = strlen((char *)piVar11[1]);\n                      pcVar14 = (char *)xmalloc(sVar13 + sVar12 + 2);\n                      sprintf(pcVar14,"%s/%s",piVar11[1],puVar19[2]);\n                      iVar8 = FUN_00038820();\n                      if (iVar8 != 0) goto LAB_00039300;\n                      free(pcVar14);\n                    }\n                    piVar11 = (int *)*piVar11;\n                  } while (piVar11 != (int *)0x0);\n                }\n                if (bVar3) {\n                  uVar9 = puVar19[1];\n                  uVar2 = puVar19[2];\n                  uVar15 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00031760(uVar15,uVar2,uVar9);\n                  break;\n                }\n                bVar3 = true;\n              }\n            }\n          }\n        }\nLAB_00039300:\n        uVar4 = DAT_00091c20._2_2_;\n      }\n      DAT_00091c20._3_1_ = (byte)(uVar4 >> 8);\n      bVar25 = DAT_00091c20._3_1_ & 0xc0;\n      if ((bVar25 == 0x80) && (iVar8 = bfd_elf_parse_eh_frame_entries(0,&DAT_00091c20), iVar8 == 0))\n      {\n        uVar9 = dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);\n        FUN_00031760(uVar9);\n      }\n    }\n  }\n  return;\n}\n\n" (function_definition "void FUN_00038fb0(void)\n\n{\n  int iVar1;\n  undefined4 uVar2;\n  bool bVar3;\n  ushort uVar4;\n  undefined4 *puVar5;\n  undefined4 *puVar6;\n  uint uVar7;\n  int iVar8;\n  undefined4 uVar9;\n  void *pvVar10;\n  int *piVar11;\n  size_t sVar12;\n  size_t sVar13;\n  char *pcVar14;\n  undefined4 uVar15;\n  int iVar16;\n  int iVar17;\n  int iVar18;\n  undefined4 *puVar19;\n  byte *pbVar20;\n  byte *pbVar21;\n  bool bVar22;\n  bool bVar23;\n  bool bVar24;\n  byte bVar25;\n  int local_60;\n  int local_50;\n  int local_4c;\n  \n  bVar25 = 0;\n  FUN_00030330();\n  iVar8 = DAT_00091c3c;\n  if (*(int *)(DAT_00091c3c + 0x28) == 1) {\n    if (DAT_00091ce0 != 0) {\n      unlink_if_ordinary(DAT_00091ce0);\n      DAT_00091c54 = bfd_openw(DAT_00091ce0,**(undefined4 **)(DAT_00091c50 + 4));\n      iVar16 = DAT_00091ce0;\n      if (DAT_00091c54 == 0) {\n        uVar9 = dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);\n        FUN_00031760(uVar9,iVar16);\n      }\n    }\n    iVar18 = DAT_00091c50;\n    iVar16 = DAT_00091c58;\n    if (DAT_00091a4c != (void *)0x0) {\n      for (; iVar16 != 0; iVar16 = *(int *)(iVar16 + 0x98)) {\n        if (((*(int *)(*(int *)(iVar16 + 4) + 4) == 5) && (*(int *)(iVar16 + 0x68) != 0)) &&\n           ((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0)) {\n          iVar17 = FUN_000353f0(DAT_00091a4c);\n          if ((iVar17 == 0) || (iVar17 + 0x10 == 0)) {\n            pcVar14 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar16 = bfd_make_section_with_flags(iVar16,".note.gnu.build-id",0x10402b);\n            if (iVar16 != 0) {\n              *(undefined4 *)(iVar16 + 0x40) = 2;\n              iVar18 = DAT_00091c50;\n              iVar1 = *(int *)(*(int *)(DAT_00091c50 + 0x9c) + 0x910);\n              *(code **)(iVar1 + 0x10) = FUN_000371f0;\n              pvVar10 = DAT_00091a4c;\n              *(int *)(iVar1 + 0x18) = iVar16;\n              *(void **)(iVar1 + 0x14) = pvVar10;\n              *(undefined4 *)(*(int *)(iVar16 + 0x8c) + 4) = 7;\n              *(int *)(iVar16 + 0x24) = iVar17 + 0x10;\n              goto LAB_00039178;\n            }\n            pcVar14 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          uVar9 = dcgettext(0,pcVar14,5);\n          FUN_00031760(uVar9);\n          break;\n        }\n      }\n      free(DAT_00091a4c);\n      DAT_00091a4c = (void *)0x0;\n      iVar18 = DAT_00091c50;\n    }\nLAB_00039178:\n    (**(code **)(*(int *)(*(int *)(iVar18 + 4) + 0x1c0) + 0x1bc))(&DAT_00091c20);\n    if (((byte)DAT_00091c20 & 3) == 2) {\n      if (DAT_00091c25 >> 7 == (~DAT_00091c26 & 1)) {\n        bfd_make_section_with_flags(DAT_00091c58,".note.GNU-stack",DAT_00091c25 >> 3 & 0x10 | 8);\n      }\n    }\n    else {\n      if (((DAT_00091c24 & 0x20) == 0) && (DAT_00091c58 != 0)) {\n        local_50 = 0;\n        bVar3 = false;\n        local_4c = 0;\n        iVar16 = DAT_00091c58;\n        do {\n          while ((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0) {\n            puVar19 = *(undefined4 **)(iVar16 + 0x60);\n            if (puVar19 == (undefined4 *)0x0) {\nLAB_00039697:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar22 = (undefined *)puVar19[0xf] < PTR__bfd_std_section_00090fc4 + 0x150;\n                bVar24 = (undefined *)puVar19[0xf] == PTR__bfd_std_section_00090fc4 + 0x150;\n                iVar18 = local_60;\n                if (!bVar24) {\n                  iVar17 = 0xf;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar22 = *pbVar20 < *pbVar21;\n                    bVar24 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar24);\n                  bVar23 = false;\n                  bVar22 = (!bVar22 && !bVar24) == bVar22;\n                  if (bVar22) {\n                    local_60 = 2;\n                    goto LAB_0003966f;\n                  }\n                  iVar17 = 10;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar23 = *pbVar20 < *pbVar21;\n                    bVar22 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar22);\n                  if (((!bVar23 && !bVar22) == bVar23) && (iVar18 = 1, (uint)puVar19[9] < 9)) {\n                    iVar18 = local_60;\n                  }\n                }\n                local_60 = iVar18;\n                puVar19 = (undefined4 *)puVar19[3];\n              } while (puVar19 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_00039697;\nLAB_0003966f:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar16 = local_4c;\n                }\n                uVar9 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00031760(uVar9,iVar16);\n                goto LAB_000396cd;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_00039697;\n              if (local_60 != 2) {\n                if ((DAT_00091c20._2_2_ & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar3 = true;\n                  if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                    local_4c = iVar16;\n                  }\n                }\n                break;\n              }\n              bVar3 = true;\n              if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                local_4c = iVar16;\n              }\n            }\n            iVar16 = *(int *)(iVar16 + 0x98);\n            local_50 = 2;\n            DAT_00091c20._2_2_ = DAT_00091c20._2_2_ & 0x3fff | 0x8000;\n            if (iVar16 == 0) goto LAB_000396cd;\n          }\n          iVar16 = *(int *)(iVar16 + 0x98);\n        } while (iVar16 != 0);\nLAB_000396cd:\n        if ((local_4c == 0) ||\n           (iVar16 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x20) | 8),\n           iVar16 == 0)) {\n          if (bVar3) {\n            uVar9 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00031760(uVar9);\n          }\n        }\n        else {\n          *(undefined4 *)(iVar16 + 0x40) = 2;\n          *(int *)(iVar8 + 0xac) = iVar16;\n        }\n      }\n      puVar6 = (undefined4 *)bfd_elf_get_needed_list(DAT_00091c50,&DAT_00091c20);\n      uVar4 = DAT_00091c20._2_2_;\n      for (puVar19 = puVar6; DAT_00091c20._2_2_ = uVar4, puVar19 != (undefined4 *)0x0;\n          puVar19 = (undefined4 *)*puVar19) {\n        puVar5 = puVar6;\n        if ((puVar19[1] == 0) ||\n           ((uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 1) == 0 &&\n            (((puVar19[1] == 0 || ((DAT_00091c20._2_2_ & 0x180) != 0x80)) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 4) == 0)))))) {\n          for (; puVar5 != puVar19; puVar5 = (undefined4 *)*puVar5) {\n            if (((puVar5[1] == 0) ||\n                (uVar7 = bfd_elf_get_dyn_lib_class(puVar5[1]), (uVar7 & 1) == 0)) &&\n               (iVar8 = strcmp((char *)puVar5[2],(char *)puVar19[2]), iVar8 == 0)) {\n              if (puVar19 != puVar5) goto LAB_00039300;\n              break;\n            }\n          }\n          DAT_00091ae4 = FUN_00038720;\n          DAT_00091a60 = 0;\n          DAT_00091ae0 = puVar19;\n          FUN_00024c50(FUN_00035720);\n          if ((DAT_00091a60 == 0) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_00091a60 + 0x10)),\n             (uVar7 & 1) != 0)) {\n            uVar9 = puVar19[1];\n            uVar2 = puVar19[2];\n            if (DAT_00091d90 != 0) {\n              uVar15 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00031730(uVar15,uVar2,uVar9);\n            }\n            if ((DAT_00091a60 == 0) || (iVar8 = FUN_00038820(), iVar8 == 0)) {\n              bVar3 = false;\n              while (iVar8 = FUN_00038b50(), iVar8 == 0) {\n                if (DAT_00091d04 != 0) {\n                  pvVar10 = (void *)FUN_00037360();\n                  iVar8 = FUN_00038b50();\n                  free(pvVar10);\n                  if (iVar8 != 0) break;\n                }\n                piVar11 = (int *)bfd_elf_get_runpath_list(DAT_00091c50,&DAT_00091c20);\n                if (piVar11 != (int *)0x0) {\n                  do {\n                    bVar24 = true;\n                    pvVar10 = (void *)FUN_00037360();\n                    bVar22 = false;\n                    if (piVar11[1] == puVar19[1]) {\n                      iVar8 = FUN_00038b50();\n                      bVar24 = iVar8 == 0;\n                      bVar22 = !bVar24;\n                    }\n                    free(pvVar10);\n                    piVar11 = (int *)*piVar11;\n                  } while ((piVar11 != (int *)0x0) && (bVar24));\n                  if (bVar22) break;\n                }\n                if (DAT_00091a44 == 0) {\n                  pvVar10 = (void *)concat(DAT_00091ca8,"/usr/etc/ld.so.conf",0);\n                  iVar8 = FUN_00037470();\n                  if (iVar8 == 0) {\n                    free(pvVar10);\n                    pvVar10 = (void *)concat(DAT_00091ca8,"/etc/ld.so.conf",0);\n                    FUN_00037470();\n                  }\n                  free(pvVar10);\n                  DAT_00091a44 = 1;\n                }\n                pcVar14 = (char *)puVar19[2];\n                if (DAT_00091a40 != 0) {\n                  iVar8 = FUN_00038b50();\n                  if (iVar8 != 0) break;\n                  pcVar14 = (char *)puVar19[2];\n                }\n                sVar12 = strlen(pcVar14);\n                if (DAT_00091e04 != (int *)0x0) {\n                  piVar11 = DAT_00091e04;\n                  do {\n                    if (piVar11[2] == 0) {\n                      sVar13 = strlen((char *)piVar11[1]);\n                      pcVar14 = (char *)xmalloc(sVar13 + sVar12 + 2);\n                      sprintf(pcVar14,"%s/%s",piVar11[1],puVar19[2]);\n                      iVar8 = FUN_00038820();\n                      if (iVar8 != 0) goto LAB_00039300;\n                      free(pcVar14);\n                    }\n                    piVar11 = (int *)*piVar11;\n                  } while (piVar11 != (int *)0x0);\n                }\n                if (bVar3) {\n                  uVar9 = puVar19[1];\n                  uVar2 = puVar19[2];\n                  uVar15 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00031760(uVar15,uVar2,uVar9);\n                  break;\n                }\n                bVar3 = true;\n              }\n            }\n          }\n        }\nLAB_00039300:\n        uVar4 = DAT_00091c20._2_2_;\n      }\n      DAT_00091c20._3_1_ = (byte)(uVar4 >> 8);\n      bVar25 = DAT_00091c20._3_1_ & 0xc0;\n      if ((bVar25 == 0x80) && (iVar8 = bfd_elf_parse_eh_frame_entries(0,&DAT_00091c20), iVar8 == 0))\n      {\n        uVar9 = dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);\n        FUN_00031760(uVar9);\n      }\n    }\n  }\n  return;\n}" primitive_type (function_declarator "FUN_00038fb0(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  int iVar1;\n  undefined4 uVar2;\n  bool bVar3;\n  ushort uVar4;\n  undefined4 *puVar5;\n  undefined4 *puVar6;\n  uint uVar7;\n  int iVar8;\n  undefined4 uVar9;\n  void *pvVar10;\n  int *piVar11;\n  size_t sVar12;\n  size_t sVar13;\n  char *pcVar14;\n  undefined4 uVar15;\n  int iVar16;\n  int iVar17;\n  int iVar18;\n  undefined4 *puVar19;\n  byte *pbVar20;\n  byte *pbVar21;\n  bool bVar22;\n  bool bVar23;\n  bool bVar24;\n  byte bVar25;\n  int local_60;\n  int local_50;\n  int local_4c;\n  \n  bVar25 = 0;\n  FUN_00030330();\n  iVar8 = DAT_00091c3c;\n  if (*(int *)(DAT_00091c3c + 0x28) == 1) {\n    if (DAT_00091ce0 != 0) {\n      unlink_if_ordinary(DAT_00091ce0);\n      DAT_00091c54 = bfd_openw(DAT_00091ce0,**(undefined4 **)(DAT_00091c50 + 4));\n      iVar16 = DAT_00091ce0;\n      if (DAT_00091c54 == 0) {\n        uVar9 = dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);\n        FUN_00031760(uVar9,iVar16);\n      }\n    }\n    iVar18 = DAT_00091c50;\n    iVar16 = DAT_00091c58;\n    if (DAT_00091a4c != (void *)0x0) {\n      for (; iVar16 != 0; iVar16 = *(int *)(iVar16 + 0x98)) {\n        if (((*(int *)(*(int *)(iVar16 + 4) + 4) == 5) && (*(int *)(iVar16 + 0x68) != 0)) &&\n           ((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0)) {\n          iVar17 = FUN_000353f0(DAT_00091a4c);\n          if ((iVar17 == 0) || (iVar17 + 0x10 == 0)) {\n            pcVar14 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar16 = bfd_make_section_with_flags(iVar16,".note.gnu.build-id",0x10402b);\n            if (iVar16 != 0) {\n              *(undefined4 *)(iVar16 + 0x40) = 2;\n              iVar18 = DAT_00091c50;\n              iVar1 = *(int *)(*(int *)(DAT_00091c50 + 0x9c) + 0x910);\n              *(code **)(iVar1 + 0x10) = FUN_000371f0;\n              pvVar10 = DAT_00091a4c;\n              *(int *)(iVar1 + 0x18) = iVar16;\n              *(void **)(iVar1 + 0x14) = pvVar10;\n              *(undefined4 *)(*(int *)(iVar16 + 0x8c) + 4) = 7;\n              *(int *)(iVar16 + 0x24) = iVar17 + 0x10;\n              goto LAB_00039178;\n            }\n            pcVar14 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          uVar9 = dcgettext(0,pcVar14,5);\n          FUN_00031760(uVar9);\n          break;\n        }\n      }\n      free(DAT_00091a4c);\n      DAT_00091a4c = (void *)0x0;\n      iVar18 = DAT_00091c50;\n    }\nLAB_00039178:\n    (**(code **)(*(int *)(*(int *)(iVar18 + 4) + 0x1c0) + 0x1bc))(&DAT_00091c20);\n    if (((byte)DAT_00091c20 & 3) == 2) {\n      if (DAT_00091c25 >> 7 == (~DAT_00091c26 & 1)) {\n        bfd_make_section_with_flags(DAT_00091c58,".note.GNU-stack",DAT_00091c25 >> 3 & 0x10 | 8);\n      }\n    }\n    else {\n      if (((DAT_00091c24 & 0x20) == 0) && (DAT_00091c58 != 0)) {\n        local_50 = 0;\n        bVar3 = false;\n        local_4c = 0;\n        iVar16 = DAT_00091c58;\n        do {\n          while ((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0) {\n            puVar19 = *(undefined4 **)(iVar16 + 0x60);\n            if (puVar19 == (undefined4 *)0x0) {\nLAB_00039697:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar22 = (undefined *)puVar19[0xf] < PTR__bfd_std_section_00090fc4 + 0x150;\n                bVar24 = (undefined *)puVar19[0xf] == PTR__bfd_std_section_00090fc4 + 0x150;\n                iVar18 = local_60;\n                if (!bVar24) {\n                  iVar17 = 0xf;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar22 = *pbVar20 < *pbVar21;\n                    bVar24 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar24);\n                  bVar23 = false;\n                  bVar22 = (!bVar22 && !bVar24) == bVar22;\n                  if (bVar22) {\n                    local_60 = 2;\n                    goto LAB_0003966f;\n                  }\n                  iVar17 = 10;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar23 = *pbVar20 < *pbVar21;\n                    bVar22 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar22);\n                  if (((!bVar23 && !bVar22) == bVar23) && (iVar18 = 1, (uint)puVar19[9] < 9)) {\n                    iVar18 = local_60;\n                  }\n                }\n                local_60 = iVar18;\n                puVar19 = (undefined4 *)puVar19[3];\n              } while (puVar19 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_00039697;\nLAB_0003966f:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar16 = local_4c;\n                }\n                uVar9 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00031760(uVar9,iVar16);\n                goto LAB_000396cd;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_00039697;\n              if (local_60 != 2) {\n                if ((DAT_00091c20._2_2_ & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar3 = true;\n                  if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                    local_4c = iVar16;\n                  }\n                }\n                break;\n              }\n              bVar3 = true;\n              if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                local_4c = iVar16;\n              }\n            }\n            iVar16 = *(int *)(iVar16 + 0x98);\n            local_50 = 2;\n            DAT_00091c20._2_2_ = DAT_00091c20._2_2_ & 0x3fff | 0x8000;\n            if (iVar16 == 0) goto LAB_000396cd;\n          }\n          iVar16 = *(int *)(iVar16 + 0x98);\n        } while (iVar16 != 0);\nLAB_000396cd:\n        if ((local_4c == 0) ||\n           (iVar16 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x20) | 8),\n           iVar16 == 0)) {\n          if (bVar3) {\n            uVar9 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00031760(uVar9);\n          }\n        }\n        else {\n          *(undefined4 *)(iVar16 + 0x40) = 2;\n          *(int *)(iVar8 + 0xac) = iVar16;\n        }\n      }\n      puVar6 = (undefined4 *)bfd_elf_get_needed_list(DAT_00091c50,&DAT_00091c20);\n      uVar4 = DAT_00091c20._2_2_;\n      for (puVar19 = puVar6; DAT_00091c20._2_2_ = uVar4, puVar19 != (undefined4 *)0x0;\n          puVar19 = (undefined4 *)*puVar19) {\n        puVar5 = puVar6;\n        if ((puVar19[1] == 0) ||\n           ((uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 1) == 0 &&\n            (((puVar19[1] == 0 || ((DAT_00091c20._2_2_ & 0x180) != 0x80)) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 4) == 0)))))) {\n          for (; puVar5 != puVar19; puVar5 = (undefined4 *)*puVar5) {\n            if (((puVar5[1] == 0) ||\n                (uVar7 = bfd_elf_get_dyn_lib_class(puVar5[1]), (uVar7 & 1) == 0)) &&\n               (iVar8 = strcmp((char *)puVar5[2],(char *)puVar19[2]), iVar8 == 0)) {\n              if (puVar19 != puVar5) goto LAB_00039300;\n              break;\n            }\n          }\n          DAT_00091ae4 = FUN_00038720;\n          DAT_00091a60 = 0;\n          DAT_00091ae0 = puVar19;\n          FUN_00024c50(FUN_00035720);\n          if ((DAT_00091a60 == 0) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_00091a60 + 0x10)),\n             (uVar7 & 1) != 0)) {\n            uVar9 = puVar19[1];\n            uVar2 = puVar19[2];\n            if (DAT_00091d90 != 0) {\n              uVar15 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00031730(uVar15,uVar2,uVar9);\n            }\n            if ((DAT_00091a60 == 0) || (iVar8 = FUN_00038820(), iVar8 == 0)) {\n              bVar3 = false;\n              while (iVar8 = FUN_00038b50(), iVar8 == 0) {\n                if (DAT_00091d04 != 0) {\n                  pvVar10 = (void *)FUN_00037360();\n                  iVar8 = FUN_00038b50();\n                  free(pvVar10);\n                  if (iVar8 != 0) break;\n                }\n                piVar11 = (int *)bfd_elf_get_runpath_list(DAT_00091c50,&DAT_00091c20);\n                if (piVar11 != (int *)0x0) {\n                  do {\n                    bVar24 = true;\n                    pvVar10 = (void *)FUN_00037360();\n                    bVar22 = false;\n                    if (piVar11[1] == puVar19[1]) {\n                      iVar8 = FUN_00038b50();\n                      bVar24 = iVar8 == 0;\n                      bVar22 = !bVar24;\n                    }\n                    free(pvVar10);\n                    piVar11 = (int *)*piVar11;\n                  } while ((piVar11 != (int *)0x0) && (bVar24));\n                  if (bVar22) break;\n                }\n                if (DAT_00091a44 == 0) {\n                  pvVar10 = (void *)concat(DAT_00091ca8,"/usr/etc/ld.so.conf",0);\n                  iVar8 = FUN_00037470();\n                  if (iVar8 == 0) {\n                    free(pvVar10);\n                    pvVar10 = (void *)concat(DAT_00091ca8,"/etc/ld.so.conf",0);\n                    FUN_00037470();\n                  }\n                  free(pvVar10);\n                  DAT_00091a44 = 1;\n                }\n                pcVar14 = (char *)puVar19[2];\n                if (DAT_00091a40 != 0) {\n                  iVar8 = FUN_00038b50();\n                  if (iVar8 != 0) break;\n                  pcVar14 = (char *)puVar19[2];\n                }\n                sVar12 = strlen(pcVar14);\n                if (DAT_00091e04 != (int *)0x0) {\n                  piVar11 = DAT_00091e04;\n                  do {\n                    if (piVar11[2] == 0) {\n                      sVar13 = strlen((char *)piVar11[1]);\n                      pcVar14 = (char *)xmalloc(sVar13 + sVar12 + 2);\n                      sprintf(pcVar14,"%s/%s",piVar11[1],puVar19[2]);\n                      iVar8 = FUN_00038820();\n                      if (iVar8 != 0) goto LAB_00039300;\n                      free(pcVar14);\n                    }\n                    piVar11 = (int *)*piVar11;\n                  } while (piVar11 != (int *)0x0);\n                }\n                if (bVar3) {\n                  uVar9 = puVar19[1];\n                  uVar2 = puVar19[2];\n                  uVar15 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00031760(uVar15,uVar2,uVar9);\n                  break;\n                }\n                bVar3 = true;\n              }\n            }\n          }\n        }\nLAB_00039300:\n        uVar4 = DAT_00091c20._2_2_;\n      }\n      DAT_00091c20._3_1_ = (byte)(uVar4 >> 8);\n      bVar25 = DAT_00091c20._3_1_ & 0xc0;\n      if ((bVar25 == 0x80) && (iVar8 = bfd_elf_parse_eh_frame_entries(0,&DAT_00091c20), iVar8 == 0))\n      {\n        uVar9 = dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);\n        FUN_00031760(uVar9);\n      }\n    }\n  }\n  return;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "bool bVar3;" primitive_type identifier ;) (declaration "ushort uVar4;" type_identifier identifier ;) (declaration "undefined4 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "undefined4 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "undefined4 uVar9;" type_identifier identifier ;) (declaration "void *pvVar10;" primitive_type (pointer_declarator "*pvVar10" * identifier) ;) (declaration "int *piVar11;" primitive_type (pointer_declarator "*piVar11" * identifier) ;) (declaration "size_t sVar12;" primitive_type identifier ;) (declaration "size_t sVar13;" primitive_type identifier ;) (declaration "char *pcVar14;" primitive_type (pointer_declarator "*pcVar14" * identifier) ;) (declaration "undefined4 uVar15;" type_identifier identifier ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "undefined4 *puVar19;" type_identifier (pointer_declarator "*puVar19" * identifier) ;) (declaration "byte *pbVar20;" type_identifier (pointer_declarator "*pbVar20" * identifier) ;) (declaration "byte *pbVar21;" type_identifier (pointer_declarator "*pbVar21" * identifier) ;) (declaration "bool bVar22;" primitive_type identifier ;) (declaration "bool bVar23;" primitive_type identifier ;) (declaration "bool bVar24;" primitive_type identifier ;) (declaration "byte bVar25;" type_identifier identifier ;) (declaration "int local_60;" primitive_type identifier ;) (declaration "int local_50;" primitive_type identifier ;) (declaration "int local_4c;" primitive_type identifier ;) (expression_statement "bVar25 = 0;" (assignment_expression "bVar25 = 0" identifier = number_literal) ;) (expression_statement "FUN_00030330();" (call_expression "FUN_00030330()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar8 = DAT_00091c3c;" (assignment_expression "iVar8 = DAT_00091c3c" identifier = identifier) ;) (if_statement "if (*(int *)(DAT_00091c3c + 0x28) == 1) {\n    if (DAT_00091ce0 != 0) {\n      unlink_if_ordinary(DAT_00091ce0);\n      DAT_00091c54 = bfd_openw(DAT_00091ce0,**(undefined4 **)(DAT_00091c50 + 4));\n      iVar16 = DAT_00091ce0;\n      if (DAT_00091c54 == 0) {\n        uVar9 = dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);\n        FUN_00031760(uVar9,iVar16);\n      }\n    }\n    iVar18 = DAT_00091c50;\n    iVar16 = DAT_00091c58;\n    if (DAT_00091a4c != (void *)0x0) {\n      for (; iVar16 != 0; iVar16 = *(int *)(iVar16 + 0x98)) {\n        if (((*(int *)(*(int *)(iVar16 + 4) + 4) == 5) && (*(int *)(iVar16 + 0x68) != 0)) &&\n           ((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0)) {\n          iVar17 = FUN_000353f0(DAT_00091a4c);\n          if ((iVar17 == 0) || (iVar17 + 0x10 == 0)) {\n            pcVar14 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar16 = bfd_make_section_with_flags(iVar16,".note.gnu.build-id",0x10402b);\n            if (iVar16 != 0) {\n              *(undefined4 *)(iVar16 + 0x40) = 2;\n              iVar18 = DAT_00091c50;\n              iVar1 = *(int *)(*(int *)(DAT_00091c50 + 0x9c) + 0x910);\n              *(code **)(iVar1 + 0x10) = FUN_000371f0;\n              pvVar10 = DAT_00091a4c;\n              *(int *)(iVar1 + 0x18) = iVar16;\n              *(void **)(iVar1 + 0x14) = pvVar10;\n              *(undefined4 *)(*(int *)(iVar16 + 0x8c) + 4) = 7;\n              *(int *)(iVar16 + 0x24) = iVar17 + 0x10;\n              goto LAB_00039178;\n            }\n            pcVar14 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          uVar9 = dcgettext(0,pcVar14,5);\n          FUN_00031760(uVar9);\n          break;\n        }\n      }\n      free(DAT_00091a4c);\n      DAT_00091a4c = (void *)0x0;\n      iVar18 = DAT_00091c50;\n    }\nLAB_00039178:\n    (**(code **)(*(int *)(*(int *)(iVar18 + 4) + 0x1c0) + 0x1bc))(&DAT_00091c20);\n    if (((byte)DAT_00091c20 & 3) == 2) {\n      if (DAT_00091c25 >> 7 == (~DAT_00091c26 & 1)) {\n        bfd_make_section_with_flags(DAT_00091c58,".note.GNU-stack",DAT_00091c25 >> 3 & 0x10 | 8);\n      }\n    }\n    else {\n      if (((DAT_00091c24 & 0x20) == 0) && (DAT_00091c58 != 0)) {\n        local_50 = 0;\n        bVar3 = false;\n        local_4c = 0;\n        iVar16 = DAT_00091c58;\n        do {\n          while ((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0) {\n            puVar19 = *(undefined4 **)(iVar16 + 0x60);\n            if (puVar19 == (undefined4 *)0x0) {\nLAB_00039697:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar22 = (undefined *)puVar19[0xf] < PTR__bfd_std_section_00090fc4 + 0x150;\n                bVar24 = (undefined *)puVar19[0xf] == PTR__bfd_std_section_00090fc4 + 0x150;\n                iVar18 = local_60;\n                if (!bVar24) {\n                  iVar17 = 0xf;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar22 = *pbVar20 < *pbVar21;\n                    bVar24 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar24);\n                  bVar23 = false;\n                  bVar22 = (!bVar22 && !bVar24) == bVar22;\n                  if (bVar22) {\n                    local_60 = 2;\n                    goto LAB_0003966f;\n                  }\n                  iVar17 = 10;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar23 = *pbVar20 < *pbVar21;\n                    bVar22 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar22);\n                  if (((!bVar23 && !bVar22) == bVar23) && (iVar18 = 1, (uint)puVar19[9] < 9)) {\n                    iVar18 = local_60;\n                  }\n                }\n                local_60 = iVar18;\n                puVar19 = (undefined4 *)puVar19[3];\n              } while (puVar19 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_00039697;\nLAB_0003966f:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar16 = local_4c;\n                }\n                uVar9 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00031760(uVar9,iVar16);\n                goto LAB_000396cd;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_00039697;\n              if (local_60 != 2) {\n                if ((DAT_00091c20._2_2_ & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar3 = true;\n                  if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                    local_4c = iVar16;\n                  }\n                }\n                break;\n              }\n              bVar3 = true;\n              if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                local_4c = iVar16;\n              }\n            }\n            iVar16 = *(int *)(iVar16 + 0x98);\n            local_50 = 2;\n            DAT_00091c20._2_2_ = DAT_00091c20._2_2_ & 0x3fff | 0x8000;\n            if (iVar16 == 0) goto LAB_000396cd;\n          }\n          iVar16 = *(int *)(iVar16 + 0x98);\n        } while (iVar16 != 0);\nLAB_000396cd:\n        if ((local_4c == 0) ||\n           (iVar16 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x20) | 8),\n           iVar16 == 0)) {\n          if (bVar3) {\n            uVar9 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00031760(uVar9);\n          }\n        }\n        else {\n          *(undefined4 *)(iVar16 + 0x40) = 2;\n          *(int *)(iVar8 + 0xac) = iVar16;\n        }\n      }\n      puVar6 = (undefined4 *)bfd_elf_get_needed_list(DAT_00091c50,&DAT_00091c20);\n      uVar4 = DAT_00091c20._2_2_;\n      for (puVar19 = puVar6; DAT_00091c20._2_2_ = uVar4, puVar19 != (undefined4 *)0x0;\n          puVar19 = (undefined4 *)*puVar19) {\n        puVar5 = puVar6;\n        if ((puVar19[1] == 0) ||\n           ((uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 1) == 0 &&\n            (((puVar19[1] == 0 || ((DAT_00091c20._2_2_ & 0x180) != 0x80)) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 4) == 0)))))) {\n          for (; puVar5 != puVar19; puVar5 = (undefined4 *)*puVar5) {\n            if (((puVar5[1] == 0) ||\n                (uVar7 = bfd_elf_get_dyn_lib_class(puVar5[1]), (uVar7 & 1) == 0)) &&\n               (iVar8 = strcmp((char *)puVar5[2],(char *)puVar19[2]), iVar8 == 0)) {\n              if (puVar19 != puVar5) goto LAB_00039300;\n              break;\n            }\n          }\n          DAT_00091ae4 = FUN_00038720;\n          DAT_00091a60 = 0;\n          DAT_00091ae0 = puVar19;\n          FUN_00024c50(FUN_00035720);\n          if ((DAT_00091a60 == 0) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_00091a60 + 0x10)),\n             (uVar7 & 1) != 0)) {\n            uVar9 = puVar19[1];\n            uVar2 = puVar19[2];\n            if (DAT_00091d90 != 0) {\n              uVar15 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00031730(uVar15,uVar2,uVar9);\n            }\n            if ((DAT_00091a60 == 0) || (iVar8 = FUN_00038820(), iVar8 == 0)) {\n              bVar3 = false;\n              while (iVar8 = FUN_00038b50(), iVar8 == 0) {\n                if (DAT_00091d04 != 0) {\n                  pvVar10 = (void *)FUN_00037360();\n                  iVar8 = FUN_00038b50();\n                  free(pvVar10);\n                  if (iVar8 != 0) break;\n                }\n                piVar11 = (int *)bfd_elf_get_runpath_list(DAT_00091c50,&DAT_00091c20);\n                if (piVar11 != (int *)0x0) {\n                  do {\n                    bVar24 = true;\n                    pvVar10 = (void *)FUN_00037360();\n                    bVar22 = false;\n                    if (piVar11[1] == puVar19[1]) {\n                      iVar8 = FUN_00038b50();\n                      bVar24 = iVar8 == 0;\n                      bVar22 = !bVar24;\n                    }\n                    free(pvVar10);\n                    piVar11 = (int *)*piVar11;\n                  } while ((piVar11 != (int *)0x0) && (bVar24));\n                  if (bVar22) break;\n                }\n                if (DAT_00091a44 == 0) {\n                  pvVar10 = (void *)concat(DAT_00091ca8,"/usr/etc/ld.so.conf",0);\n                  iVar8 = FUN_00037470();\n                  if (iVar8 == 0) {\n                    free(pvVar10);\n                    pvVar10 = (void *)concat(DAT_00091ca8,"/etc/ld.so.conf",0);\n                    FUN_00037470();\n                  }\n                  free(pvVar10);\n                  DAT_00091a44 = 1;\n                }\n                pcVar14 = (char *)puVar19[2];\n                if (DAT_00091a40 != 0) {\n                  iVar8 = FUN_00038b50();\n                  if (iVar8 != 0) break;\n                  pcVar14 = (char *)puVar19[2];\n                }\n                sVar12 = strlen(pcVar14);\n                if (DAT_00091e04 != (int *)0x0) {\n                  piVar11 = DAT_00091e04;\n                  do {\n                    if (piVar11[2] == 0) {\n                      sVar13 = strlen((char *)piVar11[1]);\n                      pcVar14 = (char *)xmalloc(sVar13 + sVar12 + 2);\n                      sprintf(pcVar14,"%s/%s",piVar11[1],puVar19[2]);\n                      iVar8 = FUN_00038820();\n                      if (iVar8 != 0) goto LAB_00039300;\n                      free(pcVar14);\n                    }\n                    piVar11 = (int *)*piVar11;\n                  } while (piVar11 != (int *)0x0);\n                }\n                if (bVar3) {\n                  uVar9 = puVar19[1];\n                  uVar2 = puVar19[2];\n                  uVar15 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00031760(uVar15,uVar2,uVar9);\n                  break;\n                }\n                bVar3 = true;\n              }\n            }\n          }\n        }\nLAB_00039300:\n        uVar4 = DAT_00091c20._2_2_;\n      }\n      DAT_00091c20._3_1_ = (byte)(uVar4 >> 8);\n      bVar25 = DAT_00091c20._3_1_ & 0xc0;\n      if ((bVar25 == 0x80) && (iVar8 = bfd_elf_parse_eh_frame_entries(0,&DAT_00091c20), iVar8 == 0))\n      {\n        uVar9 = dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);\n        FUN_00031760(uVar9);\n      }\n    }\n  }" if (parenthesized_expression "(*(int *)(DAT_00091c3c + 0x28) == 1)" ( (binary_expression "*(int *)(DAT_00091c3c + 0x28) == 1" (pointer_expression "*(int *)(DAT_00091c3c + 0x28)" * (cast_expression "(int *)(DAT_00091c3c + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00091c3c + 0x28)" ( (binary_expression "DAT_00091c3c + 0x28" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    if (DAT_00091ce0 != 0) {\n      unlink_if_ordinary(DAT_00091ce0);\n      DAT_00091c54 = bfd_openw(DAT_00091ce0,**(undefined4 **)(DAT_00091c50 + 4));\n      iVar16 = DAT_00091ce0;\n      if (DAT_00091c54 == 0) {\n        uVar9 = dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);\n        FUN_00031760(uVar9,iVar16);\n      }\n    }\n    iVar18 = DAT_00091c50;\n    iVar16 = DAT_00091c58;\n    if (DAT_00091a4c != (void *)0x0) {\n      for (; iVar16 != 0; iVar16 = *(int *)(iVar16 + 0x98)) {\n        if (((*(int *)(*(int *)(iVar16 + 4) + 4) == 5) && (*(int *)(iVar16 + 0x68) != 0)) &&\n           ((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0)) {\n          iVar17 = FUN_000353f0(DAT_00091a4c);\n          if ((iVar17 == 0) || (iVar17 + 0x10 == 0)) {\n            pcVar14 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar16 = bfd_make_section_with_flags(iVar16,".note.gnu.build-id",0x10402b);\n            if (iVar16 != 0) {\n              *(undefined4 *)(iVar16 + 0x40) = 2;\n              iVar18 = DAT_00091c50;\n              iVar1 = *(int *)(*(int *)(DAT_00091c50 + 0x9c) + 0x910);\n              *(code **)(iVar1 + 0x10) = FUN_000371f0;\n              pvVar10 = DAT_00091a4c;\n              *(int *)(iVar1 + 0x18) = iVar16;\n              *(void **)(iVar1 + 0x14) = pvVar10;\n              *(undefined4 *)(*(int *)(iVar16 + 0x8c) + 4) = 7;\n              *(int *)(iVar16 + 0x24) = iVar17 + 0x10;\n              goto LAB_00039178;\n            }\n            pcVar14 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          uVar9 = dcgettext(0,pcVar14,5);\n          FUN_00031760(uVar9);\n          break;\n        }\n      }\n      free(DAT_00091a4c);\n      DAT_00091a4c = (void *)0x0;\n      iVar18 = DAT_00091c50;\n    }\nLAB_00039178:\n    (**(code **)(*(int *)(*(int *)(iVar18 + 4) + 0x1c0) + 0x1bc))(&DAT_00091c20);\n    if (((byte)DAT_00091c20 & 3) == 2) {\n      if (DAT_00091c25 >> 7 == (~DAT_00091c26 & 1)) {\n        bfd_make_section_with_flags(DAT_00091c58,".note.GNU-stack",DAT_00091c25 >> 3 & 0x10 | 8);\n      }\n    }\n    else {\n      if (((DAT_00091c24 & 0x20) == 0) && (DAT_00091c58 != 0)) {\n        local_50 = 0;\n        bVar3 = false;\n        local_4c = 0;\n        iVar16 = DAT_00091c58;\n        do {\n          while ((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0) {\n            puVar19 = *(undefined4 **)(iVar16 + 0x60);\n            if (puVar19 == (undefined4 *)0x0) {\nLAB_00039697:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar22 = (undefined *)puVar19[0xf] < PTR__bfd_std_section_00090fc4 + 0x150;\n                bVar24 = (undefined *)puVar19[0xf] == PTR__bfd_std_section_00090fc4 + 0x150;\n                iVar18 = local_60;\n                if (!bVar24) {\n                  iVar17 = 0xf;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar22 = *pbVar20 < *pbVar21;\n                    bVar24 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar24);\n                  bVar23 = false;\n                  bVar22 = (!bVar22 && !bVar24) == bVar22;\n                  if (bVar22) {\n                    local_60 = 2;\n                    goto LAB_0003966f;\n                  }\n                  iVar17 = 10;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar23 = *pbVar20 < *pbVar21;\n                    bVar22 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar22);\n                  if (((!bVar23 && !bVar22) == bVar23) && (iVar18 = 1, (uint)puVar19[9] < 9)) {\n                    iVar18 = local_60;\n                  }\n                }\n                local_60 = iVar18;\n                puVar19 = (undefined4 *)puVar19[3];\n              } while (puVar19 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_00039697;\nLAB_0003966f:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar16 = local_4c;\n                }\n                uVar9 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00031760(uVar9,iVar16);\n                goto LAB_000396cd;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_00039697;\n              if (local_60 != 2) {\n                if ((DAT_00091c20._2_2_ & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar3 = true;\n                  if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                    local_4c = iVar16;\n                  }\n                }\n                break;\n              }\n              bVar3 = true;\n              if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                local_4c = iVar16;\n              }\n            }\n            iVar16 = *(int *)(iVar16 + 0x98);\n            local_50 = 2;\n            DAT_00091c20._2_2_ = DAT_00091c20._2_2_ & 0x3fff | 0x8000;\n            if (iVar16 == 0) goto LAB_000396cd;\n          }\n          iVar16 = *(int *)(iVar16 + 0x98);\n        } while (iVar16 != 0);\nLAB_000396cd:\n        if ((local_4c == 0) ||\n           (iVar16 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x20) | 8),\n           iVar16 == 0)) {\n          if (bVar3) {\n            uVar9 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00031760(uVar9);\n          }\n        }\n        else {\n          *(undefined4 *)(iVar16 + 0x40) = 2;\n          *(int *)(iVar8 + 0xac) = iVar16;\n        }\n      }\n      puVar6 = (undefined4 *)bfd_elf_get_needed_list(DAT_00091c50,&DAT_00091c20);\n      uVar4 = DAT_00091c20._2_2_;\n      for (puVar19 = puVar6; DAT_00091c20._2_2_ = uVar4, puVar19 != (undefined4 *)0x0;\n          puVar19 = (undefined4 *)*puVar19) {\n        puVar5 = puVar6;\n        if ((puVar19[1] == 0) ||\n           ((uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 1) == 0 &&\n            (((puVar19[1] == 0 || ((DAT_00091c20._2_2_ & 0x180) != 0x80)) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 4) == 0)))))) {\n          for (; puVar5 != puVar19; puVar5 = (undefined4 *)*puVar5) {\n            if (((puVar5[1] == 0) ||\n                (uVar7 = bfd_elf_get_dyn_lib_class(puVar5[1]), (uVar7 & 1) == 0)) &&\n               (iVar8 = strcmp((char *)puVar5[2],(char *)puVar19[2]), iVar8 == 0)) {\n              if (puVar19 != puVar5) goto LAB_00039300;\n              break;\n            }\n          }\n          DAT_00091ae4 = FUN_00038720;\n          DAT_00091a60 = 0;\n          DAT_00091ae0 = puVar19;\n          FUN_00024c50(FUN_00035720);\n          if ((DAT_00091a60 == 0) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_00091a60 + 0x10)),\n             (uVar7 & 1) != 0)) {\n            uVar9 = puVar19[1];\n            uVar2 = puVar19[2];\n            if (DAT_00091d90 != 0) {\n              uVar15 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00031730(uVar15,uVar2,uVar9);\n            }\n            if ((DAT_00091a60 == 0) || (iVar8 = FUN_00038820(), iVar8 == 0)) {\n              bVar3 = false;\n              while (iVar8 = FUN_00038b50(), iVar8 == 0) {\n                if (DAT_00091d04 != 0) {\n                  pvVar10 = (void *)FUN_00037360();\n                  iVar8 = FUN_00038b50();\n                  free(pvVar10);\n                  if (iVar8 != 0) break;\n                }\n                piVar11 = (int *)bfd_elf_get_runpath_list(DAT_00091c50,&DAT_00091c20);\n                if (piVar11 != (int *)0x0) {\n                  do {\n                    bVar24 = true;\n                    pvVar10 = (void *)FUN_00037360();\n                    bVar22 = false;\n                    if (piVar11[1] == puVar19[1]) {\n                      iVar8 = FUN_00038b50();\n                      bVar24 = iVar8 == 0;\n                      bVar22 = !bVar24;\n                    }\n                    free(pvVar10);\n                    piVar11 = (int *)*piVar11;\n                  } while ((piVar11 != (int *)0x0) && (bVar24));\n                  if (bVar22) break;\n                }\n                if (DAT_00091a44 == 0) {\n                  pvVar10 = (void *)concat(DAT_00091ca8,"/usr/etc/ld.so.conf",0);\n                  iVar8 = FUN_00037470();\n                  if (iVar8 == 0) {\n                    free(pvVar10);\n                    pvVar10 = (void *)concat(DAT_00091ca8,"/etc/ld.so.conf",0);\n                    FUN_00037470();\n                  }\n                  free(pvVar10);\n                  DAT_00091a44 = 1;\n                }\n                pcVar14 = (char *)puVar19[2];\n                if (DAT_00091a40 != 0) {\n                  iVar8 = FUN_00038b50();\n                  if (iVar8 != 0) break;\n                  pcVar14 = (char *)puVar19[2];\n                }\n                sVar12 = strlen(pcVar14);\n                if (DAT_00091e04 != (int *)0x0) {\n                  piVar11 = DAT_00091e04;\n                  do {\n                    if (piVar11[2] == 0) {\n                      sVar13 = strlen((char *)piVar11[1]);\n                      pcVar14 = (char *)xmalloc(sVar13 + sVar12 + 2);\n                      sprintf(pcVar14,"%s/%s",piVar11[1],puVar19[2]);\n                      iVar8 = FUN_00038820();\n                      if (iVar8 != 0) goto LAB_00039300;\n                      free(pcVar14);\n                    }\n                    piVar11 = (int *)*piVar11;\n                  } while (piVar11 != (int *)0x0);\n                }\n                if (bVar3) {\n                  uVar9 = puVar19[1];\n                  uVar2 = puVar19[2];\n                  uVar15 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00031760(uVar15,uVar2,uVar9);\n                  break;\n                }\n                bVar3 = true;\n              }\n            }\n          }\n        }\nLAB_00039300:\n        uVar4 = DAT_00091c20._2_2_;\n      }\n      DAT_00091c20._3_1_ = (byte)(uVar4 >> 8);\n      bVar25 = DAT_00091c20._3_1_ & 0xc0;\n      if ((bVar25 == 0x80) && (iVar8 = bfd_elf_parse_eh_frame_entries(0,&DAT_00091c20), iVar8 == 0))\n      {\n        uVar9 = dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);\n        FUN_00031760(uVar9);\n      }\n    }\n  }" { (if_statement "if (DAT_00091ce0 != 0) {\n      unlink_if_ordinary(DAT_00091ce0);\n      DAT_00091c54 = bfd_openw(DAT_00091ce0,**(undefined4 **)(DAT_00091c50 + 4));\n      iVar16 = DAT_00091ce0;\n      if (DAT_00091c54 == 0) {\n        uVar9 = dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);\n        FUN_00031760(uVar9,iVar16);\n      }\n    }" if (parenthesized_expression "(DAT_00091ce0 != 0)" ( (binary_expression "DAT_00091ce0 != 0" identifier != number_literal) )) (compound_statement "{\n      unlink_if_ordinary(DAT_00091ce0);\n      DAT_00091c54 = bfd_openw(DAT_00091ce0,**(undefined4 **)(DAT_00091c50 + 4));\n      iVar16 = DAT_00091ce0;\n      if (DAT_00091c54 == 0) {\n        uVar9 = dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);\n        FUN_00031760(uVar9,iVar16);\n      }\n    }" { (expression_statement "unlink_if_ordinary(DAT_00091ce0);" (call_expression "unlink_if_ordinary(DAT_00091ce0)" identifier (argument_list "(DAT_00091ce0)" ( identifier ))) ;) (expression_statement "DAT_00091c54 = bfd_openw(DAT_00091ce0,**(undefined4 **)(DAT_00091c50 + 4));" (assignment_expression "DAT_00091c54 = bfd_openw(DAT_00091ce0,**(undefined4 **)(DAT_00091c50 + 4))" identifier = (call_expression "bfd_openw(DAT_00091ce0,**(undefined4 **)(DAT_00091c50 + 4))" identifier (argument_list "(DAT_00091ce0,**(undefined4 **)(DAT_00091c50 + 4))" ( identifier , (pointer_expression "**(undefined4 **)(DAT_00091c50 + 4)" * (pointer_expression "*(undefined4 **)(DAT_00091c50 + 4)" * (cast_expression "(undefined4 **)(DAT_00091c50 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(DAT_00091c50 + 4)" ( (binary_expression "DAT_00091c50 + 4" identifier + number_literal) ))))) )))) ;) (expression_statement "iVar16 = DAT_00091ce0;" (assignment_expression "iVar16 = DAT_00091ce0" identifier = identifier) ;) (if_statement "if (DAT_00091c54 == 0) {\n        uVar9 = dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);\n        FUN_00031760(uVar9,iVar16);\n      }" if (parenthesized_expression "(DAT_00091c54 == 0)" ( (binary_expression "DAT_00091c54 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar9 = dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);\n        FUN_00031760(uVar9,iVar16);\n      }" { (expression_statement "uVar9 = dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);" (assignment_expression "uVar9 = dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5)" identifier = (call_expression "dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5)" identifier (argument_list "(0,"%F%P: %s: can\'t open for writing: %E\n",5)" ( number_literal , (string_literal ""%F%P: %s: can\'t open for writing: %E\n"" " string_content escape_sequence string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_00031760(uVar9,iVar16);" (call_expression "FUN_00031760(uVar9,iVar16)" identifier (argument_list "(uVar9,iVar16)" ( identifier , identifier ))) ;) })) })) (expression_statement "iVar18 = DAT_00091c50;" (assignment_expression "iVar18 = DAT_00091c50" identifier = identifier) ;) (expression_statement "iVar16 = DAT_00091c58;" (assignment_expression "iVar16 = DAT_00091c58" identifier = identifier) ;) (if_statement "if (DAT_00091a4c != (void *)0x0) {\n      for (; iVar16 != 0; iVar16 = *(int *)(iVar16 + 0x98)) {\n        if (((*(int *)(*(int *)(iVar16 + 4) + 4) == 5) && (*(int *)(iVar16 + 0x68) != 0)) &&\n           ((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0)) {\n          iVar17 = FUN_000353f0(DAT_00091a4c);\n          if ((iVar17 == 0) || (iVar17 + 0x10 == 0)) {\n            pcVar14 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar16 = bfd_make_section_with_flags(iVar16,".note.gnu.build-id",0x10402b);\n            if (iVar16 != 0) {\n              *(undefined4 *)(iVar16 + 0x40) = 2;\n              iVar18 = DAT_00091c50;\n              iVar1 = *(int *)(*(int *)(DAT_00091c50 + 0x9c) + 0x910);\n              *(code **)(iVar1 + 0x10) = FUN_000371f0;\n              pvVar10 = DAT_00091a4c;\n              *(int *)(iVar1 + 0x18) = iVar16;\n              *(void **)(iVar1 + 0x14) = pvVar10;\n              *(undefined4 *)(*(int *)(iVar16 + 0x8c) + 4) = 7;\n              *(int *)(iVar16 + 0x24) = iVar17 + 0x10;\n              goto LAB_00039178;\n            }\n            pcVar14 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          uVar9 = dcgettext(0,pcVar14,5);\n          FUN_00031760(uVar9);\n          break;\n        }\n      }\n      free(DAT_00091a4c);\n      DAT_00091a4c = (void *)0x0;\n      iVar18 = DAT_00091c50;\n    }" if (parenthesized_expression "(DAT_00091a4c != (void *)0x0)" ( (binary_expression "DAT_00091a4c != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      for (; iVar16 != 0; iVar16 = *(int *)(iVar16 + 0x98)) {\n        if (((*(int *)(*(int *)(iVar16 + 4) + 4) == 5) && (*(int *)(iVar16 + 0x68) != 0)) &&\n           ((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0)) {\n          iVar17 = FUN_000353f0(DAT_00091a4c);\n          if ((iVar17 == 0) || (iVar17 + 0x10 == 0)) {\n            pcVar14 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar16 = bfd_make_section_with_flags(iVar16,".note.gnu.build-id",0x10402b);\n            if (iVar16 != 0) {\n              *(undefined4 *)(iVar16 + 0x40) = 2;\n              iVar18 = DAT_00091c50;\n              iVar1 = *(int *)(*(int *)(DAT_00091c50 + 0x9c) + 0x910);\n              *(code **)(iVar1 + 0x10) = FUN_000371f0;\n              pvVar10 = DAT_00091a4c;\n              *(int *)(iVar1 + 0x18) = iVar16;\n              *(void **)(iVar1 + 0x14) = pvVar10;\n              *(undefined4 *)(*(int *)(iVar16 + 0x8c) + 4) = 7;\n              *(int *)(iVar16 + 0x24) = iVar17 + 0x10;\n              goto LAB_00039178;\n            }\n            pcVar14 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          uVar9 = dcgettext(0,pcVar14,5);\n          FUN_00031760(uVar9);\n          break;\n        }\n      }\n      free(DAT_00091a4c);\n      DAT_00091a4c = (void *)0x0;\n      iVar18 = DAT_00091c50;\n    }" { (for_statement "for (; iVar16 != 0; iVar16 = *(int *)(iVar16 + 0x98)) {\n        if (((*(int *)(*(int *)(iVar16 + 4) + 4) == 5) && (*(int *)(iVar16 + 0x68) != 0)) &&\n           ((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0)) {\n          iVar17 = FUN_000353f0(DAT_00091a4c);\n          if ((iVar17 == 0) || (iVar17 + 0x10 == 0)) {\n            pcVar14 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar16 = bfd_make_section_with_flags(iVar16,".note.gnu.build-id",0x10402b);\n            if (iVar16 != 0) {\n              *(undefined4 *)(iVar16 + 0x40) = 2;\n              iVar18 = DAT_00091c50;\n              iVar1 = *(int *)(*(int *)(DAT_00091c50 + 0x9c) + 0x910);\n              *(code **)(iVar1 + 0x10) = FUN_000371f0;\n              pvVar10 = DAT_00091a4c;\n              *(int *)(iVar1 + 0x18) = iVar16;\n              *(void **)(iVar1 + 0x14) = pvVar10;\n              *(undefined4 *)(*(int *)(iVar16 + 0x8c) + 4) = 7;\n              *(int *)(iVar16 + 0x24) = iVar17 + 0x10;\n              goto LAB_00039178;\n            }\n            pcVar14 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          uVar9 = dcgettext(0,pcVar14,5);\n          FUN_00031760(uVar9);\n          break;\n        }\n      }" for ( ; (binary_expression "iVar16 != 0" identifier != number_literal) ; (assignment_expression "iVar16 = *(int *)(iVar16 + 0x98)" identifier = (pointer_expression "*(int *)(iVar16 + 0x98)" * (cast_expression "(int *)(iVar16 + 0x98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x98)" ( (binary_expression "iVar16 + 0x98" identifier + number_literal) ))))) ) (compound_statement "{\n        if (((*(int *)(*(int *)(iVar16 + 4) + 4) == 5) && (*(int *)(iVar16 + 0x68) != 0)) &&\n           ((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0)) {\n          iVar17 = FUN_000353f0(DAT_00091a4c);\n          if ((iVar17 == 0) || (iVar17 + 0x10 == 0)) {\n            pcVar14 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar16 = bfd_make_section_with_flags(iVar16,".note.gnu.build-id",0x10402b);\n            if (iVar16 != 0) {\n              *(undefined4 *)(iVar16 + 0x40) = 2;\n              iVar18 = DAT_00091c50;\n              iVar1 = *(int *)(*(int *)(DAT_00091c50 + 0x9c) + 0x910);\n              *(code **)(iVar1 + 0x10) = FUN_000371f0;\n              pvVar10 = DAT_00091a4c;\n              *(int *)(iVar1 + 0x18) = iVar16;\n              *(void **)(iVar1 + 0x14) = pvVar10;\n              *(undefined4 *)(*(int *)(iVar16 + 0x8c) + 4) = 7;\n              *(int *)(iVar16 + 0x24) = iVar17 + 0x10;\n              goto LAB_00039178;\n            }\n            pcVar14 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          uVar9 = dcgettext(0,pcVar14,5);\n          FUN_00031760(uVar9);\n          break;\n        }\n      }" { (if_statement "if (((*(int *)(*(int *)(iVar16 + 4) + 4) == 5) && (*(int *)(iVar16 + 0x68) != 0)) &&\n           ((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0)) {\n          iVar17 = FUN_000353f0(DAT_00091a4c);\n          if ((iVar17 == 0) || (iVar17 + 0x10 == 0)) {\n            pcVar14 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar16 = bfd_make_section_with_flags(iVar16,".note.gnu.build-id",0x10402b);\n            if (iVar16 != 0) {\n              *(undefined4 *)(iVar16 + 0x40) = 2;\n              iVar18 = DAT_00091c50;\n              iVar1 = *(int *)(*(int *)(DAT_00091c50 + 0x9c) + 0x910);\n              *(code **)(iVar1 + 0x10) = FUN_000371f0;\n              pvVar10 = DAT_00091a4c;\n              *(int *)(iVar1 + 0x18) = iVar16;\n              *(void **)(iVar1 + 0x14) = pvVar10;\n              *(undefined4 *)(*(int *)(iVar16 + 0x8c) + 4) = 7;\n              *(int *)(iVar16 + 0x24) = iVar17 + 0x10;\n              goto LAB_00039178;\n            }\n            pcVar14 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          uVar9 = dcgettext(0,pcVar14,5);\n          FUN_00031760(uVar9);\n          break;\n        }" if (parenthesized_expression "(((*(int *)(*(int *)(iVar16 + 4) + 4) == 5) && (*(int *)(iVar16 + 0x68) != 0)) &&\n           ((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0))" ( (binary_expression "((*(int *)(*(int *)(iVar16 + 4) + 4) == 5) && (*(int *)(iVar16 + 0x68) != 0)) &&\n           ((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0)" (parenthesized_expression "((*(int *)(*(int *)(iVar16 + 4) + 4) == 5) && (*(int *)(iVar16 + 0x68) != 0))" ( (binary_expression "(*(int *)(*(int *)(iVar16 + 4) + 4) == 5) && (*(int *)(iVar16 + 0x68) != 0)" (parenthesized_expression "(*(int *)(*(int *)(iVar16 + 4) + 4) == 5)" ( (binary_expression "*(int *)(*(int *)(iVar16 + 4) + 4) == 5" (pointer_expression "*(int *)(*(int *)(iVar16 + 4) + 4)" * (cast_expression "(int *)(*(int *)(iVar16 + 4) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar16 + 4) + 4)" ( (binary_expression "*(int *)(iVar16 + 4) + 4" (pointer_expression "*(int *)(iVar16 + 4)" * (cast_expression "(int *)(iVar16 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 4)" ( (binary_expression "iVar16 + 4" identifier + number_literal) )))) + number_literal) )))) == number_literal) )) && (parenthesized_expression "(*(int *)(iVar16 + 0x68) != 0)" ( (binary_expression "*(int *)(iVar16 + 0x68) != 0" (pointer_expression "*(int *)(iVar16 + 0x68)" * (cast_expression "(int *)(iVar16 + 0x68)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x68)" ( (binary_expression "iVar16 + 0x68" identifier + number_literal) )))) != number_literal) ))) )) && (parenthesized_expression "((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0)" ( (binary_expression "(*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0" (parenthesized_expression "(*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10)" ( (binary_expression "*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10" (pointer_expression "*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24)" * (cast_expression "(byte *)(*(int *)(iVar16 + 0xa0) + 0x24)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar16 + 0xa0) + 0x24)" ( (binary_expression "*(int *)(iVar16 + 0xa0) + 0x24" (pointer_expression "*(int *)(iVar16 + 0xa0)" * (cast_expression "(int *)(iVar16 + 0xa0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0xa0)" ( (binary_expression "iVar16 + 0xa0" identifier + number_literal) )))) + number_literal) )))) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n          iVar17 = FUN_000353f0(DAT_00091a4c);\n          if ((iVar17 == 0) || (iVar17 + 0x10 == 0)) {\n            pcVar14 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar16 = bfd_make_section_with_flags(iVar16,".note.gnu.build-id",0x10402b);\n            if (iVar16 != 0) {\n              *(undefined4 *)(iVar16 + 0x40) = 2;\n              iVar18 = DAT_00091c50;\n              iVar1 = *(int *)(*(int *)(DAT_00091c50 + 0x9c) + 0x910);\n              *(code **)(iVar1 + 0x10) = FUN_000371f0;\n              pvVar10 = DAT_00091a4c;\n              *(int *)(iVar1 + 0x18) = iVar16;\n              *(void **)(iVar1 + 0x14) = pvVar10;\n              *(undefined4 *)(*(int *)(iVar16 + 0x8c) + 4) = 7;\n              *(int *)(iVar16 + 0x24) = iVar17 + 0x10;\n              goto LAB_00039178;\n            }\n            pcVar14 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          uVar9 = dcgettext(0,pcVar14,5);\n          FUN_00031760(uVar9);\n          break;\n        }" { (expression_statement "iVar17 = FUN_000353f0(DAT_00091a4c);" (assignment_expression "iVar17 = FUN_000353f0(DAT_00091a4c)" identifier = (call_expression "FUN_000353f0(DAT_00091a4c)" identifier (argument_list "(DAT_00091a4c)" ( identifier )))) ;) (if_statement "if ((iVar17 == 0) || (iVar17 + 0x10 == 0)) {\n            pcVar14 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar16 = bfd_make_section_with_flags(iVar16,".note.gnu.build-id",0x10402b);\n            if (iVar16 != 0) {\n              *(undefined4 *)(iVar16 + 0x40) = 2;\n              iVar18 = DAT_00091c50;\n              iVar1 = *(int *)(*(int *)(DAT_00091c50 + 0x9c) + 0x910);\n              *(code **)(iVar1 + 0x10) = FUN_000371f0;\n              pvVar10 = DAT_00091a4c;\n              *(int *)(iVar1 + 0x18) = iVar16;\n              *(void **)(iVar1 + 0x14) = pvVar10;\n              *(undefined4 *)(*(int *)(iVar16 + 0x8c) + 4) = 7;\n              *(int *)(iVar16 + 0x24) = iVar17 + 0x10;\n              goto LAB_00039178;\n            }\n            pcVar14 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }" if (parenthesized_expression "((iVar17 == 0) || (iVar17 + 0x10 == 0))" ( (binary_expression "(iVar17 == 0) || (iVar17 + 0x10 == 0)" (parenthesized_expression "(iVar17 == 0)" ( (binary_expression "iVar17 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar17 + 0x10 == 0)" ( (binary_expression "iVar17 + 0x10 == 0" (binary_expression "iVar17 + 0x10" identifier + number_literal) == number_literal) ))) )) (compound_statement "{\n            pcVar14 = "%P: warning: unrecognized --build-id style ignored\n";\n          }" { (expression_statement "pcVar14 = "%P: warning: unrecognized --build-id style ignored\n";" (assignment_expression "pcVar14 = "%P: warning: unrecognized --build-id style ignored\n"" identifier = (string_literal ""%P: warning: unrecognized --build-id style ignored\n"" " string_content escape_sequence ")) ;) }) (else_clause "else {\n            iVar16 = bfd_make_section_with_flags(iVar16,".note.gnu.build-id",0x10402b);\n            if (iVar16 != 0) {\n              *(undefined4 *)(iVar16 + 0x40) = 2;\n              iVar18 = DAT_00091c50;\n              iVar1 = *(int *)(*(int *)(DAT_00091c50 + 0x9c) + 0x910);\n              *(code **)(iVar1 + 0x10) = FUN_000371f0;\n              pvVar10 = DAT_00091a4c;\n              *(int *)(iVar1 + 0x18) = iVar16;\n              *(void **)(iVar1 + 0x14) = pvVar10;\n              *(undefined4 *)(*(int *)(iVar16 + 0x8c) + 4) = 7;\n              *(int *)(iVar16 + 0x24) = iVar17 + 0x10;\n              goto LAB_00039178;\n            }\n            pcVar14 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }" else (compound_statement "{\n            iVar16 = bfd_make_section_with_flags(iVar16,".note.gnu.build-id",0x10402b);\n            if (iVar16 != 0) {\n              *(undefined4 *)(iVar16 + 0x40) = 2;\n              iVar18 = DAT_00091c50;\n              iVar1 = *(int *)(*(int *)(DAT_00091c50 + 0x9c) + 0x910);\n              *(code **)(iVar1 + 0x10) = FUN_000371f0;\n              pvVar10 = DAT_00091a4c;\n              *(int *)(iVar1 + 0x18) = iVar16;\n              *(void **)(iVar1 + 0x14) = pvVar10;\n              *(undefined4 *)(*(int *)(iVar16 + 0x8c) + 4) = 7;\n              *(int *)(iVar16 + 0x24) = iVar17 + 0x10;\n              goto LAB_00039178;\n            }\n            pcVar14 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }" { (expression_statement "iVar16 = bfd_make_section_with_flags(iVar16,".note.gnu.build-id",0x10402b);" (assignment_expression "iVar16 = bfd_make_section_with_flags(iVar16,".note.gnu.build-id",0x10402b)" identifier = (call_expression "bfd_make_section_with_flags(iVar16,".note.gnu.build-id",0x10402b)" identifier (argument_list "(iVar16,".note.gnu.build-id",0x10402b)" ( identifier , (string_literal "".note.gnu.build-id"" " string_content ") , number_literal )))) ;) (if_statement "if (iVar16 != 0) {\n              *(undefined4 *)(iVar16 + 0x40) = 2;\n              iVar18 = DAT_00091c50;\n              iVar1 = *(int *)(*(int *)(DAT_00091c50 + 0x9c) + 0x910);\n              *(code **)(iVar1 + 0x10) = FUN_000371f0;\n              pvVar10 = DAT_00091a4c;\n              *(int *)(iVar1 + 0x18) = iVar16;\n              *(void **)(iVar1 + 0x14) = pvVar10;\n              *(undefined4 *)(*(int *)(iVar16 + 0x8c) + 4) = 7;\n              *(int *)(iVar16 + 0x24) = iVar17 + 0x10;\n              goto LAB_00039178;\n            }" if (parenthesized_expression "(iVar16 != 0)" ( (binary_expression "iVar16 != 0" identifier != number_literal) )) (compound_statement "{\n              *(undefined4 *)(iVar16 + 0x40) = 2;\n              iVar18 = DAT_00091c50;\n              iVar1 = *(int *)(*(int *)(DAT_00091c50 + 0x9c) + 0x910);\n              *(code **)(iVar1 + 0x10) = FUN_000371f0;\n              pvVar10 = DAT_00091a4c;\n              *(int *)(iVar1 + 0x18) = iVar16;\n              *(void **)(iVar1 + 0x14) = pvVar10;\n              *(undefined4 *)(*(int *)(iVar16 + 0x8c) + 4) = 7;\n              *(int *)(iVar16 + 0x24) = iVar17 + 0x10;\n              goto LAB_00039178;\n            }" { (expression_statement "*(undefined4 *)(iVar16 + 0x40) = 2;" (assignment_expression "*(undefined4 *)(iVar16 + 0x40) = 2" (pointer_expression "*(undefined4 *)(iVar16 + 0x40)" * (cast_expression "(undefined4 *)(iVar16 + 0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x40)" ( (binary_expression "iVar16 + 0x40" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar18 = DAT_00091c50;" (assignment_expression "iVar18 = DAT_00091c50" identifier = identifier) ;) (expression_statement "iVar1 = *(int *)(*(int *)(DAT_00091c50 + 0x9c) + 0x910);" (assignment_expression "iVar1 = *(int *)(*(int *)(DAT_00091c50 + 0x9c) + 0x910)" identifier = (pointer_expression "*(int *)(*(int *)(DAT_00091c50 + 0x9c) + 0x910)" * (cast_expression "(int *)(*(int *)(DAT_00091c50 + 0x9c) + 0x910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(DAT_00091c50 + 0x9c) + 0x910)" ( (binary_expression "*(int *)(DAT_00091c50 + 0x9c) + 0x910" (pointer_expression "*(int *)(DAT_00091c50 + 0x9c)" * (cast_expression "(int *)(DAT_00091c50 + 0x9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00091c50 + 0x9c)" ( (binary_expression "DAT_00091c50 + 0x9c" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "*(code **)(iVar1 + 0x10) = FUN_000371f0;" (assignment_expression "*(code **)(iVar1 + 0x10) = FUN_000371f0" (pointer_expression "*(code **)(iVar1 + 0x10)" * (cast_expression "(code **)(iVar1 + 0x10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar1 + 0x10)" ( (binary_expression "iVar1 + 0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "pvVar10 = DAT_00091a4c;" (assignment_expression "pvVar10 = DAT_00091a4c" identifier = identifier) ;) (expression_statement "*(int *)(iVar1 + 0x18) = iVar16;" (assignment_expression "*(int *)(iVar1 + 0x18) = iVar16" (pointer_expression "*(int *)(iVar1 + 0x18)" * (cast_expression "(int *)(iVar1 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x18)" ( (binary_expression "iVar1 + 0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(void **)(iVar1 + 0x14) = pvVar10;" (assignment_expression "*(void **)(iVar1 + 0x14) = pvVar10" (pointer_expression "*(void **)(iVar1 + 0x14)" * (cast_expression "(void **)(iVar1 + 0x14)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar1 + 0x14)" ( (binary_expression "iVar1 + 0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(*(int *)(iVar16 + 0x8c) + 4) = 7;" (assignment_expression "*(undefined4 *)(*(int *)(iVar16 + 0x8c) + 4) = 7" (pointer_expression "*(undefined4 *)(*(int *)(iVar16 + 0x8c) + 4)" * (cast_expression "(undefined4 *)(*(int *)(iVar16 + 0x8c) + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar16 + 0x8c) + 4)" ( (binary_expression "*(int *)(iVar16 + 0x8c) + 4" (pointer_expression "*(int *)(iVar16 + 0x8c)" * (cast_expression "(int *)(iVar16 + 0x8c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x8c)" ( (binary_expression "iVar16 + 0x8c" identifier + number_literal) )))) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(iVar16 + 0x24) = iVar17 + 0x10;" (assignment_expression "*(int *)(iVar16 + 0x24) = iVar17 + 0x10" (pointer_expression "*(int *)(iVar16 + 0x24)" * (cast_expression "(int *)(iVar16 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x24)" ( (binary_expression "iVar16 + 0x24" identifier + number_literal) )))) = (binary_expression "iVar17 + 0x10" identifier + number_literal)) ;) (goto_statement "goto LAB_00039178;" goto statement_identifier ;) })) (expression_statement "pcVar14 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";" (assignment_expression "pcVar14 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n"" identifier = (string_literal ""%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n"" " string_content escape_sequence ")) ;) }))) (expression_statement "uVar9 = dcgettext(0,pcVar14,5);" (assignment_expression "uVar9 = dcgettext(0,pcVar14,5)" identifier = (call_expression "dcgettext(0,pcVar14,5)" identifier (argument_list "(0,pcVar14,5)" ( number_literal , identifier , number_literal )))) ;) (expression_statement "FUN_00031760(uVar9);" (call_expression "FUN_00031760(uVar9)" identifier (argument_list "(uVar9)" ( identifier ))) ;) (break_statement "break;" break ;) })) })) (expression_statement "free(DAT_00091a4c);" (call_expression "free(DAT_00091a4c)" identifier (argument_list "(DAT_00091a4c)" ( identifier ))) ;) (expression_statement "DAT_00091a4c = (void *)0x0;" (assignment_expression "DAT_00091a4c = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar18 = DAT_00091c50;" (assignment_expression "iVar18 = DAT_00091c50" identifier = identifier) ;) })) (labeled_statement "LAB_00039178:\n    (**(code **)(*(int *)(*(int *)(iVar18 + 4) + 0x1c0) + 0x1bc))(&DAT_00091c20);" statement_identifier : (expression_statement "(**(code **)(*(int *)(*(int *)(iVar18 + 4) + 0x1c0) + 0x1bc))(&DAT_00091c20);" (call_expression "(**(code **)(*(int *)(*(int *)(iVar18 + 4) + 0x1c0) + 0x1bc))(&DAT_00091c20)" (parenthesized_expression "(**(code **)(*(int *)(*(int *)(iVar18 + 4) + 0x1c0) + 0x1bc))" ( (pointer_expression "**(code **)(*(int *)(*(int *)(iVar18 + 4) + 0x1c0) + 0x1bc)" * (pointer_expression "*(code **)(*(int *)(*(int *)(iVar18 + 4) + 0x1c0) + 0x1bc)" * (cast_expression "(code **)(*(int *)(*(int *)(iVar18 + 4) + 0x1c0) + 0x1bc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(*(int *)(iVar18 + 4) + 0x1c0) + 0x1bc)" ( (binary_expression "*(int *)(*(int *)(iVar18 + 4) + 0x1c0) + 0x1bc" (pointer_expression "*(int *)(*(int *)(iVar18 + 4) + 0x1c0)" * (cast_expression "(int *)(*(int *)(iVar18 + 4) + 0x1c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar18 + 4) + 0x1c0)" ( (binary_expression "*(int *)(iVar18 + 4) + 0x1c0" (pointer_expression "*(int *)(iVar18 + 4)" * (cast_expression "(int *)(iVar18 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + 4)" ( (binary_expression "iVar18 + 4" identifier + number_literal) )))) + number_literal) )))) + number_literal) ))))) )) (argument_list "(&DAT_00091c20)" ( (pointer_expression "&DAT_00091c20" & identifier) ))) ;)) (if_statement "if (((byte)DAT_00091c20 & 3) == 2) {\n      if (DAT_00091c25 >> 7 == (~DAT_00091c26 & 1)) {\n        bfd_make_section_with_flags(DAT_00091c58,".note.GNU-stack",DAT_00091c25 >> 3 & 0x10 | 8);\n      }\n    }\n    else {\n      if (((DAT_00091c24 & 0x20) == 0) && (DAT_00091c58 != 0)) {\n        local_50 = 0;\n        bVar3 = false;\n        local_4c = 0;\n        iVar16 = DAT_00091c58;\n        do {\n          while ((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0) {\n            puVar19 = *(undefined4 **)(iVar16 + 0x60);\n            if (puVar19 == (undefined4 *)0x0) {\nLAB_00039697:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar22 = (undefined *)puVar19[0xf] < PTR__bfd_std_section_00090fc4 + 0x150;\n                bVar24 = (undefined *)puVar19[0xf] == PTR__bfd_std_section_00090fc4 + 0x150;\n                iVar18 = local_60;\n                if (!bVar24) {\n                  iVar17 = 0xf;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar22 = *pbVar20 < *pbVar21;\n                    bVar24 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar24);\n                  bVar23 = false;\n                  bVar22 = (!bVar22 && !bVar24) == bVar22;\n                  if (bVar22) {\n                    local_60 = 2;\n                    goto LAB_0003966f;\n                  }\n                  iVar17 = 10;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar23 = *pbVar20 < *pbVar21;\n                    bVar22 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar22);\n                  if (((!bVar23 && !bVar22) == bVar23) && (iVar18 = 1, (uint)puVar19[9] < 9)) {\n                    iVar18 = local_60;\n                  }\n                }\n                local_60 = iVar18;\n                puVar19 = (undefined4 *)puVar19[3];\n              } while (puVar19 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_00039697;\nLAB_0003966f:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar16 = local_4c;\n                }\n                uVar9 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00031760(uVar9,iVar16);\n                goto LAB_000396cd;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_00039697;\n              if (local_60 != 2) {\n                if ((DAT_00091c20._2_2_ & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar3 = true;\n                  if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                    local_4c = iVar16;\n                  }\n                }\n                break;\n              }\n              bVar3 = true;\n              if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                local_4c = iVar16;\n              }\n            }\n            iVar16 = *(int *)(iVar16 + 0x98);\n            local_50 = 2;\n            DAT_00091c20._2_2_ = DAT_00091c20._2_2_ & 0x3fff | 0x8000;\n            if (iVar16 == 0) goto LAB_000396cd;\n          }\n          iVar16 = *(int *)(iVar16 + 0x98);\n        } while (iVar16 != 0);\nLAB_000396cd:\n        if ((local_4c == 0) ||\n           (iVar16 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x20) | 8),\n           iVar16 == 0)) {\n          if (bVar3) {\n            uVar9 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00031760(uVar9);\n          }\n        }\n        else {\n          *(undefined4 *)(iVar16 + 0x40) = 2;\n          *(int *)(iVar8 + 0xac) = iVar16;\n        }\n      }\n      puVar6 = (undefined4 *)bfd_elf_get_needed_list(DAT_00091c50,&DAT_00091c20);\n      uVar4 = DAT_00091c20._2_2_;\n      for (puVar19 = puVar6; DAT_00091c20._2_2_ = uVar4, puVar19 != (undefined4 *)0x0;\n          puVar19 = (undefined4 *)*puVar19) {\n        puVar5 = puVar6;\n        if ((puVar19[1] == 0) ||\n           ((uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 1) == 0 &&\n            (((puVar19[1] == 0 || ((DAT_00091c20._2_2_ & 0x180) != 0x80)) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 4) == 0)))))) {\n          for (; puVar5 != puVar19; puVar5 = (undefined4 *)*puVar5) {\n            if (((puVar5[1] == 0) ||\n                (uVar7 = bfd_elf_get_dyn_lib_class(puVar5[1]), (uVar7 & 1) == 0)) &&\n               (iVar8 = strcmp((char *)puVar5[2],(char *)puVar19[2]), iVar8 == 0)) {\n              if (puVar19 != puVar5) goto LAB_00039300;\n              break;\n            }\n          }\n          DAT_00091ae4 = FUN_00038720;\n          DAT_00091a60 = 0;\n          DAT_00091ae0 = puVar19;\n          FUN_00024c50(FUN_00035720);\n          if ((DAT_00091a60 == 0) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_00091a60 + 0x10)),\n             (uVar7 & 1) != 0)) {\n            uVar9 = puVar19[1];\n            uVar2 = puVar19[2];\n            if (DAT_00091d90 != 0) {\n              uVar15 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00031730(uVar15,uVar2,uVar9);\n            }\n            if ((DAT_00091a60 == 0) || (iVar8 = FUN_00038820(), iVar8 == 0)) {\n              bVar3 = false;\n              while (iVar8 = FUN_00038b50(), iVar8 == 0) {\n                if (DAT_00091d04 != 0) {\n                  pvVar10 = (void *)FUN_00037360();\n                  iVar8 = FUN_00038b50();\n                  free(pvVar10);\n                  if (iVar8 != 0) break;\n                }\n                piVar11 = (int *)bfd_elf_get_runpath_list(DAT_00091c50,&DAT_00091c20);\n                if (piVar11 != (int *)0x0) {\n                  do {\n                    bVar24 = true;\n                    pvVar10 = (void *)FUN_00037360();\n                    bVar22 = false;\n                    if (piVar11[1] == puVar19[1]) {\n                      iVar8 = FUN_00038b50();\n                      bVar24 = iVar8 == 0;\n                      bVar22 = !bVar24;\n                    }\n                    free(pvVar10);\n                    piVar11 = (int *)*piVar11;\n                  } while ((piVar11 != (int *)0x0) && (bVar24));\n                  if (bVar22) break;\n                }\n                if (DAT_00091a44 == 0) {\n                  pvVar10 = (void *)concat(DAT_00091ca8,"/usr/etc/ld.so.conf",0);\n                  iVar8 = FUN_00037470();\n                  if (iVar8 == 0) {\n                    free(pvVar10);\n                    pvVar10 = (void *)concat(DAT_00091ca8,"/etc/ld.so.conf",0);\n                    FUN_00037470();\n                  }\n                  free(pvVar10);\n                  DAT_00091a44 = 1;\n                }\n                pcVar14 = (char *)puVar19[2];\n                if (DAT_00091a40 != 0) {\n                  iVar8 = FUN_00038b50();\n                  if (iVar8 != 0) break;\n                  pcVar14 = (char *)puVar19[2];\n                }\n                sVar12 = strlen(pcVar14);\n                if (DAT_00091e04 != (int *)0x0) {\n                  piVar11 = DAT_00091e04;\n                  do {\n                    if (piVar11[2] == 0) {\n                      sVar13 = strlen((char *)piVar11[1]);\n                      pcVar14 = (char *)xmalloc(sVar13 + sVar12 + 2);\n                      sprintf(pcVar14,"%s/%s",piVar11[1],puVar19[2]);\n                      iVar8 = FUN_00038820();\n                      if (iVar8 != 0) goto LAB_00039300;\n                      free(pcVar14);\n                    }\n                    piVar11 = (int *)*piVar11;\n                  } while (piVar11 != (int *)0x0);\n                }\n                if (bVar3) {\n                  uVar9 = puVar19[1];\n                  uVar2 = puVar19[2];\n                  uVar15 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00031760(uVar15,uVar2,uVar9);\n                  break;\n                }\n                bVar3 = true;\n              }\n            }\n          }\n        }\nLAB_00039300:\n        uVar4 = DAT_00091c20._2_2_;\n      }\n      DAT_00091c20._3_1_ = (byte)(uVar4 >> 8);\n      bVar25 = DAT_00091c20._3_1_ & 0xc0;\n      if ((bVar25 == 0x80) && (iVar8 = bfd_elf_parse_eh_frame_entries(0,&DAT_00091c20), iVar8 == 0))\n      {\n        uVar9 = dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);\n        FUN_00031760(uVar9);\n      }\n    }" if (parenthesized_expression "(((byte)DAT_00091c20 & 3) == 2)" ( (binary_expression "((byte)DAT_00091c20 & 3) == 2" (parenthesized_expression "((byte)DAT_00091c20 & 3)" ( (binary_expression "(byte)DAT_00091c20 & 3" (cast_expression "(byte)DAT_00091c20" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n      if (DAT_00091c25 >> 7 == (~DAT_00091c26 & 1)) {\n        bfd_make_section_with_flags(DAT_00091c58,".note.GNU-stack",DAT_00091c25 >> 3 & 0x10 | 8);\n      }\n    }" { (if_statement "if (DAT_00091c25 >> 7 == (~DAT_00091c26 & 1)) {\n        bfd_make_section_with_flags(DAT_00091c58,".note.GNU-stack",DAT_00091c25 >> 3 & 0x10 | 8);\n      }" if (parenthesized_expression "(DAT_00091c25 >> 7 == (~DAT_00091c26 & 1))" ( (binary_expression "DAT_00091c25 >> 7 == (~DAT_00091c26 & 1)" (binary_expression "DAT_00091c25 >> 7" identifier >> number_literal) == (parenthesized_expression "(~DAT_00091c26 & 1)" ( (binary_expression "~DAT_00091c26 & 1" (unary_expression "~DAT_00091c26" ~ identifier) & number_literal) ))) )) (compound_statement "{\n        bfd_make_section_with_flags(DAT_00091c58,".note.GNU-stack",DAT_00091c25 >> 3 & 0x10 | 8);\n      }" { (expression_statement "bfd_make_section_with_flags(DAT_00091c58,".note.GNU-stack",DAT_00091c25 >> 3 & 0x10 | 8);" (call_expression "bfd_make_section_with_flags(DAT_00091c58,".note.GNU-stack",DAT_00091c25 >> 3 & 0x10 | 8)" identifier (argument_list "(DAT_00091c58,".note.GNU-stack",DAT_00091c25 >> 3 & 0x10 | 8)" ( identifier , (string_literal "".note.GNU-stack"" " string_content ") , (binary_expression "DAT_00091c25 >> 3 & 0x10 | 8" (binary_expression "DAT_00091c25 >> 3 & 0x10" (binary_expression "DAT_00091c25 >> 3" identifier >> number_literal) & number_literal) | number_literal) ))) ;) })) }) (else_clause "else {\n      if (((DAT_00091c24 & 0x20) == 0) && (DAT_00091c58 != 0)) {\n        local_50 = 0;\n        bVar3 = false;\n        local_4c = 0;\n        iVar16 = DAT_00091c58;\n        do {\n          while ((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0) {\n            puVar19 = *(undefined4 **)(iVar16 + 0x60);\n            if (puVar19 == (undefined4 *)0x0) {\nLAB_00039697:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar22 = (undefined *)puVar19[0xf] < PTR__bfd_std_section_00090fc4 + 0x150;\n                bVar24 = (undefined *)puVar19[0xf] == PTR__bfd_std_section_00090fc4 + 0x150;\n                iVar18 = local_60;\n                if (!bVar24) {\n                  iVar17 = 0xf;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar22 = *pbVar20 < *pbVar21;\n                    bVar24 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar24);\n                  bVar23 = false;\n                  bVar22 = (!bVar22 && !bVar24) == bVar22;\n                  if (bVar22) {\n                    local_60 = 2;\n                    goto LAB_0003966f;\n                  }\n                  iVar17 = 10;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar23 = *pbVar20 < *pbVar21;\n                    bVar22 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar22);\n                  if (((!bVar23 && !bVar22) == bVar23) && (iVar18 = 1, (uint)puVar19[9] < 9)) {\n                    iVar18 = local_60;\n                  }\n                }\n                local_60 = iVar18;\n                puVar19 = (undefined4 *)puVar19[3];\n              } while (puVar19 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_00039697;\nLAB_0003966f:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar16 = local_4c;\n                }\n                uVar9 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00031760(uVar9,iVar16);\n                goto LAB_000396cd;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_00039697;\n              if (local_60 != 2) {\n                if ((DAT_00091c20._2_2_ & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar3 = true;\n                  if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                    local_4c = iVar16;\n                  }\n                }\n                break;\n              }\n              bVar3 = true;\n              if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                local_4c = iVar16;\n              }\n            }\n            iVar16 = *(int *)(iVar16 + 0x98);\n            local_50 = 2;\n            DAT_00091c20._2_2_ = DAT_00091c20._2_2_ & 0x3fff | 0x8000;\n            if (iVar16 == 0) goto LAB_000396cd;\n          }\n          iVar16 = *(int *)(iVar16 + 0x98);\n        } while (iVar16 != 0);\nLAB_000396cd:\n        if ((local_4c == 0) ||\n           (iVar16 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x20) | 8),\n           iVar16 == 0)) {\n          if (bVar3) {\n            uVar9 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00031760(uVar9);\n          }\n        }\n        else {\n          *(undefined4 *)(iVar16 + 0x40) = 2;\n          *(int *)(iVar8 + 0xac) = iVar16;\n        }\n      }\n      puVar6 = (undefined4 *)bfd_elf_get_needed_list(DAT_00091c50,&DAT_00091c20);\n      uVar4 = DAT_00091c20._2_2_;\n      for (puVar19 = puVar6; DAT_00091c20._2_2_ = uVar4, puVar19 != (undefined4 *)0x0;\n          puVar19 = (undefined4 *)*puVar19) {\n        puVar5 = puVar6;\n        if ((puVar19[1] == 0) ||\n           ((uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 1) == 0 &&\n            (((puVar19[1] == 0 || ((DAT_00091c20._2_2_ & 0x180) != 0x80)) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 4) == 0)))))) {\n          for (; puVar5 != puVar19; puVar5 = (undefined4 *)*puVar5) {\n            if (((puVar5[1] == 0) ||\n                (uVar7 = bfd_elf_get_dyn_lib_class(puVar5[1]), (uVar7 & 1) == 0)) &&\n               (iVar8 = strcmp((char *)puVar5[2],(char *)puVar19[2]), iVar8 == 0)) {\n              if (puVar19 != puVar5) goto LAB_00039300;\n              break;\n            }\n          }\n          DAT_00091ae4 = FUN_00038720;\n          DAT_00091a60 = 0;\n          DAT_00091ae0 = puVar19;\n          FUN_00024c50(FUN_00035720);\n          if ((DAT_00091a60 == 0) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_00091a60 + 0x10)),\n             (uVar7 & 1) != 0)) {\n            uVar9 = puVar19[1];\n            uVar2 = puVar19[2];\n            if (DAT_00091d90 != 0) {\n              uVar15 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00031730(uVar15,uVar2,uVar9);\n            }\n            if ((DAT_00091a60 == 0) || (iVar8 = FUN_00038820(), iVar8 == 0)) {\n              bVar3 = false;\n              while (iVar8 = FUN_00038b50(), iVar8 == 0) {\n                if (DAT_00091d04 != 0) {\n                  pvVar10 = (void *)FUN_00037360();\n                  iVar8 = FUN_00038b50();\n                  free(pvVar10);\n                  if (iVar8 != 0) break;\n                }\n                piVar11 = (int *)bfd_elf_get_runpath_list(DAT_00091c50,&DAT_00091c20);\n                if (piVar11 != (int *)0x0) {\n                  do {\n                    bVar24 = true;\n                    pvVar10 = (void *)FUN_00037360();\n                    bVar22 = false;\n                    if (piVar11[1] == puVar19[1]) {\n                      iVar8 = FUN_00038b50();\n                      bVar24 = iVar8 == 0;\n                      bVar22 = !bVar24;\n                    }\n                    free(pvVar10);\n                    piVar11 = (int *)*piVar11;\n                  } while ((piVar11 != (int *)0x0) && (bVar24));\n                  if (bVar22) break;\n                }\n                if (DAT_00091a44 == 0) {\n                  pvVar10 = (void *)concat(DAT_00091ca8,"/usr/etc/ld.so.conf",0);\n                  iVar8 = FUN_00037470();\n                  if (iVar8 == 0) {\n                    free(pvVar10);\n                    pvVar10 = (void *)concat(DAT_00091ca8,"/etc/ld.so.conf",0);\n                    FUN_00037470();\n                  }\n                  free(pvVar10);\n                  DAT_00091a44 = 1;\n                }\n                pcVar14 = (char *)puVar19[2];\n                if (DAT_00091a40 != 0) {\n                  iVar8 = FUN_00038b50();\n                  if (iVar8 != 0) break;\n                  pcVar14 = (char *)puVar19[2];\n                }\n                sVar12 = strlen(pcVar14);\n                if (DAT_00091e04 != (int *)0x0) {\n                  piVar11 = DAT_00091e04;\n                  do {\n                    if (piVar11[2] == 0) {\n                      sVar13 = strlen((char *)piVar11[1]);\n                      pcVar14 = (char *)xmalloc(sVar13 + sVar12 + 2);\n                      sprintf(pcVar14,"%s/%s",piVar11[1],puVar19[2]);\n                      iVar8 = FUN_00038820();\n                      if (iVar8 != 0) goto LAB_00039300;\n                      free(pcVar14);\n                    }\n                    piVar11 = (int *)*piVar11;\n                  } while (piVar11 != (int *)0x0);\n                }\n                if (bVar3) {\n                  uVar9 = puVar19[1];\n                  uVar2 = puVar19[2];\n                  uVar15 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00031760(uVar15,uVar2,uVar9);\n                  break;\n                }\n                bVar3 = true;\n              }\n            }\n          }\n        }\nLAB_00039300:\n        uVar4 = DAT_00091c20._2_2_;\n      }\n      DAT_00091c20._3_1_ = (byte)(uVar4 >> 8);\n      bVar25 = DAT_00091c20._3_1_ & 0xc0;\n      if ((bVar25 == 0x80) && (iVar8 = bfd_elf_parse_eh_frame_entries(0,&DAT_00091c20), iVar8 == 0))\n      {\n        uVar9 = dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);\n        FUN_00031760(uVar9);\n      }\n    }" else (compound_statement "{\n      if (((DAT_00091c24 & 0x20) == 0) && (DAT_00091c58 != 0)) {\n        local_50 = 0;\n        bVar3 = false;\n        local_4c = 0;\n        iVar16 = DAT_00091c58;\n        do {\n          while ((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0) {\n            puVar19 = *(undefined4 **)(iVar16 + 0x60);\n            if (puVar19 == (undefined4 *)0x0) {\nLAB_00039697:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar22 = (undefined *)puVar19[0xf] < PTR__bfd_std_section_00090fc4 + 0x150;\n                bVar24 = (undefined *)puVar19[0xf] == PTR__bfd_std_section_00090fc4 + 0x150;\n                iVar18 = local_60;\n                if (!bVar24) {\n                  iVar17 = 0xf;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar22 = *pbVar20 < *pbVar21;\n                    bVar24 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar24);\n                  bVar23 = false;\n                  bVar22 = (!bVar22 && !bVar24) == bVar22;\n                  if (bVar22) {\n                    local_60 = 2;\n                    goto LAB_0003966f;\n                  }\n                  iVar17 = 10;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar23 = *pbVar20 < *pbVar21;\n                    bVar22 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar22);\n                  if (((!bVar23 && !bVar22) == bVar23) && (iVar18 = 1, (uint)puVar19[9] < 9)) {\n                    iVar18 = local_60;\n                  }\n                }\n                local_60 = iVar18;\n                puVar19 = (undefined4 *)puVar19[3];\n              } while (puVar19 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_00039697;\nLAB_0003966f:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar16 = local_4c;\n                }\n                uVar9 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00031760(uVar9,iVar16);\n                goto LAB_000396cd;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_00039697;\n              if (local_60 != 2) {\n                if ((DAT_00091c20._2_2_ & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar3 = true;\n                  if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                    local_4c = iVar16;\n                  }\n                }\n                break;\n              }\n              bVar3 = true;\n              if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                local_4c = iVar16;\n              }\n            }\n            iVar16 = *(int *)(iVar16 + 0x98);\n            local_50 = 2;\n            DAT_00091c20._2_2_ = DAT_00091c20._2_2_ & 0x3fff | 0x8000;\n            if (iVar16 == 0) goto LAB_000396cd;\n          }\n          iVar16 = *(int *)(iVar16 + 0x98);\n        } while (iVar16 != 0);\nLAB_000396cd:\n        if ((local_4c == 0) ||\n           (iVar16 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x20) | 8),\n           iVar16 == 0)) {\n          if (bVar3) {\n            uVar9 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00031760(uVar9);\n          }\n        }\n        else {\n          *(undefined4 *)(iVar16 + 0x40) = 2;\n          *(int *)(iVar8 + 0xac) = iVar16;\n        }\n      }\n      puVar6 = (undefined4 *)bfd_elf_get_needed_list(DAT_00091c50,&DAT_00091c20);\n      uVar4 = DAT_00091c20._2_2_;\n      for (puVar19 = puVar6; DAT_00091c20._2_2_ = uVar4, puVar19 != (undefined4 *)0x0;\n          puVar19 = (undefined4 *)*puVar19) {\n        puVar5 = puVar6;\n        if ((puVar19[1] == 0) ||\n           ((uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 1) == 0 &&\n            (((puVar19[1] == 0 || ((DAT_00091c20._2_2_ & 0x180) != 0x80)) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 4) == 0)))))) {\n          for (; puVar5 != puVar19; puVar5 = (undefined4 *)*puVar5) {\n            if (((puVar5[1] == 0) ||\n                (uVar7 = bfd_elf_get_dyn_lib_class(puVar5[1]), (uVar7 & 1) == 0)) &&\n               (iVar8 = strcmp((char *)puVar5[2],(char *)puVar19[2]), iVar8 == 0)) {\n              if (puVar19 != puVar5) goto LAB_00039300;\n              break;\n            }\n          }\n          DAT_00091ae4 = FUN_00038720;\n          DAT_00091a60 = 0;\n          DAT_00091ae0 = puVar19;\n          FUN_00024c50(FUN_00035720);\n          if ((DAT_00091a60 == 0) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_00091a60 + 0x10)),\n             (uVar7 & 1) != 0)) {\n            uVar9 = puVar19[1];\n            uVar2 = puVar19[2];\n            if (DAT_00091d90 != 0) {\n              uVar15 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00031730(uVar15,uVar2,uVar9);\n            }\n            if ((DAT_00091a60 == 0) || (iVar8 = FUN_00038820(), iVar8 == 0)) {\n              bVar3 = false;\n              while (iVar8 = FUN_00038b50(), iVar8 == 0) {\n                if (DAT_00091d04 != 0) {\n                  pvVar10 = (void *)FUN_00037360();\n                  iVar8 = FUN_00038b50();\n                  free(pvVar10);\n                  if (iVar8 != 0) break;\n                }\n                piVar11 = (int *)bfd_elf_get_runpath_list(DAT_00091c50,&DAT_00091c20);\n                if (piVar11 != (int *)0x0) {\n                  do {\n                    bVar24 = true;\n                    pvVar10 = (void *)FUN_00037360();\n                    bVar22 = false;\n                    if (piVar11[1] == puVar19[1]) {\n                      iVar8 = FUN_00038b50();\n                      bVar24 = iVar8 == 0;\n                      bVar22 = !bVar24;\n                    }\n                    free(pvVar10);\n                    piVar11 = (int *)*piVar11;\n                  } while ((piVar11 != (int *)0x0) && (bVar24));\n                  if (bVar22) break;\n                }\n                if (DAT_00091a44 == 0) {\n                  pvVar10 = (void *)concat(DAT_00091ca8,"/usr/etc/ld.so.conf",0);\n                  iVar8 = FUN_00037470();\n                  if (iVar8 == 0) {\n                    free(pvVar10);\n                    pvVar10 = (void *)concat(DAT_00091ca8,"/etc/ld.so.conf",0);\n                    FUN_00037470();\n                  }\n                  free(pvVar10);\n                  DAT_00091a44 = 1;\n                }\n                pcVar14 = (char *)puVar19[2];\n                if (DAT_00091a40 != 0) {\n                  iVar8 = FUN_00038b50();\n                  if (iVar8 != 0) break;\n                  pcVar14 = (char *)puVar19[2];\n                }\n                sVar12 = strlen(pcVar14);\n                if (DAT_00091e04 != (int *)0x0) {\n                  piVar11 = DAT_00091e04;\n                  do {\n                    if (piVar11[2] == 0) {\n                      sVar13 = strlen((char *)piVar11[1]);\n                      pcVar14 = (char *)xmalloc(sVar13 + sVar12 + 2);\n                      sprintf(pcVar14,"%s/%s",piVar11[1],puVar19[2]);\n                      iVar8 = FUN_00038820();\n                      if (iVar8 != 0) goto LAB_00039300;\n                      free(pcVar14);\n                    }\n                    piVar11 = (int *)*piVar11;\n                  } while (piVar11 != (int *)0x0);\n                }\n                if (bVar3) {\n                  uVar9 = puVar19[1];\n                  uVar2 = puVar19[2];\n                  uVar15 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00031760(uVar15,uVar2,uVar9);\n                  break;\n                }\n                bVar3 = true;\n              }\n            }\n          }\n        }\nLAB_00039300:\n        uVar4 = DAT_00091c20._2_2_;\n      }\n      DAT_00091c20._3_1_ = (byte)(uVar4 >> 8);\n      bVar25 = DAT_00091c20._3_1_ & 0xc0;\n      if ((bVar25 == 0x80) && (iVar8 = bfd_elf_parse_eh_frame_entries(0,&DAT_00091c20), iVar8 == 0))\n      {\n        uVar9 = dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);\n        FUN_00031760(uVar9);\n      }\n    }" { (if_statement "if (((DAT_00091c24 & 0x20) == 0) && (DAT_00091c58 != 0)) {\n        local_50 = 0;\n        bVar3 = false;\n        local_4c = 0;\n        iVar16 = DAT_00091c58;\n        do {\n          while ((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0) {\n            puVar19 = *(undefined4 **)(iVar16 + 0x60);\n            if (puVar19 == (undefined4 *)0x0) {\nLAB_00039697:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar22 = (undefined *)puVar19[0xf] < PTR__bfd_std_section_00090fc4 + 0x150;\n                bVar24 = (undefined *)puVar19[0xf] == PTR__bfd_std_section_00090fc4 + 0x150;\n                iVar18 = local_60;\n                if (!bVar24) {\n                  iVar17 = 0xf;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar22 = *pbVar20 < *pbVar21;\n                    bVar24 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar24);\n                  bVar23 = false;\n                  bVar22 = (!bVar22 && !bVar24) == bVar22;\n                  if (bVar22) {\n                    local_60 = 2;\n                    goto LAB_0003966f;\n                  }\n                  iVar17 = 10;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar23 = *pbVar20 < *pbVar21;\n                    bVar22 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar22);\n                  if (((!bVar23 && !bVar22) == bVar23) && (iVar18 = 1, (uint)puVar19[9] < 9)) {\n                    iVar18 = local_60;\n                  }\n                }\n                local_60 = iVar18;\n                puVar19 = (undefined4 *)puVar19[3];\n              } while (puVar19 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_00039697;\nLAB_0003966f:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar16 = local_4c;\n                }\n                uVar9 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00031760(uVar9,iVar16);\n                goto LAB_000396cd;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_00039697;\n              if (local_60 != 2) {\n                if ((DAT_00091c20._2_2_ & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar3 = true;\n                  if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                    local_4c = iVar16;\n                  }\n                }\n                break;\n              }\n              bVar3 = true;\n              if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                local_4c = iVar16;\n              }\n            }\n            iVar16 = *(int *)(iVar16 + 0x98);\n            local_50 = 2;\n            DAT_00091c20._2_2_ = DAT_00091c20._2_2_ & 0x3fff | 0x8000;\n            if (iVar16 == 0) goto LAB_000396cd;\n          }\n          iVar16 = *(int *)(iVar16 + 0x98);\n        } while (iVar16 != 0);\nLAB_000396cd:\n        if ((local_4c == 0) ||\n           (iVar16 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x20) | 8),\n           iVar16 == 0)) {\n          if (bVar3) {\n            uVar9 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00031760(uVar9);\n          }\n        }\n        else {\n          *(undefined4 *)(iVar16 + 0x40) = 2;\n          *(int *)(iVar8 + 0xac) = iVar16;\n        }\n      }" if (parenthesized_expression "(((DAT_00091c24 & 0x20) == 0) && (DAT_00091c58 != 0))" ( (binary_expression "((DAT_00091c24 & 0x20) == 0) && (DAT_00091c58 != 0)" (parenthesized_expression "((DAT_00091c24 & 0x20) == 0)" ( (binary_expression "(DAT_00091c24 & 0x20) == 0" (parenthesized_expression "(DAT_00091c24 & 0x20)" ( (binary_expression "DAT_00091c24 & 0x20" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "(DAT_00091c58 != 0)" ( (binary_expression "DAT_00091c58 != 0" identifier != number_literal) ))) )) (compound_statement "{\n        local_50 = 0;\n        bVar3 = false;\n        local_4c = 0;\n        iVar16 = DAT_00091c58;\n        do {\n          while ((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0) {\n            puVar19 = *(undefined4 **)(iVar16 + 0x60);\n            if (puVar19 == (undefined4 *)0x0) {\nLAB_00039697:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar22 = (undefined *)puVar19[0xf] < PTR__bfd_std_section_00090fc4 + 0x150;\n                bVar24 = (undefined *)puVar19[0xf] == PTR__bfd_std_section_00090fc4 + 0x150;\n                iVar18 = local_60;\n                if (!bVar24) {\n                  iVar17 = 0xf;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar22 = *pbVar20 < *pbVar21;\n                    bVar24 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar24);\n                  bVar23 = false;\n                  bVar22 = (!bVar22 && !bVar24) == bVar22;\n                  if (bVar22) {\n                    local_60 = 2;\n                    goto LAB_0003966f;\n                  }\n                  iVar17 = 10;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar23 = *pbVar20 < *pbVar21;\n                    bVar22 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar22);\n                  if (((!bVar23 && !bVar22) == bVar23) && (iVar18 = 1, (uint)puVar19[9] < 9)) {\n                    iVar18 = local_60;\n                  }\n                }\n                local_60 = iVar18;\n                puVar19 = (undefined4 *)puVar19[3];\n              } while (puVar19 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_00039697;\nLAB_0003966f:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar16 = local_4c;\n                }\n                uVar9 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00031760(uVar9,iVar16);\n                goto LAB_000396cd;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_00039697;\n              if (local_60 != 2) {\n                if ((DAT_00091c20._2_2_ & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar3 = true;\n                  if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                    local_4c = iVar16;\n                  }\n                }\n                break;\n              }\n              bVar3 = true;\n              if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                local_4c = iVar16;\n              }\n            }\n            iVar16 = *(int *)(iVar16 + 0x98);\n            local_50 = 2;\n            DAT_00091c20._2_2_ = DAT_00091c20._2_2_ & 0x3fff | 0x8000;\n            if (iVar16 == 0) goto LAB_000396cd;\n          }\n          iVar16 = *(int *)(iVar16 + 0x98);\n        } while (iVar16 != 0);\nLAB_000396cd:\n        if ((local_4c == 0) ||\n           (iVar16 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x20) | 8),\n           iVar16 == 0)) {\n          if (bVar3) {\n            uVar9 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00031760(uVar9);\n          }\n        }\n        else {\n          *(undefined4 *)(iVar16 + 0x40) = 2;\n          *(int *)(iVar8 + 0xac) = iVar16;\n        }\n      }" { (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" identifier = number_literal) ;) (expression_statement "bVar3 = false;" (assignment_expression "bVar3 = false" identifier = false) ;) (expression_statement "local_4c = 0;" (assignment_expression "local_4c = 0" identifier = number_literal) ;) (expression_statement "iVar16 = DAT_00091c58;" (assignment_expression "iVar16 = DAT_00091c58" identifier = identifier) ;) (do_statement "do {\n          while ((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0) {\n            puVar19 = *(undefined4 **)(iVar16 + 0x60);\n            if (puVar19 == (undefined4 *)0x0) {\nLAB_00039697:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar22 = (undefined *)puVar19[0xf] < PTR__bfd_std_section_00090fc4 + 0x150;\n                bVar24 = (undefined *)puVar19[0xf] == PTR__bfd_std_section_00090fc4 + 0x150;\n                iVar18 = local_60;\n                if (!bVar24) {\n                  iVar17 = 0xf;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar22 = *pbVar20 < *pbVar21;\n                    bVar24 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar24);\n                  bVar23 = false;\n                  bVar22 = (!bVar22 && !bVar24) == bVar22;\n                  if (bVar22) {\n                    local_60 = 2;\n                    goto LAB_0003966f;\n                  }\n                  iVar17 = 10;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar23 = *pbVar20 < *pbVar21;\n                    bVar22 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar22);\n                  if (((!bVar23 && !bVar22) == bVar23) && (iVar18 = 1, (uint)puVar19[9] < 9)) {\n                    iVar18 = local_60;\n                  }\n                }\n                local_60 = iVar18;\n                puVar19 = (undefined4 *)puVar19[3];\n              } while (puVar19 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_00039697;\nLAB_0003966f:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar16 = local_4c;\n                }\n                uVar9 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00031760(uVar9,iVar16);\n                goto LAB_000396cd;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_00039697;\n              if (local_60 != 2) {\n                if ((DAT_00091c20._2_2_ & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar3 = true;\n                  if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                    local_4c = iVar16;\n                  }\n                }\n                break;\n              }\n              bVar3 = true;\n              if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                local_4c = iVar16;\n              }\n            }\n            iVar16 = *(int *)(iVar16 + 0x98);\n            local_50 = 2;\n            DAT_00091c20._2_2_ = DAT_00091c20._2_2_ & 0x3fff | 0x8000;\n            if (iVar16 == 0) goto LAB_000396cd;\n          }\n          iVar16 = *(int *)(iVar16 + 0x98);\n        } while (iVar16 != 0);" do (compound_statement "{\n          while ((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0) {\n            puVar19 = *(undefined4 **)(iVar16 + 0x60);\n            if (puVar19 == (undefined4 *)0x0) {\nLAB_00039697:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar22 = (undefined *)puVar19[0xf] < PTR__bfd_std_section_00090fc4 + 0x150;\n                bVar24 = (undefined *)puVar19[0xf] == PTR__bfd_std_section_00090fc4 + 0x150;\n                iVar18 = local_60;\n                if (!bVar24) {\n                  iVar17 = 0xf;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar22 = *pbVar20 < *pbVar21;\n                    bVar24 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar24);\n                  bVar23 = false;\n                  bVar22 = (!bVar22 && !bVar24) == bVar22;\n                  if (bVar22) {\n                    local_60 = 2;\n                    goto LAB_0003966f;\n                  }\n                  iVar17 = 10;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar23 = *pbVar20 < *pbVar21;\n                    bVar22 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar22);\n                  if (((!bVar23 && !bVar22) == bVar23) && (iVar18 = 1, (uint)puVar19[9] < 9)) {\n                    iVar18 = local_60;\n                  }\n                }\n                local_60 = iVar18;\n                puVar19 = (undefined4 *)puVar19[3];\n              } while (puVar19 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_00039697;\nLAB_0003966f:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar16 = local_4c;\n                }\n                uVar9 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00031760(uVar9,iVar16);\n                goto LAB_000396cd;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_00039697;\n              if (local_60 != 2) {\n                if ((DAT_00091c20._2_2_ & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar3 = true;\n                  if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                    local_4c = iVar16;\n                  }\n                }\n                break;\n              }\n              bVar3 = true;\n              if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                local_4c = iVar16;\n              }\n            }\n            iVar16 = *(int *)(iVar16 + 0x98);\n            local_50 = 2;\n            DAT_00091c20._2_2_ = DAT_00091c20._2_2_ & 0x3fff | 0x8000;\n            if (iVar16 == 0) goto LAB_000396cd;\n          }\n          iVar16 = *(int *)(iVar16 + 0x98);\n        }" { (while_statement "while ((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0) {\n            puVar19 = *(undefined4 **)(iVar16 + 0x60);\n            if (puVar19 == (undefined4 *)0x0) {\nLAB_00039697:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar22 = (undefined *)puVar19[0xf] < PTR__bfd_std_section_00090fc4 + 0x150;\n                bVar24 = (undefined *)puVar19[0xf] == PTR__bfd_std_section_00090fc4 + 0x150;\n                iVar18 = local_60;\n                if (!bVar24) {\n                  iVar17 = 0xf;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar22 = *pbVar20 < *pbVar21;\n                    bVar24 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar24);\n                  bVar23 = false;\n                  bVar22 = (!bVar22 && !bVar24) == bVar22;\n                  if (bVar22) {\n                    local_60 = 2;\n                    goto LAB_0003966f;\n                  }\n                  iVar17 = 10;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar23 = *pbVar20 < *pbVar21;\n                    bVar22 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar22);\n                  if (((!bVar23 && !bVar22) == bVar23) && (iVar18 = 1, (uint)puVar19[9] < 9)) {\n                    iVar18 = local_60;\n                  }\n                }\n                local_60 = iVar18;\n                puVar19 = (undefined4 *)puVar19[3];\n              } while (puVar19 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_00039697;\nLAB_0003966f:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar16 = local_4c;\n                }\n                uVar9 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00031760(uVar9,iVar16);\n                goto LAB_000396cd;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_00039697;\n              if (local_60 != 2) {\n                if ((DAT_00091c20._2_2_ & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar3 = true;\n                  if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                    local_4c = iVar16;\n                  }\n                }\n                break;\n              }\n              bVar3 = true;\n              if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                local_4c = iVar16;\n              }\n            }\n            iVar16 = *(int *)(iVar16 + 0x98);\n            local_50 = 2;\n            DAT_00091c20._2_2_ = DAT_00091c20._2_2_ & 0x3fff | 0x8000;\n            if (iVar16 == 0) goto LAB_000396cd;\n          }" while (parenthesized_expression "((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0)" ( (binary_expression "(*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0" (parenthesized_expression "(*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10)" ( (binary_expression "*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10" (pointer_expression "*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24)" * (cast_expression "(byte *)(*(int *)(iVar16 + 0xa0) + 0x24)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar16 + 0xa0) + 0x24)" ( (binary_expression "*(int *)(iVar16 + 0xa0) + 0x24" (pointer_expression "*(int *)(iVar16 + 0xa0)" * (cast_expression "(int *)(iVar16 + 0xa0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0xa0)" ( (binary_expression "iVar16 + 0xa0" identifier + number_literal) )))) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n            puVar19 = *(undefined4 **)(iVar16 + 0x60);\n            if (puVar19 == (undefined4 *)0x0) {\nLAB_00039697:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar22 = (undefined *)puVar19[0xf] < PTR__bfd_std_section_00090fc4 + 0x150;\n                bVar24 = (undefined *)puVar19[0xf] == PTR__bfd_std_section_00090fc4 + 0x150;\n                iVar18 = local_60;\n                if (!bVar24) {\n                  iVar17 = 0xf;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar22 = *pbVar20 < *pbVar21;\n                    bVar24 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar24);\n                  bVar23 = false;\n                  bVar22 = (!bVar22 && !bVar24) == bVar22;\n                  if (bVar22) {\n                    local_60 = 2;\n                    goto LAB_0003966f;\n                  }\n                  iVar17 = 10;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar23 = *pbVar20 < *pbVar21;\n                    bVar22 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar22);\n                  if (((!bVar23 && !bVar22) == bVar23) && (iVar18 = 1, (uint)puVar19[9] < 9)) {\n                    iVar18 = local_60;\n                  }\n                }\n                local_60 = iVar18;\n                puVar19 = (undefined4 *)puVar19[3];\n              } while (puVar19 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_00039697;\nLAB_0003966f:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar16 = local_4c;\n                }\n                uVar9 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00031760(uVar9,iVar16);\n                goto LAB_000396cd;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_00039697;\n              if (local_60 != 2) {\n                if ((DAT_00091c20._2_2_ & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar3 = true;\n                  if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                    local_4c = iVar16;\n                  }\n                }\n                break;\n              }\n              bVar3 = true;\n              if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                local_4c = iVar16;\n              }\n            }\n            iVar16 = *(int *)(iVar16 + 0x98);\n            local_50 = 2;\n            DAT_00091c20._2_2_ = DAT_00091c20._2_2_ & 0x3fff | 0x8000;\n            if (iVar16 == 0) goto LAB_000396cd;\n          }" { (expression_statement "puVar19 = *(undefined4 **)(iVar16 + 0x60);" (assignment_expression "puVar19 = *(undefined4 **)(iVar16 + 0x60)" identifier = (pointer_expression "*(undefined4 **)(iVar16 + 0x60)" * (cast_expression "(undefined4 **)(iVar16 + 0x60)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar16 + 0x60)" ( (binary_expression "iVar16 + 0x60" identifier + number_literal) ))))) ;) (if_statement "if (puVar19 == (undefined4 *)0x0) {\nLAB_00039697:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar22 = (undefined *)puVar19[0xf] < PTR__bfd_std_section_00090fc4 + 0x150;\n                bVar24 = (undefined *)puVar19[0xf] == PTR__bfd_std_section_00090fc4 + 0x150;\n                iVar18 = local_60;\n                if (!bVar24) {\n                  iVar17 = 0xf;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar22 = *pbVar20 < *pbVar21;\n                    bVar24 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar24);\n                  bVar23 = false;\n                  bVar22 = (!bVar22 && !bVar24) == bVar22;\n                  if (bVar22) {\n                    local_60 = 2;\n                    goto LAB_0003966f;\n                  }\n                  iVar17 = 10;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar23 = *pbVar20 < *pbVar21;\n                    bVar22 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar22);\n                  if (((!bVar23 && !bVar22) == bVar23) && (iVar18 = 1, (uint)puVar19[9] < 9)) {\n                    iVar18 = local_60;\n                  }\n                }\n                local_60 = iVar18;\n                puVar19 = (undefined4 *)puVar19[3];\n              } while (puVar19 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_00039697;\nLAB_0003966f:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar16 = local_4c;\n                }\n                uVar9 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00031760(uVar9,iVar16);\n                goto LAB_000396cd;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_00039697;\n              if (local_60 != 2) {\n                if ((DAT_00091c20._2_2_ & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar3 = true;\n                  if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                    local_4c = iVar16;\n                  }\n                }\n                break;\n              }\n              bVar3 = true;\n              if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                local_4c = iVar16;\n              }\n            }" if (parenthesized_expression "(puVar19 == (undefined4 *)0x0)" ( (binary_expression "puVar19 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00039697:\n              if (local_50 != 2) break;\n            }" { (labeled_statement "LAB_00039697:\n              if (local_50 != 2) break;" statement_identifier : (if_statement "if (local_50 != 2) break;" if (parenthesized_expression "(local_50 != 2)" ( (binary_expression "local_50 != 2" identifier != number_literal) )) (break_statement "break;" break ;))) }) (else_clause "else {\n              local_60 = 0;\n              do {\n                bVar22 = (undefined *)puVar19[0xf] < PTR__bfd_std_section_00090fc4 + 0x150;\n                bVar24 = (undefined *)puVar19[0xf] == PTR__bfd_std_section_00090fc4 + 0x150;\n                iVar18 = local_60;\n                if (!bVar24) {\n                  iVar17 = 0xf;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar22 = *pbVar20 < *pbVar21;\n                    bVar24 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar24);\n                  bVar23 = false;\n                  bVar22 = (!bVar22 && !bVar24) == bVar22;\n                  if (bVar22) {\n                    local_60 = 2;\n                    goto LAB_0003966f;\n                  }\n                  iVar17 = 10;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar23 = *pbVar20 < *pbVar21;\n                    bVar22 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar22);\n                  if (((!bVar23 && !bVar22) == bVar23) && (iVar18 = 1, (uint)puVar19[9] < 9)) {\n                    iVar18 = local_60;\n                  }\n                }\n                local_60 = iVar18;\n                puVar19 = (undefined4 *)puVar19[3];\n              } while (puVar19 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_00039697;\nLAB_0003966f:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar16 = local_4c;\n                }\n                uVar9 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00031760(uVar9,iVar16);\n                goto LAB_000396cd;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_00039697;\n              if (local_60 != 2) {\n                if ((DAT_00091c20._2_2_ & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar3 = true;\n                  if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                    local_4c = iVar16;\n                  }\n                }\n                break;\n              }\n              bVar3 = true;\n              if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                local_4c = iVar16;\n              }\n            }" else (compound_statement "{\n              local_60 = 0;\n              do {\n                bVar22 = (undefined *)puVar19[0xf] < PTR__bfd_std_section_00090fc4 + 0x150;\n                bVar24 = (undefined *)puVar19[0xf] == PTR__bfd_std_section_00090fc4 + 0x150;\n                iVar18 = local_60;\n                if (!bVar24) {\n                  iVar17 = 0xf;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar22 = *pbVar20 < *pbVar21;\n                    bVar24 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar24);\n                  bVar23 = false;\n                  bVar22 = (!bVar22 && !bVar24) == bVar22;\n                  if (bVar22) {\n                    local_60 = 2;\n                    goto LAB_0003966f;\n                  }\n                  iVar17 = 10;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar23 = *pbVar20 < *pbVar21;\n                    bVar22 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar22);\n                  if (((!bVar23 && !bVar22) == bVar23) && (iVar18 = 1, (uint)puVar19[9] < 9)) {\n                    iVar18 = local_60;\n                  }\n                }\n                local_60 = iVar18;\n                puVar19 = (undefined4 *)puVar19[3];\n              } while (puVar19 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_00039697;\nLAB_0003966f:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar16 = local_4c;\n                }\n                uVar9 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00031760(uVar9,iVar16);\n                goto LAB_000396cd;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_00039697;\n              if (local_60 != 2) {\n                if ((DAT_00091c20._2_2_ & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar3 = true;\n                  if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                    local_4c = iVar16;\n                  }\n                }\n                break;\n              }\n              bVar3 = true;\n              if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                local_4c = iVar16;\n              }\n            }" { (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" identifier = number_literal) ;) (do_statement "do {\n                bVar22 = (undefined *)puVar19[0xf] < PTR__bfd_std_section_00090fc4 + 0x150;\n                bVar24 = (undefined *)puVar19[0xf] == PTR__bfd_std_section_00090fc4 + 0x150;\n                iVar18 = local_60;\n                if (!bVar24) {\n                  iVar17 = 0xf;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar22 = *pbVar20 < *pbVar21;\n                    bVar24 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar24);\n                  bVar23 = false;\n                  bVar22 = (!bVar22 && !bVar24) == bVar22;\n                  if (bVar22) {\n                    local_60 = 2;\n                    goto LAB_0003966f;\n                  }\n                  iVar17 = 10;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar23 = *pbVar20 < *pbVar21;\n                    bVar22 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar22);\n                  if (((!bVar23 && !bVar22) == bVar23) && (iVar18 = 1, (uint)puVar19[9] < 9)) {\n                    iVar18 = local_60;\n                  }\n                }\n                local_60 = iVar18;\n                puVar19 = (undefined4 *)puVar19[3];\n              } while (puVar19 != (undefined4 *)0x0);" do (compound_statement "{\n                bVar22 = (undefined *)puVar19[0xf] < PTR__bfd_std_section_00090fc4 + 0x150;\n                bVar24 = (undefined *)puVar19[0xf] == PTR__bfd_std_section_00090fc4 + 0x150;\n                iVar18 = local_60;\n                if (!bVar24) {\n                  iVar17 = 0xf;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar22 = *pbVar20 < *pbVar21;\n                    bVar24 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar24);\n                  bVar23 = false;\n                  bVar22 = (!bVar22 && !bVar24) == bVar22;\n                  if (bVar22) {\n                    local_60 = 2;\n                    goto LAB_0003966f;\n                  }\n                  iVar17 = 10;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar23 = *pbVar20 < *pbVar21;\n                    bVar22 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar22);\n                  if (((!bVar23 && !bVar22) == bVar23) && (iVar18 = 1, (uint)puVar19[9] < 9)) {\n                    iVar18 = local_60;\n                  }\n                }\n                local_60 = iVar18;\n                puVar19 = (undefined4 *)puVar19[3];\n              }" { (expression_statement "bVar22 = (undefined *)puVar19[0xf] < PTR__bfd_std_section_00090fc4 + 0x150;" (assignment_expression "bVar22 = (undefined *)puVar19[0xf] < PTR__bfd_std_section_00090fc4 + 0x150" identifier = (binary_expression "(undefined *)puVar19[0xf] < PTR__bfd_std_section_00090fc4 + 0x150" (cast_expression "(undefined *)puVar19[0xf]" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar19[0xf]" identifier [ number_literal ])) < (binary_expression "PTR__bfd_std_section_00090fc4 + 0x150" identifier + number_literal))) ;) (expression_statement "bVar24 = (undefined *)puVar19[0xf] == PTR__bfd_std_section_00090fc4 + 0x150;" (assignment_expression "bVar24 = (undefined *)puVar19[0xf] == PTR__bfd_std_section_00090fc4 + 0x150" identifier = (binary_expression "(undefined *)puVar19[0xf] == PTR__bfd_std_section_00090fc4 + 0x150" (cast_expression "(undefined *)puVar19[0xf]" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar19[0xf]" identifier [ number_literal ])) == (binary_expression "PTR__bfd_std_section_00090fc4 + 0x150" identifier + number_literal))) ;) (expression_statement "iVar18 = local_60;" (assignment_expression "iVar18 = local_60" identifier = identifier) ;) (if_statement "if (!bVar24) {\n                  iVar17 = 0xf;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar22 = *pbVar20 < *pbVar21;\n                    bVar24 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar24);\n                  bVar23 = false;\n                  bVar22 = (!bVar22 && !bVar24) == bVar22;\n                  if (bVar22) {\n                    local_60 = 2;\n                    goto LAB_0003966f;\n                  }\n                  iVar17 = 10;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar23 = *pbVar20 < *pbVar21;\n                    bVar22 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar22);\n                  if (((!bVar23 && !bVar22) == bVar23) && (iVar18 = 1, (uint)puVar19[9] < 9)) {\n                    iVar18 = local_60;\n                  }\n                }" if (parenthesized_expression "(!bVar24)" ( (unary_expression "!bVar24" ! identifier) )) (compound_statement "{\n                  iVar17 = 0xf;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar22 = *pbVar20 < *pbVar21;\n                    bVar24 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar24);\n                  bVar23 = false;\n                  bVar22 = (!bVar22 && !bVar24) == bVar22;\n                  if (bVar22) {\n                    local_60 = 2;\n                    goto LAB_0003966f;\n                  }\n                  iVar17 = 10;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar23 = *pbVar20 < *pbVar21;\n                    bVar22 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar22);\n                  if (((!bVar23 && !bVar22) == bVar23) && (iVar18 = 1, (uint)puVar19[9] < 9)) {\n                    iVar18 = local_60;\n                  }\n                }" { (expression_statement "iVar17 = 0xf;" (assignment_expression "iVar17 = 0xf" identifier = number_literal) ;) (expression_statement "pbVar20 = (byte *)*puVar19;" (assignment_expression "pbVar20 = (byte *)*puVar19" identifier = (cast_expression "(byte *)*puVar19" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar19" * identifier))) ;) (expression_statement "pbVar21 = (byte *)".eh_frame_entry";" (assignment_expression "pbVar21 = (byte *)".eh_frame_entry"" identifier = (cast_expression "(byte *)".eh_frame_entry"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".eh_frame_entry"" " string_content "))) ;) (do_statement "do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar22 = *pbVar20 < *pbVar21;\n                    bVar24 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar24);" do (compound_statement "{\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar22 = *pbVar20 < *pbVar21;\n                    bVar24 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  }" { (if_statement "if (iVar17 == 0) break;" if (parenthesized_expression "(iVar17 == 0)" ( (binary_expression "iVar17 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar17 = iVar17 + -1;" (assignment_expression "iVar17 = iVar17 + -1" identifier = (binary_expression "iVar17 + -1" identifier + number_literal)) ;) (expression_statement "bVar22 = *pbVar20 < *pbVar21;" (assignment_expression "bVar22 = *pbVar20 < *pbVar21" identifier = (binary_expression "*pbVar20 < *pbVar21" (pointer_expression "*pbVar20" * identifier) < (pointer_expression "*pbVar21" * identifier))) ;) (expression_statement "bVar24 = *pbVar20 == *pbVar21;" (assignment_expression "bVar24 = *pbVar20 == *pbVar21" identifier = (binary_expression "*pbVar20 == *pbVar21" (pointer_expression "*pbVar20" * identifier) == (pointer_expression "*pbVar21" * identifier))) ;) (expression_statement "pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar20 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar21 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar21 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar24)" ( identifier )) ;) (expression_statement "bVar23 = false;" (assignment_expression "bVar23 = false" identifier = false) ;) (expression_statement "bVar22 = (!bVar22 && !bVar24) == bVar22;" (assignment_expression "bVar22 = (!bVar22 && !bVar24) == bVar22" identifier = (binary_expression "(!bVar22 && !bVar24) == bVar22" (parenthesized_expression "(!bVar22 && !bVar24)" ( (binary_expression "!bVar22 && !bVar24" (unary_expression "!bVar22" ! identifier) && (unary_expression "!bVar24" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar22) {\n                    local_60 = 2;\n                    goto LAB_0003966f;\n                  }" if (parenthesized_expression "(bVar22)" ( identifier )) (compound_statement "{\n                    local_60 = 2;\n                    goto LAB_0003966f;\n                  }" { (expression_statement "local_60 = 2;" (assignment_expression "local_60 = 2" identifier = number_literal) ;) (goto_statement "goto LAB_0003966f;" goto statement_identifier ;) })) (expression_statement "iVar17 = 10;" (assignment_expression "iVar17 = 10" identifier = number_literal) ;) (expression_statement "pbVar20 = (byte *)*puVar19;" (assignment_expression "pbVar20 = (byte *)*puVar19" identifier = (cast_expression "(byte *)*puVar19" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar19" * identifier))) ;) (expression_statement "pbVar21 = (byte *)".eh_frame";" (assignment_expression "pbVar21 = (byte *)".eh_frame"" identifier = (cast_expression "(byte *)".eh_frame"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".eh_frame"" " string_content "))) ;) (do_statement "do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar23 = *pbVar20 < *pbVar21;\n                    bVar22 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar22);" do (compound_statement "{\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar23 = *pbVar20 < *pbVar21;\n                    bVar22 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  }" { (if_statement "if (iVar17 == 0) break;" if (parenthesized_expression "(iVar17 == 0)" ( (binary_expression "iVar17 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar17 = iVar17 + -1;" (assignment_expression "iVar17 = iVar17 + -1" identifier = (binary_expression "iVar17 + -1" identifier + number_literal)) ;) (expression_statement "bVar23 = *pbVar20 < *pbVar21;" (assignment_expression "bVar23 = *pbVar20 < *pbVar21" identifier = (binary_expression "*pbVar20 < *pbVar21" (pointer_expression "*pbVar20" * identifier) < (pointer_expression "*pbVar21" * identifier))) ;) (expression_statement "bVar22 = *pbVar20 == *pbVar21;" (assignment_expression "bVar22 = *pbVar20 == *pbVar21" identifier = (binary_expression "*pbVar20 == *pbVar21" (pointer_expression "*pbVar20" * identifier) == (pointer_expression "*pbVar21" * identifier))) ;) (expression_statement "pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar20 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "pbVar21 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar21 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar22)" ( identifier )) ;) (if_statement "if (((!bVar23 && !bVar22) == bVar23) && (iVar18 = 1, (uint)puVar19[9] < 9)) {\n                    iVar18 = local_60;\n                  }" if (parenthesized_expression "(((!bVar23 && !bVar22) == bVar23) && (iVar18 = 1, (uint)puVar19[9] < 9))" ( (binary_expression "((!bVar23 && !bVar22) == bVar23) && (iVar18 = 1, (uint)puVar19[9] < 9)" (parenthesized_expression "((!bVar23 && !bVar22) == bVar23)" ( (binary_expression "(!bVar23 && !bVar22) == bVar23" (parenthesized_expression "(!bVar23 && !bVar22)" ( (binary_expression "!bVar23 && !bVar22" (unary_expression "!bVar23" ! identifier) && (unary_expression "!bVar22" ! identifier)) )) == identifier) )) && (parenthesized_expression "(iVar18 = 1, (uint)puVar19[9] < 9)" ( (comma_expression "iVar18 = 1, (uint)puVar19[9] < 9" (assignment_expression "iVar18 = 1" identifier = number_literal) , (binary_expression "(uint)puVar19[9] < 9" (cast_expression "(uint)puVar19[9]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "puVar19[9]" identifier [ number_literal ])) < number_literal)) ))) )) (compound_statement "{\n                    iVar18 = local_60;\n                  }" { (expression_statement "iVar18 = local_60;" (assignment_expression "iVar18 = local_60" identifier = identifier) ;) })) })) (expression_statement "local_60 = iVar18;" (assignment_expression "local_60 = iVar18" identifier = identifier) ;) (expression_statement "puVar19 = (undefined4 *)puVar19[3];" (assignment_expression "puVar19 = (undefined4 *)puVar19[3]" identifier = (cast_expression "(undefined4 *)puVar19[3]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar19[3]" identifier [ number_literal ]))) ;) }) while (parenthesized_expression "(puVar19 != (undefined4 *)0x0)" ( (binary_expression "puVar19 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (if_statement "if (local_60 == 0) goto LAB_00039697;" if (parenthesized_expression "(local_60 == 0)" ( (binary_expression "local_60 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00039697;" goto statement_identifier ;)) (labeled_statement "LAB_0003966f:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar16 = local_4c;\n                }\n                uVar9 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00031760(uVar9,iVar16);\n                goto LAB_000396cd;\n              }" statement_identifier : (if_statement "if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar16 = local_4c;\n                }\n                uVar9 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00031760(uVar9,iVar16);\n                goto LAB_000396cd;\n              }" if (parenthesized_expression "((local_50 != 0) && (local_50 != local_60))" ( (binary_expression "(local_50 != 0) && (local_50 != local_60)" (parenthesized_expression "(local_50 != 0)" ( (binary_expression "local_50 != 0" identifier != number_literal) )) && (parenthesized_expression "(local_50 != local_60)" ( (binary_expression "local_50 != local_60" identifier != identifier) ))) )) (compound_statement "{\n                if (local_60 != 1) {\n                  iVar16 = local_4c;\n                }\n                uVar9 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00031760(uVar9,iVar16);\n                goto LAB_000396cd;\n              }" { (if_statement "if (local_60 != 1) {\n                  iVar16 = local_4c;\n                }" if (parenthesized_expression "(local_60 != 1)" ( (binary_expression "local_60 != 1" identifier != number_literal) )) (compound_statement "{\n                  iVar16 = local_4c;\n                }" { (expression_statement "iVar16 = local_4c;" (assignment_expression "iVar16 = local_4c" identifier = identifier) ;) })) (expression_statement "uVar9 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);" (assignment_expression "uVar9 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5)" identifier = (call_expression "dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5)" identifier (argument_list "(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5)" ( number_literal , (string_literal ""%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_00031760(uVar9,iVar16);" (call_expression "FUN_00031760(uVar9,iVar16)" identifier (argument_list "(uVar9,iVar16)" ( identifier , identifier ))) ;) (goto_statement "goto LAB_000396cd;" goto statement_identifier ;) }))) (expression_statement "local_50 = local_60;" (assignment_expression "local_50 = local_60" identifier = identifier) ;) (if_statement "if (local_4c != 0) goto LAB_00039697;" if (parenthesized_expression "(local_4c != 0)" ( (binary_expression "local_4c != 0" identifier != number_literal) )) (goto_statement "goto LAB_00039697;" goto statement_identifier ;)) (if_statement "if (local_60 != 2) {\n                if ((DAT_00091c20._2_2_ & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar3 = true;\n                  if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                    local_4c = iVar16;\n                  }\n                }\n                break;\n              }" if (parenthesized_expression "(local_60 != 2)" ( (binary_expression "local_60 != 2" identifier != number_literal) )) (compound_statement "{\n                if ((DAT_00091c20._2_2_ & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar3 = true;\n                  if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                    local_4c = iVar16;\n                  }\n                }\n                break;\n              }" { (if_statement "if ((DAT_00091c20._2_2_ & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar3 = true;\n                  if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                    local_4c = iVar16;\n                  }\n                }" if (parenthesized_expression "((DAT_00091c20._2_2_ & 0xc000) == 0)" ( (binary_expression "(DAT_00091c20._2_2_ & 0xc000) == 0" (parenthesized_expression "(DAT_00091c20._2_2_ & 0xc000)" ( (binary_expression "DAT_00091c20._2_2_ & 0xc000" (field_expression "DAT_00091c20._2_2_" identifier . field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n                  local_50 = 1;\n                }" { (expression_statement "local_50 = 1;" (assignment_expression "local_50 = 1" identifier = number_literal) ;) }) (else_clause "else {\n                  local_50 = 1;\n                  bVar3 = true;\n                  if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                    local_4c = iVar16;\n                  }\n                }" else (compound_statement "{\n                  local_50 = 1;\n                  bVar3 = true;\n                  if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                    local_4c = iVar16;\n                  }\n                }" { (expression_statement "local_50 = 1;" (assignment_expression "local_50 = 1" identifier = number_literal) ;) (expression_statement "bVar3 = true;" (assignment_expression "bVar3 = true" identifier = true) ;) (if_statement "if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                    local_4c = iVar16;\n                  }" if (parenthesized_expression "(*(int *)(*(int *)(iVar16 + 4) + 4) == 5)" ( (binary_expression "*(int *)(*(int *)(iVar16 + 4) + 4) == 5" (pointer_expression "*(int *)(*(int *)(iVar16 + 4) + 4)" * (cast_expression "(int *)(*(int *)(iVar16 + 4) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar16 + 4) + 4)" ( (binary_expression "*(int *)(iVar16 + 4) + 4" (pointer_expression "*(int *)(iVar16 + 4)" * (cast_expression "(int *)(iVar16 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 4)" ( (binary_expression "iVar16 + 4" identifier + number_literal) )))) + number_literal) )))) == number_literal) )) (compound_statement "{\n                    local_4c = iVar16;\n                  }" { (expression_statement "local_4c = iVar16;" (assignment_expression "local_4c = iVar16" identifier = identifier) ;) })) }))) (break_statement "break;" break ;) })) (expression_statement "bVar3 = true;" (assignment_expression "bVar3 = true" identifier = true) ;) (if_statement "if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                local_4c = iVar16;\n              }" if (parenthesized_expression "(*(int *)(*(int *)(iVar16 + 4) + 4) == 5)" ( (binary_expression "*(int *)(*(int *)(iVar16 + 4) + 4) == 5" (pointer_expression "*(int *)(*(int *)(iVar16 + 4) + 4)" * (cast_expression "(int *)(*(int *)(iVar16 + 4) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar16 + 4) + 4)" ( (binary_expression "*(int *)(iVar16 + 4) + 4" (pointer_expression "*(int *)(iVar16 + 4)" * (cast_expression "(int *)(iVar16 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 4)" ( (binary_expression "iVar16 + 4" identifier + number_literal) )))) + number_literal) )))) == number_literal) )) (compound_statement "{\n                local_4c = iVar16;\n              }" { (expression_statement "local_4c = iVar16;" (assignment_expression "local_4c = iVar16" identifier = identifier) ;) })) }))) (expression_statement "iVar16 = *(int *)(iVar16 + 0x98);" (assignment_expression "iVar16 = *(int *)(iVar16 + 0x98)" identifier = (pointer_expression "*(int *)(iVar16 + 0x98)" * (cast_expression "(int *)(iVar16 + 0x98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x98)" ( (binary_expression "iVar16 + 0x98" identifier + number_literal) ))))) ;) (expression_statement "local_50 = 2;" (assignment_expression "local_50 = 2" identifier = number_literal) ;) (expression_statement "DAT_00091c20._2_2_ = DAT_00091c20._2_2_ & 0x3fff | 0x8000;" (assignment_expression "DAT_00091c20._2_2_ = DAT_00091c20._2_2_ & 0x3fff | 0x8000" (field_expression "DAT_00091c20._2_2_" identifier . field_identifier) = (binary_expression "DAT_00091c20._2_2_ & 0x3fff | 0x8000" (binary_expression "DAT_00091c20._2_2_ & 0x3fff" (field_expression "DAT_00091c20._2_2_" identifier . field_identifier) & number_literal) | number_literal)) ;) (if_statement "if (iVar16 == 0) goto LAB_000396cd;" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000396cd;" goto statement_identifier ;)) })) (expression_statement "iVar16 = *(int *)(iVar16 + 0x98);" (assignment_expression "iVar16 = *(int *)(iVar16 + 0x98)" identifier = (pointer_expression "*(int *)(iVar16 + 0x98)" * (cast_expression "(int *)(iVar16 + 0x98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x98)" ( (binary_expression "iVar16 + 0x98" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(iVar16 != 0)" ( (binary_expression "iVar16 != 0" identifier != number_literal) )) ;) (labeled_statement "LAB_000396cd:\n        if ((local_4c == 0) ||\n           (iVar16 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x20) | 8),\n           iVar16 == 0)) {\n          if (bVar3) {\n            uVar9 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00031760(uVar9);\n          }\n        }\n        else {\n          *(undefined4 *)(iVar16 + 0x40) = 2;\n          *(int *)(iVar8 + 0xac) = iVar16;\n        }" statement_identifier : (if_statement "if ((local_4c == 0) ||\n           (iVar16 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x20) | 8),\n           iVar16 == 0)) {\n          if (bVar3) {\n            uVar9 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00031760(uVar9);\n          }\n        }\n        else {\n          *(undefined4 *)(iVar16 + 0x40) = 2;\n          *(int *)(iVar8 + 0xac) = iVar16;\n        }" if (parenthesized_expression "((local_4c == 0) ||\n           (iVar16 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x20) | 8),\n           iVar16 == 0))" ( (binary_expression "(local_4c == 0) ||\n           (iVar16 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x20) | 8),\n           iVar16 == 0)" (parenthesized_expression "(local_4c == 0)" ( (binary_expression "local_4c == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar16 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x20) | 8),\n           iVar16 == 0)" ( (comma_expression "iVar16 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x20) | 8),\n           iVar16 == 0" (assignment_expression "iVar16 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x20) | 8)" identifier = (call_expression "bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x20) | 8)" identifier (argument_list "(local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x20) | 8)" ( identifier , (string_literal "".eh_frame_hdr"" " string_content ") , (binary_expression "*(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x20) | 8" (pointer_expression "*(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x20)" * (cast_expression "(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x20)" ( (binary_expression "*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x20" (pointer_expression "*(int *)(*(int *)(local_4c + 4) + 0x1c0)" * (cast_expression "(int *)(*(int *)(local_4c + 4) + 0x1c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(local_4c + 4) + 0x1c0)" ( (binary_expression "*(int *)(local_4c + 4) + 0x1c0" (pointer_expression "*(int *)(local_4c + 4)" * (cast_expression "(int *)(local_4c + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_4c + 4)" ( (binary_expression "local_4c + 4" identifier + number_literal) )))) + number_literal) )))) + number_literal) )))) | number_literal) )))) , (binary_expression "iVar16 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n          if (bVar3) {\n            uVar9 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00031760(uVar9);\n          }\n        }" { (if_statement "if (bVar3) {\n            uVar9 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00031760(uVar9);\n          }" if (parenthesized_expression "(bVar3)" ( identifier )) (compound_statement "{\n            uVar9 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00031760(uVar9);\n          }" { (expression_statement "uVar9 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);" (assignment_expression "uVar9 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5)" identifier = (call_expression "dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5)" identifier (argument_list "(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5)" ( number_literal , (string_literal ""%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_00031760(uVar9);" (call_expression "FUN_00031760(uVar9)" identifier (argument_list "(uVar9)" ( identifier ))) ;) })) }) (else_clause "else {\n          *(undefined4 *)(iVar16 + 0x40) = 2;\n          *(int *)(iVar8 + 0xac) = iVar16;\n        }" else (compound_statement "{\n          *(undefined4 *)(iVar16 + 0x40) = 2;\n          *(int *)(iVar8 + 0xac) = iVar16;\n        }" { (expression_statement "*(undefined4 *)(iVar16 + 0x40) = 2;" (assignment_expression "*(undefined4 *)(iVar16 + 0x40) = 2" (pointer_expression "*(undefined4 *)(iVar16 + 0x40)" * (cast_expression "(undefined4 *)(iVar16 + 0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x40)" ( (binary_expression "iVar16 + 0x40" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(iVar8 + 0xac) = iVar16;" (assignment_expression "*(int *)(iVar8 + 0xac) = iVar16" (pointer_expression "*(int *)(iVar8 + 0xac)" * (cast_expression "(int *)(iVar8 + 0xac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0xac)" ( (binary_expression "iVar8 + 0xac" identifier + number_literal) )))) = identifier) ;) })))) })) (expression_statement "puVar6 = (undefined4 *)bfd_elf_get_needed_list(DAT_00091c50,&DAT_00091c20);" (assignment_expression "puVar6 = (undefined4 *)bfd_elf_get_needed_list(DAT_00091c50,&DAT_00091c20)" identifier = (cast_expression "(undefined4 *)bfd_elf_get_needed_list(DAT_00091c50,&DAT_00091c20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "bfd_elf_get_needed_list(DAT_00091c50,&DAT_00091c20)" identifier (argument_list "(DAT_00091c50,&DAT_00091c20)" ( identifier , (pointer_expression "&DAT_00091c20" & identifier) ))))) ;) (expression_statement "uVar4 = DAT_00091c20._2_2_;" (assignment_expression "uVar4 = DAT_00091c20._2_2_" identifier = (field_expression "DAT_00091c20._2_2_" identifier . field_identifier)) ;) (for_statement "for (puVar19 = puVar6; DAT_00091c20._2_2_ = uVar4, puVar19 != (undefined4 *)0x0;\n          puVar19 = (undefined4 *)*puVar19) {\n        puVar5 = puVar6;\n        if ((puVar19[1] == 0) ||\n           ((uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 1) == 0 &&\n            (((puVar19[1] == 0 || ((DAT_00091c20._2_2_ & 0x180) != 0x80)) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 4) == 0)))))) {\n          for (; puVar5 != puVar19; puVar5 = (undefined4 *)*puVar5) {\n            if (((puVar5[1] == 0) ||\n                (uVar7 = bfd_elf_get_dyn_lib_class(puVar5[1]), (uVar7 & 1) == 0)) &&\n               (iVar8 = strcmp((char *)puVar5[2],(char *)puVar19[2]), iVar8 == 0)) {\n              if (puVar19 != puVar5) goto LAB_00039300;\n              break;\n            }\n          }\n          DAT_00091ae4 = FUN_00038720;\n          DAT_00091a60 = 0;\n          DAT_00091ae0 = puVar19;\n          FUN_00024c50(FUN_00035720);\n          if ((DAT_00091a60 == 0) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_00091a60 + 0x10)),\n             (uVar7 & 1) != 0)) {\n            uVar9 = puVar19[1];\n            uVar2 = puVar19[2];\n            if (DAT_00091d90 != 0) {\n              uVar15 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00031730(uVar15,uVar2,uVar9);\n            }\n            if ((DAT_00091a60 == 0) || (iVar8 = FUN_00038820(), iVar8 == 0)) {\n              bVar3 = false;\n              while (iVar8 = FUN_00038b50(), iVar8 == 0) {\n                if (DAT_00091d04 != 0) {\n                  pvVar10 = (void *)FUN_00037360();\n                  iVar8 = FUN_00038b50();\n                  free(pvVar10);\n                  if (iVar8 != 0) break;\n                }\n                piVar11 = (int *)bfd_elf_get_runpath_list(DAT_00091c50,&DAT_00091c20);\n                if (piVar11 != (int *)0x0) {\n                  do {\n                    bVar24 = true;\n                    pvVar10 = (void *)FUN_00037360();\n                    bVar22 = false;\n                    if (piVar11[1] == puVar19[1]) {\n                      iVar8 = FUN_00038b50();\n                      bVar24 = iVar8 == 0;\n                      bVar22 = !bVar24;\n                    }\n                    free(pvVar10);\n                    piVar11 = (int *)*piVar11;\n                  } while ((piVar11 != (int *)0x0) && (bVar24));\n                  if (bVar22) break;\n                }\n                if (DAT_00091a44 == 0) {\n                  pvVar10 = (void *)concat(DAT_00091ca8,"/usr/etc/ld.so.conf",0);\n                  iVar8 = FUN_00037470();\n                  if (iVar8 == 0) {\n                    free(pvVar10);\n                    pvVar10 = (void *)concat(DAT_00091ca8,"/etc/ld.so.conf",0);\n                    FUN_00037470();\n                  }\n                  free(pvVar10);\n                  DAT_00091a44 = 1;\n                }\n                pcVar14 = (char *)puVar19[2];\n                if (DAT_00091a40 != 0) {\n                  iVar8 = FUN_00038b50();\n                  if (iVar8 != 0) break;\n                  pcVar14 = (char *)puVar19[2];\n                }\n                sVar12 = strlen(pcVar14);\n                if (DAT_00091e04 != (int *)0x0) {\n                  piVar11 = DAT_00091e04;\n                  do {\n                    if (piVar11[2] == 0) {\n                      sVar13 = strlen((char *)piVar11[1]);\n                      pcVar14 = (char *)xmalloc(sVar13 + sVar12 + 2);\n                      sprintf(pcVar14,"%s/%s",piVar11[1],puVar19[2]);\n                      iVar8 = FUN_00038820();\n                      if (iVar8 != 0) goto LAB_00039300;\n                      free(pcVar14);\n                    }\n                    piVar11 = (int *)*piVar11;\n                  } while (piVar11 != (int *)0x0);\n                }\n                if (bVar3) {\n                  uVar9 = puVar19[1];\n                  uVar2 = puVar19[2];\n                  uVar15 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00031760(uVar15,uVar2,uVar9);\n                  break;\n                }\n                bVar3 = true;\n              }\n            }\n          }\n        }\nLAB_00039300:\n        uVar4 = DAT_00091c20._2_2_;\n      }" for ( (assignment_expression "puVar19 = puVar6" identifier = identifier) ; (comma_expression "DAT_00091c20._2_2_ = uVar4, puVar19 != (undefined4 *)0x0" (assignment_expression "DAT_00091c20._2_2_ = uVar4" (field_expression "DAT_00091c20._2_2_" identifier . field_identifier) = identifier) , (binary_expression "puVar19 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ; (assignment_expression "puVar19 = (undefined4 *)*puVar19" identifier = (cast_expression "(undefined4 *)*puVar19" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar19" * identifier))) ) (compound_statement "{\n        puVar5 = puVar6;\n        if ((puVar19[1] == 0) ||\n           ((uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 1) == 0 &&\n            (((puVar19[1] == 0 || ((DAT_00091c20._2_2_ & 0x180) != 0x80)) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 4) == 0)))))) {\n          for (; puVar5 != puVar19; puVar5 = (undefined4 *)*puVar5) {\n            if (((puVar5[1] == 0) ||\n                (uVar7 = bfd_elf_get_dyn_lib_class(puVar5[1]), (uVar7 & 1) == 0)) &&\n               (iVar8 = strcmp((char *)puVar5[2],(char *)puVar19[2]), iVar8 == 0)) {\n              if (puVar19 != puVar5) goto LAB_00039300;\n              break;\n            }\n          }\n          DAT_00091ae4 = FUN_00038720;\n          DAT_00091a60 = 0;\n          DAT_00091ae0 = puVar19;\n          FUN_00024c50(FUN_00035720);\n          if ((DAT_00091a60 == 0) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_00091a60 + 0x10)),\n             (uVar7 & 1) != 0)) {\n            uVar9 = puVar19[1];\n            uVar2 = puVar19[2];\n            if (DAT_00091d90 != 0) {\n              uVar15 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00031730(uVar15,uVar2,uVar9);\n            }\n            if ((DAT_00091a60 == 0) || (iVar8 = FUN_00038820(), iVar8 == 0)) {\n              bVar3 = false;\n              while (iVar8 = FUN_00038b50(), iVar8 == 0) {\n                if (DAT_00091d04 != 0) {\n                  pvVar10 = (void *)FUN_00037360();\n                  iVar8 = FUN_00038b50();\n                  free(pvVar10);\n                  if (iVar8 != 0) break;\n                }\n                piVar11 = (int *)bfd_elf_get_runpath_list(DAT_00091c50,&DAT_00091c20);\n                if (piVar11 != (int *)0x0) {\n                  do {\n                    bVar24 = true;\n                    pvVar10 = (void *)FUN_00037360();\n                    bVar22 = false;\n                    if (piVar11[1] == puVar19[1]) {\n                      iVar8 = FUN_00038b50();\n                      bVar24 = iVar8 == 0;\n                      bVar22 = !bVar24;\n                    }\n                    free(pvVar10);\n                    piVar11 = (int *)*piVar11;\n                  } while ((piVar11 != (int *)0x0) && (bVar24));\n                  if (bVar22) break;\n                }\n                if (DAT_00091a44 == 0) {\n                  pvVar10 = (void *)concat(DAT_00091ca8,"/usr/etc/ld.so.conf",0);\n                  iVar8 = FUN_00037470();\n                  if (iVar8 == 0) {\n                    free(pvVar10);\n                    pvVar10 = (void *)concat(DAT_00091ca8,"/etc/ld.so.conf",0);\n                    FUN_00037470();\n                  }\n                  free(pvVar10);\n                  DAT_00091a44 = 1;\n                }\n                pcVar14 = (char *)puVar19[2];\n                if (DAT_00091a40 != 0) {\n                  iVar8 = FUN_00038b50();\n                  if (iVar8 != 0) break;\n                  pcVar14 = (char *)puVar19[2];\n                }\n                sVar12 = strlen(pcVar14);\n                if (DAT_00091e04 != (int *)0x0) {\n                  piVar11 = DAT_00091e04;\n                  do {\n                    if (piVar11[2] == 0) {\n                      sVar13 = strlen((char *)piVar11[1]);\n                      pcVar14 = (char *)xmalloc(sVar13 + sVar12 + 2);\n                      sprintf(pcVar14,"%s/%s",piVar11[1],puVar19[2]);\n                      iVar8 = FUN_00038820();\n                      if (iVar8 != 0) goto LAB_00039300;\n                      free(pcVar14);\n                    }\n                    piVar11 = (int *)*piVar11;\n                  } while (piVar11 != (int *)0x0);\n                }\n                if (bVar3) {\n                  uVar9 = puVar19[1];\n                  uVar2 = puVar19[2];\n                  uVar15 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00031760(uVar15,uVar2,uVar9);\n                  break;\n                }\n                bVar3 = true;\n              }\n            }\n          }\n        }\nLAB_00039300:\n        uVar4 = DAT_00091c20._2_2_;\n      }" { (expression_statement "puVar5 = puVar6;" (assignment_expression "puVar5 = puVar6" identifier = identifier) ;) (if_statement "if ((puVar19[1] == 0) ||\n           ((uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 1) == 0 &&\n            (((puVar19[1] == 0 || ((DAT_00091c20._2_2_ & 0x180) != 0x80)) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 4) == 0)))))) {\n          for (; puVar5 != puVar19; puVar5 = (undefined4 *)*puVar5) {\n            if (((puVar5[1] == 0) ||\n                (uVar7 = bfd_elf_get_dyn_lib_class(puVar5[1]), (uVar7 & 1) == 0)) &&\n               (iVar8 = strcmp((char *)puVar5[2],(char *)puVar19[2]), iVar8 == 0)) {\n              if (puVar19 != puVar5) goto LAB_00039300;\n              break;\n            }\n          }\n          DAT_00091ae4 = FUN_00038720;\n          DAT_00091a60 = 0;\n          DAT_00091ae0 = puVar19;\n          FUN_00024c50(FUN_00035720);\n          if ((DAT_00091a60 == 0) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_00091a60 + 0x10)),\n             (uVar7 & 1) != 0)) {\n            uVar9 = puVar19[1];\n            uVar2 = puVar19[2];\n            if (DAT_00091d90 != 0) {\n              uVar15 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00031730(uVar15,uVar2,uVar9);\n            }\n            if ((DAT_00091a60 == 0) || (iVar8 = FUN_00038820(), iVar8 == 0)) {\n              bVar3 = false;\n              while (iVar8 = FUN_00038b50(), iVar8 == 0) {\n                if (DAT_00091d04 != 0) {\n                  pvVar10 = (void *)FUN_00037360();\n                  iVar8 = FUN_00038b50();\n                  free(pvVar10);\n                  if (iVar8 != 0) break;\n                }\n                piVar11 = (int *)bfd_elf_get_runpath_list(DAT_00091c50,&DAT_00091c20);\n                if (piVar11 != (int *)0x0) {\n                  do {\n                    bVar24 = true;\n                    pvVar10 = (void *)FUN_00037360();\n                    bVar22 = false;\n                    if (piVar11[1] == puVar19[1]) {\n                      iVar8 = FUN_00038b50();\n                      bVar24 = iVar8 == 0;\n                      bVar22 = !bVar24;\n                    }\n                    free(pvVar10);\n                    piVar11 = (int *)*piVar11;\n                  } while ((piVar11 != (int *)0x0) && (bVar24));\n                  if (bVar22) break;\n                }\n                if (DAT_00091a44 == 0) {\n                  pvVar10 = (void *)concat(DAT_00091ca8,"/usr/etc/ld.so.conf",0);\n                  iVar8 = FUN_00037470();\n                  if (iVar8 == 0) {\n                    free(pvVar10);\n                    pvVar10 = (void *)concat(DAT_00091ca8,"/etc/ld.so.conf",0);\n                    FUN_00037470();\n                  }\n                  free(pvVar10);\n                  DAT_00091a44 = 1;\n                }\n                pcVar14 = (char *)puVar19[2];\n                if (DAT_00091a40 != 0) {\n                  iVar8 = FUN_00038b50();\n                  if (iVar8 != 0) break;\n                  pcVar14 = (char *)puVar19[2];\n                }\n                sVar12 = strlen(pcVar14);\n                if (DAT_00091e04 != (int *)0x0) {\n                  piVar11 = DAT_00091e04;\n                  do {\n                    if (piVar11[2] == 0) {\n                      sVar13 = strlen((char *)piVar11[1]);\n                      pcVar14 = (char *)xmalloc(sVar13 + sVar12 + 2);\n                      sprintf(pcVar14,"%s/%s",piVar11[1],puVar19[2]);\n                      iVar8 = FUN_00038820();\n                      if (iVar8 != 0) goto LAB_00039300;\n                      free(pcVar14);\n                    }\n                    piVar11 = (int *)*piVar11;\n                  } while (piVar11 != (int *)0x0);\n                }\n                if (bVar3) {\n                  uVar9 = puVar19[1];\n                  uVar2 = puVar19[2];\n                  uVar15 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00031760(uVar15,uVar2,uVar9);\n                  break;\n                }\n                bVar3 = true;\n              }\n            }\n          }\n        }" if (parenthesized_expression "((puVar19[1] == 0) ||\n           ((uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 1) == 0 &&\n            (((puVar19[1] == 0 || ((DAT_00091c20._2_2_ & 0x180) != 0x80)) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 4) == 0))))))" ( (binary_expression "(puVar19[1] == 0) ||\n           ((uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 1) == 0 &&\n            (((puVar19[1] == 0 || ((DAT_00091c20._2_2_ & 0x180) != 0x80)) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 4) == 0)))))" (parenthesized_expression "(puVar19[1] == 0)" ( (binary_expression "puVar19[1] == 0" (subscript_expression "puVar19[1]" identifier [ number_literal ]) == number_literal) )) || (parenthesized_expression "((uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 1) == 0 &&\n            (((puVar19[1] == 0 || ((DAT_00091c20._2_2_ & 0x180) != 0x80)) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 4) == 0)))))" ( (parenthesized_expression "(uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 1) == 0 &&\n            (((puVar19[1] == 0 || ((DAT_00091c20._2_2_ & 0x180) != 0x80)) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 4) == 0))))" ( (comma_expression "uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 1) == 0 &&\n            (((puVar19[1] == 0 || ((DAT_00091c20._2_2_ & 0x180) != 0x80)) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 4) == 0)))" (assignment_expression "uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1])" identifier = (call_expression "bfd_elf_get_dyn_lib_class(puVar19[1])" identifier (argument_list "(puVar19[1])" ( (subscript_expression "puVar19[1]" identifier [ number_literal ]) )))) , (binary_expression "(uVar7 & 1) == 0 &&\n            (((puVar19[1] == 0 || ((DAT_00091c20._2_2_ & 0x180) != 0x80)) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 4) == 0)))" (binary_expression "(uVar7 & 1) == 0" (parenthesized_expression "(uVar7 & 1)" ( (binary_expression "uVar7 & 1" identifier & number_literal) )) == number_literal) && (parenthesized_expression "(((puVar19[1] == 0 || ((DAT_00091c20._2_2_ & 0x180) != 0x80)) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 4) == 0)))" ( (parenthesized_expression "((puVar19[1] == 0 || ((DAT_00091c20._2_2_ & 0x180) != 0x80)) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 4) == 0))" ( (binary_expression "(puVar19[1] == 0 || ((DAT_00091c20._2_2_ & 0x180) != 0x80)) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 4) == 0)" (parenthesized_expression "(puVar19[1] == 0 || ((DAT_00091c20._2_2_ & 0x180) != 0x80))" ( (binary_expression "puVar19[1] == 0 || ((DAT_00091c20._2_2_ & 0x180) != 0x80)" (binary_expression "puVar19[1] == 0" (subscript_expression "puVar19[1]" identifier [ number_literal ]) == number_literal) || (parenthesized_expression "((DAT_00091c20._2_2_ & 0x180) != 0x80)" ( (binary_expression "(DAT_00091c20._2_2_ & 0x180) != 0x80" (parenthesized_expression "(DAT_00091c20._2_2_ & 0x180)" ( (binary_expression "DAT_00091c20._2_2_ & 0x180" (field_expression "DAT_00091c20._2_2_" identifier . field_identifier) & number_literal) )) != number_literal) ))) )) || (parenthesized_expression "(uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 4) == 0)" ( (comma_expression "uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 4) == 0" (assignment_expression "uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1])" identifier = (call_expression "bfd_elf_get_dyn_lib_class(puVar19[1])" identifier (argument_list "(puVar19[1])" ( (subscript_expression "puVar19[1]" identifier [ number_literal ]) )))) , (binary_expression "(uVar7 & 4) == 0" (parenthesized_expression "(uVar7 & 4)" ( (binary_expression "uVar7 & 4" identifier & number_literal) )) == number_literal)) ))) )) )))) )) ))) )) (compound_statement "{\n          for (; puVar5 != puVar19; puVar5 = (undefined4 *)*puVar5) {\n            if (((puVar5[1] == 0) ||\n                (uVar7 = bfd_elf_get_dyn_lib_class(puVar5[1]), (uVar7 & 1) == 0)) &&\n               (iVar8 = strcmp((char *)puVar5[2],(char *)puVar19[2]), iVar8 == 0)) {\n              if (puVar19 != puVar5) goto LAB_00039300;\n              break;\n            }\n          }\n          DAT_00091ae4 = FUN_00038720;\n          DAT_00091a60 = 0;\n          DAT_00091ae0 = puVar19;\n          FUN_00024c50(FUN_00035720);\n          if ((DAT_00091a60 == 0) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_00091a60 + 0x10)),\n             (uVar7 & 1) != 0)) {\n            uVar9 = puVar19[1];\n            uVar2 = puVar19[2];\n            if (DAT_00091d90 != 0) {\n              uVar15 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00031730(uVar15,uVar2,uVar9);\n            }\n            if ((DAT_00091a60 == 0) || (iVar8 = FUN_00038820(), iVar8 == 0)) {\n              bVar3 = false;\n              while (iVar8 = FUN_00038b50(), iVar8 == 0) {\n                if (DAT_00091d04 != 0) {\n                  pvVar10 = (void *)FUN_00037360();\n                  iVar8 = FUN_00038b50();\n                  free(pvVar10);\n                  if (iVar8 != 0) break;\n                }\n                piVar11 = (int *)bfd_elf_get_runpath_list(DAT_00091c50,&DAT_00091c20);\n                if (piVar11 != (int *)0x0) {\n                  do {\n                    bVar24 = true;\n                    pvVar10 = (void *)FUN_00037360();\n                    bVar22 = false;\n                    if (piVar11[1] == puVar19[1]) {\n                      iVar8 = FUN_00038b50();\n                      bVar24 = iVar8 == 0;\n                      bVar22 = !bVar24;\n                    }\n                    free(pvVar10);\n                    piVar11 = (int *)*piVar11;\n                  } while ((piVar11 != (int *)0x0) && (bVar24));\n                  if (bVar22) break;\n                }\n                if (DAT_00091a44 == 0) {\n                  pvVar10 = (void *)concat(DAT_00091ca8,"/usr/etc/ld.so.conf",0);\n                  iVar8 = FUN_00037470();\n                  if (iVar8 == 0) {\n                    free(pvVar10);\n                    pvVar10 = (void *)concat(DAT_00091ca8,"/etc/ld.so.conf",0);\n                    FUN_00037470();\n                  }\n                  free(pvVar10);\n                  DAT_00091a44 = 1;\n                }\n                pcVar14 = (char *)puVar19[2];\n                if (DAT_00091a40 != 0) {\n                  iVar8 = FUN_00038b50();\n                  if (iVar8 != 0) break;\n                  pcVar14 = (char *)puVar19[2];\n                }\n                sVar12 = strlen(pcVar14);\n                if (DAT_00091e04 != (int *)0x0) {\n                  piVar11 = DAT_00091e04;\n                  do {\n                    if (piVar11[2] == 0) {\n                      sVar13 = strlen((char *)piVar11[1]);\n                      pcVar14 = (char *)xmalloc(sVar13 + sVar12 + 2);\n                      sprintf(pcVar14,"%s/%s",piVar11[1],puVar19[2]);\n                      iVar8 = FUN_00038820();\n                      if (iVar8 != 0) goto LAB_00039300;\n                      free(pcVar14);\n                    }\n                    piVar11 = (int *)*piVar11;\n                  } while (piVar11 != (int *)0x0);\n                }\n                if (bVar3) {\n                  uVar9 = puVar19[1];\n                  uVar2 = puVar19[2];\n                  uVar15 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00031760(uVar15,uVar2,uVar9);\n                  break;\n                }\n                bVar3 = true;\n              }\n            }\n          }\n        }" { (for_statement "for (; puVar5 != puVar19; puVar5 = (undefined4 *)*puVar5) {\n            if (((puVar5[1] == 0) ||\n                (uVar7 = bfd_elf_get_dyn_lib_class(puVar5[1]), (uVar7 & 1) == 0)) &&\n               (iVar8 = strcmp((char *)puVar5[2],(char *)puVar19[2]), iVar8 == 0)) {\n              if (puVar19 != puVar5) goto LAB_00039300;\n              break;\n            }\n          }" for ( ; (binary_expression "puVar5 != puVar19" identifier != identifier) ; (assignment_expression "puVar5 = (undefined4 *)*puVar5" identifier = (cast_expression "(undefined4 *)*puVar5" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar5" * identifier))) ) (compound_statement "{\n            if (((puVar5[1] == 0) ||\n                (uVar7 = bfd_elf_get_dyn_lib_class(puVar5[1]), (uVar7 & 1) == 0)) &&\n               (iVar8 = strcmp((char *)puVar5[2],(char *)puVar19[2]), iVar8 == 0)) {\n              if (puVar19 != puVar5) goto LAB_00039300;\n              break;\n            }\n          }" { (if_statement "if (((puVar5[1] == 0) ||\n                (uVar7 = bfd_elf_get_dyn_lib_class(puVar5[1]), (uVar7 & 1) == 0)) &&\n               (iVar8 = strcmp((char *)puVar5[2],(char *)puVar19[2]), iVar8 == 0)) {\n              if (puVar19 != puVar5) goto LAB_00039300;\n              break;\n            }" if (parenthesized_expression "(((puVar5[1] == 0) ||\n                (uVar7 = bfd_elf_get_dyn_lib_class(puVar5[1]), (uVar7 & 1) == 0)) &&\n               (iVar8 = strcmp((char *)puVar5[2],(char *)puVar19[2]), iVar8 == 0))" ( (binary_expression "((puVar5[1] == 0) ||\n                (uVar7 = bfd_elf_get_dyn_lib_class(puVar5[1]), (uVar7 & 1) == 0)) &&\n               (iVar8 = strcmp((char *)puVar5[2],(char *)puVar19[2]), iVar8 == 0)" (parenthesized_expression "((puVar5[1] == 0) ||\n                (uVar7 = bfd_elf_get_dyn_lib_class(puVar5[1]), (uVar7 & 1) == 0))" ( (binary_expression "(puVar5[1] == 0) ||\n                (uVar7 = bfd_elf_get_dyn_lib_class(puVar5[1]), (uVar7 & 1) == 0)" (parenthesized_expression "(puVar5[1] == 0)" ( (binary_expression "puVar5[1] == 0" (subscript_expression "puVar5[1]" identifier [ number_literal ]) == number_literal) )) || (parenthesized_expression "(uVar7 = bfd_elf_get_dyn_lib_class(puVar5[1]), (uVar7 & 1) == 0)" ( (comma_expression "uVar7 = bfd_elf_get_dyn_lib_class(puVar5[1]), (uVar7 & 1) == 0" (assignment_expression "uVar7 = bfd_elf_get_dyn_lib_class(puVar5[1])" identifier = (call_expression "bfd_elf_get_dyn_lib_class(puVar5[1])" identifier (argument_list "(puVar5[1])" ( (subscript_expression "puVar5[1]" identifier [ number_literal ]) )))) , (binary_expression "(uVar7 & 1) == 0" (parenthesized_expression "(uVar7 & 1)" ( (binary_expression "uVar7 & 1" identifier & number_literal) )) == number_literal)) ))) )) && (parenthesized_expression "(iVar8 = strcmp((char *)puVar5[2],(char *)puVar19[2]), iVar8 == 0)" ( (comma_expression "iVar8 = strcmp((char *)puVar5[2],(char *)puVar19[2]), iVar8 == 0" (assignment_expression "iVar8 = strcmp((char *)puVar5[2],(char *)puVar19[2])" identifier = (call_expression "strcmp((char *)puVar5[2],(char *)puVar19[2])" identifier (argument_list "((char *)puVar5[2],(char *)puVar19[2])" ( (cast_expression "(char *)puVar5[2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar5[2]" identifier [ number_literal ])) , (cast_expression "(char *)puVar19[2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar19[2]" identifier [ number_literal ])) )))) , (binary_expression "iVar8 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n              if (puVar19 != puVar5) goto LAB_00039300;\n              break;\n            }" { (if_statement "if (puVar19 != puVar5) goto LAB_00039300;" if (parenthesized_expression "(puVar19 != puVar5)" ( (binary_expression "puVar19 != puVar5" identifier != identifier) )) (goto_statement "goto LAB_00039300;" goto statement_identifier ;)) (break_statement "break;" break ;) })) })) (expression_statement "DAT_00091ae4 = FUN_00038720;" (assignment_expression "DAT_00091ae4 = FUN_00038720" identifier = identifier) ;) (expression_statement "DAT_00091a60 = 0;" (assignment_expression "DAT_00091a60 = 0" identifier = number_literal) ;) (expression_statement "DAT_00091ae0 = puVar19;" (assignment_expression "DAT_00091ae0 = puVar19" identifier = identifier) ;) (expression_statement "FUN_00024c50(FUN_00035720);" (call_expression "FUN_00024c50(FUN_00035720)" identifier (argument_list "(FUN_00035720)" ( identifier ))) ;) (if_statement "if ((DAT_00091a60 == 0) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_00091a60 + 0x10)),\n             (uVar7 & 1) != 0)) {\n            uVar9 = puVar19[1];\n            uVar2 = puVar19[2];\n            if (DAT_00091d90 != 0) {\n              uVar15 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00031730(uVar15,uVar2,uVar9);\n            }\n            if ((DAT_00091a60 == 0) || (iVar8 = FUN_00038820(), iVar8 == 0)) {\n              bVar3 = false;\n              while (iVar8 = FUN_00038b50(), iVar8 == 0) {\n                if (DAT_00091d04 != 0) {\n                  pvVar10 = (void *)FUN_00037360();\n                  iVar8 = FUN_00038b50();\n                  free(pvVar10);\n                  if (iVar8 != 0) break;\n                }\n                piVar11 = (int *)bfd_elf_get_runpath_list(DAT_00091c50,&DAT_00091c20);\n                if (piVar11 != (int *)0x0) {\n                  do {\n                    bVar24 = true;\n                    pvVar10 = (void *)FUN_00037360();\n                    bVar22 = false;\n                    if (piVar11[1] == puVar19[1]) {\n                      iVar8 = FUN_00038b50();\n                      bVar24 = iVar8 == 0;\n                      bVar22 = !bVar24;\n                    }\n                    free(pvVar10);\n                    piVar11 = (int *)*piVar11;\n                  } while ((piVar11 != (int *)0x0) && (bVar24));\n                  if (bVar22) break;\n                }\n                if (DAT_00091a44 == 0) {\n                  pvVar10 = (void *)concat(DAT_00091ca8,"/usr/etc/ld.so.conf",0);\n                  iVar8 = FUN_00037470();\n                  if (iVar8 == 0) {\n                    free(pvVar10);\n                    pvVar10 = (void *)concat(DAT_00091ca8,"/etc/ld.so.conf",0);\n                    FUN_00037470();\n                  }\n                  free(pvVar10);\n                  DAT_00091a44 = 1;\n                }\n                pcVar14 = (char *)puVar19[2];\n                if (DAT_00091a40 != 0) {\n                  iVar8 = FUN_00038b50();\n                  if (iVar8 != 0) break;\n                  pcVar14 = (char *)puVar19[2];\n                }\n                sVar12 = strlen(pcVar14);\n                if (DAT_00091e04 != (int *)0x0) {\n                  piVar11 = DAT_00091e04;\n                  do {\n                    if (piVar11[2] == 0) {\n                      sVar13 = strlen((char *)piVar11[1]);\n                      pcVar14 = (char *)xmalloc(sVar13 + sVar12 + 2);\n                      sprintf(pcVar14,"%s/%s",piVar11[1],puVar19[2]);\n                      iVar8 = FUN_00038820();\n                      if (iVar8 != 0) goto LAB_00039300;\n                      free(pcVar14);\n                    }\n                    piVar11 = (int *)*piVar11;\n                  } while (piVar11 != (int *)0x0);\n                }\n                if (bVar3) {\n                  uVar9 = puVar19[1];\n                  uVar2 = puVar19[2];\n                  uVar15 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00031760(uVar15,uVar2,uVar9);\n                  break;\n                }\n                bVar3 = true;\n              }\n            }\n          }" if (parenthesized_expression "((DAT_00091a60 == 0) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_00091a60 + 0x10)),\n             (uVar7 & 1) != 0))" ( (binary_expression "(DAT_00091a60 == 0) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_00091a60 + 0x10)),\n             (uVar7 & 1) != 0)" (parenthesized_expression "(DAT_00091a60 == 0)" ( (binary_expression "DAT_00091a60 == 0" identifier == number_literal) )) || (parenthesized_expression "(uVar7 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_00091a60 + 0x10)),\n             (uVar7 & 1) != 0)" ( (comma_expression "uVar7 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_00091a60 + 0x10)),\n             (uVar7 & 1) != 0" (assignment_expression "uVar7 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_00091a60 + 0x10))" identifier = (call_expression "bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_00091a60 + 0x10))" identifier (argument_list "(*(undefined4 *)(DAT_00091a60 + 0x10))" ( (pointer_expression "*(undefined4 *)(DAT_00091a60 + 0x10)" * (cast_expression "(undefined4 *)(DAT_00091a60 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00091a60 + 0x10)" ( (binary_expression "DAT_00091a60 + 0x10" identifier + number_literal) )))) )))) , (binary_expression "(uVar7 & 1) != 0" (parenthesized_expression "(uVar7 & 1)" ( (binary_expression "uVar7 & 1" identifier & number_literal) )) != number_literal)) ))) )) (compound_statement "{\n            uVar9 = puVar19[1];\n            uVar2 = puVar19[2];\n            if (DAT_00091d90 != 0) {\n              uVar15 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00031730(uVar15,uVar2,uVar9);\n            }\n            if ((DAT_00091a60 == 0) || (iVar8 = FUN_00038820(), iVar8 == 0)) {\n              bVar3 = false;\n              while (iVar8 = FUN_00038b50(), iVar8 == 0) {\n                if (DAT_00091d04 != 0) {\n                  pvVar10 = (void *)FUN_00037360();\n                  iVar8 = FUN_00038b50();\n                  free(pvVar10);\n                  if (iVar8 != 0) break;\n                }\n                piVar11 = (int *)bfd_elf_get_runpath_list(DAT_00091c50,&DAT_00091c20);\n                if (piVar11 != (int *)0x0) {\n                  do {\n                    bVar24 = true;\n                    pvVar10 = (void *)FUN_00037360();\n                    bVar22 = false;\n                    if (piVar11[1] == puVar19[1]) {\n                      iVar8 = FUN_00038b50();\n                      bVar24 = iVar8 == 0;\n                      bVar22 = !bVar24;\n                    }\n                    free(pvVar10);\n                    piVar11 = (int *)*piVar11;\n                  } while ((piVar11 != (int *)0x0) && (bVar24));\n                  if (bVar22) break;\n                }\n                if (DAT_00091a44 == 0) {\n                  pvVar10 = (void *)concat(DAT_00091ca8,"/usr/etc/ld.so.conf",0);\n                  iVar8 = FUN_00037470();\n                  if (iVar8 == 0) {\n                    free(pvVar10);\n                    pvVar10 = (void *)concat(DAT_00091ca8,"/etc/ld.so.conf",0);\n                    FUN_00037470();\n                  }\n                  free(pvVar10);\n                  DAT_00091a44 = 1;\n                }\n                pcVar14 = (char *)puVar19[2];\n                if (DAT_00091a40 != 0) {\n                  iVar8 = FUN_00038b50();\n                  if (iVar8 != 0) break;\n                  pcVar14 = (char *)puVar19[2];\n                }\n                sVar12 = strlen(pcVar14);\n                if (DAT_00091e04 != (int *)0x0) {\n                  piVar11 = DAT_00091e04;\n                  do {\n                    if (piVar11[2] == 0) {\n                      sVar13 = strlen((char *)piVar11[1]);\n                      pcVar14 = (char *)xmalloc(sVar13 + sVar12 + 2);\n                      sprintf(pcVar14,"%s/%s",piVar11[1],puVar19[2]);\n                      iVar8 = FUN_00038820();\n                      if (iVar8 != 0) goto LAB_00039300;\n                      free(pcVar14);\n                    }\n                    piVar11 = (int *)*piVar11;\n                  } while (piVar11 != (int *)0x0);\n                }\n                if (bVar3) {\n                  uVar9 = puVar19[1];\n                  uVar2 = puVar19[2];\n                  uVar15 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00031760(uVar15,uVar2,uVar9);\n                  break;\n                }\n                bVar3 = true;\n              }\n            }\n          }" { (expression_statement "uVar9 = puVar19[1];" (assignment_expression "uVar9 = puVar19[1]" identifier = (subscript_expression "puVar19[1]" identifier [ number_literal ])) ;) (expression_statement "uVar2 = puVar19[2];" (assignment_expression "uVar2 = puVar19[2]" identifier = (subscript_expression "puVar19[2]" identifier [ number_literal ])) ;) (if_statement "if (DAT_00091d90 != 0) {\n              uVar15 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00031730(uVar15,uVar2,uVar9);\n            }" if (parenthesized_expression "(DAT_00091d90 != 0)" ( (binary_expression "DAT_00091d90 != 0" identifier != number_literal) )) (compound_statement "{\n              uVar15 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00031730(uVar15,uVar2,uVar9);\n            }" { (expression_statement "uVar15 = dcgettext(0,"%s needed by %pB\n",5);" (assignment_expression "uVar15 = dcgettext(0,"%s needed by %pB\n",5)" identifier = (call_expression "dcgettext(0,"%s needed by %pB\n",5)" identifier (argument_list "(0,"%s needed by %pB\n",5)" ( number_literal , (string_literal ""%s needed by %pB\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_00031730(uVar15,uVar2,uVar9);" (call_expression "FUN_00031730(uVar15,uVar2,uVar9)" identifier (argument_list "(uVar15,uVar2,uVar9)" ( identifier , identifier , identifier ))) ;) })) (if_statement "if ((DAT_00091a60 == 0) || (iVar8 = FUN_00038820(), iVar8 == 0)) {\n              bVar3 = false;\n              while (iVar8 = FUN_00038b50(), iVar8 == 0) {\n                if (DAT_00091d04 != 0) {\n                  pvVar10 = (void *)FUN_00037360();\n                  iVar8 = FUN_00038b50();\n                  free(pvVar10);\n                  if (iVar8 != 0) break;\n                }\n                piVar11 = (int *)bfd_elf_get_runpath_list(DAT_00091c50,&DAT_00091c20);\n                if (piVar11 != (int *)0x0) {\n                  do {\n                    bVar24 = true;\n                    pvVar10 = (void *)FUN_00037360();\n                    bVar22 = false;\n                    if (piVar11[1] == puVar19[1]) {\n                      iVar8 = FUN_00038b50();\n                      bVar24 = iVar8 == 0;\n                      bVar22 = !bVar24;\n                    }\n                    free(pvVar10);\n                    piVar11 = (int *)*piVar11;\n                  } while ((piVar11 != (int *)0x0) && (bVar24));\n                  if (bVar22) break;\n                }\n                if (DAT_00091a44 == 0) {\n                  pvVar10 = (void *)concat(DAT_00091ca8,"/usr/etc/ld.so.conf",0);\n                  iVar8 = FUN_00037470();\n                  if (iVar8 == 0) {\n                    free(pvVar10);\n                    pvVar10 = (void *)concat(DAT_00091ca8,"/etc/ld.so.conf",0);\n                    FUN_00037470();\n                  }\n                  free(pvVar10);\n                  DAT_00091a44 = 1;\n                }\n                pcVar14 = (char *)puVar19[2];\n                if (DAT_00091a40 != 0) {\n                  iVar8 = FUN_00038b50();\n                  if (iVar8 != 0) break;\n                  pcVar14 = (char *)puVar19[2];\n                }\n                sVar12 = strlen(pcVar14);\n                if (DAT_00091e04 != (int *)0x0) {\n                  piVar11 = DAT_00091e04;\n                  do {\n                    if (piVar11[2] == 0) {\n                      sVar13 = strlen((char *)piVar11[1]);\n                      pcVar14 = (char *)xmalloc(sVar13 + sVar12 + 2);\n                      sprintf(pcVar14,"%s/%s",piVar11[1],puVar19[2]);\n                      iVar8 = FUN_00038820();\n                      if (iVar8 != 0) goto LAB_00039300;\n                      free(pcVar14);\n                    }\n                    piVar11 = (int *)*piVar11;\n                  } while (piVar11 != (int *)0x0);\n                }\n                if (bVar3) {\n                  uVar9 = puVar19[1];\n                  uVar2 = puVar19[2];\n                  uVar15 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00031760(uVar15,uVar2,uVar9);\n                  break;\n                }\n                bVar3 = true;\n              }\n            }" if (parenthesized_expression "((DAT_00091a60 == 0) || (iVar8 = FUN_00038820(), iVar8 == 0))" ( (binary_expression "(DAT_00091a60 == 0) || (iVar8 = FUN_00038820(), iVar8 == 0)" (parenthesized_expression "(DAT_00091a60 == 0)" ( (binary_expression "DAT_00091a60 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar8 = FUN_00038820(), iVar8 == 0)" ( (comma_expression "iVar8 = FUN_00038820(), iVar8 == 0" (assignment_expression "iVar8 = FUN_00038820()" identifier = (call_expression "FUN_00038820()" identifier (argument_list "()" ( )))) , (binary_expression "iVar8 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n              bVar3 = false;\n              while (iVar8 = FUN_00038b50(), iVar8 == 0) {\n                if (DAT_00091d04 != 0) {\n                  pvVar10 = (void *)FUN_00037360();\n                  iVar8 = FUN_00038b50();\n                  free(pvVar10);\n                  if (iVar8 != 0) break;\n                }\n                piVar11 = (int *)bfd_elf_get_runpath_list(DAT_00091c50,&DAT_00091c20);\n                if (piVar11 != (int *)0x0) {\n                  do {\n                    bVar24 = true;\n                    pvVar10 = (void *)FUN_00037360();\n                    bVar22 = false;\n                    if (piVar11[1] == puVar19[1]) {\n                      iVar8 = FUN_00038b50();\n                      bVar24 = iVar8 == 0;\n                      bVar22 = !bVar24;\n                    }\n                    free(pvVar10);\n                    piVar11 = (int *)*piVar11;\n                  } while ((piVar11 != (int *)0x0) && (bVar24));\n                  if (bVar22) break;\n                }\n                if (DAT_00091a44 == 0) {\n                  pvVar10 = (void *)concat(DAT_00091ca8,"/usr/etc/ld.so.conf",0);\n                  iVar8 = FUN_00037470();\n                  if (iVar8 == 0) {\n                    free(pvVar10);\n                    pvVar10 = (void *)concat(DAT_00091ca8,"/etc/ld.so.conf",0);\n                    FUN_00037470();\n                  }\n                  free(pvVar10);\n                  DAT_00091a44 = 1;\n                }\n                pcVar14 = (char *)puVar19[2];\n                if (DAT_00091a40 != 0) {\n                  iVar8 = FUN_00038b50();\n                  if (iVar8 != 0) break;\n                  pcVar14 = (char *)puVar19[2];\n                }\n                sVar12 = strlen(pcVar14);\n                if (DAT_00091e04 != (int *)0x0) {\n                  piVar11 = DAT_00091e04;\n                  do {\n                    if (piVar11[2] == 0) {\n                      sVar13 = strlen((char *)piVar11[1]);\n                      pcVar14 = (char *)xmalloc(sVar13 + sVar12 + 2);\n                      sprintf(pcVar14,"%s/%s",piVar11[1],puVar19[2]);\n                      iVar8 = FUN_00038820();\n                      if (iVar8 != 0) goto LAB_00039300;\n                      free(pcVar14);\n                    }\n                    piVar11 = (int *)*piVar11;\n                  } while (piVar11 != (int *)0x0);\n                }\n                if (bVar3) {\n                  uVar9 = puVar19[1];\n                  uVar2 = puVar19[2];\n                  uVar15 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00031760(uVar15,uVar2,uVar9);\n                  break;\n                }\n                bVar3 = true;\n              }\n            }" { (expression_statement "bVar3 = false;" (assignment_expression "bVar3 = false" identifier = false) ;) (while_statement "while (iVar8 = FUN_00038b50(), iVar8 == 0) {\n                if (DAT_00091d04 != 0) {\n                  pvVar10 = (void *)FUN_00037360();\n                  iVar8 = FUN_00038b50();\n                  free(pvVar10);\n                  if (iVar8 != 0) break;\n                }\n                piVar11 = (int *)bfd_elf_get_runpath_list(DAT_00091c50,&DAT_00091c20);\n                if (piVar11 != (int *)0x0) {\n                  do {\n                    bVar24 = true;\n                    pvVar10 = (void *)FUN_00037360();\n                    bVar22 = false;\n                    if (piVar11[1] == puVar19[1]) {\n                      iVar8 = FUN_00038b50();\n                      bVar24 = iVar8 == 0;\n                      bVar22 = !bVar24;\n                    }\n                    free(pvVar10);\n                    piVar11 = (int *)*piVar11;\n                  } while ((piVar11 != (int *)0x0) && (bVar24));\n                  if (bVar22) break;\n                }\n                if (DAT_00091a44 == 0) {\n                  pvVar10 = (void *)concat(DAT_00091ca8,"/usr/etc/ld.so.conf",0);\n                  iVar8 = FUN_00037470();\n                  if (iVar8 == 0) {\n                    free(pvVar10);\n                    pvVar10 = (void *)concat(DAT_00091ca8,"/etc/ld.so.conf",0);\n                    FUN_00037470();\n                  }\n                  free(pvVar10);\n                  DAT_00091a44 = 1;\n                }\n                pcVar14 = (char *)puVar19[2];\n                if (DAT_00091a40 != 0) {\n                  iVar8 = FUN_00038b50();\n                  if (iVar8 != 0) break;\n                  pcVar14 = (char *)puVar19[2];\n                }\n                sVar12 = strlen(pcVar14);\n                if (DAT_00091e04 != (int *)0x0) {\n                  piVar11 = DAT_00091e04;\n                  do {\n                    if (piVar11[2] == 0) {\n                      sVar13 = strlen((char *)piVar11[1]);\n                      pcVar14 = (char *)xmalloc(sVar13 + sVar12 + 2);\n                      sprintf(pcVar14,"%s/%s",piVar11[1],puVar19[2]);\n                      iVar8 = FUN_00038820();\n                      if (iVar8 != 0) goto LAB_00039300;\n                      free(pcVar14);\n                    }\n                    piVar11 = (int *)*piVar11;\n                  } while (piVar11 != (int *)0x0);\n                }\n                if (bVar3) {\n                  uVar9 = puVar19[1];\n                  uVar2 = puVar19[2];\n                  uVar15 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00031760(uVar15,uVar2,uVar9);\n                  break;\n                }\n                bVar3 = true;\n              }" while (parenthesized_expression "(iVar8 = FUN_00038b50(), iVar8 == 0)" ( (comma_expression "iVar8 = FUN_00038b50(), iVar8 == 0" (assignment_expression "iVar8 = FUN_00038b50()" identifier = (call_expression "FUN_00038b50()" identifier (argument_list "()" ( )))) , (binary_expression "iVar8 == 0" identifier == number_literal)) )) (compound_statement "{\n                if (DAT_00091d04 != 0) {\n                  pvVar10 = (void *)FUN_00037360();\n                  iVar8 = FUN_00038b50();\n                  free(pvVar10);\n                  if (iVar8 != 0) break;\n                }\n                piVar11 = (int *)bfd_elf_get_runpath_list(DAT_00091c50,&DAT_00091c20);\n                if (piVar11 != (int *)0x0) {\n                  do {\n                    bVar24 = true;\n                    pvVar10 = (void *)FUN_00037360();\n                    bVar22 = false;\n                    if (piVar11[1] == puVar19[1]) {\n                      iVar8 = FUN_00038b50();\n                      bVar24 = iVar8 == 0;\n                      bVar22 = !bVar24;\n                    }\n                    free(pvVar10);\n                    piVar11 = (int *)*piVar11;\n                  } while ((piVar11 != (int *)0x0) && (bVar24));\n                  if (bVar22) break;\n                }\n                if (DAT_00091a44 == 0) {\n                  pvVar10 = (void *)concat(DAT_00091ca8,"/usr/etc/ld.so.conf",0);\n                  iVar8 = FUN_00037470();\n                  if (iVar8 == 0) {\n                    free(pvVar10);\n                    pvVar10 = (void *)concat(DAT_00091ca8,"/etc/ld.so.conf",0);\n                    FUN_00037470();\n                  }\n                  free(pvVar10);\n                  DAT_00091a44 = 1;\n                }\n                pcVar14 = (char *)puVar19[2];\n                if (DAT_00091a40 != 0) {\n                  iVar8 = FUN_00038b50();\n                  if (iVar8 != 0) break;\n                  pcVar14 = (char *)puVar19[2];\n                }\n                sVar12 = strlen(pcVar14);\n                if (DAT_00091e04 != (int *)0x0) {\n                  piVar11 = DAT_00091e04;\n                  do {\n                    if (piVar11[2] == 0) {\n                      sVar13 = strlen((char *)piVar11[1]);\n                      pcVar14 = (char *)xmalloc(sVar13 + sVar12 + 2);\n                      sprintf(pcVar14,"%s/%s",piVar11[1],puVar19[2]);\n                      iVar8 = FUN_00038820();\n                      if (iVar8 != 0) goto LAB_00039300;\n                      free(pcVar14);\n                    }\n                    piVar11 = (int *)*piVar11;\n                  } while (piVar11 != (int *)0x0);\n                }\n                if (bVar3) {\n                  uVar9 = puVar19[1];\n                  uVar2 = puVar19[2];\n                  uVar15 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00031760(uVar15,uVar2,uVar9);\n                  break;\n                }\n                bVar3 = true;\n              }" { (if_statement "if (DAT_00091d04 != 0) {\n                  pvVar10 = (void *)FUN_00037360();\n                  iVar8 = FUN_00038b50();\n                  free(pvVar10);\n                  if (iVar8 != 0) break;\n                }" if (parenthesized_expression "(DAT_00091d04 != 0)" ( (binary_expression "DAT_00091d04 != 0" identifier != number_literal) )) (compound_statement "{\n                  pvVar10 = (void *)FUN_00037360();\n                  iVar8 = FUN_00038b50();\n                  free(pvVar10);\n                  if (iVar8 != 0) break;\n                }" { (expression_statement "pvVar10 = (void *)FUN_00037360();" (assignment_expression "pvVar10 = (void *)FUN_00037360()" identifier = (cast_expression "(void *)FUN_00037360()" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00037360()" identifier (argument_list "()" ( ))))) ;) (expression_statement "iVar8 = FUN_00038b50();" (assignment_expression "iVar8 = FUN_00038b50()" identifier = (call_expression "FUN_00038b50()" identifier (argument_list "()" ( )))) ;) (expression_statement "free(pvVar10);" (call_expression "free(pvVar10)" identifier (argument_list "(pvVar10)" ( identifier ))) ;) (if_statement "if (iVar8 != 0) break;" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (break_statement "break;" break ;)) })) (expression_statement "piVar11 = (int *)bfd_elf_get_runpath_list(DAT_00091c50,&DAT_00091c20);" (assignment_expression "piVar11 = (int *)bfd_elf_get_runpath_list(DAT_00091c50,&DAT_00091c20)" identifier = (cast_expression "(int *)bfd_elf_get_runpath_list(DAT_00091c50,&DAT_00091c20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "bfd_elf_get_runpath_list(DAT_00091c50,&DAT_00091c20)" identifier (argument_list "(DAT_00091c50,&DAT_00091c20)" ( identifier , (pointer_expression "&DAT_00091c20" & identifier) ))))) ;) (if_statement "if (piVar11 != (int *)0x0) {\n                  do {\n                    bVar24 = true;\n                    pvVar10 = (void *)FUN_00037360();\n                    bVar22 = false;\n                    if (piVar11[1] == puVar19[1]) {\n                      iVar8 = FUN_00038b50();\n                      bVar24 = iVar8 == 0;\n                      bVar22 = !bVar24;\n                    }\n                    free(pvVar10);\n                    piVar11 = (int *)*piVar11;\n                  } while ((piVar11 != (int *)0x0) && (bVar24));\n                  if (bVar22) break;\n                }" if (parenthesized_expression "(piVar11 != (int *)0x0)" ( (binary_expression "piVar11 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  do {\n                    bVar24 = true;\n                    pvVar10 = (void *)FUN_00037360();\n                    bVar22 = false;\n                    if (piVar11[1] == puVar19[1]) {\n                      iVar8 = FUN_00038b50();\n                      bVar24 = iVar8 == 0;\n                      bVar22 = !bVar24;\n                    }\n                    free(pvVar10);\n                    piVar11 = (int *)*piVar11;\n                  } while ((piVar11 != (int *)0x0) && (bVar24));\n                  if (bVar22) break;\n                }" { (do_statement "do {\n                    bVar24 = true;\n                    pvVar10 = (void *)FUN_00037360();\n                    bVar22 = false;\n                    if (piVar11[1] == puVar19[1]) {\n                      iVar8 = FUN_00038b50();\n                      bVar24 = iVar8 == 0;\n                      bVar22 = !bVar24;\n                    }\n                    free(pvVar10);\n                    piVar11 = (int *)*piVar11;\n                  } while ((piVar11 != (int *)0x0) && (bVar24));" do (compound_statement "{\n                    bVar24 = true;\n                    pvVar10 = (void *)FUN_00037360();\n                    bVar22 = false;\n                    if (piVar11[1] == puVar19[1]) {\n                      iVar8 = FUN_00038b50();\n                      bVar24 = iVar8 == 0;\n                      bVar22 = !bVar24;\n                    }\n                    free(pvVar10);\n                    piVar11 = (int *)*piVar11;\n                  }" { (expression_statement "bVar24 = true;" (assignment_expression "bVar24 = true" identifier = true) ;) (expression_statement "pvVar10 = (void *)FUN_00037360();" (assignment_expression "pvVar10 = (void *)FUN_00037360()" identifier = (cast_expression "(void *)FUN_00037360()" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00037360()" identifier (argument_list "()" ( ))))) ;) (expression_statement "bVar22 = false;" (assignment_expression "bVar22 = false" identifier = false) ;) (if_statement "if (piVar11[1] == puVar19[1]) {\n                      iVar8 = FUN_00038b50();\n                      bVar24 = iVar8 == 0;\n                      bVar22 = !bVar24;\n                    }" if (parenthesized_expression "(piVar11[1] == puVar19[1])" ( (binary_expression "piVar11[1] == puVar19[1]" (subscript_expression "piVar11[1]" identifier [ number_literal ]) == (subscript_expression "puVar19[1]" identifier [ number_literal ])) )) (compound_statement "{\n                      iVar8 = FUN_00038b50();\n                      bVar24 = iVar8 == 0;\n                      bVar22 = !bVar24;\n                    }" { (expression_statement "iVar8 = FUN_00038b50();" (assignment_expression "iVar8 = FUN_00038b50()" identifier = (call_expression "FUN_00038b50()" identifier (argument_list "()" ( )))) ;) (expression_statement "bVar24 = iVar8 == 0;" (assignment_expression "bVar24 = iVar8 == 0" identifier = (binary_expression "iVar8 == 0" identifier == number_literal)) ;) (expression_statement "bVar22 = !bVar24;" (assignment_expression "bVar22 = !bVar24" identifier = (unary_expression "!bVar24" ! identifier)) ;) })) (expression_statement "free(pvVar10);" (call_expression "free(pvVar10)" identifier (argument_list "(pvVar10)" ( identifier ))) ;) (expression_statement "piVar11 = (int *)*piVar11;" (assignment_expression "piVar11 = (int *)*piVar11" identifier = (cast_expression "(int *)*piVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar11" * identifier))) ;) }) while (parenthesized_expression "((piVar11 != (int *)0x0) && (bVar24))" ( (binary_expression "(piVar11 != (int *)0x0) && (bVar24)" (parenthesized_expression "(piVar11 != (int *)0x0)" ( (binary_expression "piVar11 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(bVar24)" ( identifier ))) )) ;) (if_statement "if (bVar22) break;" if (parenthesized_expression "(bVar22)" ( identifier )) (break_statement "break;" break ;)) })) (if_statement "if (DAT_00091a44 == 0) {\n                  pvVar10 = (void *)concat(DAT_00091ca8,"/usr/etc/ld.so.conf",0);\n                  iVar8 = FUN_00037470();\n                  if (iVar8 == 0) {\n                    free(pvVar10);\n                    pvVar10 = (void *)concat(DAT_00091ca8,"/etc/ld.so.conf",0);\n                    FUN_00037470();\n                  }\n                  free(pvVar10);\n                  DAT_00091a44 = 1;\n                }" if (parenthesized_expression "(DAT_00091a44 == 0)" ( (binary_expression "DAT_00091a44 == 0" identifier == number_literal) )) (compound_statement "{\n                  pvVar10 = (void *)concat(DAT_00091ca8,"/usr/etc/ld.so.conf",0);\n                  iVar8 = FUN_00037470();\n                  if (iVar8 == 0) {\n                    free(pvVar10);\n                    pvVar10 = (void *)concat(DAT_00091ca8,"/etc/ld.so.conf",0);\n                    FUN_00037470();\n                  }\n                  free(pvVar10);\n                  DAT_00091a44 = 1;\n                }" { (expression_statement "pvVar10 = (void *)concat(DAT_00091ca8,"/usr/etc/ld.so.conf",0);" (assignment_expression "pvVar10 = (void *)concat(DAT_00091ca8,"/usr/etc/ld.so.conf",0)" identifier = (cast_expression "(void *)concat(DAT_00091ca8,"/usr/etc/ld.so.conf",0)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "concat(DAT_00091ca8,"/usr/etc/ld.so.conf",0)" identifier (argument_list "(DAT_00091ca8,"/usr/etc/ld.so.conf",0)" ( identifier , (string_literal ""/usr/etc/ld.so.conf"" " string_content ") , number_literal ))))) ;) (expression_statement "iVar8 = FUN_00037470();" (assignment_expression "iVar8 = FUN_00037470()" identifier = (call_expression "FUN_00037470()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar8 == 0) {\n                    free(pvVar10);\n                    pvVar10 = (void *)concat(DAT_00091ca8,"/etc/ld.so.conf",0);\n                    FUN_00037470();\n                  }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n                    free(pvVar10);\n                    pvVar10 = (void *)concat(DAT_00091ca8,"/etc/ld.so.conf",0);\n                    FUN_00037470();\n                  }" { (expression_statement "free(pvVar10);" (call_expression "free(pvVar10)" identifier (argument_list "(pvVar10)" ( identifier ))) ;) (expression_statement "pvVar10 = (void *)concat(DAT_00091ca8,"/etc/ld.so.conf",0);" (assignment_expression "pvVar10 = (void *)concat(DAT_00091ca8,"/etc/ld.so.conf",0)" identifier = (cast_expression "(void *)concat(DAT_00091ca8,"/etc/ld.so.conf",0)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "concat(DAT_00091ca8,"/etc/ld.so.conf",0)" identifier (argument_list "(DAT_00091ca8,"/etc/ld.so.conf",0)" ( identifier , (string_literal ""/etc/ld.so.conf"" " string_content ") , number_literal ))))) ;) (expression_statement "FUN_00037470();" (call_expression "FUN_00037470()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "free(pvVar10);" (call_expression "free(pvVar10)" identifier (argument_list "(pvVar10)" ( identifier ))) ;) (expression_statement "DAT_00091a44 = 1;" (assignment_expression "DAT_00091a44 = 1" identifier = number_literal) ;) })) (expression_statement "pcVar14 = (char *)puVar19[2];" (assignment_expression "pcVar14 = (char *)puVar19[2]" identifier = (cast_expression "(char *)puVar19[2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar19[2]" identifier [ number_literal ]))) ;) (if_statement "if (DAT_00091a40 != 0) {\n                  iVar8 = FUN_00038b50();\n                  if (iVar8 != 0) break;\n                  pcVar14 = (char *)puVar19[2];\n                }" if (parenthesized_expression "(DAT_00091a40 != 0)" ( (binary_expression "DAT_00091a40 != 0" identifier != number_literal) )) (compound_statement "{\n                  iVar8 = FUN_00038b50();\n                  if (iVar8 != 0) break;\n                  pcVar14 = (char *)puVar19[2];\n                }" { (expression_statement "iVar8 = FUN_00038b50();" (assignment_expression "iVar8 = FUN_00038b50()" identifier = (call_expression "FUN_00038b50()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar8 != 0) break;" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (break_statement "break;" break ;)) (expression_statement "pcVar14 = (char *)puVar19[2];" (assignment_expression "pcVar14 = (char *)puVar19[2]" identifier = (cast_expression "(char *)puVar19[2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar19[2]" identifier [ number_literal ]))) ;) })) (expression_statement "sVar12 = strlen(pcVar14);" (assignment_expression "sVar12 = strlen(pcVar14)" identifier = (call_expression "strlen(pcVar14)" identifier (argument_list "(pcVar14)" ( identifier )))) ;) (if_statement "if (DAT_00091e04 != (int *)0x0) {\n                  piVar11 = DAT_00091e04;\n                  do {\n                    if (piVar11[2] == 0) {\n                      sVar13 = strlen((char *)piVar11[1]);\n                      pcVar14 = (char *)xmalloc(sVar13 + sVar12 + 2);\n                      sprintf(pcVar14,"%s/%s",piVar11[1],puVar19[2]);\n                      iVar8 = FUN_00038820();\n                      if (iVar8 != 0) goto LAB_00039300;\n                      free(pcVar14);\n                    }\n                    piVar11 = (int *)*piVar11;\n                  } while (piVar11 != (int *)0x0);\n                }" if (parenthesized_expression "(DAT_00091e04 != (int *)0x0)" ( (binary_expression "DAT_00091e04 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  piVar11 = DAT_00091e04;\n                  do {\n                    if (piVar11[2] == 0) {\n                      sVar13 = strlen((char *)piVar11[1]);\n                      pcVar14 = (char *)xmalloc(sVar13 + sVar12 + 2);\n                      sprintf(pcVar14,"%s/%s",piVar11[1],puVar19[2]);\n                      iVar8 = FUN_00038820();\n                      if (iVar8 != 0) goto LAB_00039300;\n                      free(pcVar14);\n                    }\n                    piVar11 = (int *)*piVar11;\n                  } while (piVar11 != (int *)0x0);\n                }" { (expression_statement "piVar11 = DAT_00091e04;" (assignment_expression "piVar11 = DAT_00091e04" identifier = identifier) ;) (do_statement "do {\n                    if (piVar11[2] == 0) {\n                      sVar13 = strlen((char *)piVar11[1]);\n                      pcVar14 = (char *)xmalloc(sVar13 + sVar12 + 2);\n                      sprintf(pcVar14,"%s/%s",piVar11[1],puVar19[2]);\n                      iVar8 = FUN_00038820();\n                      if (iVar8 != 0) goto LAB_00039300;\n                      free(pcVar14);\n                    }\n                    piVar11 = (int *)*piVar11;\n                  } while (piVar11 != (int *)0x0);" do (compound_statement "{\n                    if (piVar11[2] == 0) {\n                      sVar13 = strlen((char *)piVar11[1]);\n                      pcVar14 = (char *)xmalloc(sVar13 + sVar12 + 2);\n                      sprintf(pcVar14,"%s/%s",piVar11[1],puVar19[2]);\n                      iVar8 = FUN_00038820();\n                      if (iVar8 != 0) goto LAB_00039300;\n                      free(pcVar14);\n                    }\n                    piVar11 = (int *)*piVar11;\n                  }" { (if_statement "if (piVar11[2] == 0) {\n                      sVar13 = strlen((char *)piVar11[1]);\n                      pcVar14 = (char *)xmalloc(sVar13 + sVar12 + 2);\n                      sprintf(pcVar14,"%s/%s",piVar11[1],puVar19[2]);\n                      iVar8 = FUN_00038820();\n                      if (iVar8 != 0) goto LAB_00039300;\n                      free(pcVar14);\n                    }" if (parenthesized_expression "(piVar11[2] == 0)" ( (binary_expression "piVar11[2] == 0" (subscript_expression "piVar11[2]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                      sVar13 = strlen((char *)piVar11[1]);\n                      pcVar14 = (char *)xmalloc(sVar13 + sVar12 + 2);\n                      sprintf(pcVar14,"%s/%s",piVar11[1],puVar19[2]);\n                      iVar8 = FUN_00038820();\n                      if (iVar8 != 0) goto LAB_00039300;\n                      free(pcVar14);\n                    }" { (expression_statement "sVar13 = strlen((char *)piVar11[1]);" (assignment_expression "sVar13 = strlen((char *)piVar11[1])" identifier = (call_expression "strlen((char *)piVar11[1])" identifier (argument_list "((char *)piVar11[1])" ( (cast_expression "(char *)piVar11[1]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar11[1]" identifier [ number_literal ])) )))) ;) (expression_statement "pcVar14 = (char *)xmalloc(sVar13 + sVar12 + 2);" (assignment_expression "pcVar14 = (char *)xmalloc(sVar13 + sVar12 + 2)" identifier = (cast_expression "(char *)xmalloc(sVar13 + sVar12 + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(sVar13 + sVar12 + 2)" identifier (argument_list "(sVar13 + sVar12 + 2)" ( (binary_expression "sVar13 + sVar12 + 2" (binary_expression "sVar13 + sVar12" identifier + identifier) + number_literal) ))))) ;) (expression_statement "sprintf(pcVar14,"%s/%s",piVar11[1],puVar19[2]);" (call_expression "sprintf(pcVar14,"%s/%s",piVar11[1],puVar19[2])" identifier (argument_list "(pcVar14,"%s/%s",piVar11[1],puVar19[2])" ( identifier , (string_literal ""%s/%s"" " string_content ") , (subscript_expression "piVar11[1]" identifier [ number_literal ]) , (subscript_expression "puVar19[2]" identifier [ number_literal ]) ))) ;) (expression_statement "iVar8 = FUN_00038820();" (assignment_expression "iVar8 = FUN_00038820()" identifier = (call_expression "FUN_00038820()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar8 != 0) goto LAB_00039300;" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00039300;" goto statement_identifier ;)) (expression_statement "free(pcVar14);" (call_expression "free(pcVar14)" identifier (argument_list "(pcVar14)" ( identifier ))) ;) })) (expression_statement "piVar11 = (int *)*piVar11;" (assignment_expression "piVar11 = (int *)*piVar11" identifier = (cast_expression "(int *)*piVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar11" * identifier))) ;) }) while (parenthesized_expression "(piVar11 != (int *)0x0)" ( (binary_expression "piVar11 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) })) (if_statement "if (bVar3) {\n                  uVar9 = puVar19[1];\n                  uVar2 = puVar19[2];\n                  uVar15 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00031760(uVar15,uVar2,uVar9);\n                  break;\n                }" if (parenthesized_expression "(bVar3)" ( identifier )) (compound_statement "{\n                  uVar9 = puVar19[1];\n                  uVar2 = puVar19[2];\n                  uVar15 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00031760(uVar15,uVar2,uVar9);\n                  break;\n                }" { (expression_statement "uVar9 = puVar19[1];" (assignment_expression "uVar9 = puVar19[1]" identifier = (subscript_expression "puVar19[1]" identifier [ number_literal ])) ;) (expression_statement "uVar2 = puVar19[2];" (assignment_expression "uVar2 = puVar19[2]" identifier = (subscript_expression "puVar19[2]" identifier [ number_literal ])) ;) (expression_statement "uVar15 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);" (assignment_expression "uVar15 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5)" identifier = (call_expression "dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5)" identifier (argument_list "(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5)" ( number_literal , (string_literal ""%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_00031760(uVar15,uVar2,uVar9);" (call_expression "FUN_00031760(uVar15,uVar2,uVar9)" identifier (argument_list "(uVar15,uVar2,uVar9)" ( identifier , identifier , identifier ))) ;) (break_statement "break;" break ;) })) (expression_statement "bVar3 = true;" (assignment_expression "bVar3 = true" identifier = true) ;) })) })) })) })) (labeled_statement "LAB_00039300:\n        uVar4 = DAT_00091c20._2_2_;" statement_identifier : (expression_statement "uVar4 = DAT_00091c20._2_2_;" (assignment_expression "uVar4 = DAT_00091c20._2_2_" identifier = (field_expression "DAT_00091c20._2_2_" identifier . field_identifier)) ;)) })) (expression_statement "DAT_00091c20._3_1_ = (byte)(uVar4 >> 8);" (assignment_expression "DAT_00091c20._3_1_ = (byte)(uVar4 >> 8)" (field_expression "DAT_00091c20._3_1_" identifier . field_identifier) = (call_expression "(byte)(uVar4 >> 8)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uVar4 >> 8)" ( (binary_expression "uVar4 >> 8" identifier >> number_literal) )))) ;) (expression_statement "bVar25 = DAT_00091c20._3_1_ & 0xc0;" (assignment_expression "bVar25 = DAT_00091c20._3_1_ & 0xc0" identifier = (binary_expression "DAT_00091c20._3_1_ & 0xc0" (field_expression "DAT_00091c20._3_1_" identifier . field_identifier) & number_literal)) ;) (if_statement "if ((bVar25 == 0x80) && (iVar8 = bfd_elf_parse_eh_frame_entries(0,&DAT_00091c20), iVar8 == 0))\n      {\n        uVar9 = dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);\n        FUN_00031760(uVar9);\n      }" if (parenthesized_expression "((bVar25 == 0x80) && (iVar8 = bfd_elf_parse_eh_frame_entries(0,&DAT_00091c20), iVar8 == 0))" ( (binary_expression "(bVar25 == 0x80) && (iVar8 = bfd_elf_parse_eh_frame_entries(0,&DAT_00091c20), iVar8 == 0)" (parenthesized_expression "(bVar25 == 0x80)" ( (binary_expression "bVar25 == 0x80" identifier == number_literal) )) && (parenthesized_expression "(iVar8 = bfd_elf_parse_eh_frame_entries(0,&DAT_00091c20), iVar8 == 0)" ( (comma_expression "iVar8 = bfd_elf_parse_eh_frame_entries(0,&DAT_00091c20), iVar8 == 0" (assignment_expression "iVar8 = bfd_elf_parse_eh_frame_entries(0,&DAT_00091c20)" identifier = (call_expression "bfd_elf_parse_eh_frame_entries(0,&DAT_00091c20)" identifier (argument_list "(0,&DAT_00091c20)" ( number_literal , (pointer_expression "&DAT_00091c20" & identifier) )))) , (binary_expression "iVar8 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n        uVar9 = dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);\n        FUN_00031760(uVar9);\n      }" { (expression_statement "uVar9 = dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);" (assignment_expression "uVar9 = dcgettext(0,"%F%P: failed to parse EH frame entries\n",5)" identifier = (call_expression "dcgettext(0,"%F%P: failed to parse EH frame entries\n",5)" identifier (argument_list "(0,"%F%P: failed to parse EH frame entries\n",5)" ( number_literal , (string_literal ""%F%P: failed to parse EH frame entries\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_00031760(uVar9);" (call_expression "FUN_00031760(uVar9)" identifier (argument_list "(uVar9)" ( identifier ))) ;) })) }))) })) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE) ))) (compound_statement { (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 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 IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )))) ;) (expression_statement (assignment_expression IDENT = 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 string_content escape_sequence ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) })) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (for_statement for ( ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) == LIT) )) && (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 (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) & LIT) )) == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , IDENT , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (break_statement break ;) })) })) (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 = IDENT) ;) })) (labeled_statement statement_identifier : (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 (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) ))))) )) (argument_list ( (pointer_expression & IDENT) ))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) == (parenthesized_expression ( (binary_expression (unary_expression ~ IDENT) & LIT) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , (binary_expression (binary_expression (binary_expression IDENT >> LIT) & LIT) | LIT) ))) ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (break_statement break ;))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) < (binary_expression IDENT + LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) == (binary_expression IDENT + LIT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content "))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content "))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = LIT) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) < LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) ;) (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 IDENT != LIT) )) && (parenthesized_expression ( (binary_expression IDENT != IDENT) ))) )) (compound_statement { (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 ( LIT , (string_literal " string_content escape_sequence ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (goto_statement goto statement_identifier ;) }))) (expression_statement (assignment_expression 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 { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) & LIT) )) == 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 = BOOL) ;) (if_statement if (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) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) }))) (break_statement break ;) })) (expression_statement (assignment_expression IDENT = BOOL) ;) (if_statement if (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) )) (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 = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (binary_expression (binary_expression (field_expression IDENT . field_identifier) & LIT) | LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) (labeled_statement statement_identifier : (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 , (string_literal " string_content ") , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) + LIT) )))) | LIT) )))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) })))) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (field_expression IDENT . field_identifier)) ;) (for_statement for ( (assignment_expression IDENT = IDENT) ; (comma_expression (assignment_expression (field_expression IDENT . field_identifier) = 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 = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) || (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) )))) , (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) & LIT) )) != LIT) ))) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) )))) , (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT)) ))) )) )))) )) ))) )) (compound_statement { (for_statement for ( ; (binary_expression IDENT != IDENT) ; (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) )))) , (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT)) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) )))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (goto_statement goto statement_identifier ;)) (break_statement break ;) })) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (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 ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) , (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_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 ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (while_statement while (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (break_statement break ;)) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (subscript_expression IDENT [ LIT ])) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == LIT)) ;) (expression_statement (assignment_expression IDENT = (unary_expression ! IDENT)) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) }) while (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( IDENT ))) )) ;) (if_statement if (parenthesized_expression ( IDENT )) (break_statement break ;)) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , LIT ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_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 IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( 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) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == 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 ])) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (binary_expression (binary_expression IDENT + IDENT) + LIT) ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) ;) })) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (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 ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (break_statement break ;) })) (expression_statement (assignment_expression IDENT = BOOL) ;) })) })) })) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (field_expression IDENT . field_identifier)) ;)) })) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (field_expression IDENT . field_identifier) & LIT)) ;) (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 ( LIT , (pointer_expression & 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 )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) }))) })) (return_statement return ;) })))
(function_definition "void FUN_00038fb0(void)\n\n{\n  int iVar1;\n  undefined4 uVar2;\n  bool bVar3;\n  ushort uVar4;\n  undefined4 *puVar5;\n  undefined4 *puVar6;\n  uint uVar7;\n  int iVar8;\n  undefined4 uVar9;\n  void *pvVar10;\n  int *piVar11;\n  size_t sVar12;\n  size_t sVar13;\n  char *pcVar14;\n  undefined4 uVar15;\n  int iVar16;\n  int iVar17;\n  int iVar18;\n  undefined4 *puVar19;\n  byte *pbVar20;\n  byte *pbVar21;\n  bool bVar22;\n  bool bVar23;\n  bool bVar24;\n  byte bVar25;\n  int local_60;\n  int local_50;\n  int local_4c;\n  \n  bVar25 = 0;\n  FUN_00030330();\n  iVar8 = DAT_00091c3c;\n  if (*(int *)(DAT_00091c3c + 0x28) == 1) {\n    if (DAT_00091ce0 != 0) {\n      unlink_if_ordinary(DAT_00091ce0);\n      DAT_00091c54 = bfd_openw(DAT_00091ce0,**(undefined4 **)(DAT_00091c50 + 4));\n      iVar16 = DAT_00091ce0;\n      if (DAT_00091c54 == 0) {\n        uVar9 = dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);\n        FUN_00031760(uVar9,iVar16);\n      }\n    }\n    iVar18 = DAT_00091c50;\n    iVar16 = DAT_00091c58;\n    if (DAT_00091a4c != (void *)0x0) {\n      for (; iVar16 != 0; iVar16 = *(int *)(iVar16 + 0x98)) {\n        if (((*(int *)(*(int *)(iVar16 + 4) + 4) == 5) && (*(int *)(iVar16 + 0x68) != 0)) &&\n           ((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0)) {\n          iVar17 = FUN_000353f0(DAT_00091a4c);\n          if ((iVar17 == 0) || (iVar17 + 0x10 == 0)) {\n            pcVar14 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar16 = bfd_make_section_with_flags(iVar16,".note.gnu.build-id",0x10402b);\n            if (iVar16 != 0) {\n              *(undefined4 *)(iVar16 + 0x40) = 2;\n              iVar18 = DAT_00091c50;\n              iVar1 = *(int *)(*(int *)(DAT_00091c50 + 0x9c) + 0x910);\n              *(code **)(iVar1 + 0x10) = FUN_000371f0;\n              pvVar10 = DAT_00091a4c;\n              *(int *)(iVar1 + 0x18) = iVar16;\n              *(void **)(iVar1 + 0x14) = pvVar10;\n              *(undefined4 *)(*(int *)(iVar16 + 0x8c) + 4) = 7;\n              *(int *)(iVar16 + 0x24) = iVar17 + 0x10;\n              goto LAB_00039178;\n            }\n            pcVar14 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          uVar9 = dcgettext(0,pcVar14,5);\n          FUN_00031760(uVar9);\n          break;\n        }\n      }\n      free(DAT_00091a4c);\n      DAT_00091a4c = (void *)0x0;\n      iVar18 = DAT_00091c50;\n    }\nLAB_00039178:\n    (**(code **)(*(int *)(*(int *)(iVar18 + 4) + 0x1c0) + 0x1bc))(&DAT_00091c20);\n    if (((byte)DAT_00091c20 & 3) == 2) {\n      if (DAT_00091c25 >> 7 == (~DAT_00091c26 & 1)) {\n        bfd_make_section_with_flags(DAT_00091c58,".note.GNU-stack",DAT_00091c25 >> 3 & 0x10 | 8);\n      }\n    }\n    else {\n      if (((DAT_00091c24 & 0x20) == 0) && (DAT_00091c58 != 0)) {\n        local_50 = 0;\n        bVar3 = false;\n        local_4c = 0;\n        iVar16 = DAT_00091c58;\n        do {\n          while ((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0) {\n            puVar19 = *(undefined4 **)(iVar16 + 0x60);\n            if (puVar19 == (undefined4 *)0x0) {\nLAB_00039697:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar22 = (undefined *)puVar19[0xf] < PTR__bfd_std_section_00090fc4 + 0x150;\n                bVar24 = (undefined *)puVar19[0xf] == PTR__bfd_std_section_00090fc4 + 0x150;\n                iVar18 = local_60;\n                if (!bVar24) {\n                  iVar17 = 0xf;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar22 = *pbVar20 < *pbVar21;\n                    bVar24 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar24);\n                  bVar23 = false;\n                  bVar22 = (!bVar22 && !bVar24) == bVar22;\n                  if (bVar22) {\n                    local_60 = 2;\n                    goto LAB_0003966f;\n                  }\n                  iVar17 = 10;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar23 = *pbVar20 < *pbVar21;\n                    bVar22 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar22);\n                  if (((!bVar23 && !bVar22) == bVar23) && (iVar18 = 1, (uint)puVar19[9] < 9)) {\n                    iVar18 = local_60;\n                  }\n                }\n                local_60 = iVar18;\n                puVar19 = (undefined4 *)puVar19[3];\n              } while (puVar19 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_00039697;\nLAB_0003966f:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar16 = local_4c;\n                }\n                uVar9 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00031760(uVar9,iVar16);\n                goto LAB_000396cd;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_00039697;\n              if (local_60 != 2) {\n                if ((DAT_00091c20._2_2_ & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar3 = true;\n                  if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                    local_4c = iVar16;\n                  }\n                }\n                break;\n              }\n              bVar3 = true;\n              if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                local_4c = iVar16;\n              }\n            }\n            iVar16 = *(int *)(iVar16 + 0x98);\n            local_50 = 2;\n            DAT_00091c20._2_2_ = DAT_00091c20._2_2_ & 0x3fff | 0x8000;\n            if (iVar16 == 0) goto LAB_000396cd;\n          }\n          iVar16 = *(int *)(iVar16 + 0x98);\n        } while (iVar16 != 0);\nLAB_000396cd:\n        if ((local_4c == 0) ||\n           (iVar16 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x20) | 8),\n           iVar16 == 0)) {\n          if (bVar3) {\n            uVar9 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00031760(uVar9);\n          }\n        }\n        else {\n          *(undefined4 *)(iVar16 + 0x40) = 2;\n          *(int *)(iVar8 + 0xac) = iVar16;\n        }\n      }\n      puVar6 = (undefined4 *)bfd_elf_get_needed_list(DAT_00091c50,&DAT_00091c20);\n      uVar4 = DAT_00091c20._2_2_;\n      for (puVar19 = puVar6; DAT_00091c20._2_2_ = uVar4, puVar19 != (undefined4 *)0x0;\n          puVar19 = (undefined4 *)*puVar19) {\n        puVar5 = puVar6;\n        if ((puVar19[1] == 0) ||\n           ((uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 1) == 0 &&\n            (((puVar19[1] == 0 || ((DAT_00091c20._2_2_ & 0x180) != 0x80)) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 4) == 0)))))) {\n          for (; puVar5 != puVar19; puVar5 = (undefined4 *)*puVar5) {\n            if (((puVar5[1] == 0) ||\n                (uVar7 = bfd_elf_get_dyn_lib_class(puVar5[1]), (uVar7 & 1) == 0)) &&\n               (iVar8 = strcmp((char *)puVar5[2],(char *)puVar19[2]), iVar8 == 0)) {\n              if (puVar19 != puVar5) goto LAB_00039300;\n              break;\n            }\n          }\n          DAT_00091ae4 = FUN_00038720;\n          DAT_00091a60 = 0;\n          DAT_00091ae0 = puVar19;\n          FUN_00024c50(FUN_00035720);\n          if ((DAT_00091a60 == 0) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_00091a60 + 0x10)),\n             (uVar7 & 1) != 0)) {\n            uVar9 = puVar19[1];\n            uVar2 = puVar19[2];\n            if (DAT_00091d90 != 0) {\n              uVar15 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00031730(uVar15,uVar2,uVar9);\n            }\n            if ((DAT_00091a60 == 0) || (iVar8 = FUN_00038820(), iVar8 == 0)) {\n              bVar3 = false;\n              while (iVar8 = FUN_00038b50(), iVar8 == 0) {\n                if (DAT_00091d04 != 0) {\n                  pvVar10 = (void *)FUN_00037360();\n                  iVar8 = FUN_00038b50();\n                  free(pvVar10);\n                  if (iVar8 != 0) break;\n                }\n                piVar11 = (int *)bfd_elf_get_runpath_list(DAT_00091c50,&DAT_00091c20);\n                if (piVar11 != (int *)0x0) {\n                  do {\n                    bVar24 = true;\n                    pvVar10 = (void *)FUN_00037360();\n                    bVar22 = false;\n                    if (piVar11[1] == puVar19[1]) {\n                      iVar8 = FUN_00038b50();\n                      bVar24 = iVar8 == 0;\n                      bVar22 = !bVar24;\n                    }\n                    free(pvVar10);\n                    piVar11 = (int *)*piVar11;\n                  } while ((piVar11 != (int *)0x0) && (bVar24));\n                  if (bVar22) break;\n                }\n                if (DAT_00091a44 == 0) {\n                  pvVar10 = (void *)concat(DAT_00091ca8,"/usr/etc/ld.so.conf",0);\n                  iVar8 = FUN_00037470();\n                  if (iVar8 == 0) {\n                    free(pvVar10);\n                    pvVar10 = (void *)concat(DAT_00091ca8,"/etc/ld.so.conf",0);\n                    FUN_00037470();\n                  }\n                  free(pvVar10);\n                  DAT_00091a44 = 1;\n                }\n                pcVar14 = (char *)puVar19[2];\n                if (DAT_00091a40 != 0) {\n                  iVar8 = FUN_00038b50();\n                  if (iVar8 != 0) break;\n                  pcVar14 = (char *)puVar19[2];\n                }\n                sVar12 = strlen(pcVar14);\n                if (DAT_00091e04 != (int *)0x0) {\n                  piVar11 = DAT_00091e04;\n                  do {\n                    if (piVar11[2] == 0) {\n                      sVar13 = strlen((char *)piVar11[1]);\n                      pcVar14 = (char *)xmalloc(sVar13 + sVar12 + 2);\n                      sprintf(pcVar14,"%s/%s",piVar11[1],puVar19[2]);\n                      iVar8 = FUN_00038820();\n                      if (iVar8 != 0) goto LAB_00039300;\n                      free(pcVar14);\n                    }\n                    piVar11 = (int *)*piVar11;\n                  } while (piVar11 != (int *)0x0);\n                }\n                if (bVar3) {\n                  uVar9 = puVar19[1];\n                  uVar2 = puVar19[2];\n                  uVar15 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00031760(uVar15,uVar2,uVar9);\n                  break;\n                }\n                bVar3 = true;\n              }\n            }\n          }\n        }\nLAB_00039300:\n        uVar4 = DAT_00091c20._2_2_;\n      }\n      DAT_00091c20._3_1_ = (byte)(uVar4 >> 8);\n      bVar25 = DAT_00091c20._3_1_ & 0xc0;\n      if ((bVar25 == 0x80) && (iVar8 = bfd_elf_parse_eh_frame_entries(0,&DAT_00091c20), iVar8 == 0))\n      {\n        uVar9 = dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);\n        FUN_00031760(uVar9);\n      }\n    }\n  }\n  return;\n}" (primitive_type "void") (function_declarator "FUN_00038fb0(void)" (identifier "FUN_00038fb0") (parameter_list "(void)" (( "(") (parameter_declaration "void" (primitive_type "void")) () ")"))) (compound_statement "{\n  int iVar1;\n  undefined4 uVar2;\n  bool bVar3;\n  ushort uVar4;\n  undefined4 *puVar5;\n  undefined4 *puVar6;\n  uint uVar7;\n  int iVar8;\n  undefined4 uVar9;\n  void *pvVar10;\n  int *piVar11;\n  size_t sVar12;\n  size_t sVar13;\n  char *pcVar14;\n  undefined4 uVar15;\n  int iVar16;\n  int iVar17;\n  int iVar18;\n  undefined4 *puVar19;\n  byte *pbVar20;\n  byte *pbVar21;\n  bool bVar22;\n  bool bVar23;\n  bool bVar24;\n  byte bVar25;\n  int local_60;\n  int local_50;\n  int local_4c;\n  \n  bVar25 = 0;\n  FUN_00030330();\n  iVar8 = DAT_00091c3c;\n  if (*(int *)(DAT_00091c3c + 0x28) == 1) {\n    if (DAT_00091ce0 != 0) {\n      unlink_if_ordinary(DAT_00091ce0);\n      DAT_00091c54 = bfd_openw(DAT_00091ce0,**(undefined4 **)(DAT_00091c50 + 4));\n      iVar16 = DAT_00091ce0;\n      if (DAT_00091c54 == 0) {\n        uVar9 = dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);\n        FUN_00031760(uVar9,iVar16);\n      }\n    }\n    iVar18 = DAT_00091c50;\n    iVar16 = DAT_00091c58;\n    if (DAT_00091a4c != (void *)0x0) {\n      for (; iVar16 != 0; iVar16 = *(int *)(iVar16 + 0x98)) {\n        if (((*(int *)(*(int *)(iVar16 + 4) + 4) == 5) && (*(int *)(iVar16 + 0x68) != 0)) &&\n           ((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0)) {\n          iVar17 = FUN_000353f0(DAT_00091a4c);\n          if ((iVar17 == 0) || (iVar17 + 0x10 == 0)) {\n            pcVar14 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar16 = bfd_make_section_with_flags(iVar16,".note.gnu.build-id",0x10402b);\n            if (iVar16 != 0) {\n              *(undefined4 *)(iVar16 + 0x40) = 2;\n              iVar18 = DAT_00091c50;\n              iVar1 = *(int *)(*(int *)(DAT_00091c50 + 0x9c) + 0x910);\n              *(code **)(iVar1 + 0x10) = FUN_000371f0;\n              pvVar10 = DAT_00091a4c;\n              *(int *)(iVar1 + 0x18) = iVar16;\n              *(void **)(iVar1 + 0x14) = pvVar10;\n              *(undefined4 *)(*(int *)(iVar16 + 0x8c) + 4) = 7;\n              *(int *)(iVar16 + 0x24) = iVar17 + 0x10;\n              goto LAB_00039178;\n            }\n            pcVar14 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          uVar9 = dcgettext(0,pcVar14,5);\n          FUN_00031760(uVar9);\n          break;\n        }\n      }\n      free(DAT_00091a4c);\n      DAT_00091a4c = (void *)0x0;\n      iVar18 = DAT_00091c50;\n    }\nLAB_00039178:\n    (**(code **)(*(int *)(*(int *)(iVar18 + 4) + 0x1c0) + 0x1bc))(&DAT_00091c20);\n    if (((byte)DAT_00091c20 & 3) == 2) {\n      if (DAT_00091c25 >> 7 == (~DAT_00091c26 & 1)) {\n        bfd_make_section_with_flags(DAT_00091c58,".note.GNU-stack",DAT_00091c25 >> 3 & 0x10 | 8);\n      }\n    }\n    else {\n      if (((DAT_00091c24 & 0x20) == 0) && (DAT_00091c58 != 0)) {\n        local_50 = 0;\n        bVar3 = false;\n        local_4c = 0;\n        iVar16 = DAT_00091c58;\n        do {\n          while ((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0) {\n            puVar19 = *(undefined4 **)(iVar16 + 0x60);\n            if (puVar19 == (undefined4 *)0x0) {\nLAB_00039697:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar22 = (undefined *)puVar19[0xf] < PTR__bfd_std_section_00090fc4 + 0x150;\n                bVar24 = (undefined *)puVar19[0xf] == PTR__bfd_std_section_00090fc4 + 0x150;\n                iVar18 = local_60;\n                if (!bVar24) {\n                  iVar17 = 0xf;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar22 = *pbVar20 < *pbVar21;\n                    bVar24 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar24);\n                  bVar23 = false;\n                  bVar22 = (!bVar22 && !bVar24) == bVar22;\n                  if (bVar22) {\n                    local_60 = 2;\n                    goto LAB_0003966f;\n                  }\n                  iVar17 = 10;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar23 = *pbVar20 < *pbVar21;\n                    bVar22 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar22);\n                  if (((!bVar23 && !bVar22) == bVar23) && (iVar18 = 1, (uint)puVar19[9] < 9)) {\n                    iVar18 = local_60;\n                  }\n                }\n                local_60 = iVar18;\n                puVar19 = (undefined4 *)puVar19[3];\n              } while (puVar19 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_00039697;\nLAB_0003966f:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar16 = local_4c;\n                }\n                uVar9 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00031760(uVar9,iVar16);\n                goto LAB_000396cd;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_00039697;\n              if (local_60 != 2) {\n                if ((DAT_00091c20._2_2_ & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar3 = true;\n                  if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                    local_4c = iVar16;\n                  }\n                }\n                break;\n              }\n              bVar3 = true;\n              if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                local_4c = iVar16;\n              }\n            }\n            iVar16 = *(int *)(iVar16 + 0x98);\n            local_50 = 2;\n            DAT_00091c20._2_2_ = DAT_00091c20._2_2_ & 0x3fff | 0x8000;\n            if (iVar16 == 0) goto LAB_000396cd;\n          }\n          iVar16 = *(int *)(iVar16 + 0x98);\n        } while (iVar16 != 0);\nLAB_000396cd:\n        if ((local_4c == 0) ||\n           (iVar16 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x20) | 8),\n           iVar16 == 0)) {\n          if (bVar3) {\n            uVar9 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00031760(uVar9);\n          }\n        }\n        else {\n          *(undefined4 *)(iVar16 + 0x40) = 2;\n          *(int *)(iVar8 + 0xac) = iVar16;\n        }\n      }\n      puVar6 = (undefined4 *)bfd_elf_get_needed_list(DAT_00091c50,&DAT_00091c20);\n      uVar4 = DAT_00091c20._2_2_;\n      for (puVar19 = puVar6; DAT_00091c20._2_2_ = uVar4, puVar19 != (undefined4 *)0x0;\n          puVar19 = (undefined4 *)*puVar19) {\n        puVar5 = puVar6;\n        if ((puVar19[1] == 0) ||\n           ((uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 1) == 0 &&\n            (((puVar19[1] == 0 || ((DAT_00091c20._2_2_ & 0x180) != 0x80)) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 4) == 0)))))) {\n          for (; puVar5 != puVar19; puVar5 = (undefined4 *)*puVar5) {\n            if (((puVar5[1] == 0) ||\n                (uVar7 = bfd_elf_get_dyn_lib_class(puVar5[1]), (uVar7 & 1) == 0)) &&\n               (iVar8 = strcmp((char *)puVar5[2],(char *)puVar19[2]), iVar8 == 0)) {\n              if (puVar19 != puVar5) goto LAB_00039300;\n              break;\n            }\n          }\n          DAT_00091ae4 = FUN_00038720;\n          DAT_00091a60 = 0;\n          DAT_00091ae0 = puVar19;\n          FUN_00024c50(FUN_00035720);\n          if ((DAT_00091a60 == 0) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_00091a60 + 0x10)),\n             (uVar7 & 1) != 0)) {\n            uVar9 = puVar19[1];\n            uVar2 = puVar19[2];\n            if (DAT_00091d90 != 0) {\n              uVar15 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00031730(uVar15,uVar2,uVar9);\n            }\n            if ((DAT_00091a60 == 0) || (iVar8 = FUN_00038820(), iVar8 == 0)) {\n              bVar3 = false;\n              while (iVar8 = FUN_00038b50(), iVar8 == 0) {\n                if (DAT_00091d04 != 0) {\n                  pvVar10 = (void *)FUN_00037360();\n                  iVar8 = FUN_00038b50();\n                  free(pvVar10);\n                  if (iVar8 != 0) break;\n                }\n                piVar11 = (int *)bfd_elf_get_runpath_list(DAT_00091c50,&DAT_00091c20);\n                if (piVar11 != (int *)0x0) {\n                  do {\n                    bVar24 = true;\n                    pvVar10 = (void *)FUN_00037360();\n                    bVar22 = false;\n                    if (piVar11[1] == puVar19[1]) {\n                      iVar8 = FUN_00038b50();\n                      bVar24 = iVar8 == 0;\n                      bVar22 = !bVar24;\n                    }\n                    free(pvVar10);\n                    piVar11 = (int *)*piVar11;\n                  } while ((piVar11 != (int *)0x0) && (bVar24));\n                  if (bVar22) break;\n                }\n                if (DAT_00091a44 == 0) {\n                  pvVar10 = (void *)concat(DAT_00091ca8,"/usr/etc/ld.so.conf",0);\n                  iVar8 = FUN_00037470();\n                  if (iVar8 == 0) {\n                    free(pvVar10);\n                    pvVar10 = (void *)concat(DAT_00091ca8,"/etc/ld.so.conf",0);\n                    FUN_00037470();\n                  }\n                  free(pvVar10);\n                  DAT_00091a44 = 1;\n                }\n                pcVar14 = (char *)puVar19[2];\n                if (DAT_00091a40 != 0) {\n                  iVar8 = FUN_00038b50();\n                  if (iVar8 != 0) break;\n                  pcVar14 = (char *)puVar19[2];\n                }\n                sVar12 = strlen(pcVar14);\n                if (DAT_00091e04 != (int *)0x0) {\n                  piVar11 = DAT_00091e04;\n                  do {\n                    if (piVar11[2] == 0) {\n                      sVar13 = strlen((char *)piVar11[1]);\n                      pcVar14 = (char *)xmalloc(sVar13 + sVar12 + 2);\n                      sprintf(pcVar14,"%s/%s",piVar11[1],puVar19[2]);\n                      iVar8 = FUN_00038820();\n                      if (iVar8 != 0) goto LAB_00039300;\n                      free(pcVar14);\n                    }\n                    piVar11 = (int *)*piVar11;\n                  } while (piVar11 != (int *)0x0);\n                }\n                if (bVar3) {\n                  uVar9 = puVar19[1];\n                  uVar2 = puVar19[2];\n                  uVar15 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00031760(uVar15,uVar2,uVar9);\n                  break;\n                }\n                bVar3 = true;\n              }\n            }\n          }\n        }\nLAB_00039300:\n        uVar4 = DAT_00091c20._2_2_;\n      }\n      DAT_00091c20._3_1_ = (byte)(uVar4 >> 8);\n      bVar25 = DAT_00091c20._3_1_ & 0xc0;\n      if ((bVar25 == 0x80) && (iVar8 = bfd_elf_parse_eh_frame_entries(0,&DAT_00091c20), iVar8 == 0))\n      {\n        uVar9 = dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);\n        FUN_00031760(uVar9);\n      }\n    }\n  }\n  return;\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "undefined4 uVar2;" (type_identifier "undefined4") (identifier "uVar2") (; ";")) (declaration "bool bVar3;" (primitive_type "bool") (identifier "bVar3") (; ";")) (declaration "ushort uVar4;" (type_identifier "ushort") (identifier "uVar4") (; ";")) (declaration "undefined4 *puVar5;" (type_identifier "undefined4") (pointer_declarator "*puVar5" (* "*") (identifier "puVar5")) (; ";")) (declaration "undefined4 *puVar6;" (type_identifier "undefined4") (pointer_declarator "*puVar6" (* "*") (identifier "puVar6")) (; ";")) (declaration "uint uVar7;" (type_identifier "uint") (identifier "uVar7") (; ";")) (declaration "int iVar8;" (primitive_type "int") (identifier "iVar8") (; ";")) (declaration "undefined4 uVar9;" (type_identifier "undefined4") (identifier "uVar9") (; ";")) (declaration "void *pvVar10;" (primitive_type "void") (pointer_declarator "*pvVar10" (* "*") (identifier "pvVar10")) (; ";")) (declaration "int *piVar11;" (primitive_type "int") (pointer_declarator "*piVar11" (* "*") (identifier "piVar11")) (; ";")) (declaration "size_t sVar12;" (primitive_type "size_t") (identifier "sVar12") (; ";")) (declaration "size_t sVar13;" (primitive_type "size_t") (identifier "sVar13") (; ";")) (declaration "char *pcVar14;" (primitive_type "char") (pointer_declarator "*pcVar14" (* "*") (identifier "pcVar14")) (; ";")) (declaration "undefined4 uVar15;" (type_identifier "undefined4") (identifier "uVar15") (; ";")) (declaration "int iVar16;" (primitive_type "int") (identifier "iVar16") (; ";")) (declaration "int iVar17;" (primitive_type "int") (identifier "iVar17") (; ";")) (declaration "int iVar18;" (primitive_type "int") (identifier "iVar18") (; ";")) (declaration "undefined4 *puVar19;" (type_identifier "undefined4") (pointer_declarator "*puVar19" (* "*") (identifier "puVar19")) (; ";")) (declaration "byte *pbVar20;" (type_identifier "byte") (pointer_declarator "*pbVar20" (* "*") (identifier "pbVar20")) (; ";")) (declaration "byte *pbVar21;" (type_identifier "byte") (pointer_declarator "*pbVar21" (* "*") (identifier "pbVar21")) (; ";")) (declaration "bool bVar22;" (primitive_type "bool") (identifier "bVar22") (; ";")) (declaration "bool bVar23;" (primitive_type "bool") (identifier "bVar23") (; ";")) (declaration "bool bVar24;" (primitive_type "bool") (identifier "bVar24") (; ";")) (declaration "byte bVar25;" (type_identifier "byte") (identifier "bVar25") (; ";")) (declaration "int local_60;" (primitive_type "int") (identifier "local_60") (; ";")) (declaration "int local_50;" (primitive_type "int") (identifier "local_50") (; ";")) (declaration "int local_4c;" (primitive_type "int") (identifier "local_4c") (; ";")) (expression_statement "bVar25 = 0;" (assignment_expression "bVar25 = 0" (identifier "bVar25") (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_00030330();" (call_expression "FUN_00030330()" (identifier "FUN_00030330") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar8 = DAT_00091c3c;" (assignment_expression "iVar8 = DAT_00091c3c" (identifier "iVar8") (= "=") (identifier "DAT_00091c3c")) (; ";")) (if_statement "if (*(int *)(DAT_00091c3c + 0x28) == 1) {\n    if (DAT_00091ce0 != 0) {\n      unlink_if_ordinary(DAT_00091ce0);\n      DAT_00091c54 = bfd_openw(DAT_00091ce0,**(undefined4 **)(DAT_00091c50 + 4));\n      iVar16 = DAT_00091ce0;\n      if (DAT_00091c54 == 0) {\n        uVar9 = dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);\n        FUN_00031760(uVar9,iVar16);\n      }\n    }\n    iVar18 = DAT_00091c50;\n    iVar16 = DAT_00091c58;\n    if (DAT_00091a4c != (void *)0x0) {\n      for (; iVar16 != 0; iVar16 = *(int *)(iVar16 + 0x98)) {\n        if (((*(int *)(*(int *)(iVar16 + 4) + 4) == 5) && (*(int *)(iVar16 + 0x68) != 0)) &&\n           ((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0)) {\n          iVar17 = FUN_000353f0(DAT_00091a4c);\n          if ((iVar17 == 0) || (iVar17 + 0x10 == 0)) {\n            pcVar14 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar16 = bfd_make_section_with_flags(iVar16,".note.gnu.build-id",0x10402b);\n            if (iVar16 != 0) {\n              *(undefined4 *)(iVar16 + 0x40) = 2;\n              iVar18 = DAT_00091c50;\n              iVar1 = *(int *)(*(int *)(DAT_00091c50 + 0x9c) + 0x910);\n              *(code **)(iVar1 + 0x10) = FUN_000371f0;\n              pvVar10 = DAT_00091a4c;\n              *(int *)(iVar1 + 0x18) = iVar16;\n              *(void **)(iVar1 + 0x14) = pvVar10;\n              *(undefined4 *)(*(int *)(iVar16 + 0x8c) + 4) = 7;\n              *(int *)(iVar16 + 0x24) = iVar17 + 0x10;\n              goto LAB_00039178;\n            }\n            pcVar14 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          uVar9 = dcgettext(0,pcVar14,5);\n          FUN_00031760(uVar9);\n          break;\n        }\n      }\n      free(DAT_00091a4c);\n      DAT_00091a4c = (void *)0x0;\n      iVar18 = DAT_00091c50;\n    }\nLAB_00039178:\n    (**(code **)(*(int *)(*(int *)(iVar18 + 4) + 0x1c0) + 0x1bc))(&DAT_00091c20);\n    if (((byte)DAT_00091c20 & 3) == 2) {\n      if (DAT_00091c25 >> 7 == (~DAT_00091c26 & 1)) {\n        bfd_make_section_with_flags(DAT_00091c58,".note.GNU-stack",DAT_00091c25 >> 3 & 0x10 | 8);\n      }\n    }\n    else {\n      if (((DAT_00091c24 & 0x20) == 0) && (DAT_00091c58 != 0)) {\n        local_50 = 0;\n        bVar3 = false;\n        local_4c = 0;\n        iVar16 = DAT_00091c58;\n        do {\n          while ((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0) {\n            puVar19 = *(undefined4 **)(iVar16 + 0x60);\n            if (puVar19 == (undefined4 *)0x0) {\nLAB_00039697:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar22 = (undefined *)puVar19[0xf] < PTR__bfd_std_section_00090fc4 + 0x150;\n                bVar24 = (undefined *)puVar19[0xf] == PTR__bfd_std_section_00090fc4 + 0x150;\n                iVar18 = local_60;\n                if (!bVar24) {\n                  iVar17 = 0xf;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar22 = *pbVar20 < *pbVar21;\n                    bVar24 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar24);\n                  bVar23 = false;\n                  bVar22 = (!bVar22 && !bVar24) == bVar22;\n                  if (bVar22) {\n                    local_60 = 2;\n                    goto LAB_0003966f;\n                  }\n                  iVar17 = 10;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar23 = *pbVar20 < *pbVar21;\n                    bVar22 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar22);\n                  if (((!bVar23 && !bVar22) == bVar23) && (iVar18 = 1, (uint)puVar19[9] < 9)) {\n                    iVar18 = local_60;\n                  }\n                }\n                local_60 = iVar18;\n                puVar19 = (undefined4 *)puVar19[3];\n              } while (puVar19 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_00039697;\nLAB_0003966f:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar16 = local_4c;\n                }\n                uVar9 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00031760(uVar9,iVar16);\n                goto LAB_000396cd;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_00039697;\n              if (local_60 != 2) {\n                if ((DAT_00091c20._2_2_ & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar3 = true;\n                  if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                    local_4c = iVar16;\n                  }\n                }\n                break;\n              }\n              bVar3 = true;\n              if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                local_4c = iVar16;\n              }\n            }\n            iVar16 = *(int *)(iVar16 + 0x98);\n            local_50 = 2;\n            DAT_00091c20._2_2_ = DAT_00091c20._2_2_ & 0x3fff | 0x8000;\n            if (iVar16 == 0) goto LAB_000396cd;\n          }\n          iVar16 = *(int *)(iVar16 + 0x98);\n        } while (iVar16 != 0);\nLAB_000396cd:\n        if ((local_4c == 0) ||\n           (iVar16 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x20) | 8),\n           iVar16 == 0)) {\n          if (bVar3) {\n            uVar9 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00031760(uVar9);\n          }\n        }\n        else {\n          *(undefined4 *)(iVar16 + 0x40) = 2;\n          *(int *)(iVar8 + 0xac) = iVar16;\n        }\n      }\n      puVar6 = (undefined4 *)bfd_elf_get_needed_list(DAT_00091c50,&DAT_00091c20);\n      uVar4 = DAT_00091c20._2_2_;\n      for (puVar19 = puVar6; DAT_00091c20._2_2_ = uVar4, puVar19 != (undefined4 *)0x0;\n          puVar19 = (undefined4 *)*puVar19) {\n        puVar5 = puVar6;\n        if ((puVar19[1] == 0) ||\n           ((uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 1) == 0 &&\n            (((puVar19[1] == 0 || ((DAT_00091c20._2_2_ & 0x180) != 0x80)) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 4) == 0)))))) {\n          for (; puVar5 != puVar19; puVar5 = (undefined4 *)*puVar5) {\n            if (((puVar5[1] == 0) ||\n                (uVar7 = bfd_elf_get_dyn_lib_class(puVar5[1]), (uVar7 & 1) == 0)) &&\n               (iVar8 = strcmp((char *)puVar5[2],(char *)puVar19[2]), iVar8 == 0)) {\n              if (puVar19 != puVar5) goto LAB_00039300;\n              break;\n            }\n          }\n          DAT_00091ae4 = FUN_00038720;\n          DAT_00091a60 = 0;\n          DAT_00091ae0 = puVar19;\n          FUN_00024c50(FUN_00035720);\n          if ((DAT_00091a60 == 0) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_00091a60 + 0x10)),\n             (uVar7 & 1) != 0)) {\n            uVar9 = puVar19[1];\n            uVar2 = puVar19[2];\n            if (DAT_00091d90 != 0) {\n              uVar15 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00031730(uVar15,uVar2,uVar9);\n            }\n            if ((DAT_00091a60 == 0) || (iVar8 = FUN_00038820(), iVar8 == 0)) {\n              bVar3 = false;\n              while (iVar8 = FUN_00038b50(), iVar8 == 0) {\n                if (DAT_00091d04 != 0) {\n                  pvVar10 = (void *)FUN_00037360();\n                  iVar8 = FUN_00038b50();\n                  free(pvVar10);\n                  if (iVar8 != 0) break;\n                }\n                piVar11 = (int *)bfd_elf_get_runpath_list(DAT_00091c50,&DAT_00091c20);\n                if (piVar11 != (int *)0x0) {\n                  do {\n                    bVar24 = true;\n                    pvVar10 = (void *)FUN_00037360();\n                    bVar22 = false;\n                    if (piVar11[1] == puVar19[1]) {\n                      iVar8 = FUN_00038b50();\n                      bVar24 = iVar8 == 0;\n                      bVar22 = !bVar24;\n                    }\n                    free(pvVar10);\n                    piVar11 = (int *)*piVar11;\n                  } while ((piVar11 != (int *)0x0) && (bVar24));\n                  if (bVar22) break;\n                }\n                if (DAT_00091a44 == 0) {\n                  pvVar10 = (void *)concat(DAT_00091ca8,"/usr/etc/ld.so.conf",0);\n                  iVar8 = FUN_00037470();\n                  if (iVar8 == 0) {\n                    free(pvVar10);\n                    pvVar10 = (void *)concat(DAT_00091ca8,"/etc/ld.so.conf",0);\n                    FUN_00037470();\n                  }\n                  free(pvVar10);\n                  DAT_00091a44 = 1;\n                }\n                pcVar14 = (char *)puVar19[2];\n                if (DAT_00091a40 != 0) {\n                  iVar8 = FUN_00038b50();\n                  if (iVar8 != 0) break;\n                  pcVar14 = (char *)puVar19[2];\n                }\n                sVar12 = strlen(pcVar14);\n                if (DAT_00091e04 != (int *)0x0) {\n                  piVar11 = DAT_00091e04;\n                  do {\n                    if (piVar11[2] == 0) {\n                      sVar13 = strlen((char *)piVar11[1]);\n                      pcVar14 = (char *)xmalloc(sVar13 + sVar12 + 2);\n                      sprintf(pcVar14,"%s/%s",piVar11[1],puVar19[2]);\n                      iVar8 = FUN_00038820();\n                      if (iVar8 != 0) goto LAB_00039300;\n                      free(pcVar14);\n                    }\n                    piVar11 = (int *)*piVar11;\n                  } while (piVar11 != (int *)0x0);\n                }\n                if (bVar3) {\n                  uVar9 = puVar19[1];\n                  uVar2 = puVar19[2];\n                  uVar15 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00031760(uVar15,uVar2,uVar9);\n                  break;\n                }\n                bVar3 = true;\n              }\n            }\n          }\n        }\nLAB_00039300:\n        uVar4 = DAT_00091c20._2_2_;\n      }\n      DAT_00091c20._3_1_ = (byte)(uVar4 >> 8);\n      bVar25 = DAT_00091c20._3_1_ & 0xc0;\n      if ((bVar25 == 0x80) && (iVar8 = bfd_elf_parse_eh_frame_entries(0,&DAT_00091c20), iVar8 == 0))\n      {\n        uVar9 = dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);\n        FUN_00031760(uVar9);\n      }\n    }\n  }" (if "if") (parenthesized_expression "(*(int *)(DAT_00091c3c + 0x28) == 1)" (( "(") (binary_expression "*(int *)(DAT_00091c3c + 0x28) == 1" (pointer_expression "*(int *)(DAT_00091c3c + 0x28)" (* "*") (cast_expression "(int *)(DAT_00091c3c + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_00091c3c + 0x28)" (( "(") (binary_expression "DAT_00091c3c + 0x28" (identifier "DAT_00091c3c") (+ "+") (number_literal "0x28")) () ")")))) (== "==") (number_literal "1")) () ")")) (compound_statement "{\n    if (DAT_00091ce0 != 0) {\n      unlink_if_ordinary(DAT_00091ce0);\n      DAT_00091c54 = bfd_openw(DAT_00091ce0,**(undefined4 **)(DAT_00091c50 + 4));\n      iVar16 = DAT_00091ce0;\n      if (DAT_00091c54 == 0) {\n        uVar9 = dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);\n        FUN_00031760(uVar9,iVar16);\n      }\n    }\n    iVar18 = DAT_00091c50;\n    iVar16 = DAT_00091c58;\n    if (DAT_00091a4c != (void *)0x0) {\n      for (; iVar16 != 0; iVar16 = *(int *)(iVar16 + 0x98)) {\n        if (((*(int *)(*(int *)(iVar16 + 4) + 4) == 5) && (*(int *)(iVar16 + 0x68) != 0)) &&\n           ((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0)) {\n          iVar17 = FUN_000353f0(DAT_00091a4c);\n          if ((iVar17 == 0) || (iVar17 + 0x10 == 0)) {\n            pcVar14 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar16 = bfd_make_section_with_flags(iVar16,".note.gnu.build-id",0x10402b);\n            if (iVar16 != 0) {\n              *(undefined4 *)(iVar16 + 0x40) = 2;\n              iVar18 = DAT_00091c50;\n              iVar1 = *(int *)(*(int *)(DAT_00091c50 + 0x9c) + 0x910);\n              *(code **)(iVar1 + 0x10) = FUN_000371f0;\n              pvVar10 = DAT_00091a4c;\n              *(int *)(iVar1 + 0x18) = iVar16;\n              *(void **)(iVar1 + 0x14) = pvVar10;\n              *(undefined4 *)(*(int *)(iVar16 + 0x8c) + 4) = 7;\n              *(int *)(iVar16 + 0x24) = iVar17 + 0x10;\n              goto LAB_00039178;\n            }\n            pcVar14 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          uVar9 = dcgettext(0,pcVar14,5);\n          FUN_00031760(uVar9);\n          break;\n        }\n      }\n      free(DAT_00091a4c);\n      DAT_00091a4c = (void *)0x0;\n      iVar18 = DAT_00091c50;\n    }\nLAB_00039178:\n    (**(code **)(*(int *)(*(int *)(iVar18 + 4) + 0x1c0) + 0x1bc))(&DAT_00091c20);\n    if (((byte)DAT_00091c20 & 3) == 2) {\n      if (DAT_00091c25 >> 7 == (~DAT_00091c26 & 1)) {\n        bfd_make_section_with_flags(DAT_00091c58,".note.GNU-stack",DAT_00091c25 >> 3 & 0x10 | 8);\n      }\n    }\n    else {\n      if (((DAT_00091c24 & 0x20) == 0) && (DAT_00091c58 != 0)) {\n        local_50 = 0;\n        bVar3 = false;\n        local_4c = 0;\n        iVar16 = DAT_00091c58;\n        do {\n          while ((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0) {\n            puVar19 = *(undefined4 **)(iVar16 + 0x60);\n            if (puVar19 == (undefined4 *)0x0) {\nLAB_00039697:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar22 = (undefined *)puVar19[0xf] < PTR__bfd_std_section_00090fc4 + 0x150;\n                bVar24 = (undefined *)puVar19[0xf] == PTR__bfd_std_section_00090fc4 + 0x150;\n                iVar18 = local_60;\n                if (!bVar24) {\n                  iVar17 = 0xf;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar22 = *pbVar20 < *pbVar21;\n                    bVar24 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar24);\n                  bVar23 = false;\n                  bVar22 = (!bVar22 && !bVar24) == bVar22;\n                  if (bVar22) {\n                    local_60 = 2;\n                    goto LAB_0003966f;\n                  }\n                  iVar17 = 10;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar23 = *pbVar20 < *pbVar21;\n                    bVar22 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar22);\n                  if (((!bVar23 && !bVar22) == bVar23) && (iVar18 = 1, (uint)puVar19[9] < 9)) {\n                    iVar18 = local_60;\n                  }\n                }\n                local_60 = iVar18;\n                puVar19 = (undefined4 *)puVar19[3];\n              } while (puVar19 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_00039697;\nLAB_0003966f:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar16 = local_4c;\n                }\n                uVar9 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00031760(uVar9,iVar16);\n                goto LAB_000396cd;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_00039697;\n              if (local_60 != 2) {\n                if ((DAT_00091c20._2_2_ & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar3 = true;\n                  if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                    local_4c = iVar16;\n                  }\n                }\n                break;\n              }\n              bVar3 = true;\n              if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                local_4c = iVar16;\n              }\n            }\n            iVar16 = *(int *)(iVar16 + 0x98);\n            local_50 = 2;\n            DAT_00091c20._2_2_ = DAT_00091c20._2_2_ & 0x3fff | 0x8000;\n            if (iVar16 == 0) goto LAB_000396cd;\n          }\n          iVar16 = *(int *)(iVar16 + 0x98);\n        } while (iVar16 != 0);\nLAB_000396cd:\n        if ((local_4c == 0) ||\n           (iVar16 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x20) | 8),\n           iVar16 == 0)) {\n          if (bVar3) {\n            uVar9 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00031760(uVar9);\n          }\n        }\n        else {\n          *(undefined4 *)(iVar16 + 0x40) = 2;\n          *(int *)(iVar8 + 0xac) = iVar16;\n        }\n      }\n      puVar6 = (undefined4 *)bfd_elf_get_needed_list(DAT_00091c50,&DAT_00091c20);\n      uVar4 = DAT_00091c20._2_2_;\n      for (puVar19 = puVar6; DAT_00091c20._2_2_ = uVar4, puVar19 != (undefined4 *)0x0;\n          puVar19 = (undefined4 *)*puVar19) {\n        puVar5 = puVar6;\n        if ((puVar19[1] == 0) ||\n           ((uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 1) == 0 &&\n            (((puVar19[1] == 0 || ((DAT_00091c20._2_2_ & 0x180) != 0x80)) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 4) == 0)))))) {\n          for (; puVar5 != puVar19; puVar5 = (undefined4 *)*puVar5) {\n            if (((puVar5[1] == 0) ||\n                (uVar7 = bfd_elf_get_dyn_lib_class(puVar5[1]), (uVar7 & 1) == 0)) &&\n               (iVar8 = strcmp((char *)puVar5[2],(char *)puVar19[2]), iVar8 == 0)) {\n              if (puVar19 != puVar5) goto LAB_00039300;\n              break;\n            }\n          }\n          DAT_00091ae4 = FUN_00038720;\n          DAT_00091a60 = 0;\n          DAT_00091ae0 = puVar19;\n          FUN_00024c50(FUN_00035720);\n          if ((DAT_00091a60 == 0) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_00091a60 + 0x10)),\n             (uVar7 & 1) != 0)) {\n            uVar9 = puVar19[1];\n            uVar2 = puVar19[2];\n            if (DAT_00091d90 != 0) {\n              uVar15 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00031730(uVar15,uVar2,uVar9);\n            }\n            if ((DAT_00091a60 == 0) || (iVar8 = FUN_00038820(), iVar8 == 0)) {\n              bVar3 = false;\n              while (iVar8 = FUN_00038b50(), iVar8 == 0) {\n                if (DAT_00091d04 != 0) {\n                  pvVar10 = (void *)FUN_00037360();\n                  iVar8 = FUN_00038b50();\n                  free(pvVar10);\n                  if (iVar8 != 0) break;\n                }\n                piVar11 = (int *)bfd_elf_get_runpath_list(DAT_00091c50,&DAT_00091c20);\n                if (piVar11 != (int *)0x0) {\n                  do {\n                    bVar24 = true;\n                    pvVar10 = (void *)FUN_00037360();\n                    bVar22 = false;\n                    if (piVar11[1] == puVar19[1]) {\n                      iVar8 = FUN_00038b50();\n                      bVar24 = iVar8 == 0;\n                      bVar22 = !bVar24;\n                    }\n                    free(pvVar10);\n                    piVar11 = (int *)*piVar11;\n                  } while ((piVar11 != (int *)0x0) && (bVar24));\n                  if (bVar22) break;\n                }\n                if (DAT_00091a44 == 0) {\n                  pvVar10 = (void *)concat(DAT_00091ca8,"/usr/etc/ld.so.conf",0);\n                  iVar8 = FUN_00037470();\n                  if (iVar8 == 0) {\n                    free(pvVar10);\n                    pvVar10 = (void *)concat(DAT_00091ca8,"/etc/ld.so.conf",0);\n                    FUN_00037470();\n                  }\n                  free(pvVar10);\n                  DAT_00091a44 = 1;\n                }\n                pcVar14 = (char *)puVar19[2];\n                if (DAT_00091a40 != 0) {\n                  iVar8 = FUN_00038b50();\n                  if (iVar8 != 0) break;\n                  pcVar14 = (char *)puVar19[2];\n                }\n                sVar12 = strlen(pcVar14);\n                if (DAT_00091e04 != (int *)0x0) {\n                  piVar11 = DAT_00091e04;\n                  do {\n                    if (piVar11[2] == 0) {\n                      sVar13 = strlen((char *)piVar11[1]);\n                      pcVar14 = (char *)xmalloc(sVar13 + sVar12 + 2);\n                      sprintf(pcVar14,"%s/%s",piVar11[1],puVar19[2]);\n                      iVar8 = FUN_00038820();\n                      if (iVar8 != 0) goto LAB_00039300;\n                      free(pcVar14);\n                    }\n                    piVar11 = (int *)*piVar11;\n                  } while (piVar11 != (int *)0x0);\n                }\n                if (bVar3) {\n                  uVar9 = puVar19[1];\n                  uVar2 = puVar19[2];\n                  uVar15 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00031760(uVar15,uVar2,uVar9);\n                  break;\n                }\n                bVar3 = true;\n              }\n            }\n          }\n        }\nLAB_00039300:\n        uVar4 = DAT_00091c20._2_2_;\n      }\n      DAT_00091c20._3_1_ = (byte)(uVar4 >> 8);\n      bVar25 = DAT_00091c20._3_1_ & 0xc0;\n      if ((bVar25 == 0x80) && (iVar8 = bfd_elf_parse_eh_frame_entries(0,&DAT_00091c20), iVar8 == 0))\n      {\n        uVar9 = dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);\n        FUN_00031760(uVar9);\n      }\n    }\n  }" ({ "{") (if_statement "if (DAT_00091ce0 != 0) {\n      unlink_if_ordinary(DAT_00091ce0);\n      DAT_00091c54 = bfd_openw(DAT_00091ce0,**(undefined4 **)(DAT_00091c50 + 4));\n      iVar16 = DAT_00091ce0;\n      if (DAT_00091c54 == 0) {\n        uVar9 = dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);\n        FUN_00031760(uVar9,iVar16);\n      }\n    }" (if "if") (parenthesized_expression "(DAT_00091ce0 != 0)" (( "(") (binary_expression "DAT_00091ce0 != 0" (identifier "DAT_00091ce0") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      unlink_if_ordinary(DAT_00091ce0);\n      DAT_00091c54 = bfd_openw(DAT_00091ce0,**(undefined4 **)(DAT_00091c50 + 4));\n      iVar16 = DAT_00091ce0;\n      if (DAT_00091c54 == 0) {\n        uVar9 = dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);\n        FUN_00031760(uVar9,iVar16);\n      }\n    }" ({ "{") (expression_statement "unlink_if_ordinary(DAT_00091ce0);" (call_expression "unlink_if_ordinary(DAT_00091ce0)" (identifier "unlink_if_ordinary") (argument_list "(DAT_00091ce0)" (( "(") (identifier "DAT_00091ce0") () ")"))) (; ";")) (expression_statement "DAT_00091c54 = bfd_openw(DAT_00091ce0,**(undefined4 **)(DAT_00091c50 + 4));" (assignment_expression "DAT_00091c54 = bfd_openw(DAT_00091ce0,**(undefined4 **)(DAT_00091c50 + 4))" (identifier "DAT_00091c54") (= "=") (call_expression "bfd_openw(DAT_00091ce0,**(undefined4 **)(DAT_00091c50 + 4))" (identifier "bfd_openw") (argument_list "(DAT_00091ce0,**(undefined4 **)(DAT_00091c50 + 4))" (( "(") (identifier "DAT_00091ce0") (, ",") (pointer_expression "**(undefined4 **)(DAT_00091c50 + 4)" (* "*") (pointer_expression "*(undefined4 **)(DAT_00091c50 + 4)" (* "*") (cast_expression "(undefined4 **)(DAT_00091c50 + 4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(DAT_00091c50 + 4)" (( "(") (binary_expression "DAT_00091c50 + 4" (identifier "DAT_00091c50") (+ "+") (number_literal "4")) () ")"))))) () ")")))) (; ";")) (expression_statement "iVar16 = DAT_00091ce0;" (assignment_expression "iVar16 = DAT_00091ce0" (identifier "iVar16") (= "=") (identifier "DAT_00091ce0")) (; ";")) (if_statement "if (DAT_00091c54 == 0) {\n        uVar9 = dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);\n        FUN_00031760(uVar9,iVar16);\n      }" (if "if") (parenthesized_expression "(DAT_00091c54 == 0)" (( "(") (binary_expression "DAT_00091c54 == 0" (identifier "DAT_00091c54") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        uVar9 = dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);\n        FUN_00031760(uVar9,iVar16);\n      }" ({ "{") (expression_statement "uVar9 = dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);" (assignment_expression "uVar9 = dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5)" (identifier "uVar9") (= "=") (call_expression "dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5)" (identifier "dcgettext") (argument_list "(0,"%F%P: %s: can\'t open for writing: %E\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""%F%P: %s: can\'t open for writing: %E\n"" (" """) (string_content "%F%P: %s: can") (escape_sequence "\'") (string_content "t open for writing: %E") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_00031760(uVar9,iVar16);" (call_expression "FUN_00031760(uVar9,iVar16)" (identifier "FUN_00031760") (argument_list "(uVar9,iVar16)" (( "(") (identifier "uVar9") (, ",") (identifier "iVar16") () ")"))) (; ";")) (} "}"))) (} "}"))) (expression_statement "iVar18 = DAT_00091c50;" (assignment_expression "iVar18 = DAT_00091c50" (identifier "iVar18") (= "=") (identifier "DAT_00091c50")) (; ";")) (expression_statement "iVar16 = DAT_00091c58;" (assignment_expression "iVar16 = DAT_00091c58" (identifier "iVar16") (= "=") (identifier "DAT_00091c58")) (; ";")) (if_statement "if (DAT_00091a4c != (void *)0x0) {\n      for (; iVar16 != 0; iVar16 = *(int *)(iVar16 + 0x98)) {\n        if (((*(int *)(*(int *)(iVar16 + 4) + 4) == 5) && (*(int *)(iVar16 + 0x68) != 0)) &&\n           ((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0)) {\n          iVar17 = FUN_000353f0(DAT_00091a4c);\n          if ((iVar17 == 0) || (iVar17 + 0x10 == 0)) {\n            pcVar14 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar16 = bfd_make_section_with_flags(iVar16,".note.gnu.build-id",0x10402b);\n            if (iVar16 != 0) {\n              *(undefined4 *)(iVar16 + 0x40) = 2;\n              iVar18 = DAT_00091c50;\n              iVar1 = *(int *)(*(int *)(DAT_00091c50 + 0x9c) + 0x910);\n              *(code **)(iVar1 + 0x10) = FUN_000371f0;\n              pvVar10 = DAT_00091a4c;\n              *(int *)(iVar1 + 0x18) = iVar16;\n              *(void **)(iVar1 + 0x14) = pvVar10;\n              *(undefined4 *)(*(int *)(iVar16 + 0x8c) + 4) = 7;\n              *(int *)(iVar16 + 0x24) = iVar17 + 0x10;\n              goto LAB_00039178;\n            }\n            pcVar14 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          uVar9 = dcgettext(0,pcVar14,5);\n          FUN_00031760(uVar9);\n          break;\n        }\n      }\n      free(DAT_00091a4c);\n      DAT_00091a4c = (void *)0x0;\n      iVar18 = DAT_00091c50;\n    }" (if "if") (parenthesized_expression "(DAT_00091a4c != (void *)0x0)" (( "(") (binary_expression "DAT_00091a4c != (void *)0x0" (identifier "DAT_00091a4c") (!= "!=") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      for (; iVar16 != 0; iVar16 = *(int *)(iVar16 + 0x98)) {\n        if (((*(int *)(*(int *)(iVar16 + 4) + 4) == 5) && (*(int *)(iVar16 + 0x68) != 0)) &&\n           ((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0)) {\n          iVar17 = FUN_000353f0(DAT_00091a4c);\n          if ((iVar17 == 0) || (iVar17 + 0x10 == 0)) {\n            pcVar14 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar16 = bfd_make_section_with_flags(iVar16,".note.gnu.build-id",0x10402b);\n            if (iVar16 != 0) {\n              *(undefined4 *)(iVar16 + 0x40) = 2;\n              iVar18 = DAT_00091c50;\n              iVar1 = *(int *)(*(int *)(DAT_00091c50 + 0x9c) + 0x910);\n              *(code **)(iVar1 + 0x10) = FUN_000371f0;\n              pvVar10 = DAT_00091a4c;\n              *(int *)(iVar1 + 0x18) = iVar16;\n              *(void **)(iVar1 + 0x14) = pvVar10;\n              *(undefined4 *)(*(int *)(iVar16 + 0x8c) + 4) = 7;\n              *(int *)(iVar16 + 0x24) = iVar17 + 0x10;\n              goto LAB_00039178;\n            }\n            pcVar14 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          uVar9 = dcgettext(0,pcVar14,5);\n          FUN_00031760(uVar9);\n          break;\n        }\n      }\n      free(DAT_00091a4c);\n      DAT_00091a4c = (void *)0x0;\n      iVar18 = DAT_00091c50;\n    }" ({ "{") (for_statement "for (; iVar16 != 0; iVar16 = *(int *)(iVar16 + 0x98)) {\n        if (((*(int *)(*(int *)(iVar16 + 4) + 4) == 5) && (*(int *)(iVar16 + 0x68) != 0)) &&\n           ((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0)) {\n          iVar17 = FUN_000353f0(DAT_00091a4c);\n          if ((iVar17 == 0) || (iVar17 + 0x10 == 0)) {\n            pcVar14 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar16 = bfd_make_section_with_flags(iVar16,".note.gnu.build-id",0x10402b);\n            if (iVar16 != 0) {\n              *(undefined4 *)(iVar16 + 0x40) = 2;\n              iVar18 = DAT_00091c50;\n              iVar1 = *(int *)(*(int *)(DAT_00091c50 + 0x9c) + 0x910);\n              *(code **)(iVar1 + 0x10) = FUN_000371f0;\n              pvVar10 = DAT_00091a4c;\n              *(int *)(iVar1 + 0x18) = iVar16;\n              *(void **)(iVar1 + 0x14) = pvVar10;\n              *(undefined4 *)(*(int *)(iVar16 + 0x8c) + 4) = 7;\n              *(int *)(iVar16 + 0x24) = iVar17 + 0x10;\n              goto LAB_00039178;\n            }\n            pcVar14 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          uVar9 = dcgettext(0,pcVar14,5);\n          FUN_00031760(uVar9);\n          break;\n        }\n      }" (for "for") (( "(") (; ";") (binary_expression "iVar16 != 0" (identifier "iVar16") (!= "!=") (number_literal "0")) (; ";") (assignment_expression "iVar16 = *(int *)(iVar16 + 0x98)" (identifier "iVar16") (= "=") (pointer_expression "*(int *)(iVar16 + 0x98)" (* "*") (cast_expression "(int *)(iVar16 + 0x98)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + 0x98)" (( "(") (binary_expression "iVar16 + 0x98" (identifier "iVar16") (+ "+") (number_literal "0x98")) () ")"))))) () ")") (compound_statement "{\n        if (((*(int *)(*(int *)(iVar16 + 4) + 4) == 5) && (*(int *)(iVar16 + 0x68) != 0)) &&\n           ((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0)) {\n          iVar17 = FUN_000353f0(DAT_00091a4c);\n          if ((iVar17 == 0) || (iVar17 + 0x10 == 0)) {\n            pcVar14 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar16 = bfd_make_section_with_flags(iVar16,".note.gnu.build-id",0x10402b);\n            if (iVar16 != 0) {\n              *(undefined4 *)(iVar16 + 0x40) = 2;\n              iVar18 = DAT_00091c50;\n              iVar1 = *(int *)(*(int *)(DAT_00091c50 + 0x9c) + 0x910);\n              *(code **)(iVar1 + 0x10) = FUN_000371f0;\n              pvVar10 = DAT_00091a4c;\n              *(int *)(iVar1 + 0x18) = iVar16;\n              *(void **)(iVar1 + 0x14) = pvVar10;\n              *(undefined4 *)(*(int *)(iVar16 + 0x8c) + 4) = 7;\n              *(int *)(iVar16 + 0x24) = iVar17 + 0x10;\n              goto LAB_00039178;\n            }\n            pcVar14 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          uVar9 = dcgettext(0,pcVar14,5);\n          FUN_00031760(uVar9);\n          break;\n        }\n      }" ({ "{") (if_statement "if (((*(int *)(*(int *)(iVar16 + 4) + 4) == 5) && (*(int *)(iVar16 + 0x68) != 0)) &&\n           ((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0)) {\n          iVar17 = FUN_000353f0(DAT_00091a4c);\n          if ((iVar17 == 0) || (iVar17 + 0x10 == 0)) {\n            pcVar14 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar16 = bfd_make_section_with_flags(iVar16,".note.gnu.build-id",0x10402b);\n            if (iVar16 != 0) {\n              *(undefined4 *)(iVar16 + 0x40) = 2;\n              iVar18 = DAT_00091c50;\n              iVar1 = *(int *)(*(int *)(DAT_00091c50 + 0x9c) + 0x910);\n              *(code **)(iVar1 + 0x10) = FUN_000371f0;\n              pvVar10 = DAT_00091a4c;\n              *(int *)(iVar1 + 0x18) = iVar16;\n              *(void **)(iVar1 + 0x14) = pvVar10;\n              *(undefined4 *)(*(int *)(iVar16 + 0x8c) + 4) = 7;\n              *(int *)(iVar16 + 0x24) = iVar17 + 0x10;\n              goto LAB_00039178;\n            }\n            pcVar14 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          uVar9 = dcgettext(0,pcVar14,5);\n          FUN_00031760(uVar9);\n          break;\n        }" (if "if") (parenthesized_expression "(((*(int *)(*(int *)(iVar16 + 4) + 4) == 5) && (*(int *)(iVar16 + 0x68) != 0)) &&\n           ((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0))" (( "(") (binary_expression "((*(int *)(*(int *)(iVar16 + 4) + 4) == 5) && (*(int *)(iVar16 + 0x68) != 0)) &&\n           ((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0)" (parenthesized_expression "((*(int *)(*(int *)(iVar16 + 4) + 4) == 5) && (*(int *)(iVar16 + 0x68) != 0))" (( "(") (binary_expression "(*(int *)(*(int *)(iVar16 + 4) + 4) == 5) && (*(int *)(iVar16 + 0x68) != 0)" (parenthesized_expression "(*(int *)(*(int *)(iVar16 + 4) + 4) == 5)" (( "(") (binary_expression "*(int *)(*(int *)(iVar16 + 4) + 4) == 5" (pointer_expression "*(int *)(*(int *)(iVar16 + 4) + 4)" (* "*") (cast_expression "(int *)(*(int *)(iVar16 + 4) + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar16 + 4) + 4)" (( "(") (binary_expression "*(int *)(iVar16 + 4) + 4" (pointer_expression "*(int *)(iVar16 + 4)" (* "*") (cast_expression "(int *)(iVar16 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + 4)" (( "(") (binary_expression "iVar16 + 4" (identifier "iVar16") (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "4")) () ")")))) (== "==") (number_literal "5")) () ")")) (&& "&&") (parenthesized_expression "(*(int *)(iVar16 + 0x68) != 0)" (( "(") (binary_expression "*(int *)(iVar16 + 0x68) != 0" (pointer_expression "*(int *)(iVar16 + 0x68)" (* "*") (cast_expression "(int *)(iVar16 + 0x68)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + 0x68)" (( "(") (binary_expression "iVar16 + 0x68" (identifier "iVar16") (+ "+") (number_literal "0x68")) () ")")))) (!= "!=") (number_literal "0")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0)" (( "(") (binary_expression "(*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0" (parenthesized_expression "(*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10)" (( "(") (binary_expression "*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10" (pointer_expression "*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24)" (* "*") (cast_expression "(byte *)(*(int *)(iVar16 + 0xa0) + 0x24)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar16 + 0xa0) + 0x24)" (( "(") (binary_expression "*(int *)(iVar16 + 0xa0) + 0x24" (pointer_expression "*(int *)(iVar16 + 0xa0)" (* "*") (cast_expression "(int *)(iVar16 + 0xa0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + 0xa0)" (( "(") (binary_expression "iVar16 + 0xa0" (identifier "iVar16") (+ "+") (number_literal "0xa0")) () ")")))) (+ "+") (number_literal "0x24")) () ")")))) (& "&") (number_literal "0x10")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n          iVar17 = FUN_000353f0(DAT_00091a4c);\n          if ((iVar17 == 0) || (iVar17 + 0x10 == 0)) {\n            pcVar14 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar16 = bfd_make_section_with_flags(iVar16,".note.gnu.build-id",0x10402b);\n            if (iVar16 != 0) {\n              *(undefined4 *)(iVar16 + 0x40) = 2;\n              iVar18 = DAT_00091c50;\n              iVar1 = *(int *)(*(int *)(DAT_00091c50 + 0x9c) + 0x910);\n              *(code **)(iVar1 + 0x10) = FUN_000371f0;\n              pvVar10 = DAT_00091a4c;\n              *(int *)(iVar1 + 0x18) = iVar16;\n              *(void **)(iVar1 + 0x14) = pvVar10;\n              *(undefined4 *)(*(int *)(iVar16 + 0x8c) + 4) = 7;\n              *(int *)(iVar16 + 0x24) = iVar17 + 0x10;\n              goto LAB_00039178;\n            }\n            pcVar14 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          uVar9 = dcgettext(0,pcVar14,5);\n          FUN_00031760(uVar9);\n          break;\n        }" ({ "{") (expression_statement "iVar17 = FUN_000353f0(DAT_00091a4c);" (assignment_expression "iVar17 = FUN_000353f0(DAT_00091a4c)" (identifier "iVar17") (= "=") (call_expression "FUN_000353f0(DAT_00091a4c)" (identifier "FUN_000353f0") (argument_list "(DAT_00091a4c)" (( "(") (identifier "DAT_00091a4c") () ")")))) (; ";")) (if_statement "if ((iVar17 == 0) || (iVar17 + 0x10 == 0)) {\n            pcVar14 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar16 = bfd_make_section_with_flags(iVar16,".note.gnu.build-id",0x10402b);\n            if (iVar16 != 0) {\n              *(undefined4 *)(iVar16 + 0x40) = 2;\n              iVar18 = DAT_00091c50;\n              iVar1 = *(int *)(*(int *)(DAT_00091c50 + 0x9c) + 0x910);\n              *(code **)(iVar1 + 0x10) = FUN_000371f0;\n              pvVar10 = DAT_00091a4c;\n              *(int *)(iVar1 + 0x18) = iVar16;\n              *(void **)(iVar1 + 0x14) = pvVar10;\n              *(undefined4 *)(*(int *)(iVar16 + 0x8c) + 4) = 7;\n              *(int *)(iVar16 + 0x24) = iVar17 + 0x10;\n              goto LAB_00039178;\n            }\n            pcVar14 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }" (if "if") (parenthesized_expression "((iVar17 == 0) || (iVar17 + 0x10 == 0))" (( "(") (binary_expression "(iVar17 == 0) || (iVar17 + 0x10 == 0)" (parenthesized_expression "(iVar17 == 0)" (( "(") (binary_expression "iVar17 == 0" (identifier "iVar17") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar17 + 0x10 == 0)" (( "(") (binary_expression "iVar17 + 0x10 == 0" (binary_expression "iVar17 + 0x10" (identifier "iVar17") (+ "+") (number_literal "0x10")) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n            pcVar14 = "%P: warning: unrecognized --build-id style ignored\n";\n          }" ({ "{") (expression_statement "pcVar14 = "%P: warning: unrecognized --build-id style ignored\n";" (assignment_expression "pcVar14 = "%P: warning: unrecognized --build-id style ignored\n"" (identifier "pcVar14") (= "=") (string_literal ""%P: warning: unrecognized --build-id style ignored\n"" (" """) (string_content "%P: warning: unrecognized --build-id style ignored") (escape_sequence "\n") (" """))) (; ";")) (} "}")) (else_clause "else {\n            iVar16 = bfd_make_section_with_flags(iVar16,".note.gnu.build-id",0x10402b);\n            if (iVar16 != 0) {\n              *(undefined4 *)(iVar16 + 0x40) = 2;\n              iVar18 = DAT_00091c50;\n              iVar1 = *(int *)(*(int *)(DAT_00091c50 + 0x9c) + 0x910);\n              *(code **)(iVar1 + 0x10) = FUN_000371f0;\n              pvVar10 = DAT_00091a4c;\n              *(int *)(iVar1 + 0x18) = iVar16;\n              *(void **)(iVar1 + 0x14) = pvVar10;\n              *(undefined4 *)(*(int *)(iVar16 + 0x8c) + 4) = 7;\n              *(int *)(iVar16 + 0x24) = iVar17 + 0x10;\n              goto LAB_00039178;\n            }\n            pcVar14 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }" (else "else") (compound_statement "{\n            iVar16 = bfd_make_section_with_flags(iVar16,".note.gnu.build-id",0x10402b);\n            if (iVar16 != 0) {\n              *(undefined4 *)(iVar16 + 0x40) = 2;\n              iVar18 = DAT_00091c50;\n              iVar1 = *(int *)(*(int *)(DAT_00091c50 + 0x9c) + 0x910);\n              *(code **)(iVar1 + 0x10) = FUN_000371f0;\n              pvVar10 = DAT_00091a4c;\n              *(int *)(iVar1 + 0x18) = iVar16;\n              *(void **)(iVar1 + 0x14) = pvVar10;\n              *(undefined4 *)(*(int *)(iVar16 + 0x8c) + 4) = 7;\n              *(int *)(iVar16 + 0x24) = iVar17 + 0x10;\n              goto LAB_00039178;\n            }\n            pcVar14 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }" ({ "{") (expression_statement "iVar16 = bfd_make_section_with_flags(iVar16,".note.gnu.build-id",0x10402b);" (assignment_expression "iVar16 = bfd_make_section_with_flags(iVar16,".note.gnu.build-id",0x10402b)" (identifier "iVar16") (= "=") (call_expression "bfd_make_section_with_flags(iVar16,".note.gnu.build-id",0x10402b)" (identifier "bfd_make_section_with_flags") (argument_list "(iVar16,".note.gnu.build-id",0x10402b)" (( "(") (identifier "iVar16") (, ",") (string_literal "".note.gnu.build-id"" (" """) (string_content ".note.gnu.build-id") (" """)) (, ",") (number_literal "0x10402b") () ")")))) (; ";")) (if_statement "if (iVar16 != 0) {\n              *(undefined4 *)(iVar16 + 0x40) = 2;\n              iVar18 = DAT_00091c50;\n              iVar1 = *(int *)(*(int *)(DAT_00091c50 + 0x9c) + 0x910);\n              *(code **)(iVar1 + 0x10) = FUN_000371f0;\n              pvVar10 = DAT_00091a4c;\n              *(int *)(iVar1 + 0x18) = iVar16;\n              *(void **)(iVar1 + 0x14) = pvVar10;\n              *(undefined4 *)(*(int *)(iVar16 + 0x8c) + 4) = 7;\n              *(int *)(iVar16 + 0x24) = iVar17 + 0x10;\n              goto LAB_00039178;\n            }" (if "if") (parenthesized_expression "(iVar16 != 0)" (( "(") (binary_expression "iVar16 != 0" (identifier "iVar16") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              *(undefined4 *)(iVar16 + 0x40) = 2;\n              iVar18 = DAT_00091c50;\n              iVar1 = *(int *)(*(int *)(DAT_00091c50 + 0x9c) + 0x910);\n              *(code **)(iVar1 + 0x10) = FUN_000371f0;\n              pvVar10 = DAT_00091a4c;\n              *(int *)(iVar1 + 0x18) = iVar16;\n              *(void **)(iVar1 + 0x14) = pvVar10;\n              *(undefined4 *)(*(int *)(iVar16 + 0x8c) + 4) = 7;\n              *(int *)(iVar16 + 0x24) = iVar17 + 0x10;\n              goto LAB_00039178;\n            }" ({ "{") (expression_statement "*(undefined4 *)(iVar16 + 0x40) = 2;" (assignment_expression "*(undefined4 *)(iVar16 + 0x40) = 2" (pointer_expression "*(undefined4 *)(iVar16 + 0x40)" (* "*") (cast_expression "(undefined4 *)(iVar16 + 0x40)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + 0x40)" (( "(") (binary_expression "iVar16 + 0x40" (identifier "iVar16") (+ "+") (number_literal "0x40")) () ")")))) (= "=") (number_literal "2")) (; ";")) (expression_statement "iVar18 = DAT_00091c50;" (assignment_expression "iVar18 = DAT_00091c50" (identifier "iVar18") (= "=") (identifier "DAT_00091c50")) (; ";")) (expression_statement "iVar1 = *(int *)(*(int *)(DAT_00091c50 + 0x9c) + 0x910);" (assignment_expression "iVar1 = *(int *)(*(int *)(DAT_00091c50 + 0x9c) + 0x910)" (identifier "iVar1") (= "=") (pointer_expression "*(int *)(*(int *)(DAT_00091c50 + 0x9c) + 0x910)" (* "*") (cast_expression "(int *)(*(int *)(DAT_00091c50 + 0x9c) + 0x910)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(DAT_00091c50 + 0x9c) + 0x910)" (( "(") (binary_expression "*(int *)(DAT_00091c50 + 0x9c) + 0x910" (pointer_expression "*(int *)(DAT_00091c50 + 0x9c)" (* "*") (cast_expression "(int *)(DAT_00091c50 + 0x9c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_00091c50 + 0x9c)" (( "(") (binary_expression "DAT_00091c50 + 0x9c" (identifier "DAT_00091c50") (+ "+") (number_literal "0x9c")) () ")")))) (+ "+") (number_literal "0x910")) () ")"))))) (; ";")) (expression_statement "*(code **)(iVar1 + 0x10) = FUN_000371f0;" (assignment_expression "*(code **)(iVar1 + 0x10) = FUN_000371f0" (pointer_expression "*(code **)(iVar1 + 0x10)" (* "*") (cast_expression "(code **)(iVar1 + 0x10)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar1 + 0x10)" (( "(") (binary_expression "iVar1 + 0x10" (identifier "iVar1") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (identifier "FUN_000371f0")) (; ";")) (expression_statement "pvVar10 = DAT_00091a4c;" (assignment_expression "pvVar10 = DAT_00091a4c" (identifier "pvVar10") (= "=") (identifier "DAT_00091a4c")) (; ";")) (expression_statement "*(int *)(iVar1 + 0x18) = iVar16;" (assignment_expression "*(int *)(iVar1 + 0x18) = iVar16" (pointer_expression "*(int *)(iVar1 + 0x18)" (* "*") (cast_expression "(int *)(iVar1 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x18)" (( "(") (binary_expression "iVar1 + 0x18" (identifier "iVar1") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (identifier "iVar16")) (; ";")) (expression_statement "*(void **)(iVar1 + 0x14) = pvVar10;" (assignment_expression "*(void **)(iVar1 + 0x14) = pvVar10" (pointer_expression "*(void **)(iVar1 + 0x14)" (* "*") (cast_expression "(void **)(iVar1 + 0x14)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar1 + 0x14)" (( "(") (binary_expression "iVar1 + 0x14" (identifier "iVar1") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (identifier "pvVar10")) (; ";")) (expression_statement "*(undefined4 *)(*(int *)(iVar16 + 0x8c) + 4) = 7;" (assignment_expression "*(undefined4 *)(*(int *)(iVar16 + 0x8c) + 4) = 7" (pointer_expression "*(undefined4 *)(*(int *)(iVar16 + 0x8c) + 4)" (* "*") (cast_expression "(undefined4 *)(*(int *)(iVar16 + 0x8c) + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar16 + 0x8c) + 4)" (( "(") (binary_expression "*(int *)(iVar16 + 0x8c) + 4" (pointer_expression "*(int *)(iVar16 + 0x8c)" (* "*") (cast_expression "(int *)(iVar16 + 0x8c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + 0x8c)" (( "(") (binary_expression "iVar16 + 0x8c" (identifier "iVar16") (+ "+") (number_literal "0x8c")) () ")")))) (+ "+") (number_literal "4")) () ")")))) (= "=") (number_literal "7")) (; ";")) (expression_statement "*(int *)(iVar16 + 0x24) = iVar17 + 0x10;" (assignment_expression "*(int *)(iVar16 + 0x24) = iVar17 + 0x10" (pointer_expression "*(int *)(iVar16 + 0x24)" (* "*") (cast_expression "(int *)(iVar16 + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + 0x24)" (( "(") (binary_expression "iVar16 + 0x24" (identifier "iVar16") (+ "+") (number_literal "0x24")) () ")")))) (= "=") (binary_expression "iVar17 + 0x10" (identifier "iVar17") (+ "+") (number_literal "0x10"))) (; ";")) (goto_statement "goto LAB_00039178;" (goto "goto") (statement_identifier "LAB_00039178") (; ";")) (} "}"))) (expression_statement "pcVar14 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";" (assignment_expression "pcVar14 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n"" (identifier "pcVar14") (= "=") (string_literal ""%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n"" (" """) (string_content "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored") (escape_sequence "\n") (" """))) (; ";")) (} "}")))) (expression_statement "uVar9 = dcgettext(0,pcVar14,5);" (assignment_expression "uVar9 = dcgettext(0,pcVar14,5)" (identifier "uVar9") (= "=") (call_expression "dcgettext(0,pcVar14,5)" (identifier "dcgettext") (argument_list "(0,pcVar14,5)" (( "(") (number_literal "0") (, ",") (identifier "pcVar14") (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_00031760(uVar9);" (call_expression "FUN_00031760(uVar9)" (identifier "FUN_00031760") (argument_list "(uVar9)" (( "(") (identifier "uVar9") () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";")) (} "}"))) (} "}"))) (expression_statement "free(DAT_00091a4c);" (call_expression "free(DAT_00091a4c)" (identifier "free") (argument_list "(DAT_00091a4c)" (( "(") (identifier "DAT_00091a4c") () ")"))) (; ";")) (expression_statement "DAT_00091a4c = (void *)0x0;" (assignment_expression "DAT_00091a4c = (void *)0x0" (identifier "DAT_00091a4c") (= "=") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar18 = DAT_00091c50;" (assignment_expression "iVar18 = DAT_00091c50" (identifier "iVar18") (= "=") (identifier "DAT_00091c50")) (; ";")) (} "}"))) (labeled_statement "LAB_00039178:\n    (**(code **)(*(int *)(*(int *)(iVar18 + 4) + 0x1c0) + 0x1bc))(&DAT_00091c20);" (statement_identifier "LAB_00039178") (: ":") (expression_statement "(**(code **)(*(int *)(*(int *)(iVar18 + 4) + 0x1c0) + 0x1bc))(&DAT_00091c20);" (call_expression "(**(code **)(*(int *)(*(int *)(iVar18 + 4) + 0x1c0) + 0x1bc))(&DAT_00091c20)" (parenthesized_expression "(**(code **)(*(int *)(*(int *)(iVar18 + 4) + 0x1c0) + 0x1bc))" (( "(") (pointer_expression "**(code **)(*(int *)(*(int *)(iVar18 + 4) + 0x1c0) + 0x1bc)" (* "*") (pointer_expression "*(code **)(*(int *)(*(int *)(iVar18 + 4) + 0x1c0) + 0x1bc)" (* "*") (cast_expression "(code **)(*(int *)(*(int *)(iVar18 + 4) + 0x1c0) + 0x1bc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(*(int *)(iVar18 + 4) + 0x1c0) + 0x1bc)" (( "(") (binary_expression "*(int *)(*(int *)(iVar18 + 4) + 0x1c0) + 0x1bc" (pointer_expression "*(int *)(*(int *)(iVar18 + 4) + 0x1c0)" (* "*") (cast_expression "(int *)(*(int *)(iVar18 + 4) + 0x1c0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar18 + 4) + 0x1c0)" (( "(") (binary_expression "*(int *)(iVar18 + 4) + 0x1c0" (pointer_expression "*(int *)(iVar18 + 4)" (* "*") (cast_expression "(int *)(iVar18 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar18 + 4)" (( "(") (binary_expression "iVar18 + 4" (identifier "iVar18") (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "0x1c0")) () ")")))) (+ "+") (number_literal "0x1bc")) () ")"))))) () ")")) (argument_list "(&DAT_00091c20)" (( "(") (pointer_expression "&DAT_00091c20" (& "&") (identifier "DAT_00091c20")) () ")"))) (; ";"))) (if_statement "if (((byte)DAT_00091c20 & 3) == 2) {\n      if (DAT_00091c25 >> 7 == (~DAT_00091c26 & 1)) {\n        bfd_make_section_with_flags(DAT_00091c58,".note.GNU-stack",DAT_00091c25 >> 3 & 0x10 | 8);\n      }\n    }\n    else {\n      if (((DAT_00091c24 & 0x20) == 0) && (DAT_00091c58 != 0)) {\n        local_50 = 0;\n        bVar3 = false;\n        local_4c = 0;\n        iVar16 = DAT_00091c58;\n        do {\n          while ((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0) {\n            puVar19 = *(undefined4 **)(iVar16 + 0x60);\n            if (puVar19 == (undefined4 *)0x0) {\nLAB_00039697:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar22 = (undefined *)puVar19[0xf] < PTR__bfd_std_section_00090fc4 + 0x150;\n                bVar24 = (undefined *)puVar19[0xf] == PTR__bfd_std_section_00090fc4 + 0x150;\n                iVar18 = local_60;\n                if (!bVar24) {\n                  iVar17 = 0xf;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar22 = *pbVar20 < *pbVar21;\n                    bVar24 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar24);\n                  bVar23 = false;\n                  bVar22 = (!bVar22 && !bVar24) == bVar22;\n                  if (bVar22) {\n                    local_60 = 2;\n                    goto LAB_0003966f;\n                  }\n                  iVar17 = 10;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar23 = *pbVar20 < *pbVar21;\n                    bVar22 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar22);\n                  if (((!bVar23 && !bVar22) == bVar23) && (iVar18 = 1, (uint)puVar19[9] < 9)) {\n                    iVar18 = local_60;\n                  }\n                }\n                local_60 = iVar18;\n                puVar19 = (undefined4 *)puVar19[3];\n              } while (puVar19 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_00039697;\nLAB_0003966f:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar16 = local_4c;\n                }\n                uVar9 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00031760(uVar9,iVar16);\n                goto LAB_000396cd;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_00039697;\n              if (local_60 != 2) {\n                if ((DAT_00091c20._2_2_ & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar3 = true;\n                  if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                    local_4c = iVar16;\n                  }\n                }\n                break;\n              }\n              bVar3 = true;\n              if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                local_4c = iVar16;\n              }\n            }\n            iVar16 = *(int *)(iVar16 + 0x98);\n            local_50 = 2;\n            DAT_00091c20._2_2_ = DAT_00091c20._2_2_ & 0x3fff | 0x8000;\n            if (iVar16 == 0) goto LAB_000396cd;\n          }\n          iVar16 = *(int *)(iVar16 + 0x98);\n        } while (iVar16 != 0);\nLAB_000396cd:\n        if ((local_4c == 0) ||\n           (iVar16 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x20) | 8),\n           iVar16 == 0)) {\n          if (bVar3) {\n            uVar9 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00031760(uVar9);\n          }\n        }\n        else {\n          *(undefined4 *)(iVar16 + 0x40) = 2;\n          *(int *)(iVar8 + 0xac) = iVar16;\n        }\n      }\n      puVar6 = (undefined4 *)bfd_elf_get_needed_list(DAT_00091c50,&DAT_00091c20);\n      uVar4 = DAT_00091c20._2_2_;\n      for (puVar19 = puVar6; DAT_00091c20._2_2_ = uVar4, puVar19 != (undefined4 *)0x0;\n          puVar19 = (undefined4 *)*puVar19) {\n        puVar5 = puVar6;\n        if ((puVar19[1] == 0) ||\n           ((uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 1) == 0 &&\n            (((puVar19[1] == 0 || ((DAT_00091c20._2_2_ & 0x180) != 0x80)) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 4) == 0)))))) {\n          for (; puVar5 != puVar19; puVar5 = (undefined4 *)*puVar5) {\n            if (((puVar5[1] == 0) ||\n                (uVar7 = bfd_elf_get_dyn_lib_class(puVar5[1]), (uVar7 & 1) == 0)) &&\n               (iVar8 = strcmp((char *)puVar5[2],(char *)puVar19[2]), iVar8 == 0)) {\n              if (puVar19 != puVar5) goto LAB_00039300;\n              break;\n            }\n          }\n          DAT_00091ae4 = FUN_00038720;\n          DAT_00091a60 = 0;\n          DAT_00091ae0 = puVar19;\n          FUN_00024c50(FUN_00035720);\n          if ((DAT_00091a60 == 0) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_00091a60 + 0x10)),\n             (uVar7 & 1) != 0)) {\n            uVar9 = puVar19[1];\n            uVar2 = puVar19[2];\n            if (DAT_00091d90 != 0) {\n              uVar15 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00031730(uVar15,uVar2,uVar9);\n            }\n            if ((DAT_00091a60 == 0) || (iVar8 = FUN_00038820(), iVar8 == 0)) {\n              bVar3 = false;\n              while (iVar8 = FUN_00038b50(), iVar8 == 0) {\n                if (DAT_00091d04 != 0) {\n                  pvVar10 = (void *)FUN_00037360();\n                  iVar8 = FUN_00038b50();\n                  free(pvVar10);\n                  if (iVar8 != 0) break;\n                }\n                piVar11 = (int *)bfd_elf_get_runpath_list(DAT_00091c50,&DAT_00091c20);\n                if (piVar11 != (int *)0x0) {\n                  do {\n                    bVar24 = true;\n                    pvVar10 = (void *)FUN_00037360();\n                    bVar22 = false;\n                    if (piVar11[1] == puVar19[1]) {\n                      iVar8 = FUN_00038b50();\n                      bVar24 = iVar8 == 0;\n                      bVar22 = !bVar24;\n                    }\n                    free(pvVar10);\n                    piVar11 = (int *)*piVar11;\n                  } while ((piVar11 != (int *)0x0) && (bVar24));\n                  if (bVar22) break;\n                }\n                if (DAT_00091a44 == 0) {\n                  pvVar10 = (void *)concat(DAT_00091ca8,"/usr/etc/ld.so.conf",0);\n                  iVar8 = FUN_00037470();\n                  if (iVar8 == 0) {\n                    free(pvVar10);\n                    pvVar10 = (void *)concat(DAT_00091ca8,"/etc/ld.so.conf",0);\n                    FUN_00037470();\n                  }\n                  free(pvVar10);\n                  DAT_00091a44 = 1;\n                }\n                pcVar14 = (char *)puVar19[2];\n                if (DAT_00091a40 != 0) {\n                  iVar8 = FUN_00038b50();\n                  if (iVar8 != 0) break;\n                  pcVar14 = (char *)puVar19[2];\n                }\n                sVar12 = strlen(pcVar14);\n                if (DAT_00091e04 != (int *)0x0) {\n                  piVar11 = DAT_00091e04;\n                  do {\n                    if (piVar11[2] == 0) {\n                      sVar13 = strlen((char *)piVar11[1]);\n                      pcVar14 = (char *)xmalloc(sVar13 + sVar12 + 2);\n                      sprintf(pcVar14,"%s/%s",piVar11[1],puVar19[2]);\n                      iVar8 = FUN_00038820();\n                      if (iVar8 != 0) goto LAB_00039300;\n                      free(pcVar14);\n                    }\n                    piVar11 = (int *)*piVar11;\n                  } while (piVar11 != (int *)0x0);\n                }\n                if (bVar3) {\n                  uVar9 = puVar19[1];\n                  uVar2 = puVar19[2];\n                  uVar15 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00031760(uVar15,uVar2,uVar9);\n                  break;\n                }\n                bVar3 = true;\n              }\n            }\n          }\n        }\nLAB_00039300:\n        uVar4 = DAT_00091c20._2_2_;\n      }\n      DAT_00091c20._3_1_ = (byte)(uVar4 >> 8);\n      bVar25 = DAT_00091c20._3_1_ & 0xc0;\n      if ((bVar25 == 0x80) && (iVar8 = bfd_elf_parse_eh_frame_entries(0,&DAT_00091c20), iVar8 == 0))\n      {\n        uVar9 = dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);\n        FUN_00031760(uVar9);\n      }\n    }" (if "if") (parenthesized_expression "(((byte)DAT_00091c20 & 3) == 2)" (( "(") (binary_expression "((byte)DAT_00091c20 & 3) == 2" (parenthesized_expression "((byte)DAT_00091c20 & 3)" (( "(") (binary_expression "(byte)DAT_00091c20 & 3" (cast_expression "(byte)DAT_00091c20" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "DAT_00091c20")) (& "&") (number_literal "3")) () ")")) (== "==") (number_literal "2")) () ")")) (compound_statement "{\n      if (DAT_00091c25 >> 7 == (~DAT_00091c26 & 1)) {\n        bfd_make_section_with_flags(DAT_00091c58,".note.GNU-stack",DAT_00091c25 >> 3 & 0x10 | 8);\n      }\n    }" ({ "{") (if_statement "if (DAT_00091c25 >> 7 == (~DAT_00091c26 & 1)) {\n        bfd_make_section_with_flags(DAT_00091c58,".note.GNU-stack",DAT_00091c25 >> 3 & 0x10 | 8);\n      }" (if "if") (parenthesized_expression "(DAT_00091c25 >> 7 == (~DAT_00091c26 & 1))" (( "(") (binary_expression "DAT_00091c25 >> 7 == (~DAT_00091c26 & 1)" (binary_expression "DAT_00091c25 >> 7" (identifier "DAT_00091c25") (>> ">>") (number_literal "7")) (== "==") (parenthesized_expression "(~DAT_00091c26 & 1)" (( "(") (binary_expression "~DAT_00091c26 & 1" (unary_expression "~DAT_00091c26" (~ "~") (identifier "DAT_00091c26")) (& "&") (number_literal "1")) () ")"))) () ")")) (compound_statement "{\n        bfd_make_section_with_flags(DAT_00091c58,".note.GNU-stack",DAT_00091c25 >> 3 & 0x10 | 8);\n      }" ({ "{") (expression_statement "bfd_make_section_with_flags(DAT_00091c58,".note.GNU-stack",DAT_00091c25 >> 3 & 0x10 | 8);" (call_expression "bfd_make_section_with_flags(DAT_00091c58,".note.GNU-stack",DAT_00091c25 >> 3 & 0x10 | 8)" (identifier "bfd_make_section_with_flags") (argument_list "(DAT_00091c58,".note.GNU-stack",DAT_00091c25 >> 3 & 0x10 | 8)" (( "(") (identifier "DAT_00091c58") (, ",") (string_literal "".note.GNU-stack"" (" """) (string_content ".note.GNU-stack") (" """)) (, ",") (binary_expression "DAT_00091c25 >> 3 & 0x10 | 8" (binary_expression "DAT_00091c25 >> 3 & 0x10" (binary_expression "DAT_00091c25 >> 3" (identifier "DAT_00091c25") (>> ">>") (number_literal "3")) (& "&") (number_literal "0x10")) (| "|") (number_literal "8")) () ")"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n      if (((DAT_00091c24 & 0x20) == 0) && (DAT_00091c58 != 0)) {\n        local_50 = 0;\n        bVar3 = false;\n        local_4c = 0;\n        iVar16 = DAT_00091c58;\n        do {\n          while ((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0) {\n            puVar19 = *(undefined4 **)(iVar16 + 0x60);\n            if (puVar19 == (undefined4 *)0x0) {\nLAB_00039697:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar22 = (undefined *)puVar19[0xf] < PTR__bfd_std_section_00090fc4 + 0x150;\n                bVar24 = (undefined *)puVar19[0xf] == PTR__bfd_std_section_00090fc4 + 0x150;\n                iVar18 = local_60;\n                if (!bVar24) {\n                  iVar17 = 0xf;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar22 = *pbVar20 < *pbVar21;\n                    bVar24 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar24);\n                  bVar23 = false;\n                  bVar22 = (!bVar22 && !bVar24) == bVar22;\n                  if (bVar22) {\n                    local_60 = 2;\n                    goto LAB_0003966f;\n                  }\n                  iVar17 = 10;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar23 = *pbVar20 < *pbVar21;\n                    bVar22 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar22);\n                  if (((!bVar23 && !bVar22) == bVar23) && (iVar18 = 1, (uint)puVar19[9] < 9)) {\n                    iVar18 = local_60;\n                  }\n                }\n                local_60 = iVar18;\n                puVar19 = (undefined4 *)puVar19[3];\n              } while (puVar19 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_00039697;\nLAB_0003966f:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar16 = local_4c;\n                }\n                uVar9 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00031760(uVar9,iVar16);\n                goto LAB_000396cd;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_00039697;\n              if (local_60 != 2) {\n                if ((DAT_00091c20._2_2_ & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar3 = true;\n                  if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                    local_4c = iVar16;\n                  }\n                }\n                break;\n              }\n              bVar3 = true;\n              if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                local_4c = iVar16;\n              }\n            }\n            iVar16 = *(int *)(iVar16 + 0x98);\n            local_50 = 2;\n            DAT_00091c20._2_2_ = DAT_00091c20._2_2_ & 0x3fff | 0x8000;\n            if (iVar16 == 0) goto LAB_000396cd;\n          }\n          iVar16 = *(int *)(iVar16 + 0x98);\n        } while (iVar16 != 0);\nLAB_000396cd:\n        if ((local_4c == 0) ||\n           (iVar16 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x20) | 8),\n           iVar16 == 0)) {\n          if (bVar3) {\n            uVar9 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00031760(uVar9);\n          }\n        }\n        else {\n          *(undefined4 *)(iVar16 + 0x40) = 2;\n          *(int *)(iVar8 + 0xac) = iVar16;\n        }\n      }\n      puVar6 = (undefined4 *)bfd_elf_get_needed_list(DAT_00091c50,&DAT_00091c20);\n      uVar4 = DAT_00091c20._2_2_;\n      for (puVar19 = puVar6; DAT_00091c20._2_2_ = uVar4, puVar19 != (undefined4 *)0x0;\n          puVar19 = (undefined4 *)*puVar19) {\n        puVar5 = puVar6;\n        if ((puVar19[1] == 0) ||\n           ((uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 1) == 0 &&\n            (((puVar19[1] == 0 || ((DAT_00091c20._2_2_ & 0x180) != 0x80)) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 4) == 0)))))) {\n          for (; puVar5 != puVar19; puVar5 = (undefined4 *)*puVar5) {\n            if (((puVar5[1] == 0) ||\n                (uVar7 = bfd_elf_get_dyn_lib_class(puVar5[1]), (uVar7 & 1) == 0)) &&\n               (iVar8 = strcmp((char *)puVar5[2],(char *)puVar19[2]), iVar8 == 0)) {\n              if (puVar19 != puVar5) goto LAB_00039300;\n              break;\n            }\n          }\n          DAT_00091ae4 = FUN_00038720;\n          DAT_00091a60 = 0;\n          DAT_00091ae0 = puVar19;\n          FUN_00024c50(FUN_00035720);\n          if ((DAT_00091a60 == 0) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_00091a60 + 0x10)),\n             (uVar7 & 1) != 0)) {\n            uVar9 = puVar19[1];\n            uVar2 = puVar19[2];\n            if (DAT_00091d90 != 0) {\n              uVar15 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00031730(uVar15,uVar2,uVar9);\n            }\n            if ((DAT_00091a60 == 0) || (iVar8 = FUN_00038820(), iVar8 == 0)) {\n              bVar3 = false;\n              while (iVar8 = FUN_00038b50(), iVar8 == 0) {\n                if (DAT_00091d04 != 0) {\n                  pvVar10 = (void *)FUN_00037360();\n                  iVar8 = FUN_00038b50();\n                  free(pvVar10);\n                  if (iVar8 != 0) break;\n                }\n                piVar11 = (int *)bfd_elf_get_runpath_list(DAT_00091c50,&DAT_00091c20);\n                if (piVar11 != (int *)0x0) {\n                  do {\n                    bVar24 = true;\n                    pvVar10 = (void *)FUN_00037360();\n                    bVar22 = false;\n                    if (piVar11[1] == puVar19[1]) {\n                      iVar8 = FUN_00038b50();\n                      bVar24 = iVar8 == 0;\n                      bVar22 = !bVar24;\n                    }\n                    free(pvVar10);\n                    piVar11 = (int *)*piVar11;\n                  } while ((piVar11 != (int *)0x0) && (bVar24));\n                  if (bVar22) break;\n                }\n                if (DAT_00091a44 == 0) {\n                  pvVar10 = (void *)concat(DAT_00091ca8,"/usr/etc/ld.so.conf",0);\n                  iVar8 = FUN_00037470();\n                  if (iVar8 == 0) {\n                    free(pvVar10);\n                    pvVar10 = (void *)concat(DAT_00091ca8,"/etc/ld.so.conf",0);\n                    FUN_00037470();\n                  }\n                  free(pvVar10);\n                  DAT_00091a44 = 1;\n                }\n                pcVar14 = (char *)puVar19[2];\n                if (DAT_00091a40 != 0) {\n                  iVar8 = FUN_00038b50();\n                  if (iVar8 != 0) break;\n                  pcVar14 = (char *)puVar19[2];\n                }\n                sVar12 = strlen(pcVar14);\n                if (DAT_00091e04 != (int *)0x0) {\n                  piVar11 = DAT_00091e04;\n                  do {\n                    if (piVar11[2] == 0) {\n                      sVar13 = strlen((char *)piVar11[1]);\n                      pcVar14 = (char *)xmalloc(sVar13 + sVar12 + 2);\n                      sprintf(pcVar14,"%s/%s",piVar11[1],puVar19[2]);\n                      iVar8 = FUN_00038820();\n                      if (iVar8 != 0) goto LAB_00039300;\n                      free(pcVar14);\n                    }\n                    piVar11 = (int *)*piVar11;\n                  } while (piVar11 != (int *)0x0);\n                }\n                if (bVar3) {\n                  uVar9 = puVar19[1];\n                  uVar2 = puVar19[2];\n                  uVar15 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00031760(uVar15,uVar2,uVar9);\n                  break;\n                }\n                bVar3 = true;\n              }\n            }\n          }\n        }\nLAB_00039300:\n        uVar4 = DAT_00091c20._2_2_;\n      }\n      DAT_00091c20._3_1_ = (byte)(uVar4 >> 8);\n      bVar25 = DAT_00091c20._3_1_ & 0xc0;\n      if ((bVar25 == 0x80) && (iVar8 = bfd_elf_parse_eh_frame_entries(0,&DAT_00091c20), iVar8 == 0))\n      {\n        uVar9 = dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);\n        FUN_00031760(uVar9);\n      }\n    }" (else "else") (compound_statement "{\n      if (((DAT_00091c24 & 0x20) == 0) && (DAT_00091c58 != 0)) {\n        local_50 = 0;\n        bVar3 = false;\n        local_4c = 0;\n        iVar16 = DAT_00091c58;\n        do {\n          while ((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0) {\n            puVar19 = *(undefined4 **)(iVar16 + 0x60);\n            if (puVar19 == (undefined4 *)0x0) {\nLAB_00039697:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar22 = (undefined *)puVar19[0xf] < PTR__bfd_std_section_00090fc4 + 0x150;\n                bVar24 = (undefined *)puVar19[0xf] == PTR__bfd_std_section_00090fc4 + 0x150;\n                iVar18 = local_60;\n                if (!bVar24) {\n                  iVar17 = 0xf;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar22 = *pbVar20 < *pbVar21;\n                    bVar24 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar24);\n                  bVar23 = false;\n                  bVar22 = (!bVar22 && !bVar24) == bVar22;\n                  if (bVar22) {\n                    local_60 = 2;\n                    goto LAB_0003966f;\n                  }\n                  iVar17 = 10;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar23 = *pbVar20 < *pbVar21;\n                    bVar22 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar22);\n                  if (((!bVar23 && !bVar22) == bVar23) && (iVar18 = 1, (uint)puVar19[9] < 9)) {\n                    iVar18 = local_60;\n                  }\n                }\n                local_60 = iVar18;\n                puVar19 = (undefined4 *)puVar19[3];\n              } while (puVar19 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_00039697;\nLAB_0003966f:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar16 = local_4c;\n                }\n                uVar9 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00031760(uVar9,iVar16);\n                goto LAB_000396cd;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_00039697;\n              if (local_60 != 2) {\n                if ((DAT_00091c20._2_2_ & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar3 = true;\n                  if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                    local_4c = iVar16;\n                  }\n                }\n                break;\n              }\n              bVar3 = true;\n              if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                local_4c = iVar16;\n              }\n            }\n            iVar16 = *(int *)(iVar16 + 0x98);\n            local_50 = 2;\n            DAT_00091c20._2_2_ = DAT_00091c20._2_2_ & 0x3fff | 0x8000;\n            if (iVar16 == 0) goto LAB_000396cd;\n          }\n          iVar16 = *(int *)(iVar16 + 0x98);\n        } while (iVar16 != 0);\nLAB_000396cd:\n        if ((local_4c == 0) ||\n           (iVar16 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x20) | 8),\n           iVar16 == 0)) {\n          if (bVar3) {\n            uVar9 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00031760(uVar9);\n          }\n        }\n        else {\n          *(undefined4 *)(iVar16 + 0x40) = 2;\n          *(int *)(iVar8 + 0xac) = iVar16;\n        }\n      }\n      puVar6 = (undefined4 *)bfd_elf_get_needed_list(DAT_00091c50,&DAT_00091c20);\n      uVar4 = DAT_00091c20._2_2_;\n      for (puVar19 = puVar6; DAT_00091c20._2_2_ = uVar4, puVar19 != (undefined4 *)0x0;\n          puVar19 = (undefined4 *)*puVar19) {\n        puVar5 = puVar6;\n        if ((puVar19[1] == 0) ||\n           ((uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 1) == 0 &&\n            (((puVar19[1] == 0 || ((DAT_00091c20._2_2_ & 0x180) != 0x80)) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 4) == 0)))))) {\n          for (; puVar5 != puVar19; puVar5 = (undefined4 *)*puVar5) {\n            if (((puVar5[1] == 0) ||\n                (uVar7 = bfd_elf_get_dyn_lib_class(puVar5[1]), (uVar7 & 1) == 0)) &&\n               (iVar8 = strcmp((char *)puVar5[2],(char *)puVar19[2]), iVar8 == 0)) {\n              if (puVar19 != puVar5) goto LAB_00039300;\n              break;\n            }\n          }\n          DAT_00091ae4 = FUN_00038720;\n          DAT_00091a60 = 0;\n          DAT_00091ae0 = puVar19;\n          FUN_00024c50(FUN_00035720);\n          if ((DAT_00091a60 == 0) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_00091a60 + 0x10)),\n             (uVar7 & 1) != 0)) {\n            uVar9 = puVar19[1];\n            uVar2 = puVar19[2];\n            if (DAT_00091d90 != 0) {\n              uVar15 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00031730(uVar15,uVar2,uVar9);\n            }\n            if ((DAT_00091a60 == 0) || (iVar8 = FUN_00038820(), iVar8 == 0)) {\n              bVar3 = false;\n              while (iVar8 = FUN_00038b50(), iVar8 == 0) {\n                if (DAT_00091d04 != 0) {\n                  pvVar10 = (void *)FUN_00037360();\n                  iVar8 = FUN_00038b50();\n                  free(pvVar10);\n                  if (iVar8 != 0) break;\n                }\n                piVar11 = (int *)bfd_elf_get_runpath_list(DAT_00091c50,&DAT_00091c20);\n                if (piVar11 != (int *)0x0) {\n                  do {\n                    bVar24 = true;\n                    pvVar10 = (void *)FUN_00037360();\n                    bVar22 = false;\n                    if (piVar11[1] == puVar19[1]) {\n                      iVar8 = FUN_00038b50();\n                      bVar24 = iVar8 == 0;\n                      bVar22 = !bVar24;\n                    }\n                    free(pvVar10);\n                    piVar11 = (int *)*piVar11;\n                  } while ((piVar11 != (int *)0x0) && (bVar24));\n                  if (bVar22) break;\n                }\n                if (DAT_00091a44 == 0) {\n                  pvVar10 = (void *)concat(DAT_00091ca8,"/usr/etc/ld.so.conf",0);\n                  iVar8 = FUN_00037470();\n                  if (iVar8 == 0) {\n                    free(pvVar10);\n                    pvVar10 = (void *)concat(DAT_00091ca8,"/etc/ld.so.conf",0);\n                    FUN_00037470();\n                  }\n                  free(pvVar10);\n                  DAT_00091a44 = 1;\n                }\n                pcVar14 = (char *)puVar19[2];\n                if (DAT_00091a40 != 0) {\n                  iVar8 = FUN_00038b50();\n                  if (iVar8 != 0) break;\n                  pcVar14 = (char *)puVar19[2];\n                }\n                sVar12 = strlen(pcVar14);\n                if (DAT_00091e04 != (int *)0x0) {\n                  piVar11 = DAT_00091e04;\n                  do {\n                    if (piVar11[2] == 0) {\n                      sVar13 = strlen((char *)piVar11[1]);\n                      pcVar14 = (char *)xmalloc(sVar13 + sVar12 + 2);\n                      sprintf(pcVar14,"%s/%s",piVar11[1],puVar19[2]);\n                      iVar8 = FUN_00038820();\n                      if (iVar8 != 0) goto LAB_00039300;\n                      free(pcVar14);\n                    }\n                    piVar11 = (int *)*piVar11;\n                  } while (piVar11 != (int *)0x0);\n                }\n                if (bVar3) {\n                  uVar9 = puVar19[1];\n                  uVar2 = puVar19[2];\n                  uVar15 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00031760(uVar15,uVar2,uVar9);\n                  break;\n                }\n                bVar3 = true;\n              }\n            }\n          }\n        }\nLAB_00039300:\n        uVar4 = DAT_00091c20._2_2_;\n      }\n      DAT_00091c20._3_1_ = (byte)(uVar4 >> 8);\n      bVar25 = DAT_00091c20._3_1_ & 0xc0;\n      if ((bVar25 == 0x80) && (iVar8 = bfd_elf_parse_eh_frame_entries(0,&DAT_00091c20), iVar8 == 0))\n      {\n        uVar9 = dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);\n        FUN_00031760(uVar9);\n      }\n    }" ({ "{") (if_statement "if (((DAT_00091c24 & 0x20) == 0) && (DAT_00091c58 != 0)) {\n        local_50 = 0;\n        bVar3 = false;\n        local_4c = 0;\n        iVar16 = DAT_00091c58;\n        do {\n          while ((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0) {\n            puVar19 = *(undefined4 **)(iVar16 + 0x60);\n            if (puVar19 == (undefined4 *)0x0) {\nLAB_00039697:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar22 = (undefined *)puVar19[0xf] < PTR__bfd_std_section_00090fc4 + 0x150;\n                bVar24 = (undefined *)puVar19[0xf] == PTR__bfd_std_section_00090fc4 + 0x150;\n                iVar18 = local_60;\n                if (!bVar24) {\n                  iVar17 = 0xf;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar22 = *pbVar20 < *pbVar21;\n                    bVar24 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar24);\n                  bVar23 = false;\n                  bVar22 = (!bVar22 && !bVar24) == bVar22;\n                  if (bVar22) {\n                    local_60 = 2;\n                    goto LAB_0003966f;\n                  }\n                  iVar17 = 10;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar23 = *pbVar20 < *pbVar21;\n                    bVar22 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar22);\n                  if (((!bVar23 && !bVar22) == bVar23) && (iVar18 = 1, (uint)puVar19[9] < 9)) {\n                    iVar18 = local_60;\n                  }\n                }\n                local_60 = iVar18;\n                puVar19 = (undefined4 *)puVar19[3];\n              } while (puVar19 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_00039697;\nLAB_0003966f:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar16 = local_4c;\n                }\n                uVar9 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00031760(uVar9,iVar16);\n                goto LAB_000396cd;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_00039697;\n              if (local_60 != 2) {\n                if ((DAT_00091c20._2_2_ & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar3 = true;\n                  if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                    local_4c = iVar16;\n                  }\n                }\n                break;\n              }\n              bVar3 = true;\n              if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                local_4c = iVar16;\n              }\n            }\n            iVar16 = *(int *)(iVar16 + 0x98);\n            local_50 = 2;\n            DAT_00091c20._2_2_ = DAT_00091c20._2_2_ & 0x3fff | 0x8000;\n            if (iVar16 == 0) goto LAB_000396cd;\n          }\n          iVar16 = *(int *)(iVar16 + 0x98);\n        } while (iVar16 != 0);\nLAB_000396cd:\n        if ((local_4c == 0) ||\n           (iVar16 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x20) | 8),\n           iVar16 == 0)) {\n          if (bVar3) {\n            uVar9 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00031760(uVar9);\n          }\n        }\n        else {\n          *(undefined4 *)(iVar16 + 0x40) = 2;\n          *(int *)(iVar8 + 0xac) = iVar16;\n        }\n      }" (if "if") (parenthesized_expression "(((DAT_00091c24 & 0x20) == 0) && (DAT_00091c58 != 0))" (( "(") (binary_expression "((DAT_00091c24 & 0x20) == 0) && (DAT_00091c58 != 0)" (parenthesized_expression "((DAT_00091c24 & 0x20) == 0)" (( "(") (binary_expression "(DAT_00091c24 & 0x20) == 0" (parenthesized_expression "(DAT_00091c24 & 0x20)" (( "(") (binary_expression "DAT_00091c24 & 0x20" (identifier "DAT_00091c24") (& "&") (number_literal "0x20")) () ")")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(DAT_00091c58 != 0)" (( "(") (binary_expression "DAT_00091c58 != 0" (identifier "DAT_00091c58") (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n        local_50 = 0;\n        bVar3 = false;\n        local_4c = 0;\n        iVar16 = DAT_00091c58;\n        do {\n          while ((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0) {\n            puVar19 = *(undefined4 **)(iVar16 + 0x60);\n            if (puVar19 == (undefined4 *)0x0) {\nLAB_00039697:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar22 = (undefined *)puVar19[0xf] < PTR__bfd_std_section_00090fc4 + 0x150;\n                bVar24 = (undefined *)puVar19[0xf] == PTR__bfd_std_section_00090fc4 + 0x150;\n                iVar18 = local_60;\n                if (!bVar24) {\n                  iVar17 = 0xf;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar22 = *pbVar20 < *pbVar21;\n                    bVar24 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar24);\n                  bVar23 = false;\n                  bVar22 = (!bVar22 && !bVar24) == bVar22;\n                  if (bVar22) {\n                    local_60 = 2;\n                    goto LAB_0003966f;\n                  }\n                  iVar17 = 10;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar23 = *pbVar20 < *pbVar21;\n                    bVar22 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar22);\n                  if (((!bVar23 && !bVar22) == bVar23) && (iVar18 = 1, (uint)puVar19[9] < 9)) {\n                    iVar18 = local_60;\n                  }\n                }\n                local_60 = iVar18;\n                puVar19 = (undefined4 *)puVar19[3];\n              } while (puVar19 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_00039697;\nLAB_0003966f:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar16 = local_4c;\n                }\n                uVar9 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00031760(uVar9,iVar16);\n                goto LAB_000396cd;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_00039697;\n              if (local_60 != 2) {\n                if ((DAT_00091c20._2_2_ & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar3 = true;\n                  if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                    local_4c = iVar16;\n                  }\n                }\n                break;\n              }\n              bVar3 = true;\n              if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                local_4c = iVar16;\n              }\n            }\n            iVar16 = *(int *)(iVar16 + 0x98);\n            local_50 = 2;\n            DAT_00091c20._2_2_ = DAT_00091c20._2_2_ & 0x3fff | 0x8000;\n            if (iVar16 == 0) goto LAB_000396cd;\n          }\n          iVar16 = *(int *)(iVar16 + 0x98);\n        } while (iVar16 != 0);\nLAB_000396cd:\n        if ((local_4c == 0) ||\n           (iVar16 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x20) | 8),\n           iVar16 == 0)) {\n          if (bVar3) {\n            uVar9 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00031760(uVar9);\n          }\n        }\n        else {\n          *(undefined4 *)(iVar16 + 0x40) = 2;\n          *(int *)(iVar8 + 0xac) = iVar16;\n        }\n      }" ({ "{") (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" (identifier "local_50") (= "=") (number_literal "0")) (; ";")) (expression_statement "bVar3 = false;" (assignment_expression "bVar3 = false" (identifier "bVar3") (= "=") (false "false")) (; ";")) (expression_statement "local_4c = 0;" (assignment_expression "local_4c = 0" (identifier "local_4c") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar16 = DAT_00091c58;" (assignment_expression "iVar16 = DAT_00091c58" (identifier "iVar16") (= "=") (identifier "DAT_00091c58")) (; ";")) (do_statement "do {\n          while ((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0) {\n            puVar19 = *(undefined4 **)(iVar16 + 0x60);\n            if (puVar19 == (undefined4 *)0x0) {\nLAB_00039697:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar22 = (undefined *)puVar19[0xf] < PTR__bfd_std_section_00090fc4 + 0x150;\n                bVar24 = (undefined *)puVar19[0xf] == PTR__bfd_std_section_00090fc4 + 0x150;\n                iVar18 = local_60;\n                if (!bVar24) {\n                  iVar17 = 0xf;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar22 = *pbVar20 < *pbVar21;\n                    bVar24 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar24);\n                  bVar23 = false;\n                  bVar22 = (!bVar22 && !bVar24) == bVar22;\n                  if (bVar22) {\n                    local_60 = 2;\n                    goto LAB_0003966f;\n                  }\n                  iVar17 = 10;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar23 = *pbVar20 < *pbVar21;\n                    bVar22 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar22);\n                  if (((!bVar23 && !bVar22) == bVar23) && (iVar18 = 1, (uint)puVar19[9] < 9)) {\n                    iVar18 = local_60;\n                  }\n                }\n                local_60 = iVar18;\n                puVar19 = (undefined4 *)puVar19[3];\n              } while (puVar19 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_00039697;\nLAB_0003966f:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar16 = local_4c;\n                }\n                uVar9 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00031760(uVar9,iVar16);\n                goto LAB_000396cd;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_00039697;\n              if (local_60 != 2) {\n                if ((DAT_00091c20._2_2_ & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar3 = true;\n                  if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                    local_4c = iVar16;\n                  }\n                }\n                break;\n              }\n              bVar3 = true;\n              if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                local_4c = iVar16;\n              }\n            }\n            iVar16 = *(int *)(iVar16 + 0x98);\n            local_50 = 2;\n            DAT_00091c20._2_2_ = DAT_00091c20._2_2_ & 0x3fff | 0x8000;\n            if (iVar16 == 0) goto LAB_000396cd;\n          }\n          iVar16 = *(int *)(iVar16 + 0x98);\n        } while (iVar16 != 0);" (do "do") (compound_statement "{\n          while ((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0) {\n            puVar19 = *(undefined4 **)(iVar16 + 0x60);\n            if (puVar19 == (undefined4 *)0x0) {\nLAB_00039697:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar22 = (undefined *)puVar19[0xf] < PTR__bfd_std_section_00090fc4 + 0x150;\n                bVar24 = (undefined *)puVar19[0xf] == PTR__bfd_std_section_00090fc4 + 0x150;\n                iVar18 = local_60;\n                if (!bVar24) {\n                  iVar17 = 0xf;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar22 = *pbVar20 < *pbVar21;\n                    bVar24 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar24);\n                  bVar23 = false;\n                  bVar22 = (!bVar22 && !bVar24) == bVar22;\n                  if (bVar22) {\n                    local_60 = 2;\n                    goto LAB_0003966f;\n                  }\n                  iVar17 = 10;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar23 = *pbVar20 < *pbVar21;\n                    bVar22 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar22);\n                  if (((!bVar23 && !bVar22) == bVar23) && (iVar18 = 1, (uint)puVar19[9] < 9)) {\n                    iVar18 = local_60;\n                  }\n                }\n                local_60 = iVar18;\n                puVar19 = (undefined4 *)puVar19[3];\n              } while (puVar19 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_00039697;\nLAB_0003966f:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar16 = local_4c;\n                }\n                uVar9 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00031760(uVar9,iVar16);\n                goto LAB_000396cd;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_00039697;\n              if (local_60 != 2) {\n                if ((DAT_00091c20._2_2_ & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar3 = true;\n                  if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                    local_4c = iVar16;\n                  }\n                }\n                break;\n              }\n              bVar3 = true;\n              if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                local_4c = iVar16;\n              }\n            }\n            iVar16 = *(int *)(iVar16 + 0x98);\n            local_50 = 2;\n            DAT_00091c20._2_2_ = DAT_00091c20._2_2_ & 0x3fff | 0x8000;\n            if (iVar16 == 0) goto LAB_000396cd;\n          }\n          iVar16 = *(int *)(iVar16 + 0x98);\n        }" ({ "{") (while_statement "while ((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0) {\n            puVar19 = *(undefined4 **)(iVar16 + 0x60);\n            if (puVar19 == (undefined4 *)0x0) {\nLAB_00039697:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar22 = (undefined *)puVar19[0xf] < PTR__bfd_std_section_00090fc4 + 0x150;\n                bVar24 = (undefined *)puVar19[0xf] == PTR__bfd_std_section_00090fc4 + 0x150;\n                iVar18 = local_60;\n                if (!bVar24) {\n                  iVar17 = 0xf;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar22 = *pbVar20 < *pbVar21;\n                    bVar24 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar24);\n                  bVar23 = false;\n                  bVar22 = (!bVar22 && !bVar24) == bVar22;\n                  if (bVar22) {\n                    local_60 = 2;\n                    goto LAB_0003966f;\n                  }\n                  iVar17 = 10;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar23 = *pbVar20 < *pbVar21;\n                    bVar22 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar22);\n                  if (((!bVar23 && !bVar22) == bVar23) && (iVar18 = 1, (uint)puVar19[9] < 9)) {\n                    iVar18 = local_60;\n                  }\n                }\n                local_60 = iVar18;\n                puVar19 = (undefined4 *)puVar19[3];\n              } while (puVar19 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_00039697;\nLAB_0003966f:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar16 = local_4c;\n                }\n                uVar9 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00031760(uVar9,iVar16);\n                goto LAB_000396cd;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_00039697;\n              if (local_60 != 2) {\n                if ((DAT_00091c20._2_2_ & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar3 = true;\n                  if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                    local_4c = iVar16;\n                  }\n                }\n                break;\n              }\n              bVar3 = true;\n              if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                local_4c = iVar16;\n              }\n            }\n            iVar16 = *(int *)(iVar16 + 0x98);\n            local_50 = 2;\n            DAT_00091c20._2_2_ = DAT_00091c20._2_2_ & 0x3fff | 0x8000;\n            if (iVar16 == 0) goto LAB_000396cd;\n          }" (while "while") (parenthesized_expression "((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0)" (( "(") (binary_expression "(*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0" (parenthesized_expression "(*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10)" (( "(") (binary_expression "*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10" (pointer_expression "*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24)" (* "*") (cast_expression "(byte *)(*(int *)(iVar16 + 0xa0) + 0x24)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar16 + 0xa0) + 0x24)" (( "(") (binary_expression "*(int *)(iVar16 + 0xa0) + 0x24" (pointer_expression "*(int *)(iVar16 + 0xa0)" (* "*") (cast_expression "(int *)(iVar16 + 0xa0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + 0xa0)" (( "(") (binary_expression "iVar16 + 0xa0" (identifier "iVar16") (+ "+") (number_literal "0xa0")) () ")")))) (+ "+") (number_literal "0x24")) () ")")))) (& "&") (number_literal "0x10")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            puVar19 = *(undefined4 **)(iVar16 + 0x60);\n            if (puVar19 == (undefined4 *)0x0) {\nLAB_00039697:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar22 = (undefined *)puVar19[0xf] < PTR__bfd_std_section_00090fc4 + 0x150;\n                bVar24 = (undefined *)puVar19[0xf] == PTR__bfd_std_section_00090fc4 + 0x150;\n                iVar18 = local_60;\n                if (!bVar24) {\n                  iVar17 = 0xf;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar22 = *pbVar20 < *pbVar21;\n                    bVar24 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar24);\n                  bVar23 = false;\n                  bVar22 = (!bVar22 && !bVar24) == bVar22;\n                  if (bVar22) {\n                    local_60 = 2;\n                    goto LAB_0003966f;\n                  }\n                  iVar17 = 10;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar23 = *pbVar20 < *pbVar21;\n                    bVar22 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar22);\n                  if (((!bVar23 && !bVar22) == bVar23) && (iVar18 = 1, (uint)puVar19[9] < 9)) {\n                    iVar18 = local_60;\n                  }\n                }\n                local_60 = iVar18;\n                puVar19 = (undefined4 *)puVar19[3];\n              } while (puVar19 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_00039697;\nLAB_0003966f:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar16 = local_4c;\n                }\n                uVar9 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00031760(uVar9,iVar16);\n                goto LAB_000396cd;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_00039697;\n              if (local_60 != 2) {\n                if ((DAT_00091c20._2_2_ & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar3 = true;\n                  if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                    local_4c = iVar16;\n                  }\n                }\n                break;\n              }\n              bVar3 = true;\n              if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                local_4c = iVar16;\n              }\n            }\n            iVar16 = *(int *)(iVar16 + 0x98);\n            local_50 = 2;\n            DAT_00091c20._2_2_ = DAT_00091c20._2_2_ & 0x3fff | 0x8000;\n            if (iVar16 == 0) goto LAB_000396cd;\n          }" ({ "{") (expression_statement "puVar19 = *(undefined4 **)(iVar16 + 0x60);" (assignment_expression "puVar19 = *(undefined4 **)(iVar16 + 0x60)" (identifier "puVar19") (= "=") (pointer_expression "*(undefined4 **)(iVar16 + 0x60)" (* "*") (cast_expression "(undefined4 **)(iVar16 + 0x60)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar16 + 0x60)" (( "(") (binary_expression "iVar16 + 0x60" (identifier "iVar16") (+ "+") (number_literal "0x60")) () ")"))))) (; ";")) (if_statement "if (puVar19 == (undefined4 *)0x0) {\nLAB_00039697:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar22 = (undefined *)puVar19[0xf] < PTR__bfd_std_section_00090fc4 + 0x150;\n                bVar24 = (undefined *)puVar19[0xf] == PTR__bfd_std_section_00090fc4 + 0x150;\n                iVar18 = local_60;\n                if (!bVar24) {\n                  iVar17 = 0xf;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar22 = *pbVar20 < *pbVar21;\n                    bVar24 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar24);\n                  bVar23 = false;\n                  bVar22 = (!bVar22 && !bVar24) == bVar22;\n                  if (bVar22) {\n                    local_60 = 2;\n                    goto LAB_0003966f;\n                  }\n                  iVar17 = 10;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar23 = *pbVar20 < *pbVar21;\n                    bVar22 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar22);\n                  if (((!bVar23 && !bVar22) == bVar23) && (iVar18 = 1, (uint)puVar19[9] < 9)) {\n                    iVar18 = local_60;\n                  }\n                }\n                local_60 = iVar18;\n                puVar19 = (undefined4 *)puVar19[3];\n              } while (puVar19 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_00039697;\nLAB_0003966f:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar16 = local_4c;\n                }\n                uVar9 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00031760(uVar9,iVar16);\n                goto LAB_000396cd;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_00039697;\n              if (local_60 != 2) {\n                if ((DAT_00091c20._2_2_ & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar3 = true;\n                  if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                    local_4c = iVar16;\n                  }\n                }\n                break;\n              }\n              bVar3 = true;\n              if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                local_4c = iVar16;\n              }\n            }" (if "if") (parenthesized_expression "(puVar19 == (undefined4 *)0x0)" (( "(") (binary_expression "puVar19 == (undefined4 *)0x0" (identifier "puVar19") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_00039697:\n              if (local_50 != 2) break;\n            }" ({ "{") (labeled_statement "LAB_00039697:\n              if (local_50 != 2) break;" (statement_identifier "LAB_00039697") (: ":") (if_statement "if (local_50 != 2) break;" (if "if") (parenthesized_expression "(local_50 != 2)" (( "(") (binary_expression "local_50 != 2" (identifier "local_50") (!= "!=") (number_literal "2")) () ")")) (break_statement "break;" (break "break") (; ";")))) (} "}")) (else_clause "else {\n              local_60 = 0;\n              do {\n                bVar22 = (undefined *)puVar19[0xf] < PTR__bfd_std_section_00090fc4 + 0x150;\n                bVar24 = (undefined *)puVar19[0xf] == PTR__bfd_std_section_00090fc4 + 0x150;\n                iVar18 = local_60;\n                if (!bVar24) {\n                  iVar17 = 0xf;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar22 = *pbVar20 < *pbVar21;\n                    bVar24 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar24);\n                  bVar23 = false;\n                  bVar22 = (!bVar22 && !bVar24) == bVar22;\n                  if (bVar22) {\n                    local_60 = 2;\n                    goto LAB_0003966f;\n                  }\n                  iVar17 = 10;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar23 = *pbVar20 < *pbVar21;\n                    bVar22 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar22);\n                  if (((!bVar23 && !bVar22) == bVar23) && (iVar18 = 1, (uint)puVar19[9] < 9)) {\n                    iVar18 = local_60;\n                  }\n                }\n                local_60 = iVar18;\n                puVar19 = (undefined4 *)puVar19[3];\n              } while (puVar19 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_00039697;\nLAB_0003966f:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar16 = local_4c;\n                }\n                uVar9 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00031760(uVar9,iVar16);\n                goto LAB_000396cd;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_00039697;\n              if (local_60 != 2) {\n                if ((DAT_00091c20._2_2_ & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar3 = true;\n                  if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                    local_4c = iVar16;\n                  }\n                }\n                break;\n              }\n              bVar3 = true;\n              if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                local_4c = iVar16;\n              }\n            }" (else "else") (compound_statement "{\n              local_60 = 0;\n              do {\n                bVar22 = (undefined *)puVar19[0xf] < PTR__bfd_std_section_00090fc4 + 0x150;\n                bVar24 = (undefined *)puVar19[0xf] == PTR__bfd_std_section_00090fc4 + 0x150;\n                iVar18 = local_60;\n                if (!bVar24) {\n                  iVar17 = 0xf;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar22 = *pbVar20 < *pbVar21;\n                    bVar24 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar24);\n                  bVar23 = false;\n                  bVar22 = (!bVar22 && !bVar24) == bVar22;\n                  if (bVar22) {\n                    local_60 = 2;\n                    goto LAB_0003966f;\n                  }\n                  iVar17 = 10;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar23 = *pbVar20 < *pbVar21;\n                    bVar22 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar22);\n                  if (((!bVar23 && !bVar22) == bVar23) && (iVar18 = 1, (uint)puVar19[9] < 9)) {\n                    iVar18 = local_60;\n                  }\n                }\n                local_60 = iVar18;\n                puVar19 = (undefined4 *)puVar19[3];\n              } while (puVar19 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_00039697;\nLAB_0003966f:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar16 = local_4c;\n                }\n                uVar9 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00031760(uVar9,iVar16);\n                goto LAB_000396cd;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_00039697;\n              if (local_60 != 2) {\n                if ((DAT_00091c20._2_2_ & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar3 = true;\n                  if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                    local_4c = iVar16;\n                  }\n                }\n                break;\n              }\n              bVar3 = true;\n              if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                local_4c = iVar16;\n              }\n            }" ({ "{") (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" (identifier "local_60") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n                bVar22 = (undefined *)puVar19[0xf] < PTR__bfd_std_section_00090fc4 + 0x150;\n                bVar24 = (undefined *)puVar19[0xf] == PTR__bfd_std_section_00090fc4 + 0x150;\n                iVar18 = local_60;\n                if (!bVar24) {\n                  iVar17 = 0xf;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar22 = *pbVar20 < *pbVar21;\n                    bVar24 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar24);\n                  bVar23 = false;\n                  bVar22 = (!bVar22 && !bVar24) == bVar22;\n                  if (bVar22) {\n                    local_60 = 2;\n                    goto LAB_0003966f;\n                  }\n                  iVar17 = 10;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar23 = *pbVar20 < *pbVar21;\n                    bVar22 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar22);\n                  if (((!bVar23 && !bVar22) == bVar23) && (iVar18 = 1, (uint)puVar19[9] < 9)) {\n                    iVar18 = local_60;\n                  }\n                }\n                local_60 = iVar18;\n                puVar19 = (undefined4 *)puVar19[3];\n              } while (puVar19 != (undefined4 *)0x0);" (do "do") (compound_statement "{\n                bVar22 = (undefined *)puVar19[0xf] < PTR__bfd_std_section_00090fc4 + 0x150;\n                bVar24 = (undefined *)puVar19[0xf] == PTR__bfd_std_section_00090fc4 + 0x150;\n                iVar18 = local_60;\n                if (!bVar24) {\n                  iVar17 = 0xf;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar22 = *pbVar20 < *pbVar21;\n                    bVar24 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar24);\n                  bVar23 = false;\n                  bVar22 = (!bVar22 && !bVar24) == bVar22;\n                  if (bVar22) {\n                    local_60 = 2;\n                    goto LAB_0003966f;\n                  }\n                  iVar17 = 10;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar23 = *pbVar20 < *pbVar21;\n                    bVar22 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar22);\n                  if (((!bVar23 && !bVar22) == bVar23) && (iVar18 = 1, (uint)puVar19[9] < 9)) {\n                    iVar18 = local_60;\n                  }\n                }\n                local_60 = iVar18;\n                puVar19 = (undefined4 *)puVar19[3];\n              }" ({ "{") (expression_statement "bVar22 = (undefined *)puVar19[0xf] < PTR__bfd_std_section_00090fc4 + 0x150;" (assignment_expression "bVar22 = (undefined *)puVar19[0xf] < PTR__bfd_std_section_00090fc4 + 0x150" (identifier "bVar22") (= "=") (binary_expression "(undefined *)puVar19[0xf] < PTR__bfd_std_section_00090fc4 + 0x150" (cast_expression "(undefined *)puVar19[0xf]" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar19[0xf]" (identifier "puVar19") ([ "[") (number_literal "0xf") (] "]"))) (< "<") (binary_expression "PTR__bfd_std_section_00090fc4 + 0x150" (identifier "PTR__bfd_std_section_00090fc4") (+ "+") (number_literal "0x150")))) (; ";")) (expression_statement "bVar24 = (undefined *)puVar19[0xf] == PTR__bfd_std_section_00090fc4 + 0x150;" (assignment_expression "bVar24 = (undefined *)puVar19[0xf] == PTR__bfd_std_section_00090fc4 + 0x150" (identifier "bVar24") (= "=") (binary_expression "(undefined *)puVar19[0xf] == PTR__bfd_std_section_00090fc4 + 0x150" (cast_expression "(undefined *)puVar19[0xf]" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar19[0xf]" (identifier "puVar19") ([ "[") (number_literal "0xf") (] "]"))) (== "==") (binary_expression "PTR__bfd_std_section_00090fc4 + 0x150" (identifier "PTR__bfd_std_section_00090fc4") (+ "+") (number_literal "0x150")))) (; ";")) (expression_statement "iVar18 = local_60;" (assignment_expression "iVar18 = local_60" (identifier "iVar18") (= "=") (identifier "local_60")) (; ";")) (if_statement "if (!bVar24) {\n                  iVar17 = 0xf;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar22 = *pbVar20 < *pbVar21;\n                    bVar24 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar24);\n                  bVar23 = false;\n                  bVar22 = (!bVar22 && !bVar24) == bVar22;\n                  if (bVar22) {\n                    local_60 = 2;\n                    goto LAB_0003966f;\n                  }\n                  iVar17 = 10;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar23 = *pbVar20 < *pbVar21;\n                    bVar22 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar22);\n                  if (((!bVar23 && !bVar22) == bVar23) && (iVar18 = 1, (uint)puVar19[9] < 9)) {\n                    iVar18 = local_60;\n                  }\n                }" (if "if") (parenthesized_expression "(!bVar24)" (( "(") (unary_expression "!bVar24" (! "!") (identifier "bVar24")) () ")")) (compound_statement "{\n                  iVar17 = 0xf;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar22 = *pbVar20 < *pbVar21;\n                    bVar24 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar24);\n                  bVar23 = false;\n                  bVar22 = (!bVar22 && !bVar24) == bVar22;\n                  if (bVar22) {\n                    local_60 = 2;\n                    goto LAB_0003966f;\n                  }\n                  iVar17 = 10;\n                  pbVar20 = (byte *)*puVar19;\n                  pbVar21 = (byte *)".eh_frame";\n                  do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar23 = *pbVar20 < *pbVar21;\n                    bVar22 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar22);\n                  if (((!bVar23 && !bVar22) == bVar23) && (iVar18 = 1, (uint)puVar19[9] < 9)) {\n                    iVar18 = local_60;\n                  }\n                }" ({ "{") (expression_statement "iVar17 = 0xf;" (assignment_expression "iVar17 = 0xf" (identifier "iVar17") (= "=") (number_literal "0xf")) (; ";")) (expression_statement "pbVar20 = (byte *)*puVar19;" (assignment_expression "pbVar20 = (byte *)*puVar19" (identifier "pbVar20") (= "=") (cast_expression "(byte *)*puVar19" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar19" (* "*") (identifier "puVar19")))) (; ";")) (expression_statement "pbVar21 = (byte *)".eh_frame_entry";" (assignment_expression "pbVar21 = (byte *)".eh_frame_entry"" (identifier "pbVar21") (= "=") (cast_expression "(byte *)".eh_frame_entry"" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal "".eh_frame_entry"" (" """) (string_content ".eh_frame_entry") (" """)))) (; ";")) (do_statement "do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar22 = *pbVar20 < *pbVar21;\n                    bVar24 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar24);" (do "do") (compound_statement "{\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar22 = *pbVar20 < *pbVar21;\n                    bVar24 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  }" ({ "{") (if_statement "if (iVar17 == 0) break;" (if "if") (parenthesized_expression "(iVar17 == 0)" (( "(") (binary_expression "iVar17 == 0" (identifier "iVar17") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar17 = iVar17 + -1;" (assignment_expression "iVar17 = iVar17 + -1" (identifier "iVar17") (= "=") (binary_expression "iVar17 + -1" (identifier "iVar17") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar22 = *pbVar20 < *pbVar21;" (assignment_expression "bVar22 = *pbVar20 < *pbVar21" (identifier "bVar22") (= "=") (binary_expression "*pbVar20 < *pbVar21" (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20")) (< "<") (pointer_expression "*pbVar21" (* "*") (identifier "pbVar21")))) (; ";")) (expression_statement "bVar24 = *pbVar20 == *pbVar21;" (assignment_expression "bVar24 = *pbVar20 == *pbVar21" (identifier "bVar24") (= "=") (binary_expression "*pbVar20 == *pbVar21" (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20")) (== "==") (pointer_expression "*pbVar21" (* "*") (identifier "pbVar21")))) (; ";")) (expression_statement "pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1" (identifier "pbVar20") (= "=") (binary_expression "pbVar20 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar25 * -2" (identifier "pbVar20") (+ "+") (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar25")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1" (identifier "pbVar21") (= "=") (binary_expression "pbVar21 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar21 + (uint)bVar25 * -2" (identifier "pbVar21") (+ "+") (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar25")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar24)" (( "(") (identifier "bVar24") () ")")) (; ";")) (expression_statement "bVar23 = false;" (assignment_expression "bVar23 = false" (identifier "bVar23") (= "=") (false "false")) (; ";")) (expression_statement "bVar22 = (!bVar22 && !bVar24) == bVar22;" (assignment_expression "bVar22 = (!bVar22 && !bVar24) == bVar22" (identifier "bVar22") (= "=") (binary_expression "(!bVar22 && !bVar24) == bVar22" (parenthesized_expression "(!bVar22 && !bVar24)" (( "(") (binary_expression "!bVar22 && !bVar24" (unary_expression "!bVar22" (! "!") (identifier "bVar22")) (&& "&&") (unary_expression "!bVar24" (! "!") (identifier "bVar24"))) () ")")) (== "==") (identifier "bVar22"))) (; ";")) (if_statement "if (bVar22) {\n                    local_60 = 2;\n                    goto LAB_0003966f;\n                  }" (if "if") (parenthesized_expression "(bVar22)" (( "(") (identifier "bVar22") () ")")) (compound_statement "{\n                    local_60 = 2;\n                    goto LAB_0003966f;\n                  }" ({ "{") (expression_statement "local_60 = 2;" (assignment_expression "local_60 = 2" (identifier "local_60") (= "=") (number_literal "2")) (; ";")) (goto_statement "goto LAB_0003966f;" (goto "goto") (statement_identifier "LAB_0003966f") (; ";")) (} "}"))) (expression_statement "iVar17 = 10;" (assignment_expression "iVar17 = 10" (identifier "iVar17") (= "=") (number_literal "10")) (; ";")) (expression_statement "pbVar20 = (byte *)*puVar19;" (assignment_expression "pbVar20 = (byte *)*puVar19" (identifier "pbVar20") (= "=") (cast_expression "(byte *)*puVar19" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar19" (* "*") (identifier "puVar19")))) (; ";")) (expression_statement "pbVar21 = (byte *)".eh_frame";" (assignment_expression "pbVar21 = (byte *)".eh_frame"" (identifier "pbVar21") (= "=") (cast_expression "(byte *)".eh_frame"" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal "".eh_frame"" (" """) (string_content ".eh_frame") (" """)))) (; ";")) (do_statement "do {\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar23 = *pbVar20 < *pbVar21;\n                    bVar22 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  } while (bVar22);" (do "do") (compound_statement "{\n                    if (iVar17 == 0) break;\n                    iVar17 = iVar17 + -1;\n                    bVar23 = *pbVar20 < *pbVar21;\n                    bVar22 = *pbVar20 == *pbVar21;\n                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;\n                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;\n                  }" ({ "{") (if_statement "if (iVar17 == 0) break;" (if "if") (parenthesized_expression "(iVar17 == 0)" (( "(") (binary_expression "iVar17 == 0" (identifier "iVar17") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar17 = iVar17 + -1;" (assignment_expression "iVar17 = iVar17 + -1" (identifier "iVar17") (= "=") (binary_expression "iVar17 + -1" (identifier "iVar17") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar23 = *pbVar20 < *pbVar21;" (assignment_expression "bVar23 = *pbVar20 < *pbVar21" (identifier "bVar23") (= "=") (binary_expression "*pbVar20 < *pbVar21" (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20")) (< "<") (pointer_expression "*pbVar21" (* "*") (identifier "pbVar21")))) (; ";")) (expression_statement "bVar22 = *pbVar20 == *pbVar21;" (assignment_expression "bVar22 = *pbVar20 == *pbVar21" (identifier "bVar22") (= "=") (binary_expression "*pbVar20 == *pbVar21" (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20")) (== "==") (pointer_expression "*pbVar21" (* "*") (identifier "pbVar21")))) (; ";")) (expression_statement "pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1" (identifier "pbVar20") (= "=") (binary_expression "pbVar20 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar25 * -2" (identifier "pbVar20") (+ "+") (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar25")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;" (assignment_expression "pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1" (identifier "pbVar21") (= "=") (binary_expression "pbVar21 + (uint)bVar25 * -2 + 1" (binary_expression "pbVar21 + (uint)bVar25 * -2" (identifier "pbVar21") (+ "+") (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar25")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar22)" (( "(") (identifier "bVar22") () ")")) (; ";")) (if_statement "if (((!bVar23 && !bVar22) == bVar23) && (iVar18 = 1, (uint)puVar19[9] < 9)) {\n                    iVar18 = local_60;\n                  }" (if "if") (parenthesized_expression "(((!bVar23 && !bVar22) == bVar23) && (iVar18 = 1, (uint)puVar19[9] < 9))" (( "(") (binary_expression "((!bVar23 && !bVar22) == bVar23) && (iVar18 = 1, (uint)puVar19[9] < 9)" (parenthesized_expression "((!bVar23 && !bVar22) == bVar23)" (( "(") (binary_expression "(!bVar23 && !bVar22) == bVar23" (parenthesized_expression "(!bVar23 && !bVar22)" (( "(") (binary_expression "!bVar23 && !bVar22" (unary_expression "!bVar23" (! "!") (identifier "bVar23")) (&& "&&") (unary_expression "!bVar22" (! "!") (identifier "bVar22"))) () ")")) (== "==") (identifier "bVar23")) () ")")) (&& "&&") (parenthesized_expression "(iVar18 = 1, (uint)puVar19[9] < 9)" (( "(") (comma_expression "iVar18 = 1, (uint)puVar19[9] < 9" (assignment_expression "iVar18 = 1" (identifier "iVar18") (= "=") (number_literal "1")) (, ",") (binary_expression "(uint)puVar19[9] < 9" (cast_expression "(uint)puVar19[9]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "puVar19[9]" (identifier "puVar19") ([ "[") (number_literal "9") (] "]"))) (< "<") (number_literal "9"))) () ")"))) () ")")) (compound_statement "{\n                    iVar18 = local_60;\n                  }" ({ "{") (expression_statement "iVar18 = local_60;" (assignment_expression "iVar18 = local_60" (identifier "iVar18") (= "=") (identifier "local_60")) (; ";")) (} "}"))) (} "}"))) (expression_statement "local_60 = iVar18;" (assignment_expression "local_60 = iVar18" (identifier "local_60") (= "=") (identifier "iVar18")) (; ";")) (expression_statement "puVar19 = (undefined4 *)puVar19[3];" (assignment_expression "puVar19 = (undefined4 *)puVar19[3]" (identifier "puVar19") (= "=") (cast_expression "(undefined4 *)puVar19[3]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar19[3]" (identifier "puVar19") ([ "[") (number_literal "3") (] "]")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(puVar19 != (undefined4 *)0x0)" (( "(") (binary_expression "puVar19 != (undefined4 *)0x0" (identifier "puVar19") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (if_statement "if (local_60 == 0) goto LAB_00039697;" (if "if") (parenthesized_expression "(local_60 == 0)" (( "(") (binary_expression "local_60 == 0" (identifier "local_60") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00039697;" (goto "goto") (statement_identifier "LAB_00039697") (; ";"))) (labeled_statement "LAB_0003966f:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar16 = local_4c;\n                }\n                uVar9 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00031760(uVar9,iVar16);\n                goto LAB_000396cd;\n              }" (statement_identifier "LAB_0003966f") (: ":") (if_statement "if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar16 = local_4c;\n                }\n                uVar9 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00031760(uVar9,iVar16);\n                goto LAB_000396cd;\n              }" (if "if") (parenthesized_expression "((local_50 != 0) && (local_50 != local_60))" (( "(") (binary_expression "(local_50 != 0) && (local_50 != local_60)" (parenthesized_expression "(local_50 != 0)" (( "(") (binary_expression "local_50 != 0" (identifier "local_50") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(local_50 != local_60)" (( "(") (binary_expression "local_50 != local_60" (identifier "local_50") (!= "!=") (identifier "local_60")) () ")"))) () ")")) (compound_statement "{\n                if (local_60 != 1) {\n                  iVar16 = local_4c;\n                }\n                uVar9 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00031760(uVar9,iVar16);\n                goto LAB_000396cd;\n              }" ({ "{") (if_statement "if (local_60 != 1) {\n                  iVar16 = local_4c;\n                }" (if "if") (parenthesized_expression "(local_60 != 1)" (( "(") (binary_expression "local_60 != 1" (identifier "local_60") (!= "!=") (number_literal "1")) () ")")) (compound_statement "{\n                  iVar16 = local_4c;\n                }" ({ "{") (expression_statement "iVar16 = local_4c;" (assignment_expression "iVar16 = local_4c" (identifier "iVar16") (= "=") (identifier "local_4c")) (; ";")) (} "}"))) (expression_statement "uVar9 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);" (assignment_expression "uVar9 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5)" (identifier "uVar9") (= "=") (call_expression "dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5)" (identifier "dcgettext") (argument_list "(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5)" (( "(") (number_literal "0") (, ",") (string_literal ""%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"" (" """) (string_content "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_00031760(uVar9,iVar16);" (call_expression "FUN_00031760(uVar9,iVar16)" (identifier "FUN_00031760") (argument_list "(uVar9,iVar16)" (( "(") (identifier "uVar9") (, ",") (identifier "iVar16") () ")"))) (; ";")) (goto_statement "goto LAB_000396cd;" (goto "goto") (statement_identifier "LAB_000396cd") (; ";")) (} "}")))) (expression_statement "local_50 = local_60;" (assignment_expression "local_50 = local_60" (identifier "local_50") (= "=") (identifier "local_60")) (; ";")) (if_statement "if (local_4c != 0) goto LAB_00039697;" (if "if") (parenthesized_expression "(local_4c != 0)" (( "(") (binary_expression "local_4c != 0" (identifier "local_4c") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00039697;" (goto "goto") (statement_identifier "LAB_00039697") (; ";"))) (if_statement "if (local_60 != 2) {\n                if ((DAT_00091c20._2_2_ & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar3 = true;\n                  if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                    local_4c = iVar16;\n                  }\n                }\n                break;\n              }" (if "if") (parenthesized_expression "(local_60 != 2)" (( "(") (binary_expression "local_60 != 2" (identifier "local_60") (!= "!=") (number_literal "2")) () ")")) (compound_statement "{\n                if ((DAT_00091c20._2_2_ & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar3 = true;\n                  if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                    local_4c = iVar16;\n                  }\n                }\n                break;\n              }" ({ "{") (if_statement "if ((DAT_00091c20._2_2_ & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar3 = true;\n                  if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                    local_4c = iVar16;\n                  }\n                }" (if "if") (parenthesized_expression "((DAT_00091c20._2_2_ & 0xc000) == 0)" (( "(") (binary_expression "(DAT_00091c20._2_2_ & 0xc000) == 0" (parenthesized_expression "(DAT_00091c20._2_2_ & 0xc000)" (( "(") (binary_expression "DAT_00091c20._2_2_ & 0xc000" (field_expression "DAT_00091c20._2_2_" (identifier "DAT_00091c20") (. ".") (field_identifier "_2_2_")) (& "&") (number_literal "0xc000")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                  local_50 = 1;\n                }" ({ "{") (expression_statement "local_50 = 1;" (assignment_expression "local_50 = 1" (identifier "local_50") (= "=") (number_literal "1")) (; ";")) (} "}")) (else_clause "else {\n                  local_50 = 1;\n                  bVar3 = true;\n                  if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                    local_4c = iVar16;\n                  }\n                }" (else "else") (compound_statement "{\n                  local_50 = 1;\n                  bVar3 = true;\n                  if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                    local_4c = iVar16;\n                  }\n                }" ({ "{") (expression_statement "local_50 = 1;" (assignment_expression "local_50 = 1" (identifier "local_50") (= "=") (number_literal "1")) (; ";")) (expression_statement "bVar3 = true;" (assignment_expression "bVar3 = true" (identifier "bVar3") (= "=") (true "true")) (; ";")) (if_statement "if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                    local_4c = iVar16;\n                  }" (if "if") (parenthesized_expression "(*(int *)(*(int *)(iVar16 + 4) + 4) == 5)" (( "(") (binary_expression "*(int *)(*(int *)(iVar16 + 4) + 4) == 5" (pointer_expression "*(int *)(*(int *)(iVar16 + 4) + 4)" (* "*") (cast_expression "(int *)(*(int *)(iVar16 + 4) + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar16 + 4) + 4)" (( "(") (binary_expression "*(int *)(iVar16 + 4) + 4" (pointer_expression "*(int *)(iVar16 + 4)" (* "*") (cast_expression "(int *)(iVar16 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + 4)" (( "(") (binary_expression "iVar16 + 4" (identifier "iVar16") (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "4")) () ")")))) (== "==") (number_literal "5")) () ")")) (compound_statement "{\n                    local_4c = iVar16;\n                  }" ({ "{") (expression_statement "local_4c = iVar16;" (assignment_expression "local_4c = iVar16" (identifier "local_4c") (= "=") (identifier "iVar16")) (; ";")) (} "}"))) (} "}")))) (break_statement "break;" (break "break") (; ";")) (} "}"))) (expression_statement "bVar3 = true;" (assignment_expression "bVar3 = true" (identifier "bVar3") (= "=") (true "true")) (; ";")) (if_statement "if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {\n                local_4c = iVar16;\n              }" (if "if") (parenthesized_expression "(*(int *)(*(int *)(iVar16 + 4) + 4) == 5)" (( "(") (binary_expression "*(int *)(*(int *)(iVar16 + 4) + 4) == 5" (pointer_expression "*(int *)(*(int *)(iVar16 + 4) + 4)" (* "*") (cast_expression "(int *)(*(int *)(iVar16 + 4) + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar16 + 4) + 4)" (( "(") (binary_expression "*(int *)(iVar16 + 4) + 4" (pointer_expression "*(int *)(iVar16 + 4)" (* "*") (cast_expression "(int *)(iVar16 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + 4)" (( "(") (binary_expression "iVar16 + 4" (identifier "iVar16") (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "4")) () ")")))) (== "==") (number_literal "5")) () ")")) (compound_statement "{\n                local_4c = iVar16;\n              }" ({ "{") (expression_statement "local_4c = iVar16;" (assignment_expression "local_4c = iVar16" (identifier "local_4c") (= "=") (identifier "iVar16")) (; ";")) (} "}"))) (} "}")))) (expression_statement "iVar16 = *(int *)(iVar16 + 0x98);" (assignment_expression "iVar16 = *(int *)(iVar16 + 0x98)" (identifier "iVar16") (= "=") (pointer_expression "*(int *)(iVar16 + 0x98)" (* "*") (cast_expression "(int *)(iVar16 + 0x98)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + 0x98)" (( "(") (binary_expression "iVar16 + 0x98" (identifier "iVar16") (+ "+") (number_literal "0x98")) () ")"))))) (; ";")) (expression_statement "local_50 = 2;" (assignment_expression "local_50 = 2" (identifier "local_50") (= "=") (number_literal "2")) (; ";")) (expression_statement "DAT_00091c20._2_2_ = DAT_00091c20._2_2_ & 0x3fff | 0x8000;" (assignment_expression "DAT_00091c20._2_2_ = DAT_00091c20._2_2_ & 0x3fff | 0x8000" (field_expression "DAT_00091c20._2_2_" (identifier "DAT_00091c20") (. ".") (field_identifier "_2_2_")) (= "=") (binary_expression "DAT_00091c20._2_2_ & 0x3fff | 0x8000" (binary_expression "DAT_00091c20._2_2_ & 0x3fff" (field_expression "DAT_00091c20._2_2_" (identifier "DAT_00091c20") (. ".") (field_identifier "_2_2_")) (& "&") (number_literal "0x3fff")) (| "|") (number_literal "0x8000"))) (; ";")) (if_statement "if (iVar16 == 0) goto LAB_000396cd;" (if "if") (parenthesized_expression "(iVar16 == 0)" (( "(") (binary_expression "iVar16 == 0" (identifier "iVar16") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000396cd;" (goto "goto") (statement_identifier "LAB_000396cd") (; ";"))) (} "}"))) (expression_statement "iVar16 = *(int *)(iVar16 + 0x98);" (assignment_expression "iVar16 = *(int *)(iVar16 + 0x98)" (identifier "iVar16") (= "=") (pointer_expression "*(int *)(iVar16 + 0x98)" (* "*") (cast_expression "(int *)(iVar16 + 0x98)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + 0x98)" (( "(") (binary_expression "iVar16 + 0x98" (identifier "iVar16") (+ "+") (number_literal "0x98")) () ")"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar16 != 0)" (( "(") (binary_expression "iVar16 != 0" (identifier "iVar16") (!= "!=") (number_literal "0")) () ")")) (; ";")) (labeled_statement "LAB_000396cd:\n        if ((local_4c == 0) ||\n           (iVar16 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x20) | 8),\n           iVar16 == 0)) {\n          if (bVar3) {\n            uVar9 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00031760(uVar9);\n          }\n        }\n        else {\n          *(undefined4 *)(iVar16 + 0x40) = 2;\n          *(int *)(iVar8 + 0xac) = iVar16;\n        }" (statement_identifier "LAB_000396cd") (: ":") (if_statement "if ((local_4c == 0) ||\n           (iVar16 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x20) | 8),\n           iVar16 == 0)) {\n          if (bVar3) {\n            uVar9 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00031760(uVar9);\n          }\n        }\n        else {\n          *(undefined4 *)(iVar16 + 0x40) = 2;\n          *(int *)(iVar8 + 0xac) = iVar16;\n        }" (if "if") (parenthesized_expression "((local_4c == 0) ||\n           (iVar16 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x20) | 8),\n           iVar16 == 0))" (( "(") (binary_expression "(local_4c == 0) ||\n           (iVar16 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x20) | 8),\n           iVar16 == 0)" (parenthesized_expression "(local_4c == 0)" (( "(") (binary_expression "local_4c == 0" (identifier "local_4c") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar16 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x20) | 8),\n           iVar16 == 0)" (( "(") (comma_expression "iVar16 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x20) | 8),\n           iVar16 == 0" (assignment_expression "iVar16 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x20) | 8)" (identifier "iVar16") (= "=") (call_expression "bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x20) | 8)" (identifier "bfd_make_section_with_flags") (argument_list "(local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x20) | 8)" (( "(") (identifier "local_4c") (, ",") (string_literal "".eh_frame_hdr"" (" """) (string_content ".eh_frame_hdr") (" """)) (, ",") (binary_expression "*(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x20) | 8" (pointer_expression "*(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x20)" (* "*") (cast_expression "(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x20)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x20)" (( "(") (binary_expression "*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x20" (pointer_expression "*(int *)(*(int *)(local_4c + 4) + 0x1c0)" (* "*") (cast_expression "(int *)(*(int *)(local_4c + 4) + 0x1c0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(local_4c + 4) + 0x1c0)" (( "(") (binary_expression "*(int *)(local_4c + 4) + 0x1c0" (pointer_expression "*(int *)(local_4c + 4)" (* "*") (cast_expression "(int *)(local_4c + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_4c + 4)" (( "(") (binary_expression "local_4c + 4" (identifier "local_4c") (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "0x1c0")) () ")")))) (+ "+") (number_literal "0x20")) () ")")))) (| "|") (number_literal "8")) () ")")))) (, ",") (binary_expression "iVar16 == 0" (identifier "iVar16") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n          if (bVar3) {\n            uVar9 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00031760(uVar9);\n          }\n        }" ({ "{") (if_statement "if (bVar3) {\n            uVar9 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00031760(uVar9);\n          }" (if "if") (parenthesized_expression "(bVar3)" (( "(") (identifier "bVar3") () ")")) (compound_statement "{\n            uVar9 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00031760(uVar9);\n          }" ({ "{") (expression_statement "uVar9 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);" (assignment_expression "uVar9 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5)" (identifier "uVar9") (= "=") (call_expression "dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5)" (identifier "dcgettext") (argument_list "(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5)" (( "(") (number_literal "0") (, ",") (string_literal ""%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"" (" """) (string_content "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_00031760(uVar9);" (call_expression "FUN_00031760(uVar9)" (identifier "FUN_00031760") (argument_list "(uVar9)" (( "(") (identifier "uVar9") () ")"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n          *(undefined4 *)(iVar16 + 0x40) = 2;\n          *(int *)(iVar8 + 0xac) = iVar16;\n        }" (else "else") (compound_statement "{\n          *(undefined4 *)(iVar16 + 0x40) = 2;\n          *(int *)(iVar8 + 0xac) = iVar16;\n        }" ({ "{") (expression_statement "*(undefined4 *)(iVar16 + 0x40) = 2;" (assignment_expression "*(undefined4 *)(iVar16 + 0x40) = 2" (pointer_expression "*(undefined4 *)(iVar16 + 0x40)" (* "*") (cast_expression "(undefined4 *)(iVar16 + 0x40)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + 0x40)" (( "(") (binary_expression "iVar16 + 0x40" (identifier "iVar16") (+ "+") (number_literal "0x40")) () ")")))) (= "=") (number_literal "2")) (; ";")) (expression_statement "*(int *)(iVar8 + 0xac) = iVar16;" (assignment_expression "*(int *)(iVar8 + 0xac) = iVar16" (pointer_expression "*(int *)(iVar8 + 0xac)" (* "*") (cast_expression "(int *)(iVar8 + 0xac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0xac)" (( "(") (binary_expression "iVar8 + 0xac" (identifier "iVar8") (+ "+") (number_literal "0xac")) () ")")))) (= "=") (identifier "iVar16")) (; ";")) (} "}"))))) (} "}"))) (expression_statement "puVar6 = (undefined4 *)bfd_elf_get_needed_list(DAT_00091c50,&DAT_00091c20);" (assignment_expression "puVar6 = (undefined4 *)bfd_elf_get_needed_list(DAT_00091c50,&DAT_00091c20)" (identifier "puVar6") (= "=") (cast_expression "(undefined4 *)bfd_elf_get_needed_list(DAT_00091c50,&DAT_00091c20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "bfd_elf_get_needed_list(DAT_00091c50,&DAT_00091c20)" (identifier "bfd_elf_get_needed_list") (argument_list "(DAT_00091c50,&DAT_00091c20)" (( "(") (identifier "DAT_00091c50") (, ",") (pointer_expression "&DAT_00091c20" (& "&") (identifier "DAT_00091c20")) () ")"))))) (; ";")) (expression_statement "uVar4 = DAT_00091c20._2_2_;" (assignment_expression "uVar4 = DAT_00091c20._2_2_" (identifier "uVar4") (= "=") (field_expression "DAT_00091c20._2_2_" (identifier "DAT_00091c20") (. ".") (field_identifier "_2_2_"))) (; ";")) (for_statement "for (puVar19 = puVar6; DAT_00091c20._2_2_ = uVar4, puVar19 != (undefined4 *)0x0;\n          puVar19 = (undefined4 *)*puVar19) {\n        puVar5 = puVar6;\n        if ((puVar19[1] == 0) ||\n           ((uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 1) == 0 &&\n            (((puVar19[1] == 0 || ((DAT_00091c20._2_2_ & 0x180) != 0x80)) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 4) == 0)))))) {\n          for (; puVar5 != puVar19; puVar5 = (undefined4 *)*puVar5) {\n            if (((puVar5[1] == 0) ||\n                (uVar7 = bfd_elf_get_dyn_lib_class(puVar5[1]), (uVar7 & 1) == 0)) &&\n               (iVar8 = strcmp((char *)puVar5[2],(char *)puVar19[2]), iVar8 == 0)) {\n              if (puVar19 != puVar5) goto LAB_00039300;\n              break;\n            }\n          }\n          DAT_00091ae4 = FUN_00038720;\n          DAT_00091a60 = 0;\n          DAT_00091ae0 = puVar19;\n          FUN_00024c50(FUN_00035720);\n          if ((DAT_00091a60 == 0) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_00091a60 + 0x10)),\n             (uVar7 & 1) != 0)) {\n            uVar9 = puVar19[1];\n            uVar2 = puVar19[2];\n            if (DAT_00091d90 != 0) {\n              uVar15 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00031730(uVar15,uVar2,uVar9);\n            }\n            if ((DAT_00091a60 == 0) || (iVar8 = FUN_00038820(), iVar8 == 0)) {\n              bVar3 = false;\n              while (iVar8 = FUN_00038b50(), iVar8 == 0) {\n                if (DAT_00091d04 != 0) {\n                  pvVar10 = (void *)FUN_00037360();\n                  iVar8 = FUN_00038b50();\n                  free(pvVar10);\n                  if (iVar8 != 0) break;\n                }\n                piVar11 = (int *)bfd_elf_get_runpath_list(DAT_00091c50,&DAT_00091c20);\n                if (piVar11 != (int *)0x0) {\n                  do {\n                    bVar24 = true;\n                    pvVar10 = (void *)FUN_00037360();\n                    bVar22 = false;\n                    if (piVar11[1] == puVar19[1]) {\n                      iVar8 = FUN_00038b50();\n                      bVar24 = iVar8 == 0;\n                      bVar22 = !bVar24;\n                    }\n                    free(pvVar10);\n                    piVar11 = (int *)*piVar11;\n                  } while ((piVar11 != (int *)0x0) && (bVar24));\n                  if (bVar22) break;\n                }\n                if (DAT_00091a44 == 0) {\n                  pvVar10 = (void *)concat(DAT_00091ca8,"/usr/etc/ld.so.conf",0);\n                  iVar8 = FUN_00037470();\n                  if (iVar8 == 0) {\n                    free(pvVar10);\n                    pvVar10 = (void *)concat(DAT_00091ca8,"/etc/ld.so.conf",0);\n                    FUN_00037470();\n                  }\n                  free(pvVar10);\n                  DAT_00091a44 = 1;\n                }\n                pcVar14 = (char *)puVar19[2];\n                if (DAT_00091a40 != 0) {\n                  iVar8 = FUN_00038b50();\n                  if (iVar8 != 0) break;\n                  pcVar14 = (char *)puVar19[2];\n                }\n                sVar12 = strlen(pcVar14);\n                if (DAT_00091e04 != (int *)0x0) {\n                  piVar11 = DAT_00091e04;\n                  do {\n                    if (piVar11[2] == 0) {\n                      sVar13 = strlen((char *)piVar11[1]);\n                      pcVar14 = (char *)xmalloc(sVar13 + sVar12 + 2);\n                      sprintf(pcVar14,"%s/%s",piVar11[1],puVar19[2]);\n                      iVar8 = FUN_00038820();\n                      if (iVar8 != 0) goto LAB_00039300;\n                      free(pcVar14);\n                    }\n                    piVar11 = (int *)*piVar11;\n                  } while (piVar11 != (int *)0x0);\n                }\n                if (bVar3) {\n                  uVar9 = puVar19[1];\n                  uVar2 = puVar19[2];\n                  uVar15 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00031760(uVar15,uVar2,uVar9);\n                  break;\n                }\n                bVar3 = true;\n              }\n            }\n          }\n        }\nLAB_00039300:\n        uVar4 = DAT_00091c20._2_2_;\n      }" (for "for") (( "(") (assignment_expression "puVar19 = puVar6" (identifier "puVar19") (= "=") (identifier "puVar6")) (; ";") (comma_expression "DAT_00091c20._2_2_ = uVar4, puVar19 != (undefined4 *)0x0" (assignment_expression "DAT_00091c20._2_2_ = uVar4" (field_expression "DAT_00091c20._2_2_" (identifier "DAT_00091c20") (. ".") (field_identifier "_2_2_")) (= "=") (identifier "uVar4")) (, ",") (binary_expression "puVar19 != (undefined4 *)0x0" (identifier "puVar19") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) (; ";") (assignment_expression "puVar19 = (undefined4 *)*puVar19" (identifier "puVar19") (= "=") (cast_expression "(undefined4 *)*puVar19" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar19" (* "*") (identifier "puVar19")))) () ")") (compound_statement "{\n        puVar5 = puVar6;\n        if ((puVar19[1] == 0) ||\n           ((uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 1) == 0 &&\n            (((puVar19[1] == 0 || ((DAT_00091c20._2_2_ & 0x180) != 0x80)) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 4) == 0)))))) {\n          for (; puVar5 != puVar19; puVar5 = (undefined4 *)*puVar5) {\n            if (((puVar5[1] == 0) ||\n                (uVar7 = bfd_elf_get_dyn_lib_class(puVar5[1]), (uVar7 & 1) == 0)) &&\n               (iVar8 = strcmp((char *)puVar5[2],(char *)puVar19[2]), iVar8 == 0)) {\n              if (puVar19 != puVar5) goto LAB_00039300;\n              break;\n            }\n          }\n          DAT_00091ae4 = FUN_00038720;\n          DAT_00091a60 = 0;\n          DAT_00091ae0 = puVar19;\n          FUN_00024c50(FUN_00035720);\n          if ((DAT_00091a60 == 0) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_00091a60 + 0x10)),\n             (uVar7 & 1) != 0)) {\n            uVar9 = puVar19[1];\n            uVar2 = puVar19[2];\n            if (DAT_00091d90 != 0) {\n              uVar15 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00031730(uVar15,uVar2,uVar9);\n            }\n            if ((DAT_00091a60 == 0) || (iVar8 = FUN_00038820(), iVar8 == 0)) {\n              bVar3 = false;\n              while (iVar8 = FUN_00038b50(), iVar8 == 0) {\n                if (DAT_00091d04 != 0) {\n                  pvVar10 = (void *)FUN_00037360();\n                  iVar8 = FUN_00038b50();\n                  free(pvVar10);\n                  if (iVar8 != 0) break;\n                }\n                piVar11 = (int *)bfd_elf_get_runpath_list(DAT_00091c50,&DAT_00091c20);\n                if (piVar11 != (int *)0x0) {\n                  do {\n                    bVar24 = true;\n                    pvVar10 = (void *)FUN_00037360();\n                    bVar22 = false;\n                    if (piVar11[1] == puVar19[1]) {\n                      iVar8 = FUN_00038b50();\n                      bVar24 = iVar8 == 0;\n                      bVar22 = !bVar24;\n                    }\n                    free(pvVar10);\n                    piVar11 = (int *)*piVar11;\n                  } while ((piVar11 != (int *)0x0) && (bVar24));\n                  if (bVar22) break;\n                }\n                if (DAT_00091a44 == 0) {\n                  pvVar10 = (void *)concat(DAT_00091ca8,"/usr/etc/ld.so.conf",0);\n                  iVar8 = FUN_00037470();\n                  if (iVar8 == 0) {\n                    free(pvVar10);\n                    pvVar10 = (void *)concat(DAT_00091ca8,"/etc/ld.so.conf",0);\n                    FUN_00037470();\n                  }\n                  free(pvVar10);\n                  DAT_00091a44 = 1;\n                }\n                pcVar14 = (char *)puVar19[2];\n                if (DAT_00091a40 != 0) {\n                  iVar8 = FUN_00038b50();\n                  if (iVar8 != 0) break;\n                  pcVar14 = (char *)puVar19[2];\n                }\n                sVar12 = strlen(pcVar14);\n                if (DAT_00091e04 != (int *)0x0) {\n                  piVar11 = DAT_00091e04;\n                  do {\n                    if (piVar11[2] == 0) {\n                      sVar13 = strlen((char *)piVar11[1]);\n                      pcVar14 = (char *)xmalloc(sVar13 + sVar12 + 2);\n                      sprintf(pcVar14,"%s/%s",piVar11[1],puVar19[2]);\n                      iVar8 = FUN_00038820();\n                      if (iVar8 != 0) goto LAB_00039300;\n                      free(pcVar14);\n                    }\n                    piVar11 = (int *)*piVar11;\n                  } while (piVar11 != (int *)0x0);\n                }\n                if (bVar3) {\n                  uVar9 = puVar19[1];\n                  uVar2 = puVar19[2];\n                  uVar15 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00031760(uVar15,uVar2,uVar9);\n                  break;\n                }\n                bVar3 = true;\n              }\n            }\n          }\n        }\nLAB_00039300:\n        uVar4 = DAT_00091c20._2_2_;\n      }" ({ "{") (expression_statement "puVar5 = puVar6;" (assignment_expression "puVar5 = puVar6" (identifier "puVar5") (= "=") (identifier "puVar6")) (; ";")) (if_statement "if ((puVar19[1] == 0) ||\n           ((uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 1) == 0 &&\n            (((puVar19[1] == 0 || ((DAT_00091c20._2_2_ & 0x180) != 0x80)) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 4) == 0)))))) {\n          for (; puVar5 != puVar19; puVar5 = (undefined4 *)*puVar5) {\n            if (((puVar5[1] == 0) ||\n                (uVar7 = bfd_elf_get_dyn_lib_class(puVar5[1]), (uVar7 & 1) == 0)) &&\n               (iVar8 = strcmp((char *)puVar5[2],(char *)puVar19[2]), iVar8 == 0)) {\n              if (puVar19 != puVar5) goto LAB_00039300;\n              break;\n            }\n          }\n          DAT_00091ae4 = FUN_00038720;\n          DAT_00091a60 = 0;\n          DAT_00091ae0 = puVar19;\n          FUN_00024c50(FUN_00035720);\n          if ((DAT_00091a60 == 0) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_00091a60 + 0x10)),\n             (uVar7 & 1) != 0)) {\n            uVar9 = puVar19[1];\n            uVar2 = puVar19[2];\n            if (DAT_00091d90 != 0) {\n              uVar15 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00031730(uVar15,uVar2,uVar9);\n            }\n            if ((DAT_00091a60 == 0) || (iVar8 = FUN_00038820(), iVar8 == 0)) {\n              bVar3 = false;\n              while (iVar8 = FUN_00038b50(), iVar8 == 0) {\n                if (DAT_00091d04 != 0) {\n                  pvVar10 = (void *)FUN_00037360();\n                  iVar8 = FUN_00038b50();\n                  free(pvVar10);\n                  if (iVar8 != 0) break;\n                }\n                piVar11 = (int *)bfd_elf_get_runpath_list(DAT_00091c50,&DAT_00091c20);\n                if (piVar11 != (int *)0x0) {\n                  do {\n                    bVar24 = true;\n                    pvVar10 = (void *)FUN_00037360();\n                    bVar22 = false;\n                    if (piVar11[1] == puVar19[1]) {\n                      iVar8 = FUN_00038b50();\n                      bVar24 = iVar8 == 0;\n                      bVar22 = !bVar24;\n                    }\n                    free(pvVar10);\n                    piVar11 = (int *)*piVar11;\n                  } while ((piVar11 != (int *)0x0) && (bVar24));\n                  if (bVar22) break;\n                }\n                if (DAT_00091a44 == 0) {\n                  pvVar10 = (void *)concat(DAT_00091ca8,"/usr/etc/ld.so.conf",0);\n                  iVar8 = FUN_00037470();\n                  if (iVar8 == 0) {\n                    free(pvVar10);\n                    pvVar10 = (void *)concat(DAT_00091ca8,"/etc/ld.so.conf",0);\n                    FUN_00037470();\n                  }\n                  free(pvVar10);\n                  DAT_00091a44 = 1;\n                }\n                pcVar14 = (char *)puVar19[2];\n                if (DAT_00091a40 != 0) {\n                  iVar8 = FUN_00038b50();\n                  if (iVar8 != 0) break;\n                  pcVar14 = (char *)puVar19[2];\n                }\n                sVar12 = strlen(pcVar14);\n                if (DAT_00091e04 != (int *)0x0) {\n                  piVar11 = DAT_00091e04;\n                  do {\n                    if (piVar11[2] == 0) {\n                      sVar13 = strlen((char *)piVar11[1]);\n                      pcVar14 = (char *)xmalloc(sVar13 + sVar12 + 2);\n                      sprintf(pcVar14,"%s/%s",piVar11[1],puVar19[2]);\n                      iVar8 = FUN_00038820();\n                      if (iVar8 != 0) goto LAB_00039300;\n                      free(pcVar14);\n                    }\n                    piVar11 = (int *)*piVar11;\n                  } while (piVar11 != (int *)0x0);\n                }\n                if (bVar3) {\n                  uVar9 = puVar19[1];\n                  uVar2 = puVar19[2];\n                  uVar15 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00031760(uVar15,uVar2,uVar9);\n                  break;\n                }\n                bVar3 = true;\n              }\n            }\n          }\n        }" (if "if") (parenthesized_expression "((puVar19[1] == 0) ||\n           ((uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 1) == 0 &&\n            (((puVar19[1] == 0 || ((DAT_00091c20._2_2_ & 0x180) != 0x80)) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 4) == 0))))))" (( "(") (binary_expression "(puVar19[1] == 0) ||\n           ((uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 1) == 0 &&\n            (((puVar19[1] == 0 || ((DAT_00091c20._2_2_ & 0x180) != 0x80)) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 4) == 0)))))" (parenthesized_expression "(puVar19[1] == 0)" (( "(") (binary_expression "puVar19[1] == 0" (subscript_expression "puVar19[1]" (identifier "puVar19") ([ "[") (number_literal "1") (] "]")) (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "((uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 1) == 0 &&\n            (((puVar19[1] == 0 || ((DAT_00091c20._2_2_ & 0x180) != 0x80)) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 4) == 0)))))" (( "(") (parenthesized_expression "(uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 1) == 0 &&\n            (((puVar19[1] == 0 || ((DAT_00091c20._2_2_ & 0x180) != 0x80)) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 4) == 0))))" (( "(") (comma_expression "uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 1) == 0 &&\n            (((puVar19[1] == 0 || ((DAT_00091c20._2_2_ & 0x180) != 0x80)) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 4) == 0)))" (assignment_expression "uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1])" (identifier "uVar7") (= "=") (call_expression "bfd_elf_get_dyn_lib_class(puVar19[1])" (identifier "bfd_elf_get_dyn_lib_class") (argument_list "(puVar19[1])" (( "(") (subscript_expression "puVar19[1]" (identifier "puVar19") ([ "[") (number_literal "1") (] "]")) () ")")))) (, ",") (binary_expression "(uVar7 & 1) == 0 &&\n            (((puVar19[1] == 0 || ((DAT_00091c20._2_2_ & 0x180) != 0x80)) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 4) == 0)))" (binary_expression "(uVar7 & 1) == 0" (parenthesized_expression "(uVar7 & 1)" (( "(") (binary_expression "uVar7 & 1" (identifier "uVar7") (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) (&& "&&") (parenthesized_expression "(((puVar19[1] == 0 || ((DAT_00091c20._2_2_ & 0x180) != 0x80)) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 4) == 0)))" (( "(") (parenthesized_expression "((puVar19[1] == 0 || ((DAT_00091c20._2_2_ & 0x180) != 0x80)) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 4) == 0))" (( "(") (binary_expression "(puVar19[1] == 0 || ((DAT_00091c20._2_2_ & 0x180) != 0x80)) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 4) == 0)" (parenthesized_expression "(puVar19[1] == 0 || ((DAT_00091c20._2_2_ & 0x180) != 0x80))" (( "(") (binary_expression "puVar19[1] == 0 || ((DAT_00091c20._2_2_ & 0x180) != 0x80)" (binary_expression "puVar19[1] == 0" (subscript_expression "puVar19[1]" (identifier "puVar19") ([ "[") (number_literal "1") (] "]")) (== "==") (number_literal "0")) (|| "||") (parenthesized_expression "((DAT_00091c20._2_2_ & 0x180) != 0x80)" (( "(") (binary_expression "(DAT_00091c20._2_2_ & 0x180) != 0x80" (parenthesized_expression "(DAT_00091c20._2_2_ & 0x180)" (( "(") (binary_expression "DAT_00091c20._2_2_ & 0x180" (field_expression "DAT_00091c20._2_2_" (identifier "DAT_00091c20") (. ".") (field_identifier "_2_2_")) (& "&") (number_literal "0x180")) () ")")) (!= "!=") (number_literal "0x80")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 4) == 0)" (( "(") (comma_expression "uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 4) == 0" (assignment_expression "uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1])" (identifier "uVar7") (= "=") (call_expression "bfd_elf_get_dyn_lib_class(puVar19[1])" (identifier "bfd_elf_get_dyn_lib_class") (argument_list "(puVar19[1])" (( "(") (subscript_expression "puVar19[1]" (identifier "puVar19") ([ "[") (number_literal "1") (] "]")) () ")")))) (, ",") (binary_expression "(uVar7 & 4) == 0" (parenthesized_expression "(uVar7 & 4)" (( "(") (binary_expression "uVar7 & 4" (identifier "uVar7") (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0"))) () ")"))) () ")")) () ")")))) () ")")) () ")"))) () ")")) (compound_statement "{\n          for (; puVar5 != puVar19; puVar5 = (undefined4 *)*puVar5) {\n            if (((puVar5[1] == 0) ||\n                (uVar7 = bfd_elf_get_dyn_lib_class(puVar5[1]), (uVar7 & 1) == 0)) &&\n               (iVar8 = strcmp((char *)puVar5[2],(char *)puVar19[2]), iVar8 == 0)) {\n              if (puVar19 != puVar5) goto LAB_00039300;\n              break;\n            }\n          }\n          DAT_00091ae4 = FUN_00038720;\n          DAT_00091a60 = 0;\n          DAT_00091ae0 = puVar19;\n          FUN_00024c50(FUN_00035720);\n          if ((DAT_00091a60 == 0) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_00091a60 + 0x10)),\n             (uVar7 & 1) != 0)) {\n            uVar9 = puVar19[1];\n            uVar2 = puVar19[2];\n            if (DAT_00091d90 != 0) {\n              uVar15 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00031730(uVar15,uVar2,uVar9);\n            }\n            if ((DAT_00091a60 == 0) || (iVar8 = FUN_00038820(), iVar8 == 0)) {\n              bVar3 = false;\n              while (iVar8 = FUN_00038b50(), iVar8 == 0) {\n                if (DAT_00091d04 != 0) {\n                  pvVar10 = (void *)FUN_00037360();\n                  iVar8 = FUN_00038b50();\n                  free(pvVar10);\n                  if (iVar8 != 0) break;\n                }\n                piVar11 = (int *)bfd_elf_get_runpath_list(DAT_00091c50,&DAT_00091c20);\n                if (piVar11 != (int *)0x0) {\n                  do {\n                    bVar24 = true;\n                    pvVar10 = (void *)FUN_00037360();\n                    bVar22 = false;\n                    if (piVar11[1] == puVar19[1]) {\n                      iVar8 = FUN_00038b50();\n                      bVar24 = iVar8 == 0;\n                      bVar22 = !bVar24;\n                    }\n                    free(pvVar10);\n                    piVar11 = (int *)*piVar11;\n                  } while ((piVar11 != (int *)0x0) && (bVar24));\n                  if (bVar22) break;\n                }\n                if (DAT_00091a44 == 0) {\n                  pvVar10 = (void *)concat(DAT_00091ca8,"/usr/etc/ld.so.conf",0);\n                  iVar8 = FUN_00037470();\n                  if (iVar8 == 0) {\n                    free(pvVar10);\n                    pvVar10 = (void *)concat(DAT_00091ca8,"/etc/ld.so.conf",0);\n                    FUN_00037470();\n                  }\n                  free(pvVar10);\n                  DAT_00091a44 = 1;\n                }\n                pcVar14 = (char *)puVar19[2];\n                if (DAT_00091a40 != 0) {\n                  iVar8 = FUN_00038b50();\n                  if (iVar8 != 0) break;\n                  pcVar14 = (char *)puVar19[2];\n                }\n                sVar12 = strlen(pcVar14);\n                if (DAT_00091e04 != (int *)0x0) {\n                  piVar11 = DAT_00091e04;\n                  do {\n                    if (piVar11[2] == 0) {\n                      sVar13 = strlen((char *)piVar11[1]);\n                      pcVar14 = (char *)xmalloc(sVar13 + sVar12 + 2);\n                      sprintf(pcVar14,"%s/%s",piVar11[1],puVar19[2]);\n                      iVar8 = FUN_00038820();\n                      if (iVar8 != 0) goto LAB_00039300;\n                      free(pcVar14);\n                    }\n                    piVar11 = (int *)*piVar11;\n                  } while (piVar11 != (int *)0x0);\n                }\n                if (bVar3) {\n                  uVar9 = puVar19[1];\n                  uVar2 = puVar19[2];\n                  uVar15 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00031760(uVar15,uVar2,uVar9);\n                  break;\n                }\n                bVar3 = true;\n              }\n            }\n          }\n        }" ({ "{") (for_statement "for (; puVar5 != puVar19; puVar5 = (undefined4 *)*puVar5) {\n            if (((puVar5[1] == 0) ||\n                (uVar7 = bfd_elf_get_dyn_lib_class(puVar5[1]), (uVar7 & 1) == 0)) &&\n               (iVar8 = strcmp((char *)puVar5[2],(char *)puVar19[2]), iVar8 == 0)) {\n              if (puVar19 != puVar5) goto LAB_00039300;\n              break;\n            }\n          }" (for "for") (( "(") (; ";") (binary_expression "puVar5 != puVar19" (identifier "puVar5") (!= "!=") (identifier "puVar19")) (; ";") (assignment_expression "puVar5 = (undefined4 *)*puVar5" (identifier "puVar5") (= "=") (cast_expression "(undefined4 *)*puVar5" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar5" (* "*") (identifier "puVar5")))) () ")") (compound_statement "{\n            if (((puVar5[1] == 0) ||\n                (uVar7 = bfd_elf_get_dyn_lib_class(puVar5[1]), (uVar7 & 1) == 0)) &&\n               (iVar8 = strcmp((char *)puVar5[2],(char *)puVar19[2]), iVar8 == 0)) {\n              if (puVar19 != puVar5) goto LAB_00039300;\n              break;\n            }\n          }" ({ "{") (if_statement "if (((puVar5[1] == 0) ||\n                (uVar7 = bfd_elf_get_dyn_lib_class(puVar5[1]), (uVar7 & 1) == 0)) &&\n               (iVar8 = strcmp((char *)puVar5[2],(char *)puVar19[2]), iVar8 == 0)) {\n              if (puVar19 != puVar5) goto LAB_00039300;\n              break;\n            }" (if "if") (parenthesized_expression "(((puVar5[1] == 0) ||\n                (uVar7 = bfd_elf_get_dyn_lib_class(puVar5[1]), (uVar7 & 1) == 0)) &&\n               (iVar8 = strcmp((char *)puVar5[2],(char *)puVar19[2]), iVar8 == 0))" (( "(") (binary_expression "((puVar5[1] == 0) ||\n                (uVar7 = bfd_elf_get_dyn_lib_class(puVar5[1]), (uVar7 & 1) == 0)) &&\n               (iVar8 = strcmp((char *)puVar5[2],(char *)puVar19[2]), iVar8 == 0)" (parenthesized_expression "((puVar5[1] == 0) ||\n                (uVar7 = bfd_elf_get_dyn_lib_class(puVar5[1]), (uVar7 & 1) == 0))" (( "(") (binary_expression "(puVar5[1] == 0) ||\n                (uVar7 = bfd_elf_get_dyn_lib_class(puVar5[1]), (uVar7 & 1) == 0)" (parenthesized_expression "(puVar5[1] == 0)" (( "(") (binary_expression "puVar5[1] == 0" (subscript_expression "puVar5[1]" (identifier "puVar5") ([ "[") (number_literal "1") (] "]")) (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(uVar7 = bfd_elf_get_dyn_lib_class(puVar5[1]), (uVar7 & 1) == 0)" (( "(") (comma_expression "uVar7 = bfd_elf_get_dyn_lib_class(puVar5[1]), (uVar7 & 1) == 0" (assignment_expression "uVar7 = bfd_elf_get_dyn_lib_class(puVar5[1])" (identifier "uVar7") (= "=") (call_expression "bfd_elf_get_dyn_lib_class(puVar5[1])" (identifier "bfd_elf_get_dyn_lib_class") (argument_list "(puVar5[1])" (( "(") (subscript_expression "puVar5[1]" (identifier "puVar5") ([ "[") (number_literal "1") (] "]")) () ")")))) (, ",") (binary_expression "(uVar7 & 1) == 0" (parenthesized_expression "(uVar7 & 1)" (( "(") (binary_expression "uVar7 & 1" (identifier "uVar7") (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(iVar8 = strcmp((char *)puVar5[2],(char *)puVar19[2]), iVar8 == 0)" (( "(") (comma_expression "iVar8 = strcmp((char *)puVar5[2],(char *)puVar19[2]), iVar8 == 0" (assignment_expression "iVar8 = strcmp((char *)puVar5[2],(char *)puVar19[2])" (identifier "iVar8") (= "=") (call_expression "strcmp((char *)puVar5[2],(char *)puVar19[2])" (identifier "strcmp") (argument_list "((char *)puVar5[2],(char *)puVar19[2])" (( "(") (cast_expression "(char *)puVar5[2]" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar5[2]" (identifier "puVar5") ([ "[") (number_literal "2") (] "]"))) (, ",") (cast_expression "(char *)puVar19[2]" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar19[2]" (identifier "puVar19") ([ "[") (number_literal "2") (] "]"))) () ")")))) (, ",") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n              if (puVar19 != puVar5) goto LAB_00039300;\n              break;\n            }" ({ "{") (if_statement "if (puVar19 != puVar5) goto LAB_00039300;" (if "if") (parenthesized_expression "(puVar19 != puVar5)" (( "(") (binary_expression "puVar19 != puVar5" (identifier "puVar19") (!= "!=") (identifier "puVar5")) () ")")) (goto_statement "goto LAB_00039300;" (goto "goto") (statement_identifier "LAB_00039300") (; ";"))) (break_statement "break;" (break "break") (; ";")) (} "}"))) (} "}"))) (expression_statement "DAT_00091ae4 = FUN_00038720;" (assignment_expression "DAT_00091ae4 = FUN_00038720" (identifier "DAT_00091ae4") (= "=") (identifier "FUN_00038720")) (; ";")) (expression_statement "DAT_00091a60 = 0;" (assignment_expression "DAT_00091a60 = 0" (identifier "DAT_00091a60") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00091ae0 = puVar19;" (assignment_expression "DAT_00091ae0 = puVar19" (identifier "DAT_00091ae0") (= "=") (identifier "puVar19")) (; ";")) (expression_statement "FUN_00024c50(FUN_00035720);" (call_expression "FUN_00024c50(FUN_00035720)" (identifier "FUN_00024c50") (argument_list "(FUN_00035720)" (( "(") (identifier "FUN_00035720") () ")"))) (; ";")) (if_statement "if ((DAT_00091a60 == 0) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_00091a60 + 0x10)),\n             (uVar7 & 1) != 0)) {\n            uVar9 = puVar19[1];\n            uVar2 = puVar19[2];\n            if (DAT_00091d90 != 0) {\n              uVar15 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00031730(uVar15,uVar2,uVar9);\n            }\n            if ((DAT_00091a60 == 0) || (iVar8 = FUN_00038820(), iVar8 == 0)) {\n              bVar3 = false;\n              while (iVar8 = FUN_00038b50(), iVar8 == 0) {\n                if (DAT_00091d04 != 0) {\n                  pvVar10 = (void *)FUN_00037360();\n                  iVar8 = FUN_00038b50();\n                  free(pvVar10);\n                  if (iVar8 != 0) break;\n                }\n                piVar11 = (int *)bfd_elf_get_runpath_list(DAT_00091c50,&DAT_00091c20);\n                if (piVar11 != (int *)0x0) {\n                  do {\n                    bVar24 = true;\n                    pvVar10 = (void *)FUN_00037360();\n                    bVar22 = false;\n                    if (piVar11[1] == puVar19[1]) {\n                      iVar8 = FUN_00038b50();\n                      bVar24 = iVar8 == 0;\n                      bVar22 = !bVar24;\n                    }\n                    free(pvVar10);\n                    piVar11 = (int *)*piVar11;\n                  } while ((piVar11 != (int *)0x0) && (bVar24));\n                  if (bVar22) break;\n                }\n                if (DAT_00091a44 == 0) {\n                  pvVar10 = (void *)concat(DAT_00091ca8,"/usr/etc/ld.so.conf",0);\n                  iVar8 = FUN_00037470();\n                  if (iVar8 == 0) {\n                    free(pvVar10);\n                    pvVar10 = (void *)concat(DAT_00091ca8,"/etc/ld.so.conf",0);\n                    FUN_00037470();\n                  }\n                  free(pvVar10);\n                  DAT_00091a44 = 1;\n                }\n                pcVar14 = (char *)puVar19[2];\n                if (DAT_00091a40 != 0) {\n                  iVar8 = FUN_00038b50();\n                  if (iVar8 != 0) break;\n                  pcVar14 = (char *)puVar19[2];\n                }\n                sVar12 = strlen(pcVar14);\n                if (DAT_00091e04 != (int *)0x0) {\n                  piVar11 = DAT_00091e04;\n                  do {\n                    if (piVar11[2] == 0) {\n                      sVar13 = strlen((char *)piVar11[1]);\n                      pcVar14 = (char *)xmalloc(sVar13 + sVar12 + 2);\n                      sprintf(pcVar14,"%s/%s",piVar11[1],puVar19[2]);\n                      iVar8 = FUN_00038820();\n                      if (iVar8 != 0) goto LAB_00039300;\n                      free(pcVar14);\n                    }\n                    piVar11 = (int *)*piVar11;\n                  } while (piVar11 != (int *)0x0);\n                }\n                if (bVar3) {\n                  uVar9 = puVar19[1];\n                  uVar2 = puVar19[2];\n                  uVar15 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00031760(uVar15,uVar2,uVar9);\n                  break;\n                }\n                bVar3 = true;\n              }\n            }\n          }" (if "if") (parenthesized_expression "((DAT_00091a60 == 0) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_00091a60 + 0x10)),\n             (uVar7 & 1) != 0))" (( "(") (binary_expression "(DAT_00091a60 == 0) ||\n             (uVar7 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_00091a60 + 0x10)),\n             (uVar7 & 1) != 0)" (parenthesized_expression "(DAT_00091a60 == 0)" (( "(") (binary_expression "DAT_00091a60 == 0" (identifier "DAT_00091a60") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(uVar7 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_00091a60 + 0x10)),\n             (uVar7 & 1) != 0)" (( "(") (comma_expression "uVar7 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_00091a60 + 0x10)),\n             (uVar7 & 1) != 0" (assignment_expression "uVar7 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_00091a60 + 0x10))" (identifier "uVar7") (= "=") (call_expression "bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_00091a60 + 0x10))" (identifier "bfd_elf_get_dyn_lib_class") (argument_list "(*(undefined4 *)(DAT_00091a60 + 0x10))" (( "(") (pointer_expression "*(undefined4 *)(DAT_00091a60 + 0x10)" (* "*") (cast_expression "(undefined4 *)(DAT_00091a60 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_00091a60 + 0x10)" (( "(") (binary_expression "DAT_00091a60 + 0x10" (identifier "DAT_00091a60") (+ "+") (number_literal "0x10")) () ")")))) () ")")))) (, ",") (binary_expression "(uVar7 & 1) != 0" (parenthesized_expression "(uVar7 & 1)" (( "(") (binary_expression "uVar7 & 1" (identifier "uVar7") (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n            uVar9 = puVar19[1];\n            uVar2 = puVar19[2];\n            if (DAT_00091d90 != 0) {\n              uVar15 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00031730(uVar15,uVar2,uVar9);\n            }\n            if ((DAT_00091a60 == 0) || (iVar8 = FUN_00038820(), iVar8 == 0)) {\n              bVar3 = false;\n              while (iVar8 = FUN_00038b50(), iVar8 == 0) {\n                if (DAT_00091d04 != 0) {\n                  pvVar10 = (void *)FUN_00037360();\n                  iVar8 = FUN_00038b50();\n                  free(pvVar10);\n                  if (iVar8 != 0) break;\n                }\n                piVar11 = (int *)bfd_elf_get_runpath_list(DAT_00091c50,&DAT_00091c20);\n                if (piVar11 != (int *)0x0) {\n                  do {\n                    bVar24 = true;\n                    pvVar10 = (void *)FUN_00037360();\n                    bVar22 = false;\n                    if (piVar11[1] == puVar19[1]) {\n                      iVar8 = FUN_00038b50();\n                      bVar24 = iVar8 == 0;\n                      bVar22 = !bVar24;\n                    }\n                    free(pvVar10);\n                    piVar11 = (int *)*piVar11;\n                  } while ((piVar11 != (int *)0x0) && (bVar24));\n                  if (bVar22) break;\n                }\n                if (DAT_00091a44 == 0) {\n                  pvVar10 = (void *)concat(DAT_00091ca8,"/usr/etc/ld.so.conf",0);\n                  iVar8 = FUN_00037470();\n                  if (iVar8 == 0) {\n                    free(pvVar10);\n                    pvVar10 = (void *)concat(DAT_00091ca8,"/etc/ld.so.conf",0);\n                    FUN_00037470();\n                  }\n                  free(pvVar10);\n                  DAT_00091a44 = 1;\n                }\n                pcVar14 = (char *)puVar19[2];\n                if (DAT_00091a40 != 0) {\n                  iVar8 = FUN_00038b50();\n                  if (iVar8 != 0) break;\n                  pcVar14 = (char *)puVar19[2];\n                }\n                sVar12 = strlen(pcVar14);\n                if (DAT_00091e04 != (int *)0x0) {\n                  piVar11 = DAT_00091e04;\n                  do {\n                    if (piVar11[2] == 0) {\n                      sVar13 = strlen((char *)piVar11[1]);\n                      pcVar14 = (char *)xmalloc(sVar13 + sVar12 + 2);\n                      sprintf(pcVar14,"%s/%s",piVar11[1],puVar19[2]);\n                      iVar8 = FUN_00038820();\n                      if (iVar8 != 0) goto LAB_00039300;\n                      free(pcVar14);\n                    }\n                    piVar11 = (int *)*piVar11;\n                  } while (piVar11 != (int *)0x0);\n                }\n                if (bVar3) {\n                  uVar9 = puVar19[1];\n                  uVar2 = puVar19[2];\n                  uVar15 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00031760(uVar15,uVar2,uVar9);\n                  break;\n                }\n                bVar3 = true;\n              }\n            }\n          }" ({ "{") (expression_statement "uVar9 = puVar19[1];" (assignment_expression "uVar9 = puVar19[1]" (identifier "uVar9") (= "=") (subscript_expression "puVar19[1]" (identifier "puVar19") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "uVar2 = puVar19[2];" (assignment_expression "uVar2 = puVar19[2]" (identifier "uVar2") (= "=") (subscript_expression "puVar19[2]" (identifier "puVar19") ([ "[") (number_literal "2") (] "]"))) (; ";")) (if_statement "if (DAT_00091d90 != 0) {\n              uVar15 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00031730(uVar15,uVar2,uVar9);\n            }" (if "if") (parenthesized_expression "(DAT_00091d90 != 0)" (( "(") (binary_expression "DAT_00091d90 != 0" (identifier "DAT_00091d90") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              uVar15 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00031730(uVar15,uVar2,uVar9);\n            }" ({ "{") (expression_statement "uVar15 = dcgettext(0,"%s needed by %pB\n",5);" (assignment_expression "uVar15 = dcgettext(0,"%s needed by %pB\n",5)" (identifier "uVar15") (= "=") (call_expression "dcgettext(0,"%s needed by %pB\n",5)" (identifier "dcgettext") (argument_list "(0,"%s needed by %pB\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""%s needed by %pB\n"" (" """) (string_content "%s needed by %pB") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_00031730(uVar15,uVar2,uVar9);" (call_expression "FUN_00031730(uVar15,uVar2,uVar9)" (identifier "FUN_00031730") (argument_list "(uVar15,uVar2,uVar9)" (( "(") (identifier "uVar15") (, ",") (identifier "uVar2") (, ",") (identifier "uVar9") () ")"))) (; ";")) (} "}"))) (if_statement "if ((DAT_00091a60 == 0) || (iVar8 = FUN_00038820(), iVar8 == 0)) {\n              bVar3 = false;\n              while (iVar8 = FUN_00038b50(), iVar8 == 0) {\n                if (DAT_00091d04 != 0) {\n                  pvVar10 = (void *)FUN_00037360();\n                  iVar8 = FUN_00038b50();\n                  free(pvVar10);\n                  if (iVar8 != 0) break;\n                }\n                piVar11 = (int *)bfd_elf_get_runpath_list(DAT_00091c50,&DAT_00091c20);\n                if (piVar11 != (int *)0x0) {\n                  do {\n                    bVar24 = true;\n                    pvVar10 = (void *)FUN_00037360();\n                    bVar22 = false;\n                    if (piVar11[1] == puVar19[1]) {\n                      iVar8 = FUN_00038b50();\n                      bVar24 = iVar8 == 0;\n                      bVar22 = !bVar24;\n                    }\n                    free(pvVar10);\n                    piVar11 = (int *)*piVar11;\n                  } while ((piVar11 != (int *)0x0) && (bVar24));\n                  if (bVar22) break;\n                }\n                if (DAT_00091a44 == 0) {\n                  pvVar10 = (void *)concat(DAT_00091ca8,"/usr/etc/ld.so.conf",0);\n                  iVar8 = FUN_00037470();\n                  if (iVar8 == 0) {\n                    free(pvVar10);\n                    pvVar10 = (void *)concat(DAT_00091ca8,"/etc/ld.so.conf",0);\n                    FUN_00037470();\n                  }\n                  free(pvVar10);\n                  DAT_00091a44 = 1;\n                }\n                pcVar14 = (char *)puVar19[2];\n                if (DAT_00091a40 != 0) {\n                  iVar8 = FUN_00038b50();\n                  if (iVar8 != 0) break;\n                  pcVar14 = (char *)puVar19[2];\n                }\n                sVar12 = strlen(pcVar14);\n                if (DAT_00091e04 != (int *)0x0) {\n                  piVar11 = DAT_00091e04;\n                  do {\n                    if (piVar11[2] == 0) {\n                      sVar13 = strlen((char *)piVar11[1]);\n                      pcVar14 = (char *)xmalloc(sVar13 + sVar12 + 2);\n                      sprintf(pcVar14,"%s/%s",piVar11[1],puVar19[2]);\n                      iVar8 = FUN_00038820();\n                      if (iVar8 != 0) goto LAB_00039300;\n                      free(pcVar14);\n                    }\n                    piVar11 = (int *)*piVar11;\n                  } while (piVar11 != (int *)0x0);\n                }\n                if (bVar3) {\n                  uVar9 = puVar19[1];\n                  uVar2 = puVar19[2];\n                  uVar15 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00031760(uVar15,uVar2,uVar9);\n                  break;\n                }\n                bVar3 = true;\n              }\n            }" (if "if") (parenthesized_expression "((DAT_00091a60 == 0) || (iVar8 = FUN_00038820(), iVar8 == 0))" (( "(") (binary_expression "(DAT_00091a60 == 0) || (iVar8 = FUN_00038820(), iVar8 == 0)" (parenthesized_expression "(DAT_00091a60 == 0)" (( "(") (binary_expression "DAT_00091a60 == 0" (identifier "DAT_00091a60") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar8 = FUN_00038820(), iVar8 == 0)" (( "(") (comma_expression "iVar8 = FUN_00038820(), iVar8 == 0" (assignment_expression "iVar8 = FUN_00038820()" (identifier "iVar8") (= "=") (call_expression "FUN_00038820()" (identifier "FUN_00038820") (argument_list "()" (( "(") () ")")))) (, ",") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n              bVar3 = false;\n              while (iVar8 = FUN_00038b50(), iVar8 == 0) {\n                if (DAT_00091d04 != 0) {\n                  pvVar10 = (void *)FUN_00037360();\n                  iVar8 = FUN_00038b50();\n                  free(pvVar10);\n                  if (iVar8 != 0) break;\n                }\n                piVar11 = (int *)bfd_elf_get_runpath_list(DAT_00091c50,&DAT_00091c20);\n                if (piVar11 != (int *)0x0) {\n                  do {\n                    bVar24 = true;\n                    pvVar10 = (void *)FUN_00037360();\n                    bVar22 = false;\n                    if (piVar11[1] == puVar19[1]) {\n                      iVar8 = FUN_00038b50();\n                      bVar24 = iVar8 == 0;\n                      bVar22 = !bVar24;\n                    }\n                    free(pvVar10);\n                    piVar11 = (int *)*piVar11;\n                  } while ((piVar11 != (int *)0x0) && (bVar24));\n                  if (bVar22) break;\n                }\n                if (DAT_00091a44 == 0) {\n                  pvVar10 = (void *)concat(DAT_00091ca8,"/usr/etc/ld.so.conf",0);\n                  iVar8 = FUN_00037470();\n                  if (iVar8 == 0) {\n                    free(pvVar10);\n                    pvVar10 = (void *)concat(DAT_00091ca8,"/etc/ld.so.conf",0);\n                    FUN_00037470();\n                  }\n                  free(pvVar10);\n                  DAT_00091a44 = 1;\n                }\n                pcVar14 = (char *)puVar19[2];\n                if (DAT_00091a40 != 0) {\n                  iVar8 = FUN_00038b50();\n                  if (iVar8 != 0) break;\n                  pcVar14 = (char *)puVar19[2];\n                }\n                sVar12 = strlen(pcVar14);\n                if (DAT_00091e04 != (int *)0x0) {\n                  piVar11 = DAT_00091e04;\n                  do {\n                    if (piVar11[2] == 0) {\n                      sVar13 = strlen((char *)piVar11[1]);\n                      pcVar14 = (char *)xmalloc(sVar13 + sVar12 + 2);\n                      sprintf(pcVar14,"%s/%s",piVar11[1],puVar19[2]);\n                      iVar8 = FUN_00038820();\n                      if (iVar8 != 0) goto LAB_00039300;\n                      free(pcVar14);\n                    }\n                    piVar11 = (int *)*piVar11;\n                  } while (piVar11 != (int *)0x0);\n                }\n                if (bVar3) {\n                  uVar9 = puVar19[1];\n                  uVar2 = puVar19[2];\n                  uVar15 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00031760(uVar15,uVar2,uVar9);\n                  break;\n                }\n                bVar3 = true;\n              }\n            }" ({ "{") (expression_statement "bVar3 = false;" (assignment_expression "bVar3 = false" (identifier "bVar3") (= "=") (false "false")) (; ";")) (while_statement "while (iVar8 = FUN_00038b50(), iVar8 == 0) {\n                if (DAT_00091d04 != 0) {\n                  pvVar10 = (void *)FUN_00037360();\n                  iVar8 = FUN_00038b50();\n                  free(pvVar10);\n                  if (iVar8 != 0) break;\n                }\n                piVar11 = (int *)bfd_elf_get_runpath_list(DAT_00091c50,&DAT_00091c20);\n                if (piVar11 != (int *)0x0) {\n                  do {\n                    bVar24 = true;\n                    pvVar10 = (void *)FUN_00037360();\n                    bVar22 = false;\n                    if (piVar11[1] == puVar19[1]) {\n                      iVar8 = FUN_00038b50();\n                      bVar24 = iVar8 == 0;\n                      bVar22 = !bVar24;\n                    }\n                    free(pvVar10);\n                    piVar11 = (int *)*piVar11;\n                  } while ((piVar11 != (int *)0x0) && (bVar24));\n                  if (bVar22) break;\n                }\n                if (DAT_00091a44 == 0) {\n                  pvVar10 = (void *)concat(DAT_00091ca8,"/usr/etc/ld.so.conf",0);\n                  iVar8 = FUN_00037470();\n                  if (iVar8 == 0) {\n                    free(pvVar10);\n                    pvVar10 = (void *)concat(DAT_00091ca8,"/etc/ld.so.conf",0);\n                    FUN_00037470();\n                  }\n                  free(pvVar10);\n                  DAT_00091a44 = 1;\n                }\n                pcVar14 = (char *)puVar19[2];\n                if (DAT_00091a40 != 0) {\n                  iVar8 = FUN_00038b50();\n                  if (iVar8 != 0) break;\n                  pcVar14 = (char *)puVar19[2];\n                }\n                sVar12 = strlen(pcVar14);\n                if (DAT_00091e04 != (int *)0x0) {\n                  piVar11 = DAT_00091e04;\n                  do {\n                    if (piVar11[2] == 0) {\n                      sVar13 = strlen((char *)piVar11[1]);\n                      pcVar14 = (char *)xmalloc(sVar13 + sVar12 + 2);\n                      sprintf(pcVar14,"%s/%s",piVar11[1],puVar19[2]);\n                      iVar8 = FUN_00038820();\n                      if (iVar8 != 0) goto LAB_00039300;\n                      free(pcVar14);\n                    }\n                    piVar11 = (int *)*piVar11;\n                  } while (piVar11 != (int *)0x0);\n                }\n                if (bVar3) {\n                  uVar9 = puVar19[1];\n                  uVar2 = puVar19[2];\n                  uVar15 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00031760(uVar15,uVar2,uVar9);\n                  break;\n                }\n                bVar3 = true;\n              }" (while "while") (parenthesized_expression "(iVar8 = FUN_00038b50(), iVar8 == 0)" (( "(") (comma_expression "iVar8 = FUN_00038b50(), iVar8 == 0" (assignment_expression "iVar8 = FUN_00038b50()" (identifier "iVar8") (= "=") (call_expression "FUN_00038b50()" (identifier "FUN_00038b50") (argument_list "()" (( "(") () ")")))) (, ",") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0"))) () ")")) (compound_statement "{\n                if (DAT_00091d04 != 0) {\n                  pvVar10 = (void *)FUN_00037360();\n                  iVar8 = FUN_00038b50();\n                  free(pvVar10);\n                  if (iVar8 != 0) break;\n                }\n                piVar11 = (int *)bfd_elf_get_runpath_list(DAT_00091c50,&DAT_00091c20);\n                if (piVar11 != (int *)0x0) {\n                  do {\n                    bVar24 = true;\n                    pvVar10 = (void *)FUN_00037360();\n                    bVar22 = false;\n                    if (piVar11[1] == puVar19[1]) {\n                      iVar8 = FUN_00038b50();\n                      bVar24 = iVar8 == 0;\n                      bVar22 = !bVar24;\n                    }\n                    free(pvVar10);\n                    piVar11 = (int *)*piVar11;\n                  } while ((piVar11 != (int *)0x0) && (bVar24));\n                  if (bVar22) break;\n                }\n                if (DAT_00091a44 == 0) {\n                  pvVar10 = (void *)concat(DAT_00091ca8,"/usr/etc/ld.so.conf",0);\n                  iVar8 = FUN_00037470();\n                  if (iVar8 == 0) {\n                    free(pvVar10);\n                    pvVar10 = (void *)concat(DAT_00091ca8,"/etc/ld.so.conf",0);\n                    FUN_00037470();\n                  }\n                  free(pvVar10);\n                  DAT_00091a44 = 1;\n                }\n                pcVar14 = (char *)puVar19[2];\n                if (DAT_00091a40 != 0) {\n                  iVar8 = FUN_00038b50();\n                  if (iVar8 != 0) break;\n                  pcVar14 = (char *)puVar19[2];\n                }\n                sVar12 = strlen(pcVar14);\n                if (DAT_00091e04 != (int *)0x0) {\n                  piVar11 = DAT_00091e04;\n                  do {\n                    if (piVar11[2] == 0) {\n                      sVar13 = strlen((char *)piVar11[1]);\n                      pcVar14 = (char *)xmalloc(sVar13 + sVar12 + 2);\n                      sprintf(pcVar14,"%s/%s",piVar11[1],puVar19[2]);\n                      iVar8 = FUN_00038820();\n                      if (iVar8 != 0) goto LAB_00039300;\n                      free(pcVar14);\n                    }\n                    piVar11 = (int *)*piVar11;\n                  } while (piVar11 != (int *)0x0);\n                }\n                if (bVar3) {\n                  uVar9 = puVar19[1];\n                  uVar2 = puVar19[2];\n                  uVar15 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00031760(uVar15,uVar2,uVar9);\n                  break;\n                }\n                bVar3 = true;\n              }" ({ "{") (if_statement "if (DAT_00091d04 != 0) {\n                  pvVar10 = (void *)FUN_00037360();\n                  iVar8 = FUN_00038b50();\n                  free(pvVar10);\n                  if (iVar8 != 0) break;\n                }" (if "if") (parenthesized_expression "(DAT_00091d04 != 0)" (( "(") (binary_expression "DAT_00091d04 != 0" (identifier "DAT_00091d04") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                  pvVar10 = (void *)FUN_00037360();\n                  iVar8 = FUN_00038b50();\n                  free(pvVar10);\n                  if (iVar8 != 0) break;\n                }" ({ "{") (expression_statement "pvVar10 = (void *)FUN_00037360();" (assignment_expression "pvVar10 = (void *)FUN_00037360()" (identifier "pvVar10") (= "=") (cast_expression "(void *)FUN_00037360()" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00037360()" (identifier "FUN_00037360") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "iVar8 = FUN_00038b50();" (assignment_expression "iVar8 = FUN_00038b50()" (identifier "iVar8") (= "=") (call_expression "FUN_00038b50()" (identifier "FUN_00038b50") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "free(pvVar10);" (call_expression "free(pvVar10)" (identifier "free") (argument_list "(pvVar10)" (( "(") (identifier "pvVar10") () ")"))) (; ";")) (if_statement "if (iVar8 != 0) break;" (if "if") (parenthesized_expression "(iVar8 != 0)" (( "(") (binary_expression "iVar8 != 0" (identifier "iVar8") (!= "!=") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (} "}"))) (expression_statement "piVar11 = (int *)bfd_elf_get_runpath_list(DAT_00091c50,&DAT_00091c20);" (assignment_expression "piVar11 = (int *)bfd_elf_get_runpath_list(DAT_00091c50,&DAT_00091c20)" (identifier "piVar11") (= "=") (cast_expression "(int *)bfd_elf_get_runpath_list(DAT_00091c50,&DAT_00091c20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "bfd_elf_get_runpath_list(DAT_00091c50,&DAT_00091c20)" (identifier "bfd_elf_get_runpath_list") (argument_list "(DAT_00091c50,&DAT_00091c20)" (( "(") (identifier "DAT_00091c50") (, ",") (pointer_expression "&DAT_00091c20" (& "&") (identifier "DAT_00091c20")) () ")"))))) (; ";")) (if_statement "if (piVar11 != (int *)0x0) {\n                  do {\n                    bVar24 = true;\n                    pvVar10 = (void *)FUN_00037360();\n                    bVar22 = false;\n                    if (piVar11[1] == puVar19[1]) {\n                      iVar8 = FUN_00038b50();\n                      bVar24 = iVar8 == 0;\n                      bVar22 = !bVar24;\n                    }\n                    free(pvVar10);\n                    piVar11 = (int *)*piVar11;\n                  } while ((piVar11 != (int *)0x0) && (bVar24));\n                  if (bVar22) break;\n                }" (if "if") (parenthesized_expression "(piVar11 != (int *)0x0)" (( "(") (binary_expression "piVar11 != (int *)0x0" (identifier "piVar11") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                  do {\n                    bVar24 = true;\n                    pvVar10 = (void *)FUN_00037360();\n                    bVar22 = false;\n                    if (piVar11[1] == puVar19[1]) {\n                      iVar8 = FUN_00038b50();\n                      bVar24 = iVar8 == 0;\n                      bVar22 = !bVar24;\n                    }\n                    free(pvVar10);\n                    piVar11 = (int *)*piVar11;\n                  } while ((piVar11 != (int *)0x0) && (bVar24));\n                  if (bVar22) break;\n                }" ({ "{") (do_statement "do {\n                    bVar24 = true;\n                    pvVar10 = (void *)FUN_00037360();\n                    bVar22 = false;\n                    if (piVar11[1] == puVar19[1]) {\n                      iVar8 = FUN_00038b50();\n                      bVar24 = iVar8 == 0;\n                      bVar22 = !bVar24;\n                    }\n                    free(pvVar10);\n                    piVar11 = (int *)*piVar11;\n                  } while ((piVar11 != (int *)0x0) && (bVar24));" (do "do") (compound_statement "{\n                    bVar24 = true;\n                    pvVar10 = (void *)FUN_00037360();\n                    bVar22 = false;\n                    if (piVar11[1] == puVar19[1]) {\n                      iVar8 = FUN_00038b50();\n                      bVar24 = iVar8 == 0;\n                      bVar22 = !bVar24;\n                    }\n                    free(pvVar10);\n                    piVar11 = (int *)*piVar11;\n                  }" ({ "{") (expression_statement "bVar24 = true;" (assignment_expression "bVar24 = true" (identifier "bVar24") (= "=") (true "true")) (; ";")) (expression_statement "pvVar10 = (void *)FUN_00037360();" (assignment_expression "pvVar10 = (void *)FUN_00037360()" (identifier "pvVar10") (= "=") (cast_expression "(void *)FUN_00037360()" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00037360()" (identifier "FUN_00037360") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "bVar22 = false;" (assignment_expression "bVar22 = false" (identifier "bVar22") (= "=") (false "false")) (; ";")) (if_statement "if (piVar11[1] == puVar19[1]) {\n                      iVar8 = FUN_00038b50();\n                      bVar24 = iVar8 == 0;\n                      bVar22 = !bVar24;\n                    }" (if "if") (parenthesized_expression "(piVar11[1] == puVar19[1])" (( "(") (binary_expression "piVar11[1] == puVar19[1]" (subscript_expression "piVar11[1]" (identifier "piVar11") ([ "[") (number_literal "1") (] "]")) (== "==") (subscript_expression "puVar19[1]" (identifier "puVar19") ([ "[") (number_literal "1") (] "]"))) () ")")) (compound_statement "{\n                      iVar8 = FUN_00038b50();\n                      bVar24 = iVar8 == 0;\n                      bVar22 = !bVar24;\n                    }" ({ "{") (expression_statement "iVar8 = FUN_00038b50();" (assignment_expression "iVar8 = FUN_00038b50()" (identifier "iVar8") (= "=") (call_expression "FUN_00038b50()" (identifier "FUN_00038b50") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "bVar24 = iVar8 == 0;" (assignment_expression "bVar24 = iVar8 == 0" (identifier "bVar24") (= "=") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0"))) (; ";")) (expression_statement "bVar22 = !bVar24;" (assignment_expression "bVar22 = !bVar24" (identifier "bVar22") (= "=") (unary_expression "!bVar24" (! "!") (identifier "bVar24"))) (; ";")) (} "}"))) (expression_statement "free(pvVar10);" (call_expression "free(pvVar10)" (identifier "free") (argument_list "(pvVar10)" (( "(") (identifier "pvVar10") () ")"))) (; ";")) (expression_statement "piVar11 = (int *)*piVar11;" (assignment_expression "piVar11 = (int *)*piVar11" (identifier "piVar11") (= "=") (cast_expression "(int *)*piVar11" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar11" (* "*") (identifier "piVar11")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((piVar11 != (int *)0x0) && (bVar24))" (( "(") (binary_expression "(piVar11 != (int *)0x0) && (bVar24)" (parenthesized_expression "(piVar11 != (int *)0x0)" (( "(") (binary_expression "piVar11 != (int *)0x0" (identifier "piVar11") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(bVar24)" (( "(") (identifier "bVar24") () ")"))) () ")")) (; ";")) (if_statement "if (bVar22) break;" (if "if") (parenthesized_expression "(bVar22)" (( "(") (identifier "bVar22") () ")")) (break_statement "break;" (break "break") (; ";"))) (} "}"))) (if_statement "if (DAT_00091a44 == 0) {\n                  pvVar10 = (void *)concat(DAT_00091ca8,"/usr/etc/ld.so.conf",0);\n                  iVar8 = FUN_00037470();\n                  if (iVar8 == 0) {\n                    free(pvVar10);\n                    pvVar10 = (void *)concat(DAT_00091ca8,"/etc/ld.so.conf",0);\n                    FUN_00037470();\n                  }\n                  free(pvVar10);\n                  DAT_00091a44 = 1;\n                }" (if "if") (parenthesized_expression "(DAT_00091a44 == 0)" (( "(") (binary_expression "DAT_00091a44 == 0" (identifier "DAT_00091a44") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                  pvVar10 = (void *)concat(DAT_00091ca8,"/usr/etc/ld.so.conf",0);\n                  iVar8 = FUN_00037470();\n                  if (iVar8 == 0) {\n                    free(pvVar10);\n                    pvVar10 = (void *)concat(DAT_00091ca8,"/etc/ld.so.conf",0);\n                    FUN_00037470();\n                  }\n                  free(pvVar10);\n                  DAT_00091a44 = 1;\n                }" ({ "{") (expression_statement "pvVar10 = (void *)concat(DAT_00091ca8,"/usr/etc/ld.so.conf",0);" (assignment_expression "pvVar10 = (void *)concat(DAT_00091ca8,"/usr/etc/ld.so.conf",0)" (identifier "pvVar10") (= "=") (cast_expression "(void *)concat(DAT_00091ca8,"/usr/etc/ld.so.conf",0)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "concat(DAT_00091ca8,"/usr/etc/ld.so.conf",0)" (identifier "concat") (argument_list "(DAT_00091ca8,"/usr/etc/ld.so.conf",0)" (( "(") (identifier "DAT_00091ca8") (, ",") (string_literal ""/usr/etc/ld.so.conf"" (" """) (string_content "/usr/etc/ld.so.conf") (" """)) (, ",") (number_literal "0") () ")"))))) (; ";")) (expression_statement "iVar8 = FUN_00037470();" (assignment_expression "iVar8 = FUN_00037470()" (identifier "iVar8") (= "=") (call_expression "FUN_00037470()" (identifier "FUN_00037470") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar8 == 0) {\n                    free(pvVar10);\n                    pvVar10 = (void *)concat(DAT_00091ca8,"/etc/ld.so.conf",0);\n                    FUN_00037470();\n                  }" (if "if") (parenthesized_expression "(iVar8 == 0)" (( "(") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    free(pvVar10);\n                    pvVar10 = (void *)concat(DAT_00091ca8,"/etc/ld.so.conf",0);\n                    FUN_00037470();\n                  }" ({ "{") (expression_statement "free(pvVar10);" (call_expression "free(pvVar10)" (identifier "free") (argument_list "(pvVar10)" (( "(") (identifier "pvVar10") () ")"))) (; ";")) (expression_statement "pvVar10 = (void *)concat(DAT_00091ca8,"/etc/ld.so.conf",0);" (assignment_expression "pvVar10 = (void *)concat(DAT_00091ca8,"/etc/ld.so.conf",0)" (identifier "pvVar10") (= "=") (cast_expression "(void *)concat(DAT_00091ca8,"/etc/ld.so.conf",0)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "concat(DAT_00091ca8,"/etc/ld.so.conf",0)" (identifier "concat") (argument_list "(DAT_00091ca8,"/etc/ld.so.conf",0)" (( "(") (identifier "DAT_00091ca8") (, ",") (string_literal ""/etc/ld.so.conf"" (" """) (string_content "/etc/ld.so.conf") (" """)) (, ",") (number_literal "0") () ")"))))) (; ";")) (expression_statement "FUN_00037470();" (call_expression "FUN_00037470()" (identifier "FUN_00037470") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "free(pvVar10);" (call_expression "free(pvVar10)" (identifier "free") (argument_list "(pvVar10)" (( "(") (identifier "pvVar10") () ")"))) (; ";")) (expression_statement "DAT_00091a44 = 1;" (assignment_expression "DAT_00091a44 = 1" (identifier "DAT_00091a44") (= "=") (number_literal "1")) (; ";")) (} "}"))) (expression_statement "pcVar14 = (char *)puVar19[2];" (assignment_expression "pcVar14 = (char *)puVar19[2]" (identifier "pcVar14") (= "=") (cast_expression "(char *)puVar19[2]" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar19[2]" (identifier "puVar19") ([ "[") (number_literal "2") (] "]")))) (; ";")) (if_statement "if (DAT_00091a40 != 0) {\n                  iVar8 = FUN_00038b50();\n                  if (iVar8 != 0) break;\n                  pcVar14 = (char *)puVar19[2];\n                }" (if "if") (parenthesized_expression "(DAT_00091a40 != 0)" (( "(") (binary_expression "DAT_00091a40 != 0" (identifier "DAT_00091a40") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                  iVar8 = FUN_00038b50();\n                  if (iVar8 != 0) break;\n                  pcVar14 = (char *)puVar19[2];\n                }" ({ "{") (expression_statement "iVar8 = FUN_00038b50();" (assignment_expression "iVar8 = FUN_00038b50()" (identifier "iVar8") (= "=") (call_expression "FUN_00038b50()" (identifier "FUN_00038b50") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar8 != 0) break;" (if "if") (parenthesized_expression "(iVar8 != 0)" (( "(") (binary_expression "iVar8 != 0" (identifier "iVar8") (!= "!=") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "pcVar14 = (char *)puVar19[2];" (assignment_expression "pcVar14 = (char *)puVar19[2]" (identifier "pcVar14") (= "=") (cast_expression "(char *)puVar19[2]" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar19[2]" (identifier "puVar19") ([ "[") (number_literal "2") (] "]")))) (; ";")) (} "}"))) (expression_statement "sVar12 = strlen(pcVar14);" (assignment_expression "sVar12 = strlen(pcVar14)" (identifier "sVar12") (= "=") (call_expression "strlen(pcVar14)" (identifier "strlen") (argument_list "(pcVar14)" (( "(") (identifier "pcVar14") () ")")))) (; ";")) (if_statement "if (DAT_00091e04 != (int *)0x0) {\n                  piVar11 = DAT_00091e04;\n                  do {\n                    if (piVar11[2] == 0) {\n                      sVar13 = strlen((char *)piVar11[1]);\n                      pcVar14 = (char *)xmalloc(sVar13 + sVar12 + 2);\n                      sprintf(pcVar14,"%s/%s",piVar11[1],puVar19[2]);\n                      iVar8 = FUN_00038820();\n                      if (iVar8 != 0) goto LAB_00039300;\n                      free(pcVar14);\n                    }\n                    piVar11 = (int *)*piVar11;\n                  } while (piVar11 != (int *)0x0);\n                }" (if "if") (parenthesized_expression "(DAT_00091e04 != (int *)0x0)" (( "(") (binary_expression "DAT_00091e04 != (int *)0x0" (identifier "DAT_00091e04") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                  piVar11 = DAT_00091e04;\n                  do {\n                    if (piVar11[2] == 0) {\n                      sVar13 = strlen((char *)piVar11[1]);\n                      pcVar14 = (char *)xmalloc(sVar13 + sVar12 + 2);\n                      sprintf(pcVar14,"%s/%s",piVar11[1],puVar19[2]);\n                      iVar8 = FUN_00038820();\n                      if (iVar8 != 0) goto LAB_00039300;\n                      free(pcVar14);\n                    }\n                    piVar11 = (int *)*piVar11;\n                  } while (piVar11 != (int *)0x0);\n                }" ({ "{") (expression_statement "piVar11 = DAT_00091e04;" (assignment_expression "piVar11 = DAT_00091e04" (identifier "piVar11") (= "=") (identifier "DAT_00091e04")) (; ";")) (do_statement "do {\n                    if (piVar11[2] == 0) {\n                      sVar13 = strlen((char *)piVar11[1]);\n                      pcVar14 = (char *)xmalloc(sVar13 + sVar12 + 2);\n                      sprintf(pcVar14,"%s/%s",piVar11[1],puVar19[2]);\n                      iVar8 = FUN_00038820();\n                      if (iVar8 != 0) goto LAB_00039300;\n                      free(pcVar14);\n                    }\n                    piVar11 = (int *)*piVar11;\n                  } while (piVar11 != (int *)0x0);" (do "do") (compound_statement "{\n                    if (piVar11[2] == 0) {\n                      sVar13 = strlen((char *)piVar11[1]);\n                      pcVar14 = (char *)xmalloc(sVar13 + sVar12 + 2);\n                      sprintf(pcVar14,"%s/%s",piVar11[1],puVar19[2]);\n                      iVar8 = FUN_00038820();\n                      if (iVar8 != 0) goto LAB_00039300;\n                      free(pcVar14);\n                    }\n                    piVar11 = (int *)*piVar11;\n                  }" ({ "{") (if_statement "if (piVar11[2] == 0) {\n                      sVar13 = strlen((char *)piVar11[1]);\n                      pcVar14 = (char *)xmalloc(sVar13 + sVar12 + 2);\n                      sprintf(pcVar14,"%s/%s",piVar11[1],puVar19[2]);\n                      iVar8 = FUN_00038820();\n                      if (iVar8 != 0) goto LAB_00039300;\n                      free(pcVar14);\n                    }" (if "if") (parenthesized_expression "(piVar11[2] == 0)" (( "(") (binary_expression "piVar11[2] == 0" (subscript_expression "piVar11[2]" (identifier "piVar11") ([ "[") (number_literal "2") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                      sVar13 = strlen((char *)piVar11[1]);\n                      pcVar14 = (char *)xmalloc(sVar13 + sVar12 + 2);\n                      sprintf(pcVar14,"%s/%s",piVar11[1],puVar19[2]);\n                      iVar8 = FUN_00038820();\n                      if (iVar8 != 0) goto LAB_00039300;\n                      free(pcVar14);\n                    }" ({ "{") (expression_statement "sVar13 = strlen((char *)piVar11[1]);" (assignment_expression "sVar13 = strlen((char *)piVar11[1])" (identifier "sVar13") (= "=") (call_expression "strlen((char *)piVar11[1])" (identifier "strlen") (argument_list "((char *)piVar11[1])" (( "(") (cast_expression "(char *)piVar11[1]" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar11[1]" (identifier "piVar11") ([ "[") (number_literal "1") (] "]"))) () ")")))) (; ";")) (expression_statement "pcVar14 = (char *)xmalloc(sVar13 + sVar12 + 2);" (assignment_expression "pcVar14 = (char *)xmalloc(sVar13 + sVar12 + 2)" (identifier "pcVar14") (= "=") (cast_expression "(char *)xmalloc(sVar13 + sVar12 + 2)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "xmalloc(sVar13 + sVar12 + 2)" (identifier "xmalloc") (argument_list "(sVar13 + sVar12 + 2)" (( "(") (binary_expression "sVar13 + sVar12 + 2" (binary_expression "sVar13 + sVar12" (identifier "sVar13") (+ "+") (identifier "sVar12")) (+ "+") (number_literal "2")) () ")"))))) (; ";")) (expression_statement "sprintf(pcVar14,"%s/%s",piVar11[1],puVar19[2]);" (call_expression "sprintf(pcVar14,"%s/%s",piVar11[1],puVar19[2])" (identifier "sprintf") (argument_list "(pcVar14,"%s/%s",piVar11[1],puVar19[2])" (( "(") (identifier "pcVar14") (, ",") (string_literal ""%s/%s"" (" """) (string_content "%s/%s") (" """)) (, ",") (subscript_expression "piVar11[1]" (identifier "piVar11") ([ "[") (number_literal "1") (] "]")) (, ",") (subscript_expression "puVar19[2]" (identifier "puVar19") ([ "[") (number_literal "2") (] "]")) () ")"))) (; ";")) (expression_statement "iVar8 = FUN_00038820();" (assignment_expression "iVar8 = FUN_00038820()" (identifier "iVar8") (= "=") (call_expression "FUN_00038820()" (identifier "FUN_00038820") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar8 != 0) goto LAB_00039300;" (if "if") (parenthesized_expression "(iVar8 != 0)" (( "(") (binary_expression "iVar8 != 0" (identifier "iVar8") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00039300;" (goto "goto") (statement_identifier "LAB_00039300") (; ";"))) (expression_statement "free(pcVar14);" (call_expression "free(pcVar14)" (identifier "free") (argument_list "(pcVar14)" (( "(") (identifier "pcVar14") () ")"))) (; ";")) (} "}"))) (expression_statement "piVar11 = (int *)*piVar11;" (assignment_expression "piVar11 = (int *)*piVar11" (identifier "piVar11") (= "=") (cast_expression "(int *)*piVar11" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar11" (* "*") (identifier "piVar11")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(piVar11 != (int *)0x0)" (( "(") (binary_expression "piVar11 != (int *)0x0" (identifier "piVar11") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (} "}"))) (if_statement "if (bVar3) {\n                  uVar9 = puVar19[1];\n                  uVar2 = puVar19[2];\n                  uVar15 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00031760(uVar15,uVar2,uVar9);\n                  break;\n                }" (if "if") (parenthesized_expression "(bVar3)" (( "(") (identifier "bVar3") () ")")) (compound_statement "{\n                  uVar9 = puVar19[1];\n                  uVar2 = puVar19[2];\n                  uVar15 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00031760(uVar15,uVar2,uVar9);\n                  break;\n                }" ({ "{") (expression_statement "uVar9 = puVar19[1];" (assignment_expression "uVar9 = puVar19[1]" (identifier "uVar9") (= "=") (subscript_expression "puVar19[1]" (identifier "puVar19") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "uVar2 = puVar19[2];" (assignment_expression "uVar2 = puVar19[2]" (identifier "uVar2") (= "=") (subscript_expression "puVar19[2]" (identifier "puVar19") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "uVar15 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);" (assignment_expression "uVar15 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5)" (identifier "uVar15") (= "=") (call_expression "dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5)" (identifier "dcgettext") (argument_list "(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5)" (( "(") (number_literal "0") (, ",") (string_literal ""%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"" (" """) (string_content "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_00031760(uVar15,uVar2,uVar9);" (call_expression "FUN_00031760(uVar15,uVar2,uVar9)" (identifier "FUN_00031760") (argument_list "(uVar15,uVar2,uVar9)" (( "(") (identifier "uVar15") (, ",") (identifier "uVar2") (, ",") (identifier "uVar9") () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";")) (} "}"))) (expression_statement "bVar3 = true;" (assignment_expression "bVar3 = true" (identifier "bVar3") (= "=") (true "true")) (; ";")) (} "}"))) (} "}"))) (} "}"))) (} "}"))) (labeled_statement "LAB_00039300:\n        uVar4 = DAT_00091c20._2_2_;" (statement_identifier "LAB_00039300") (: ":") (expression_statement "uVar4 = DAT_00091c20._2_2_;" (assignment_expression "uVar4 = DAT_00091c20._2_2_" (identifier "uVar4") (= "=") (field_expression "DAT_00091c20._2_2_" (identifier "DAT_00091c20") (. ".") (field_identifier "_2_2_"))) (; ";"))) (} "}"))) (expression_statement "DAT_00091c20._3_1_ = (byte)(uVar4 >> 8);" (assignment_expression "DAT_00091c20._3_1_ = (byte)(uVar4 >> 8)" (field_expression "DAT_00091c20._3_1_" (identifier "DAT_00091c20") (. ".") (field_identifier "_3_1_")) (= "=") (call_expression "(byte)(uVar4 >> 8)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(uVar4 >> 8)" (( "(") (binary_expression "uVar4 >> 8" (identifier "uVar4") (>> ">>") (number_literal "8")) () ")")))) (; ";")) (expression_statement "bVar25 = DAT_00091c20._3_1_ & 0xc0;" (assignment_expression "bVar25 = DAT_00091c20._3_1_ & 0xc0" (identifier "bVar25") (= "=") (binary_expression "DAT_00091c20._3_1_ & 0xc0" (field_expression "DAT_00091c20._3_1_" (identifier "DAT_00091c20") (. ".") (field_identifier "_3_1_")) (& "&") (number_literal "0xc0"))) (; ";")) (if_statement "if ((bVar25 == 0x80) && (iVar8 = bfd_elf_parse_eh_frame_entries(0,&DAT_00091c20), iVar8 == 0))\n      {\n        uVar9 = dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);\n        FUN_00031760(uVar9);\n      }" (if "if") (parenthesized_expression "((bVar25 == 0x80) && (iVar8 = bfd_elf_parse_eh_frame_entries(0,&DAT_00091c20), iVar8 == 0))" (( "(") (binary_expression "(bVar25 == 0x80) && (iVar8 = bfd_elf_parse_eh_frame_entries(0,&DAT_00091c20), iVar8 == 0)" (parenthesized_expression "(bVar25 == 0x80)" (( "(") (binary_expression "bVar25 == 0x80" (identifier "bVar25") (== "==") (number_literal "0x80")) () ")")) (&& "&&") (parenthesized_expression "(iVar8 = bfd_elf_parse_eh_frame_entries(0,&DAT_00091c20), iVar8 == 0)" (( "(") (comma_expression "iVar8 = bfd_elf_parse_eh_frame_entries(0,&DAT_00091c20), iVar8 == 0" (assignment_expression "iVar8 = bfd_elf_parse_eh_frame_entries(0,&DAT_00091c20)" (identifier "iVar8") (= "=") (call_expression "bfd_elf_parse_eh_frame_entries(0,&DAT_00091c20)" (identifier "bfd_elf_parse_eh_frame_entries") (argument_list "(0,&DAT_00091c20)" (( "(") (number_literal "0") (, ",") (pointer_expression "&DAT_00091c20" (& "&") (identifier "DAT_00091c20")) () ")")))) (, ",") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n        uVar9 = dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);\n        FUN_00031760(uVar9);\n      }" ({ "{") (expression_statement "uVar9 = dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);" (assignment_expression "uVar9 = dcgettext(0,"%F%P: failed to parse EH frame entries\n",5)" (identifier "uVar9") (= "=") (call_expression "dcgettext(0,"%F%P: failed to parse EH frame entries\n",5)" (identifier "dcgettext") (argument_list "(0,"%F%P: failed to parse EH frame entries\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""%F%P: failed to parse EH frame entries\n"" (" """) (string_content "%F%P: failed to parse EH frame entries") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_00031760(uVar9);" (call_expression "FUN_00031760(uVar9)" (identifier "FUN_00031760") (argument_list "(uVar9)" (( "(") (identifier "uVar9") () ")"))) (; ";")) (} "}"))) (} "}")))) (} "}"))) (return_statement "return;" (return "return") (; ";")) (} "}")))

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

void function_1(void)

{
  type_1 *poVar1;
  type_2 *var_28;
  bool bVar3;
  type_2 *var_31;
  type_3 *pbVar5;
  type_4 *pdVar6;
  type_5 var_11;
  type_6 *var_13;
  type_2 *pbVar9;
  type_7 var_30;
  int var_18;
  type_8 var_38;
  char *var_46;
  int *var_42;
  size_t var_51;
  size_t var_50;
  char *pcVar17;
  type_9 var_25;
  type_10 *pbVar19;
  type_11 *var_15;
  type_10 *var_8;
  type_12 *var_53;
  type_13 *var_19;
  type_13 *var_20;
  bool var_22;
  bool var_21;
  bool bVar27;
  type_13 bVar28;
  type_4 *var_23;
  int var_16;
  type_10 *var_24;
  type_4 n;
  type_4 nn;
  type_4 needed;
  
  bVar28 = 0;
  var_1();
  pbVar5 = link_info.hash;
  if ((link_info.hash)->type == var_2) {
    if (command_line.out_implib_filename != (char *)0x0) {
      var_3(command_line.out_implib_filename);
      link_info.out_implib_bfd =
           (type_10 *)var_4(command_line.out_implib_filename,(link_info.output_bfd)->xvec->name);
      var_46 = command_line.out_implib_filename;
      if (link_info.out_implib_bfd == (type_10 *)0x0) {
        pcVar17 = (char *)var_5(0,"%F%P: %s: can\'t open for writing: %E\n",5);
        var_6(pcVar17,var_46);
      }
    }
    pbVar19 = link_info.output_bfd;
    var_8 = link_info.input_bfds;
    if (var_7 != (char *)0x0) {
      for (; var_8 != (type_10 *)0x0; var_8 = (var_8->link).next) {
        if (((var_8->xvec->flavour == var_9) && (var_8->section_count != 0)) &&
           ((*(type_13 *)((int)var_8->usrdata + 0x24) & 0x10) == 0)) {
          var_11 = var_10(var_7);
          if ((var_11 == 0) || (var_11 + 0x10 == 0)) {
            var_46 = "%P: warning: unrecognized --build-id style ignored\n";
          }
          else {
            var_13 = (type_6 *)var_12(var_8,".note.gnu.build-id",0x10402b);
            if (var_13 != (type_6 *)0x0) {
              var_13->alignment_power = 2;
              pbVar19 = link_info.output_bfd;
              poVar1 = (((link_info.output_bfd)->tdata).elf_obj_data)->o;
              (poVar1->build_id).after_write_object_contents = write_build_id;
              var_46 = var_7;
              (poVar1->build_id).sec = var_13;
              (poVar1->build_id).style = var_46;
              *(type_14 *)((int)var_13->used_by_bfd + 4) = 7;
              var_13->size = var_11 + 0x10;
              goto LAB_00039178;
            }
            var_46 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";
          }
          var_46 = (char *)var_5(0,var_46,5);
          var_6(var_46);
          break;
        }
      }
      var_14(var_7);
      var_7 = (char *)0x0;
      pbVar19 = link_info.output_bfd;
    }
LAB_00039178:
    (**(type_15 **)((int)pbVar19->xvec->backend_data + 0x1bc))(&link_info);
    if ((link_info._0_1_ & 3) == 2) {
      if ((type_13)link_info._5_1_ >> 7 == (~link_info._6_1_ & 1)) {
        var_12
                  (link_info.input_bfds,".note.GNU-stack",(type_13)link_info._5_1_ >> 3 & 0x10 | 8);
      }
    }
    else {
      if (((link_info._4_1_ & 0x20) == 0) && (link_info.input_bfds != (type_10 *)0x0)) {
        var_16 = 0;
        bVar3 = false;
        var_24 = (type_10 *)0x0;
        var_8 = link_info.input_bfds;
        do {
          while ((*(type_13 *)((int)var_8->usrdata + 0x24) & 0x10) != 0) {
LAB_000395d0:
            var_8 = (var_8->link).next;
            if (var_8 == (type_10 *)0x0) goto LAB_000396cd;
          }
          var_15 = var_8->sections;
          if (var_15 == (type_11 *)0x0) {
LAB_00039697:
            if (var_16 != 2) goto LAB_000395d0;
          }
          else {
            var_23 = (type_4 *)0x0;
            do {
              var_21 = var_15->output_section <
                       (type_11 *)(var_17 + 0x150);
              bVar27 = var_15->output_section ==
                       (type_11 *)(var_17 + 0x150);
              pdVar6 = var_23;
              if (!bVar27) {
                var_18 = 0xf;
                var_19 = (type_13 *)var_15->name;
                var_20 = (type_13 *)".eh_frame_entry";
                do {
                  if (var_18 == 0) break;
                  var_18 = var_18 + -1;
                  var_21 = *var_19 < *var_20;
                  bVar27 = *var_19 == *var_20;
                  var_19 = var_19 + (type_7)bVar28 * -2 + 1;
                  var_20 = var_20 + (type_7)bVar28 * -2 + 1;
                } while (bVar27);
                var_22 = false;
                var_21 = (!var_21 && !bVar27) == var_21;
                if (var_21) {
                  var_23 = (type_4 *)0x2;
                  goto LAB_0003966f;
                }
                var_18 = 10;
                var_19 = (type_13 *)var_15->name;
                var_20 = (type_13 *)".eh_frame";
                do {
                  if (var_18 == 0) break;
                  var_18 = var_18 + -1;
                  var_22 = *var_19 < *var_20;
                  var_21 = *var_19 == *var_20;
                  var_19 = var_19 + (type_7)bVar28 * -2 + 1;
                  var_20 = var_20 + (type_7)bVar28 * -2 + 1;
                } while (var_21);
                if (((!var_22 && !var_21) == var_22) && (pdVar6 = (type_4 *)1, var_15->size < 9)
                   ) {
                  pdVar6 = var_23;
                }
              }
              var_23 = pdVar6;
              var_15 = var_15->next;
            } while (var_15 != (type_11 *)0x0);
            if (var_23 == (type_4 *)0x0) goto LAB_00039697;
LAB_0003966f:
            if ((var_16 != 0) && ((type_4 *)var_16 != var_23)) {
              if (var_23 != (type_4 *)0x1) {
                var_8 = var_24;
              }
              var_46 = (char *)var_5(0,
                                          "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"
                                          ,5);
              var_6(var_46,var_8);
              break;
            }
            var_16 = (int)var_23;
            if (var_24 != (type_10 *)0x0) goto LAB_00039697;
            if (var_23 != (type_4 *)0x2) {
              if ((link_info._2_2_ & 0xc000) == 0) {
                var_16 = 1;
              }
              else {
                var_16 = 1;
                bVar3 = true;
                if (var_8->xvec->flavour == var_9) {
                  var_24 = var_8;
                }
              }
              goto LAB_000395d0;
            }
            bVar3 = true;
            if (var_8->xvec->flavour == var_9) {
              var_24 = var_8;
            }
          }
          var_8 = (var_8->link).next;
          var_16 = 2;
          link_info._2_2_ = link_info._2_2_ & 0x3fff | 0x8000;
        } while (var_8 != (type_10 *)0x0);
LAB_000396cd:
        if ((var_24 == (type_10 *)0x0) ||
           (var_25 = var_12
                               (var_24,".eh_frame_hdr",
                                *(type_7 *)((int)var_24->xvec->backend_data + 0x20) | 8),
           var_25 == var_26)) {
          if (bVar3) {
            var_46 = (char *)var_5(0,
                                        "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"
                                        ,5);
            var_6(var_46);
          }
        }
        else {
          *(type_14 *)(var_25 + 0x40) = 2;
          pbVar5[3].type = var_25;
        }
      }
      pbVar9 = (type_2 *)var_27(link_info.output_bfd,&link_info);
      for (var_28 = pbVar9; var_28 != (type_2 *)0x0; var_28 = var_28->next) {
        var_31 = pbVar9;
        if ((var_28->by == (type_10 *)0x0) ||
           ((var_30 = var_29(var_28->by), (var_30 & 1) == 0 &&
            (((var_28->by == (type_10 *)0x0 || ((link_info._2_2_ & 0x180) != 0x80)) ||
             (var_30 = var_29(var_28->by), (var_30 & 4) == 0)))))) {
          for (; var_31 != var_28; var_31 = var_31->next) {
            if (((var_31->by == (type_10 *)0x0) ||
                (var_30 = var_29(var_31->by), (var_30 & 1) == 0)) &&
               (var_18 = var_32(var_31->name,var_28->name), var_18 == 0)) {
              if (var_28 != var_31) goto LAB_00039300;
              break;
            }
          }
          real_func = gldhppalinux_check_needed;
          var_34 = (type_16 *)0x0;
          global_needed = var_28;
          var_33(hppa_for_each_input_file_wrapper);
          if ((var_34 == (type_16 *)0x0) ||
             (var_30 = var_29(var_34->the_bfd), (var_30 & 1) != 0)) {
            var_8 = var_28->by;
            var_46 = var_28->name;
            n.by = var_8;
            n.name = var_46;
            nn.by = var_8;
            if (var_35 != 0) {
              pcVar17 = (char *)var_5(0,"%s needed by %pB\n",5);
              var_36(pcVar17,var_46,var_8);
            }
            if (var_34 != (type_16 *)0x0) {
              nn.name = var_34->filename;
              var_38 = var_37(&nn,(int)nn.name,(type_4 *)0x1);
              if (var_38 != 0) goto LAB_00039300;
            }
            var_23 = (type_4 *)0x0;
            while (var_38 = var_39(command_line.rpath_link,&n,(int)var_23),
                  var_38 == 0) {
              if (command_line.rpath != (char *)0x0) {
                var_46 = var_40(command_line.rpath);
                var_38 = var_39(var_46,&n,(int)var_23);
                var_14(var_46);
                if (var_38 != 0) break;
              }
              var_42 = (int *)var_41(link_info.output_bfd,&link_info);
              if (var_42 != (int *)0x0) {
                do {
                  var_21 = true;
                  var_46 = var_40((char *)var_42[2]);
                  bVar3 = false;
                  if ((type_10 *)var_42[1] == var_28->by) {
                    var_38 = var_39(var_46,&n,(int)var_23);
                    var_21 = var_38 == 0;
                    bVar3 = !var_21;
                  }
                  var_14(var_46);
                  var_42 = (int *)*var_42;
                } while ((var_42 != (int *)0x0) && (var_21));
                if (bVar3) break;
              }
              var_46 = ld_so_conf_13908;
              if (var_43 == 0) {
                needed.by = (type_10 *)0x0;
                needed.name = (char *)0x0;
                var_46 = (char *)var_44(ld_sysroot,"/usr/etc/ld.so.conf",0);
                var_38 = var_45((type_17 *)&needed,var_46);
                if (var_38 == 0) {
                  var_14(var_46);
                  var_46 = (char *)var_44(ld_sysroot,"/etc/ld.so.conf",0);
                  var_45((type_17 *)&needed,var_46);
                }
                var_14(var_46);
                var_46 = ld_so_conf_13908;
                if (needed.by != (type_10 *)0x0) {
                  var_46 = var_40((char *)needed.by);
                  ld_so_conf_13908 = var_46;
                  var_14(needed.by);
                }
                var_43 = 1;
              }
              pcVar17 = var_28->name;
              if (var_46 != (char *)0x0) {
                needed.by = var_28->by;
                needed.name = pcVar17;
                var_38 = var_39(var_46,&needed,(int)var_23);
                if (var_38 != 0) break;
                pcVar17 = var_28->name;
              }
              var_51 = var_47(pcVar17);
              if (var_48 != (type_18 *)0x0) {
                var_53 = var_48;
                do {
                  if (var_53->cmdline == 0) {
                    var_50 = var_47(var_53->name);
                    var_46 = (char *)var_49(var_50 + var_51 + 2);
                    var_52(var_46,"%s/%s",var_53->name,var_28->name);
                    nn.name = var_46;
                    var_38 = var_37(&nn,(int)var_46,var_23);
                    if (var_38 != 0) goto LAB_00039300;
                    var_14(var_46);
                  }
                  var_53 = var_53->next;
                } while (var_53 != (type_12 *)0x0);
              }
              if (var_23 == (type_4 *)0x1) {
                var_8 = var_28->by;
                var_46 = var_28->name;
                pcVar17 = (char *)var_5(0,
                                            "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"
                                            ,5);
                var_6(pcVar17,var_46,var_8);
                break;
              }
              var_23 = (type_4 *)0x1;
            }
          }
        }
LAB_00039300:
      }
      if (((link_info._3_1_ & 0xc0) == 0x80) &&
         (var_18 = var_54(0,&link_info), var_18 == 0)) {
        var_46 = (char *)var_5(0,"%F%P: failed to parse EH frame entries\n",5);
        var_6(var_46);
      }
    }
  }
  return;
}


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

/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Removing unreachable block (ram,0x000397df) */

void MASKED(void)

{
  int iVar1;
  undefined4 uVar2;
  bool bVar3;
  ushort uVar4;
  undefined4 *puVar5;
  undefined4 *puVar6;
  uint uVar7;
  int iVar8;
  undefined4 uVar9;
  void *pvVar10;
  int *piVar11;
  size_t sVar12;
  size_t sVar13;
  char *pcVar14;
  undefined4 uVar15;
  int iVar16;
  int iVar17;
  int iVar18;
  undefined4 *puVar19;
  byte *pbVar20;
  byte *pbVar21;
  bool bVar22;
  bool bVar23;
  bool bVar24;
  byte bVar25;
  int local_60;
  int local_50;
  int local_4c;
  
  bVar25 = 0;
  FUN_00030330();
  iVar8 = DAT_00091c3c;
  if (*(int *)(DAT_00091c3c + 0x28) == 1) {
    if (DAT_00091ce0 != 0) {
      unlink_if_ordinary(DAT_00091ce0);
      DAT_00091c54 = bfd_openw(DAT_00091ce0,**(undefined4 **)(DAT_00091c50 + 4));
      iVar16 = DAT_00091ce0;
      if (DAT_00091c54 == 0) {
        uVar9 = dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);
        FUN_00031760(uVar9,iVar16);
      }
    }
    iVar18 = DAT_00091c50;
    iVar16 = DAT_00091c58;
    if (DAT_00091a4c != (void *)0x0) {
      for (; iVar16 != 0; iVar16 = *(int *)(iVar16 + 0x98)) {
        if (((*(int *)(*(int *)(iVar16 + 4) + 4) == 5) && (*(int *)(iVar16 + 0x68) != 0)) &&
           ((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0)) {
          iVar17 = FUN_000353f0(DAT_00091a4c);
          if ((iVar17 == 0) || (iVar17 + 0x10 == 0)) {
            pcVar14 = "%P: warning: unrecognized --build-id style ignored\n";
          }
          else {
            iVar16 = bfd_make_section_with_flags(iVar16,".note.gnu.build-id",0x10402b);
            if (iVar16 != 0) {
              *(undefined4 *)(iVar16 + 0x40) = 2;
              iVar18 = DAT_00091c50;
              iVar1 = *(int *)(*(int *)(DAT_00091c50 + 0x9c) + 0x910);
              *(code **)(iVar1 + 0x10) = FUN_000371f0;
              pvVar10 = DAT_00091a4c;
              *(int *)(iVar1 + 0x18) = iVar16;
              *(void **)(iVar1 + 0x14) = pvVar10;
              *(undefined4 *)(*(int *)(iVar16 + 0x8c) + 4) = 7;
              *(int *)(iVar16 + 0x24) = iVar17 + 0x10;
              goto LAB_00039178;
            }
            pcVar14 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";
          }
          uVar9 = dcgettext(0,pcVar14,5);
          FUN_00031760(uVar9);
          break;
        }
      }
      free(DAT_00091a4c);
      DAT_00091a4c = (void *)0x0;
      iVar18 = DAT_00091c50;
    }
LAB_00039178:
    (**(code **)(*(int *)(*(int *)(iVar18 + 4) + 0x1c0) + 0x1bc))(&DAT_00091c20);
    if (((byte)DAT_00091c20 & 3) == 2) {
      if (DAT_00091c25 >> 7 == (~DAT_00091c26 & 1)) {
        bfd_make_section_with_flags(DAT_00091c58,".note.GNU-stack",DAT_00091c25 >> 3 & 0x10 | 8);
      }
    }
    else {
      if (((DAT_00091c24 & 0x20) == 0) && (DAT_00091c58 != 0)) {
        local_50 = 0;
        bVar3 = false;
        local_4c = 0;
        iVar16 = DAT_00091c58;
        do {
          while ((*(byte *)(*(int *)(iVar16 + 0xa0) + 0x24) & 0x10) == 0) {
            puVar19 = *(undefined4 **)(iVar16 + 0x60);
            if (puVar19 == (undefined4 *)0x0) {
LAB_00039697:
              if (local_50 != 2) break;
            }
            else {
              local_60 = 0;
              do {
                bVar22 = (undefined *)puVar19[0xf] < PTR__bfd_std_section_00090fc4 + 0x150;
                bVar24 = (undefined *)puVar19[0xf] == PTR__bfd_std_section_00090fc4 + 0x150;
                iVar18 = local_60;
                if (!bVar24) {
                  iVar17 = 0xf;
                  pbVar20 = (byte *)*puVar19;
                  pbVar21 = (byte *)".eh_frame_entry";
                  do {
                    if (iVar17 == 0) break;
                    iVar17 = iVar17 + -1;
                    bVar22 = *pbVar20 < *pbVar21;
                    bVar24 = *pbVar20 == *pbVar21;
                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;
                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;
                  } while (bVar24);
                  bVar23 = false;
                  bVar22 = (!bVar22 && !bVar24) == bVar22;
                  if (bVar22) {
                    local_60 = 2;
                    goto LAB_0003966f;
                  }
                  iVar17 = 10;
                  pbVar20 = (byte *)*puVar19;
                  pbVar21 = (byte *)".eh_frame";
                  do {
                    if (iVar17 == 0) break;
                    iVar17 = iVar17 + -1;
                    bVar23 = *pbVar20 < *pbVar21;
                    bVar22 = *pbVar20 == *pbVar21;
                    pbVar20 = pbVar20 + (uint)bVar25 * -2 + 1;
                    pbVar21 = pbVar21 + (uint)bVar25 * -2 + 1;
                  } while (bVar22);
                  if (((!bVar23 && !bVar22) == bVar23) && (iVar18 = 1, (uint)puVar19[9] < 9)) {
                    iVar18 = local_60;
                  }
                }
                local_60 = iVar18;
                puVar19 = (undefined4 *)puVar19[3];
              } while (puVar19 != (undefined4 *)0x0);
              if (local_60 == 0) goto LAB_00039697;
LAB_0003966f:
              if ((local_50 != 0) && (local_50 != local_60)) {
                if (local_60 != 1) {
                  iVar16 = local_4c;
                }
                uVar9 = dcgettext(0,
                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"
                                  ,5);
                FUN_00031760(uVar9,iVar16);
                goto LAB_000396cd;
              }
              local_50 = local_60;
              if (local_4c != 0) goto LAB_00039697;
              if (local_60 != 2) {
                if ((DAT_00091c20._2_2_ & 0xc000) == 0) {
                  local_50 = 1;
                }
                else {
                  local_50 = 1;
                  bVar3 = true;
                  if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {
                    local_4c = iVar16;
                  }
                }
                break;
              }
              bVar3 = true;
              if (*(int *)(*(int *)(iVar16 + 4) + 4) == 5) {
                local_4c = iVar16;
              }
            }
            iVar16 = *(int *)(iVar16 + 0x98);
            local_50 = 2;
            DAT_00091c20._2_2_ = DAT_00091c20._2_2_ & 0x3fff | 0x8000;
            if (iVar16 == 0) goto LAB_000396cd;
          }
          iVar16 = *(int *)(iVar16 + 0x98);
        } while (iVar16 != 0);
LAB_000396cd:
        if ((local_4c == 0) ||
           (iVar16 = bfd_make_section_with_flags
                               (local_4c,".eh_frame_hdr",
                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x20) | 8),
           iVar16 == 0)) {
          if (bVar3) {
            uVar9 = dcgettext(0,
                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"
                              ,5);
            FUN_00031760(uVar9);
          }
        }
        else {
          *(undefined4 *)(iVar16 + 0x40) = 2;
          *(int *)(iVar8 + 0xac) = iVar16;
        }
      }
      puVar6 = (undefined4 *)bfd_elf_get_needed_list(DAT_00091c50,&DAT_00091c20);
      uVar4 = DAT_00091c20._2_2_;
      for (puVar19 = puVar6; DAT_00091c20._2_2_ = uVar4, puVar19 != (undefined4 *)0x0;
          puVar19 = (undefined4 *)*puVar19) {
        puVar5 = puVar6;
        if ((puVar19[1] == 0) ||
           ((uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 1) == 0 &&
            (((puVar19[1] == 0 || ((DAT_00091c20._2_2_ & 0x180) != 0x80)) ||
             (uVar7 = bfd_elf_get_dyn_lib_class(puVar19[1]), (uVar7 & 4) == 0)))))) {
          for (; puVar5 != puVar19; puVar5 = (undefined4 *)*puVar5) {
            if (((puVar5[1] == 0) ||
                (uVar7 = bfd_elf_get_dyn_lib_class(puVar5[1]), (uVar7 & 1) == 0)) &&
               (iVar8 = strcmp((char *)puVar5[2],(char *)puVar19[2]), iVar8 == 0)) {
              if (puVar19 != puVar5) goto LAB_00039300;
              break;
            }
          }
          DAT_00091ae4 = FUN_00038720;
          DAT_00091a60 = 0;
          DAT_00091ae0 = puVar19;
          FUN_00024c50(FUN_00035720);
          if ((DAT_00091a60 == 0) ||
             (uVar7 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_00091a60 + 0x10)),
             (uVar7 & 1) != 0)) {
            uVar9 = puVar19[1];
            uVar2 = puVar19[2];
            if (DAT_00091d90 != 0) {
              uVar15 = dcgettext(0,"%s needed by %pB\n",5);
              FUN_00031730(uVar15,uVar2,uVar9);
            }
            if ((DAT_00091a60 == 0) || (iVar8 = FUN_00038820(), iVar8 == 0)) {
              bVar3 = false;
              while (iVar8 = FUN_00038b50(), iVar8 == 0) {
                if (DAT_00091d04 != 0) {
                  pvVar10 = (void *)FUN_00037360();
                  iVar8 = FUN_00038b50();
                  free(pvVar10);
                  if (iVar8 != 0) break;
                }
                piVar11 = (int *)bfd_elf_get_runpath_list(DAT_00091c50,&DAT_00091c20);
                if (piVar11 != (int *)0x0) {
                  do {
                    bVar24 = true;
                    pvVar10 = (void *)FUN_00037360();
                    bVar22 = false;
                    if (piVar11[1] == puVar19[1]) {
                      iVar8 = FUN_00038b50();
                      bVar24 = iVar8 == 0;
                      bVar22 = !bVar24;
                    }
                    free(pvVar10);
                    piVar11 = (int *)*piVar11;
                  } while ((piVar11 != (int *)0x0) && (bVar24));
                  if (bVar22) break;
                }
                if (DAT_00091a44 == 0) {
                  pvVar10 = (void *)concat(DAT_00091ca8,"/usr/etc/ld.so.conf",0);
                  iVar8 = FUN_00037470();
                  if (iVar8 == 0) {
                    free(pvVar10);
                    pvVar10 = (void *)concat(DAT_00091ca8,"/etc/ld.so.conf",0);
                    FUN_00037470();
                  }
                  free(pvVar10);
                  DAT_00091a44 = 1;
                }
                pcVar14 = (char *)puVar19[2];
                if (DAT_00091a40 != 0) {
                  iVar8 = FUN_00038b50();
                  if (iVar8 != 0) break;
                  pcVar14 = (char *)puVar19[2];
                }
                sVar12 = strlen(pcVar14);
                if (DAT_00091e04 != (int *)0x0) {
                  piVar11 = DAT_00091e04;
                  do {
                    if (piVar11[2] == 0) {
                      sVar13 = strlen((char *)piVar11[1]);
                      pcVar14 = (char *)xmalloc(sVar13 + sVar12 + 2);
                      sprintf(pcVar14,"%s/%s",piVar11[1],puVar19[2]);
                      iVar8 = FUN_00038820();
                      if (iVar8 != 0) goto LAB_00039300;
                      free(pcVar14);
                    }
                    piVar11 = (int *)*piVar11;
                  } while (piVar11 != (int *)0x0);
                }
                if (bVar3) {
                  uVar9 = puVar19[1];
                  uVar2 = puVar19[2];
                  uVar15 = dcgettext(0,
                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"
                                     ,5);
                  FUN_00031760(uVar15,uVar2,uVar9);
                  break;
                }
                bVar3 = true;
              }
            }
          }
        }
LAB_00039300:
        uVar4 = DAT_00091c20._2_2_;
      }
      DAT_00091c20._3_1_ = (byte)(uVar4 >> 8);
      bVar25 = DAT_00091c20._3_1_ & 0xc0;
      if ((bVar25 == 0x80) && (iVar8 = bfd_elf_parse_eh_frame_entries(0,&DAT_00091c20), iVar8 == 0))
      {
        uVar9 = dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);
        FUN_00031760(uVar9);
      }
    }
  }
  return;
}

