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

void gldelf32lriscv_ilp32f_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;
  asection *paVar7;
  bfd_link_needed_list *pbVar8;
  uint uVar9;
  int iVar10;
  bfd_boolean bVar11;
  char *pcVar12;
  int *piVar13;
  size_t sVar14;
  size_t sVar15;
  char *pcVar16;
  bfd_link_hash_entry *pbVar17;
  bfd *pbVar18;
  bfd_section *pbVar19;
  bfd *pbVar20;
  search_dirs *psVar21;
  byte *pbVar22;
  byte *pbVar23;
  bool bVar24;
  bool bVar25;
  bool bVar26;
  byte bVar27;
  bfd_size_type bVar28;
  dt_needed *local_60;
  int local_50;
  bfd *local_4c;
  dt_needed n;
  dt_needed nn;
  dt_needed needed;
  
  bVar27 = 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);
      pcVar12 = command_line.out_implib_filename;
      if (link_info.out_implib_bfd == (bfd *)0x0) {
        pcVar16 = (char *)dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);
        einfo(pcVar16,pcVar12);
      }
    }
    pbVar18 = link_info.output_bfd;
    pbVar20 = link_info.input_bfds;
    if (emit_note_gnu_build_id != (char *)0x0) {
      for (; pbVar20 != (bfd *)0x0; pbVar20 = (pbVar20->link).next) {
        if (((pbVar20->xvec->flavour == bfd_target_elf_flavour) && (pbVar20->section_count != 0)) &&
           ((*(byte *)((int)pbVar20->usrdata + 0x24) & 0x10) == 0)) {
          bVar28 = compute_build_id_size(emit_note_gnu_build_id);
          if ((bVar28 == 0) || (bVar28 + 0x10 == 0)) {
            pcVar12 = "%P: warning: unrecognized --build-id style ignored\n";
          }
          else {
            paVar7 = (asection *)
                     bfd_make_section_with_flags
                               (pbVar20,".note.gnu.build-id",
                                "ttributes)) }\n  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }\n}\n\n"
                               );
            if (paVar7 != (asection *)0x0) {
              paVar7->alignment_power = 2;
              pbVar18 = link_info.output_bfd;
              poVar1 = (((link_info.output_bfd)->tdata).elf_obj_data)->o;
              (poVar1->build_id).after_write_object_contents = write_build_id;
              pcVar12 = emit_note_gnu_build_id;
              (poVar1->build_id).sec = paVar7;
              (poVar1->build_id).style = pcVar12;
              *(undefined4 *)((int)paVar7->used_by_bfd + 4) = 7;
              paVar7->size = bVar28 + 0x10;
              goto LAB_0004ad04;
            }
            pcVar12 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";
          }
          pcVar12 = (char *)dcgettext(0,pcVar12,5);
          einfo(pcVar12);
          break;
        }
      }
      free(emit_note_gnu_build_id);
      emit_note_gnu_build_id = (char *)0x0;
      pbVar18 = link_info.output_bfd;
    }
LAB_0004ad04:
    (**(code **)((int)pbVar18->xvec->backend_data + 0x1d0))(&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;
        pbVar20 = link_info.input_bfds;
        do {
          while ((*(byte *)((int)pbVar20->usrdata + 0x24) & 0x10) != 0) {
LAB_0004b160:
            pbVar20 = (pbVar20->link).next;
            if (pbVar20 == (bfd *)0x0) goto LAB_0004b267;
          }
          pbVar19 = pbVar20->sections;
          if (pbVar19 == (bfd_section *)0x0) {
LAB_0004b231:
            if (local_50 != 2) goto LAB_0004b160;
          }
          else {
            local_60 = (dt_needed *)0x0;
            do {
              bVar25 = pbVar19->output_section <
                       (bfd_section *)(PTR__bfd_std_section_0013bfc4 + 0x180);
              bVar26 = pbVar19->output_section ==
                       (bfd_section *)(PTR__bfd_std_section_0013bfc4 + 0x180);
              pdVar6 = local_60;
              if (!bVar26) {
                iVar10 = 0xf;
                pbVar22 = (byte *)pbVar19->name;
                pbVar23 = (byte *)".eh_frame_entry";
                do {
                  if (iVar10 == 0) break;
                  iVar10 = iVar10 + -1;
                  bVar25 = *pbVar22 < *pbVar23;
                  bVar26 = *pbVar22 == *pbVar23;
                  pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;
                  pbVar23 = pbVar23 + (uint)bVar27 * -2 + 1;
                } while (bVar26);
                bVar24 = false;
                bVar25 = (!bVar25 && !bVar26) == bVar25;
                if (bVar25) {
                  local_60 = (dt_needed *)0x2;
                  goto LAB_0004b209;
                }
                iVar10 = 10;
                pbVar22 = (byte *)pbVar19->name;
                pbVar23 = (byte *)".eh_frame";
                do {
                  if (iVar10 == 0) break;
                  iVar10 = iVar10 + -1;
                  bVar24 = *pbVar22 < *pbVar23;
                  bVar25 = *pbVar22 == *pbVar23;
                  pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;
                  pbVar23 = pbVar23 + (uint)bVar27 * -2 + 1;
                } while (bVar25);
                if (((!bVar24 && !bVar25) == bVar24) &&
                   (piVar13 = (int *)((int)&pbVar19->size + 4), pdVar6 = (dt_needed *)1,
                   *piVar13 == 0 && (uint)(8 < (uint)pbVar19->size) <= (uint)-*piVar13)) {
                  pdVar6 = local_60;
                }
              }
              local_60 = pdVar6;
              pbVar19 = pbVar19->next;
            } while (pbVar19 != (bfd_section *)0x0);
            if (local_60 == (dt_needed *)0x0) goto LAB_0004b231;
LAB_0004b209:
            if ((local_50 != 0) && ((dt_needed *)local_50 != local_60)) {
              if (local_60 != (dt_needed *)0x1) {
                pbVar20 = local_4c;
              }
              pcVar12 = (char *)dcgettext(0,
                                          "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"
                                          ,5);
              einfo(pcVar12,pbVar20);
              break;
            }
            local_50 = (int)local_60;
            if (local_4c != (bfd *)0x0) goto LAB_0004b231;
            if (local_60 != (dt_needed *)0x2) {
              if ((link_info._2_2_ & 0xc000) == 0) {
                local_50 = 1;
              }
              else {
                local_50 = 1;
                bVar3 = true;
                if (pbVar20->xvec->flavour == bfd_target_elf_flavour) {
                  local_4c = pbVar20;
                }
              }
              goto LAB_0004b160;
            }
            bVar3 = true;
            if (pbVar20->xvec->flavour == bfd_target_elf_flavour) {
              local_4c = pbVar20;
            }
          }
          pbVar20 = (pbVar20->link).next;
          local_50 = 2;
          link_info._2_2_ = link_info._2_2_ & 0x3fff | 0x8000;
        } while (pbVar20 != (bfd *)0x0);
LAB_0004b267:
        if ((local_4c == (bfd *)0x0) ||
           (pbVar17 = (bfd_link_hash_entry *)
                      bfd_make_section_with_flags
                                (local_4c,".eh_frame_hdr",
                                 *(uint *)((int)local_4c->xvec->backend_data + 0x30) | 8),
           pbVar17 == (bfd_link_hash_entry *)0x0)) {
          if (bVar3) {
            pcVar12 = (char *)dcgettext(0,
                                        "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"
                                        ,5);
            einfo(pcVar12);
          }
        }
        else {
          pbVar17[2].u.i.warning = (char *)0x2;
          pbVar5[4].undefs_tail = pbVar17;
        }
      }
      pbVar8 = (bfd_link_needed_list *)bfd_elf_get_needed_list(link_info.output_bfd,&link_info);
      for (pbVar2 = pbVar8; pbVar2 != (bfd_link_needed_list *)0x0; pbVar2 = pbVar2->next) {
        pbVar4 = pbVar8;
        if ((pbVar2->by == (bfd *)0x0) ||
           ((uVar9 = bfd_elf_get_dyn_lib_class(pbVar2->by), (uVar9 & 1) == 0 &&
            (((pbVar2->by == (bfd *)0x0 || ((link_info._2_2_ & 0x180) != 0x80)) ||
             (uVar9 = bfd_elf_get_dyn_lib_class(pbVar2->by), (uVar9 & 4) == 0)))))) {
          for (; pbVar4 != pbVar2; pbVar4 = pbVar4->next) {
            if (((pbVar4->by == (bfd *)0x0) ||
                (uVar9 = bfd_elf_get_dyn_lib_class(pbVar4->by), (uVar9 & 1) == 0)) &&
               (iVar10 = strcmp(pbVar4->name,pbVar2->name), iVar10 == 0)) {
              if (pbVar2 != pbVar4) goto LAB_0004ae88;
              break;
            }
          }
          global_found = (lang_input_statement_type *)0x0;
          global_needed = pbVar2;
          lang_for_each_input_file(gldelf32lriscv_ilp32f_check_needed);
          if ((global_found == (lang_input_statement_type *)0x0) ||
             (uVar9 = bfd_elf_get_dyn_lib_class(global_found->the_bfd), (uVar9 & 1) != 0)) {
            pbVar20 = pbVar2->by;
            pcVar12 = pbVar2->name;
            n.by = pbVar20;
            n.name = pcVar12;
            nn.by = pbVar20;
            if (verbose != 0) {
              pcVar16 = (char *)dcgettext(0,"%s needed by %pB\n",5);
              info_msg(pcVar16,pcVar12,pbVar20);
            }
            if (global_found != (lang_input_statement_type *)0x0) {
              nn.name = global_found->filename;
              bVar11 = gldelf32lriscv_ilp32f_try_needed(&nn,(int)nn.name,(dt_needed *)0x1);
              if (bVar11 != 0) goto LAB_0004ae88;
            }
            local_60 = (dt_needed *)0x0;
            while (bVar11 = gldelf32lriscv_ilp32f_search_needed
                                      (command_line.rpath_link,&n,(int)local_60), bVar11 == 0) {
              if (command_line.rpath != (char *)0x0) {
                pcVar12 = gldelf32lriscv_ilp32f_add_sysroot(command_line.rpath);
                bVar11 = gldelf32lriscv_ilp32f_search_needed(pcVar12,&n,(int)local_60);
                free(pcVar12);
                if (bVar11 != 0) break;
              }
              piVar13 = (int *)bfd_elf_get_runpath_list(link_info.output_bfd,&link_info);
              if (piVar13 != (int *)0x0) {
                do {
                  bVar25 = true;
                  pcVar12 = gldelf32lriscv_ilp32f_add_sysroot((char *)piVar13[2]);
                  bVar3 = false;
                  if ((bfd *)piVar13[1] == pbVar2->by) {
                    bVar11 = gldelf32lriscv_ilp32f_search_needed(pcVar12,&n,(int)local_60);
                    bVar25 = bVar11 == 0;
                    bVar3 = !bVar25;
                  }
                  free(pcVar12);
                  piVar13 = (int *)*piVar13;
                } while ((piVar13 != (int *)0x0) && (bVar25));
                if (bVar3) break;
              }
              pcVar12 = ld_so_conf_13460;
              if (initialized_13459 == 0) {
                needed.by = (bfd *)0x0;
                needed.name = (char *)0x0;
                pcVar12 = (char *)concat(ld_sysroot,"/usr/etc/ld.so.conf",0);
                bVar11 = gldelf32lriscv_ilp32f_parse_ld_so_conf
                                   ((gldelf32lriscv_ilp32f_ld_so_conf *)&needed,pcVar12);
                if (bVar11 == 0) {
                  free(pcVar12);
                  pcVar12 = (char *)concat(ld_sysroot,"/etc/ld.so.conf",0);
                  gldelf32lriscv_ilp32f_parse_ld_so_conf
                            ((gldelf32lriscv_ilp32f_ld_so_conf *)&needed,pcVar12);
                }
                free(pcVar12);
                pcVar12 = ld_so_conf_13460;
                if (needed.by != (bfd *)0x0) {
                  pcVar12 = gldelf32lriscv_ilp32f_add_sysroot((char *)needed.by);
                  ld_so_conf_13460 = pcVar12;
                  free(needed.by);
                }
                initialized_13459 = 1;
              }
              pcVar16 = pbVar2->name;
              if (pcVar12 != (char *)0x0) {
                needed.by = pbVar2->by;
                needed.name = pcVar16;
                bVar11 = gldelf32lriscv_ilp32f_search_needed(pcVar12,&needed,(int)local_60);
                if (bVar11 != 0) break;
                pcVar16 = pbVar2->name;
              }
              sVar14 = strlen(pcVar16);
              if (search_head != (search_dirs_type *)0x0) {
                psVar21 = search_head;
                do {
                  if (psVar21->cmdline == 0) {
                    sVar15 = strlen(psVar21->name);
                    pcVar12 = (char *)xmalloc(sVar15 + sVar14 + 2);
                    sprintf(pcVar12,"%s/%s",psVar21->name,pbVar2->name);
                    nn.name = pcVar12;
                    bVar11 = gldelf32lriscv_ilp32f_try_needed(&nn,(int)pcVar12,local_60);
                    if (bVar11 != 0) goto LAB_0004ae88;
                    free(pcVar12);
                  }
                  psVar21 = psVar21->next;
                } while (psVar21 != (search_dirs *)0x0);
              }
              if (local_60 == (dt_needed *)0x1) {
                pbVar20 = pbVar2->by;
                pcVar12 = pbVar2->name;
                pcVar16 = (char *)dcgettext(0,
                                            "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"
                                            ,5);
                einfo(pcVar16,pcVar12,pbVar20);
                break;
              }
              local_60 = (dt_needed *)0x1;
            }
          }
        }
LAB_0004ae88:
      }
      if (((link_info._3_1_ & 0xc0) == 0x80) &&
         (iVar10 = bfd_elf_parse_eh_frame_entries(0,&link_info), iVar10 == 0)) {
        pcVar12 = (char *)dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);
        einfo(pcVar12);
      }
    }
  }
  return;
}



/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Removing unreachable block (ram,0x0004b377) */
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */

void FUN_0004ab30(void)

{
  undefined4 uVar1;
  bool bVar2;
  undefined4 *puVar3;
  undefined4 *puVar4;
  uint uVar5;
  int iVar6;
  undefined4 uVar7;
  void *pvVar8;
  int *piVar9;
  size_t sVar10;
  size_t sVar11;
  char *pcVar12;
  undefined4 uVar13;
  int iVar14;
  int iVar15;
  int iVar16;
  undefined4 *puVar17;
  byte *pbVar18;
  byte *pbVar19;
  bool bVar20;
  bool bVar21;
  bool bVar22;
  byte bVar23;
  longlong lVar24;
  int local_60;
  int local_50;
  int local_4c;
  
  bVar23 = 0;
  FUN_000327c0();
  iVar6 = DAT_0013d6e0;
  if (*(int *)(DAT_0013d6e0 + 0x28) == 1) {
    if (DAT_0013d780 != 0) {
      unlink_if_ordinary(DAT_0013d780);
      DAT_0013d6f8 = bfd_openw(DAT_0013d780,**(undefined4 **)(DAT_0013d6f4 + 4));
      iVar14 = DAT_0013d780;
      if (DAT_0013d6f8 == 0) {
        uVar7 = dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);
        FUN_00033ba0(uVar7,iVar14);
      }
    }
    iVar16 = DAT_0013d6f4;
    iVar14 = DAT_0013d6fc;
    if (DAT_0013d42c != (void *)0x0) {
      for (; iVar14 != 0; iVar14 = *(int *)(iVar14 + 0x9c)) {
        if (((*(int *)(*(int *)(iVar14 + 4) + 4) == 5) && (*(int *)(iVar14 + 0x68) != 0)) &&
           ((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0)) {
          lVar24 = FUN_00037870(DAT_0013d42c);
          if ((lVar24 == 0) || (lVar24 + 0x10 == 0)) {
            pcVar12 = "%P: warning: unrecognized --build-id style ignored\n";
          }
          else {
            iVar14 = bfd_make_section_with_flags
                               (iVar14,".note.gnu.build-id",
                                "ttributes)) }\n  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }\n}\n\n"
                               );
            if (iVar14 != 0) {
              *(undefined4 *)(iVar14 + 0x58) = 2;
              iVar16 = DAT_0013d6f4;
              iVar15 = *(int *)(*(int *)(DAT_0013d6f4 + 0xa0) + 0x9c0);
              *(code **)(iVar15 + 0x10) = FUN_00048da0;
              pvVar8 = DAT_0013d42c;
              *(int *)(iVar15 + 0x18) = iVar14;
              *(void **)(iVar15 + 0x14) = pvVar8;
              *(undefined4 *)(*(int *)(iVar14 + 0xa4) + 4) = 7;
              *(longlong *)(iVar14 + 0x2c) = lVar24 + 0x10;
              goto LAB_0004ad04;
            }
            pcVar12 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";
          }
          uVar7 = dcgettext(0,pcVar12,5);
          FUN_00033ba0(uVar7);
          break;
        }
      }
      free(DAT_0013d42c);
      DAT_0013d42c = (void *)0x0;
      iVar16 = DAT_0013d6f4;
    }
LAB_0004ad04:
    (**(code **)(*(int *)(*(int *)(iVar16 + 4) + 0x1c0) + 0x1d0))(&DAT_0013d6c0);
    if ((DAT_0013d6c0 & 3) == 2) {
      if (DAT_0013d6c5 >> 7 == (~DAT_0013d6c6 & 1)) {
        bfd_make_section_with_flags(DAT_0013d6fc,".note.GNU-stack",DAT_0013d6c5 >> 3 & 0x10 | 8);
      }
    }
    else {
      if (((DAT_0013d6c4 & 0x20) == 0) && (DAT_0013d6fc != 0)) {
        local_50 = 0;
        bVar2 = false;
        local_4c = 0;
        iVar14 = DAT_0013d6fc;
        do {
          while ((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0) {
            puVar17 = *(undefined4 **)(iVar14 + 0x60);
            if (puVar17 == (undefined4 *)0x0) {
LAB_0004b231:
              if (local_50 != 2) break;
            }
            else {
              local_60 = 0;
              do {
                bVar20 = (undefined *)puVar17[0x15] < PTR__bfd_std_section_0013bfc4 + 0x180;
                bVar22 = (undefined *)puVar17[0x15] == PTR__bfd_std_section_0013bfc4 + 0x180;
                iVar16 = local_60;
                if (!bVar22) {
                  iVar15 = 0xf;
                  pbVar18 = (byte *)*puVar17;
                  pbVar19 = (byte *)".eh_frame_entry";
                  do {
                    if (iVar15 == 0) break;
                    iVar15 = iVar15 + -1;
                    bVar20 = *pbVar18 < *pbVar19;
                    bVar22 = *pbVar18 == *pbVar19;
                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;
                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;
                  } while (bVar22);
                  bVar21 = false;
                  bVar20 = (!bVar20 && !bVar22) == bVar20;
                  if (bVar20) {
                    local_60 = 2;
                    goto LAB_0004b209;
                  }
                  iVar15 = 10;
                  pbVar18 = (byte *)*puVar17;
                  pbVar19 = (byte *)".eh_frame";
                  do {
                    if (iVar15 == 0) break;
                    iVar15 = iVar15 + -1;
                    bVar21 = *pbVar18 < *pbVar19;
                    bVar20 = *pbVar18 == *pbVar19;
                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;
                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;
                  } while (bVar20);
                  if (((!bVar21 && !bVar20) == bVar21) &&
                     (iVar16 = 1,
                     puVar17[0xc] == 0 && (uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc])) {
                    iVar16 = local_60;
                  }
                }
                local_60 = iVar16;
                puVar17 = (undefined4 *)puVar17[3];
              } while (puVar17 != (undefined4 *)0x0);
              if (local_60 == 0) goto LAB_0004b231;
LAB_0004b209:
              if ((local_50 != 0) && (local_50 != local_60)) {
                if (local_60 != 1) {
                  iVar14 = local_4c;
                }
                uVar7 = dcgettext(0,
                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"
                                  ,5);
                FUN_00033ba0(uVar7,iVar14);
                goto LAB_0004b267;
              }
              local_50 = local_60;
              if (local_4c != 0) goto LAB_0004b231;
              if (local_60 != 2) {
                if ((_DAT_0013d6c2 & 0xc000) == 0) {
                  local_50 = 1;
                }
                else {
                  local_50 = 1;
                  bVar2 = true;
                  if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {
                    local_4c = iVar14;
                  }
                }
                break;
              }
              bVar2 = true;
              if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {
                local_4c = iVar14;
              }
            }
            iVar14 = *(int *)(iVar14 + 0x9c);
            local_50 = 2;
            _DAT_0013d6c2 = _DAT_0013d6c2 & 0x3fff | 0x8000;
            if (iVar14 == 0) goto LAB_0004b267;
          }
          iVar14 = *(int *)(iVar14 + 0x9c);
        } while (iVar14 != 0);
LAB_0004b267:
        if ((local_4c == 0) ||
           (iVar14 = bfd_make_section_with_flags
                               (local_4c,".eh_frame_hdr",
                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x30) | 8),
           iVar14 == 0)) {
          if (bVar2) {
            uVar7 = dcgettext(0,
                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"
                              ,5);
            FUN_00033ba0(uVar7);
          }
        }
        else {
          *(undefined4 *)(iVar14 + 0x58) = 2;
          *(int *)(iVar6 + 0xd0) = iVar14;
        }
      }
      puVar4 = (undefined4 *)bfd_elf_get_needed_list(DAT_0013d6f4,&DAT_0013d6c0);
      for (puVar17 = puVar4; puVar17 != (undefined4 *)0x0; puVar17 = (undefined4 *)*puVar17) {
        puVar3 = puVar4;
        if ((puVar17[1] == 0) ||
           ((uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 1) == 0 &&
            (((puVar17[1] == 0 || ((_DAT_0013d6c2 & 0x180) != 0x80)) ||
             (uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 4) == 0)))))) {
          for (; puVar3 != puVar17; puVar3 = (undefined4 *)*puVar3) {
            if (((puVar3[1] == 0) ||
                (uVar5 = bfd_elf_get_dyn_lib_class(puVar3[1]), (uVar5 & 1) == 0)) &&
               (iVar6 = strcmp((char *)puVar3[2],(char *)puVar17[2]), iVar6 == 0)) {
              if (puVar17 != puVar3) goto LAB_0004ae88;
              break;
            }
          }
          DAT_0013d440 = 0;
          DAT_0013d4c0 = puVar17;
          FUN_000264a0(FUN_0004a2c0);
          if ((DAT_0013d440 == 0) ||
             (uVar5 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_0013d440 + 0x10)),
             (uVar5 & 1) != 0)) {
            uVar7 = puVar17[1];
            uVar1 = puVar17[2];
            if (DAT_0013d83c != 0) {
              uVar13 = dcgettext(0,"%s needed by %pB\n",5);
              FUN_00033b70(uVar13,uVar1,uVar7);
            }
            if ((DAT_0013d440 == 0) || (iVar6 = FUN_0004a3c0(), iVar6 == 0)) {
              bVar2 = false;
              while (iVar6 = FUN_0004a6d0(), iVar6 == 0) {
                if (DAT_0013d7a4 != 0) {
                  pvVar8 = (void *)FUN_00048f50();
                  iVar6 = FUN_0004a6d0();
                  free(pvVar8);
                  if (iVar6 != 0) break;
                }
                piVar9 = (int *)bfd_elf_get_runpath_list(DAT_0013d6f4,&DAT_0013d6c0);
                if (piVar9 != (int *)0x0) {
                  do {
                    bVar22 = true;
                    pvVar8 = (void *)FUN_00048f50();
                    bVar20 = false;
                    if (piVar9[1] == puVar17[1]) {
                      iVar6 = FUN_0004a6d0();
                      bVar22 = iVar6 == 0;
                      bVar20 = !bVar22;
                    }
                    free(pvVar8);
                    piVar9 = (int *)*piVar9;
                  } while ((piVar9 != (int *)0x0) && (bVar22));
                  if (bVar20) break;
                }
                if (DAT_0013d424 == 0) {
                  pvVar8 = (void *)concat(DAT_0013d75c,"/usr/etc/ld.so.conf",0);
                  iVar6 = FUN_00049060();
                  if (iVar6 == 0) {
                    free(pvVar8);
                    pvVar8 = (void *)concat(DAT_0013d75c,"/etc/ld.so.conf",0);
                    FUN_00049060();
                  }
                  free(pvVar8);
                  DAT_0013d424 = 1;
                }
                pcVar12 = (char *)puVar17[2];
                if (DAT_0013d420 != 0) {
                  iVar6 = FUN_0004a6d0();
                  if (iVar6 != 0) break;
                  pcVar12 = (char *)puVar17[2];
                }
                sVar10 = strlen(pcVar12);
                if (DAT_0013d8e4 != (int *)0x0) {
                  piVar9 = DAT_0013d8e4;
                  do {
                    if (piVar9[2] == 0) {
                      sVar11 = strlen((char *)piVar9[1]);
                      pcVar12 = (char *)xmalloc(sVar11 + sVar10 + 2);
                      sprintf(pcVar12,"%s/%s",piVar9[1],puVar17[2]);
                      iVar6 = FUN_0004a3c0();
                      if (iVar6 != 0) goto LAB_0004ae88;
                      free(pcVar12);
                    }
                    piVar9 = (int *)*piVar9;
                  } while (piVar9 != (int *)0x0);
                }
                if (bVar2) {
                  uVar7 = puVar17[1];
                  uVar1 = puVar17[2];
                  uVar13 = dcgettext(0,
                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"
                                     ,5);
                  FUN_00033ba0(uVar13,uVar1,uVar7);
                  break;
                }
                bVar2 = true;
              }
            }
          }
        }
LAB_0004ae88:
      }
      DAT_0013d6c3 = (byte)(_DAT_0013d6c2 >> 8);
      bVar23 = DAT_0013d6c3 & 0xc0;
      if ((bVar23 == 0x80) && (iVar6 = bfd_elf_parse_eh_frame_entries(0,&DAT_0013d6c0), iVar6 == 0))
      {
        uVar7 = dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);
        FUN_00033ba0(uVar7);
      }
    }
  }
  return;
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00016a30
ADD EBX,0xf14c7
SUB ESP,0x5c
CALL 0x000327c0
LEA EDI,[EBX + 0x16c0]
MOV EAX,dword ptr [EDI + 0x20]
MOV dword ptr [ESP + 0x18],EDI
CMP dword ptr [EAX + 0x28],0x1
MOV dword ptr [ESP + 0x24],EAX
JNZ 0x0004acbb
LEA ESI,[EBX + 0x1760]
MOV EAX,dword ptr [ESI + 0x20]
MOV dword ptr [ESP + 0x28],ESI
TEST EAX,EAX
JZ 0x0004ab9c
SUB ESP,0xc
PUSH EAX
CALL 0x000157a0
POP EBP
POP EAX
MOV EAX,dword ptr [EDI + 0x34]
MOV EAX,dword ptr [EAX + 0x4]
PUSH dword ptr [EAX]
PUSH dword ptr [ESI + 0x20]
CALL 0x00015880
ADD ESP,0x10
MOV dword ptr [EDI + 0x38],EAX
TEST EAX,EAX
JZ 0x0004b458
MOV EDX,dword ptr [EBX + 0x142c]
MOV EAX,dword ptr [ESP + 0x18]
TEST EDX,EDX
JZ 0x0004b2b4
MOV ESI,dword ptr [EAX + 0x3c]
TEST ESI,ESI
JNZ 0x0004abce
JMP 0x0004ace7
MOV ESI,dword ptr [ESI + 0x9c]
TEST ESI,ESI
JZ 0x0004ace7
MOV EAX,dword ptr [ESI + 0x4]
CMP dword ptr [EAX + 0x4],0x5
JNZ 0x0004abc0
MOV EBP,dword ptr [ESI + 0x68]
TEST EBP,EBP
JZ 0x0004abc0
MOV EAX,dword ptr [ESI + 0xa4]
TEST byte ptr [EAX + 0x24],0x10
JNZ 0x0004abc0
SUB ESP,0xc
PUSH EDX
CALL 0x00037870
ADD ESP,0x10
MOV EDI,EDX
OR EDI,EAX
JZ 0x0004acc3
ADD EAX,0x10
ADC EDX,0x0
MOV EDI,EAX
MOV EBP,EDX
OR EDX,EAX
JZ 0x0004acc3
SUB ESP,0x4
LEA EAX,[EBX + 0xfff5acb9]
PUSH 0x10402b
PUSH EAX
PUSH ESI
CALL 0x00015140
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0004b483
MOV EDX,dword ptr [ESP + 0x18]
LEA ESI,[EBX + 0xfff0cda0]
MOV dword ptr [EAX + 0x58],0x2
MOV EDX,dword ptr [EDX + 0x34]
MOV ECX,dword ptr [EDX + 0xa0]
MOV ECX,dword ptr [ECX + 0x9c0]
MOV dword ptr [ECX + 0x10],ESI
MOV ESI,dword ptr [EBX + 0x142c]
MOV dword ptr [ECX + 0x18],EAX
MOV dword ptr [ECX + 0x14],ESI
MOV ECX,dword ptr [EAX + 0xa4]
MOV dword ptr [ECX + 0x4],0x7
MOV dword ptr [EAX + 0x2c],EDI
MOV dword ptr [EAX + 0x30],EBP
JMP 0x0004ad04
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 0x0004acbb
MOV EAX,EDX
SUB ESP,0x4
SHR AL,0x3
AND EAX,0x10
OR EAX,0x8
MOVZX EAX,AL
PUSH EAX
LEA EAX,[EBX + 0xfff5accc]
PUSH EAX
MOV EAX,dword ptr [ESP + 0x24]
PUSH dword ptr [EAX + 0x3c]
CALL 0x00015140
ADD ESP,0x10
ADD ESP,0x5c
POP EBX
POP ESI
POP EDI
POP EBP
RET
SUB ESP,0x4
LEA EAX,[EBX + 0xfff5a8d0]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000152e0
MOV dword ptr [ESP],EAX
CALL 0x00033ba0
MOV EDX,dword ptr [EBX + 0x142c]
ADD ESP,0x10
SUB ESP,0xc
PUSH EDX
CALL 0x00015c60
MOV EAX,dword ptr [ESP + 0x28]
ADD ESP,0x10
MOV dword ptr [EBX + 0x142c],0x0
MOV EDX,dword ptr [EAX + 0x34]
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 + 0x1d0]
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 0x0004ac79
TEST byte ptr [EAX + 0x4],0x20
JZ 0x0004b128
SUB ESP,0x8
MOV EAX,dword ptr [ESP + 0x20]
PUSH EAX
PUSH dword ptr [EAX + 0x34]
CALL 0x000154f0
LEA ECX,[EBX + 0x18e4]
MOV dword ptr [ESP + 0x2c],EAX
ADD ESP,0x10
MOV EBP,EAX
MOV dword ptr [ESP + 0x24],ECX
TEST EAX,EAX
JZ 0x0004ae93
LEA ESI,[ESI]
MOV EAX,dword ptr [EBP + 0x4]
TEST EAX,EAX
JZ 0x0004adad
SUB ESP,0xc
PUSH EAX
CALL 0x00015390
ADD ESP,0x10
TEST AL,0x1
JNZ 0x0004ae88
MOV EDX,dword ptr [EBP + 0x4]
TEST EDX,EDX
JZ 0x0004adad
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 0x0004af00
MOV EAX,dword ptr [ESP + 0x1c]
MOV ESI,EAX
CMP EAX,EBP
JZ 0x0004adf6
LEA ESI,[ESI]
NOP
MOV EAX,dword ptr [ESI + 0x4]
TEST EAX,EAX
JZ 0x0004add7
SUB ESP,0xc
PUSH EAX
CALL 0x00015390
ADD ESP,0x10
TEST AL,0x1
JNZ 0x0004adf0
SUB ESP,0x8
PUSH dword ptr [EBP + 0x8]
PUSH dword ptr [ESI + 0x8]
CALL 0x000150c0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0004aef0
MOV ESI,dword ptr [ESI]
CMP ESI,EBP
JNZ 0x0004adc0
SUB ESP,0xc
LEA EAX,[EBX + 0xfff0e2c0]
MOV dword ptr [EBX + 0x14c0],EBP
PUSH EAX
MOV dword ptr [EBX + 0x1440],0x0
CALL 0x000264a0
MOV EAX,dword ptr [EBX + 0x1440]
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0004ae34
SUB ESP,0xc
PUSH dword ptr [EAX + 0x10]
CALL 0x00015390
ADD ESP,0x10
TEST AL,0x1
JZ 0x0004ae88
LEA EAX,[EBX + 0x183c]
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 0x0004b2f4
MOV EAX,dword ptr [EBX + 0x1440]
TEST EAX,EAX
JZ 0x0004af20
MOV EDX,dword ptr [EAX + 0x8]
MOV ECX,0x1
LEA EAX,[ESP + 0x3c]
MOV dword ptr [ESP + 0x40],EDX
CALL 0x0004a3c0
TEST EAX,EAX
JZ 0x0004af20
LEA ESI,[ESI]
MOV EBP,dword ptr [EBP]
TEST EBP,EBP
JNZ 0x0004ad70
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 0x0004acbb
SUB ESP,0x8
PUSH dword ptr [ESP + 0x20]
PUSH 0x0
CALL 0x00015790
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x0004acbb
SUB ESP,0x4
LEA EAX,[EBX + 0xfff5a9ec]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000152e0
MOV dword ptr [ESP],EAX
CALL 0x00033ba0
ADD ESP,0x10
JMP 0x0004acbb
CMP EBP,ESI
JNZ 0x0004ae88
JMP 0x0004adf6
SUB ESP,0xc
PUSH EDX
CALL 0x00015390
ADD ESP,0x10
TEST AL,0x4
JNZ 0x0004ae88
JMP 0x0004adad
LEA EAX,[ESP + 0x34]
MOV dword ptr [ESP + 0xc],0x0
MOV dword ptr [ESP + 0x20],EAX
LEA EAX,[EBX + 0x175c]
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 0x0004a6d0
TEST EAX,EAX
JNZ 0x0004ae88
MOV EAX,dword ptr [EDI + 0x44]
TEST EAX,EAX
JZ 0x0004af87
CALL 0x00048f50
MOV ECX,dword ptr [ESP + 0xc]
MOV EDX,dword ptr [ESP + 0x20]
MOV ESI,EAX
CALL 0x0004a6d0
SUB ESP,0xc
PUSH ESI
MOV EDI,EAX
CALL 0x00015c60
ADD ESP,0x10
TEST EDI,EDI
JNZ 0x0004ae88
SUB ESP,0x8
MOV EAX,dword ptr [ESP + 0x20]
PUSH EAX
PUSH dword ptr [EAX + 0x34]
CALL 0x00015190
ADD ESP,0x10
MOV ESI,EAX
TEST EAX,EAX
JZ 0x0004b020
MOV dword ptr [ESP + 0x14],EBP
JMP 0x0004afc8
SUB ESP,0xc
PUSH EDI
CALL 0x00015c60
MOV ESI,dword ptr [ESI]
ADD ESP,0x10
TEST ESI,ESI
JZ 0x0004b010
MOV EAX,EBP
TEST AL,AL
JZ 0x0004b010
MOV EAX,dword ptr [ESI + 0x8]
MOV EBP,0x1
CALL 0x00048f50
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 0x0004afb0
MOV EDX,dword ptr [ESP + 0x20]
MOV ECX,dword ptr [ESP + 0xc]
MOV EAX,EDI
CALL 0x0004a6d0
XOR EDX,EDX
TEST EAX,EAX
SETNZ DL
SETZ AL
MOV dword ptr [ESP + 0x10],EDX
MOV EBP,EAX
JMP 0x0004afb0
MOV EDX,dword ptr [ESP + 0x10]
MOV EBP,dword ptr [ESP + 0x14]
TEST EDX,EDX
JNZ 0x0004ae88
MOV ECX,dword ptr [EBX + 0x1424]
TEST ECX,ECX
JZ 0x0004b31a
MOV EAX,dword ptr [EBX + 0x1420]
MOV EDX,dword ptr [EBP + 0x8]
TEST EAX,EAX
JZ 0x0004b05e
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 0x0004a6d0
TEST EAX,EAX
JNZ 0x0004ae88
MOV EDX,dword ptr [EBP + 0x8]
SUB ESP,0xc
PUSH EDX
CALL 0x00015700
ADD ESP,0x10
MOV ECX,dword ptr [ESP + 0x24]
MOV ESI,dword ptr [ECX]
TEST ESI,ESI
JZ 0x0004b0e8
ADD EAX,0x2
MOV dword ptr [ESP + 0x10],EAX
LEA EAX,[EBX + 0xfff5acac]
MOV dword ptr [ESP + 0x14],EAX
LEA ESI,[ESI]
MOV EAX,dword ptr [ESI + 0x8]
TEST EAX,EAX
JNZ 0x0004b0e2
SUB ESP,0xc
PUSH dword ptr [ESI + 0x4]
CALL 0x00015700
ADD EAX,dword ptr [ESP + 0x20]
MOV dword ptr [ESP],EAX
CALL 0x00015c78
PUSH dword ptr [EBP + 0x8]
PUSH dword ptr [ESI + 0x4]
MOV EDI,EAX
PUSH dword ptr [ESP + 0x2c]
PUSH EAX
CALL 0x000159e0
MOV dword ptr [ESP + 0x60],EDI
ADD ESP,0x20
MOV ECX,dword ptr [ESP + 0xc]
LEA EAX,[ESP + 0x3c]
MOV EDX,EDI
CALL 0x0004a3c0
TEST EAX,EAX
JNZ 0x0004ae88
SUB ESP,0xc
PUSH EDI
CALL 0x00015c60
ADD ESP,0x10
MOV ESI,dword ptr [ESI]
TEST ESI,ESI
JNZ 0x0004b088
CMP dword ptr [ESP + 0xc],0x1
JNZ 0x0004b11b
SUB ESP,0x4
LEA EAX,[EBX + 0xfff5aa14]
MOV EDI,dword ptr [EBP + 0x4]
MOV ESI,dword ptr [EBP + 0x8]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000152e0
ADD ESP,0xc
PUSH EDI
PUSH ESI
PUSH EAX
CALL 0x00033ba0
ADD ESP,0x10
JMP 0x0004ae88
MOV dword ptr [ESP + 0xc],0x1
JMP 0x0004af3a
MOV EBP,dword ptr [EAX + 0x3c]
TEST EBP,EBP
JZ 0x0004ad3e
MOV EAX,dword ptr [EBX + 0xffffffc4]
MOV dword ptr [ESP + 0x1c],0x0
MOV dword ptr [ESP + 0x2c],0x0
ADD EAX,0x180
MOV dword ptr [ESP + 0x20],0x0
MOV dword ptr [ESP + 0x10],EAX
JMP 0x0004b16e
MOV EBP,dword ptr [EBP + 0x9c]
TEST EBP,EBP
JZ 0x0004b267
MOV EAX,dword ptr [EBP + 0xa4]
TEST byte ptr [EAX + 0x24],0x10
JNZ 0x0004b160
MOV EDX,dword ptr [EBP + 0x60]
TEST EDX,EDX
JZ 0x0004b231
LEA EAX,[EBX + 0xfff5acdc]
MOV dword ptr [ESP + 0xc],0x0
MOV dword ptr [ESP + 0x14],EAX
JMP 0x0004b1df
MOV ESI,EAX
MOV ECX,0xa
LEA EDI,[EBX + 0xfff5acec]
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
MOVSX EAX,AL
TEST EAX,EAX
JNZ 0x0004b1d4
MOV ECX,0x8
CMP ECX,dword ptr [EDX + 0x2c]
SBB EAX,dword ptr [EDX + 0x30]
MOV EAX,0x1
CMOVNC EAX,dword ptr [ESP + 0xc]
MOV dword ptr [ESP + 0xc],EAX
MOV EDX,dword ptr [EDX + 0xc]
TEST EDX,EDX
JZ 0x0004b2bc
MOV EAX,dword ptr [EDX]
MOV EDI,dword ptr [ESP + 0x10]
CMP dword ptr [EDX + 0x54],EDI
JZ 0x0004b1d4
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 0x0004b1a0
MOV dword ptr [ESP + 0xc],0x2
MOV EAX,dword ptr [ESP + 0x1c]
TEST EAX,EAX
JZ 0x0004b21d
MOV EDX,dword ptr [ESP + 0xc]
CMP EAX,EDX
JNZ 0x0004b493
MOV EAX,dword ptr [ESP + 0xc]
MOV EDX,dword ptr [ESP + 0x20]
MOV dword ptr [ESP + 0x1c],EAX
TEST EDX,EDX
JZ 0x0004b2d0
CMP dword ptr [ESP + 0x1c],0x2
JNZ 0x0004b160
MOV EDX,dword ptr [ESP + 0x18]
MOV EBP,dword ptr [EBP + 0x9c]
MOV dword ptr [ESP + 0x1c],0x2
MOVZX EAX,byte ptr [EDX + 0x3]
MOV byte ptr [ESP + 0xc],AL
AND EAX,0x3f
OR EAX,0xffffff80
MOV byte ptr [EDX + 0x3],AL
TEST EBP,EBP
JNZ 0x0004b16e
MOV ECX,dword ptr [ESP + 0x20]
TEST ECX,ECX
JZ 0x0004b3a8
MOV EAX,dword ptr [ECX + 0x4]
SUB ESP,0x4
MOV EAX,dword ptr [EAX + 0x1c0]
MOV EAX,dword ptr [EAX + 0x30]
OR EAX,0x8
PUSH EAX
LEA EAX,[EBX + 0xfff5acf6]
PUSH EAX
PUSH ECX
CALL 0x00015140
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0004b3a8
MOV EDX,dword ptr [ESP + 0x24]
MOV dword ptr [EAX + 0x58],0x2
MOV dword ptr [EDX + 0xd0],EAX
JMP 0x0004ad3e
MOV EDX,dword ptr [EAX + 0x34]
JMP 0x0004ad04
MOV EDI,dword ptr [ESP + 0xc]
TEST EDI,EDI
JZ 0x0004b231
JMP 0x0004b209
CMP EAX,0x2
JZ 0x0004b3df
MOV EAX,dword ptr [ESP + 0x18]
TEST byte ptr [EAX + 0x3],0xc0
JNZ 0x0004b3fe
MOV dword ptr [ESP + 0x1c],0x1
JMP 0x0004b160
SUB ESP,0x4
LEA EAX,[EBX + 0xfff5ad04]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000152e0
ADD ESP,0xc
PUSH ESI
PUSH EDI
PUSH EAX
CALL 0x00033b70
ADD ESP,0x10
JMP 0x0004ae56
MOV dword ptr [ESP + 0x44],0x0
LEA EAX,[EBX + 0xfff5ad16]
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 0x000153f0
LEA ESI,[ESP + 0x54]
MOV EDX,EAX
MOV EDI,EAX
MOV EAX,ESI
CALL 0x00049060
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0004b425
SUB ESP,0xc
PUSH EDI
CALL 0x00015c60
MOV EAX,dword ptr [ESP + 0x54]
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0004b3d7
CALL 0x00048f50
SUB ESP,0xc
MOV dword ptr [ESP + 0x1c],EAX
PUSH dword ptr [ESP + 0x50]
MOV dword ptr [EBX + 0x1420],EAX
CALL 0x00015c60
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x10]
MOV dword ptr [EBX + 0x1424],0x1
JMP 0x0004b034
MOV EAX,dword ptr [ESP + 0x2c]
TEST EAX,EAX
JZ 0x0004ad3e
SUB ESP,0x4
LEA EAX,[EBX + 0xfff5a9a0]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000152e0
MOV dword ptr [ESP],EAX
CALL 0x00033ba0
ADD ESP,0x10
JMP 0x0004ad3e
MOV EAX,dword ptr [EBX + 0x1420]
JMP 0x0004b399
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 0x0004b23c
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 0x0004b160
SUB ESP,0xc
PUSH EDI
CALL 0x00015c60
ADD ESP,0xc
LEA EAX,[EBX + 0xfff5ad1a]
PUSH 0x0
PUSH EAX
MOV EAX,dword ptr [ESP + 0x38]
PUSH dword ptr [EAX]
CALL 0x000153f0
MOV EDX,EAX
MOV EDI,EAX
MOV EAX,ESI
CALL 0x00049060
ADD ESP,0x10
JMP 0x0004b363
MOV EAX,dword ptr [ESP + 0x28]
SUB ESP,0x4
MOV ESI,dword ptr [EAX + 0x20]
LEA EAX,[EBX + 0xfff5a8a8]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000152e0
POP EDX
POP ECX
PUSH ESI
PUSH EAX
CALL 0x00033ba0
ADD ESP,0x10
JMP 0x0004ab9c
SUB ESP,0x4
LEA EAX,[EBX + 0xfff5a904]
PUSH 0x5
JMP 0x0004acce
CMP EDX,0x1
LEA EAX,[EBX + 0xfff5a950]
CMOVNZ EBP,dword ptr [ESP + 0x20]
SUB ESP,0x4
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000152e0
POP ECX
POP ESI
PUSH EBP
PUSH EAX
CALL 0x00033ba0
ADD ESP,0x10
JMP 0x0004b267
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Removing unreachable block (ram,0x0004b377) */\n/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */\n\nvoid FUN_0004ab30(void)\n\n{\n  undefined4 uVar1;\n  bool bVar2;\n  undefined4 *puVar3;\n  undefined4 *puVar4;\n  uint uVar5;\n  int iVar6;\n  undefined4 uVar7;\n  void *pvVar8;\n  int *piVar9;\n  size_t sVar10;\n  size_t sVar11;\n  char *pcVar12;\n  undefined4 uVar13;\n  int iVar14;\n  int iVar15;\n  int iVar16;\n  undefined4 *puVar17;\n  byte *pbVar18;\n  byte *pbVar19;\n  bool bVar20;\n  bool bVar21;\n  bool bVar22;\n  byte bVar23;\n  longlong lVar24;\n  int local_60;\n  int local_50;\n  int local_4c;\n  \n  bVar23 = 0;\n  FUN_000327c0();\n  iVar6 = DAT_0013d6e0;\n  if (*(int *)(DAT_0013d6e0 + 0x28) == 1) {\n    if (DAT_0013d780 != 0) {\n      unlink_if_ordinary(DAT_0013d780);\n      DAT_0013d6f8 = bfd_openw(DAT_0013d780,**(undefined4 **)(DAT_0013d6f4 + 4));\n      iVar14 = DAT_0013d780;\n      if (DAT_0013d6f8 == 0) {\n        uVar7 = dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);\n        FUN_00033ba0(uVar7,iVar14);\n      }\n    }\n    iVar16 = DAT_0013d6f4;\n    iVar14 = DAT_0013d6fc;\n    if (DAT_0013d42c != (void *)0x0) {\n      for (; iVar14 != 0; iVar14 = *(int *)(iVar14 + 0x9c)) {\n        if (((*(int *)(*(int *)(iVar14 + 4) + 4) == 5) && (*(int *)(iVar14 + 0x68) != 0)) &&\n           ((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0)) {\n          lVar24 = FUN_00037870(DAT_0013d42c);\n          if ((lVar24 == 0) || (lVar24 + 0x10 == 0)) {\n            pcVar12 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar14 = bfd_make_section_with_flags\n                               (iVar14,".note.gnu.build-id",\n                                "ttributes)) }\n  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }\n}\n\n"\n                               );\n            if (iVar14 != 0) {\n              *(undefined4 *)(iVar14 + 0x58) = 2;\n              iVar16 = DAT_0013d6f4;\n              iVar15 = *(int *)(*(int *)(DAT_0013d6f4 + 0xa0) + 0x9c0);\n              *(code **)(iVar15 + 0x10) = FUN_00048da0;\n              pvVar8 = DAT_0013d42c;\n              *(int *)(iVar15 + 0x18) = iVar14;\n              *(void **)(iVar15 + 0x14) = pvVar8;\n              *(undefined4 *)(*(int *)(iVar14 + 0xa4) + 4) = 7;\n              *(longlong *)(iVar14 + 0x2c) = lVar24 + 0x10;\n              goto LAB_0004ad04;\n            }\n            pcVar12 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          uVar7 = dcgettext(0,pcVar12,5);\n          FUN_00033ba0(uVar7);\n          break;\n        }\n      }\n      free(DAT_0013d42c);\n      DAT_0013d42c = (void *)0x0;\n      iVar16 = DAT_0013d6f4;\n    }\nLAB_0004ad04:\n    (**(code **)(*(int *)(*(int *)(iVar16 + 4) + 0x1c0) + 0x1d0))(&DAT_0013d6c0);\n    if ((DAT_0013d6c0 & 3) == 2) {\n      if (DAT_0013d6c5 >> 7 == (~DAT_0013d6c6 & 1)) {\n        bfd_make_section_with_flags(DAT_0013d6fc,".note.GNU-stack",DAT_0013d6c5 >> 3 & 0x10 | 8);\n      }\n    }\n    else {\n      if (((DAT_0013d6c4 & 0x20) == 0) && (DAT_0013d6fc != 0)) {\n        local_50 = 0;\n        bVar2 = false;\n        local_4c = 0;\n        iVar14 = DAT_0013d6fc;\n        do {\n          while ((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0) {\n            puVar17 = *(undefined4 **)(iVar14 + 0x60);\n            if (puVar17 == (undefined4 *)0x0) {\nLAB_0004b231:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar20 = (undefined *)puVar17[0x15] < PTR__bfd_std_section_0013bfc4 + 0x180;\n                bVar22 = (undefined *)puVar17[0x15] == PTR__bfd_std_section_0013bfc4 + 0x180;\n                iVar16 = local_60;\n                if (!bVar22) {\n                  iVar15 = 0xf;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar20 = *pbVar18 < *pbVar19;\n                    bVar22 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar22);\n                  bVar21 = false;\n                  bVar20 = (!bVar20 && !bVar22) == bVar20;\n                  if (bVar20) {\n                    local_60 = 2;\n                    goto LAB_0004b209;\n                  }\n                  iVar15 = 10;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar21 = *pbVar18 < *pbVar19;\n                    bVar20 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar20);\n                  if (((!bVar21 && !bVar20) == bVar21) &&\n                     (iVar16 = 1,\n                     puVar17[0xc] == 0 && (uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc])) {\n                    iVar16 = local_60;\n                  }\n                }\n                local_60 = iVar16;\n                puVar17 = (undefined4 *)puVar17[3];\n              } while (puVar17 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_0004b231;\nLAB_0004b209:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar14 = local_4c;\n                }\n                uVar7 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00033ba0(uVar7,iVar14);\n                goto LAB_0004b267;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_0004b231;\n              if (local_60 != 2) {\n                if ((_DAT_0013d6c2 & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar2 = true;\n                  if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                    local_4c = iVar14;\n                  }\n                }\n                break;\n              }\n              bVar2 = true;\n              if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                local_4c = iVar14;\n              }\n            }\n            iVar14 = *(int *)(iVar14 + 0x9c);\n            local_50 = 2;\n            _DAT_0013d6c2 = _DAT_0013d6c2 & 0x3fff | 0x8000;\n            if (iVar14 == 0) goto LAB_0004b267;\n          }\n          iVar14 = *(int *)(iVar14 + 0x9c);\n        } while (iVar14 != 0);\nLAB_0004b267:\n        if ((local_4c == 0) ||\n           (iVar14 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x30) | 8),\n           iVar14 == 0)) {\n          if (bVar2) {\n            uVar7 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00033ba0(uVar7);\n          }\n        }\n        else {\n          *(undefined4 *)(iVar14 + 0x58) = 2;\n          *(int *)(iVar6 + 0xd0) = iVar14;\n        }\n      }\n      puVar4 = (undefined4 *)bfd_elf_get_needed_list(DAT_0013d6f4,&DAT_0013d6c0);\n      for (puVar17 = puVar4; puVar17 != (undefined4 *)0x0; puVar17 = (undefined4 *)*puVar17) {\n        puVar3 = puVar4;\n        if ((puVar17[1] == 0) ||\n           ((uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 1) == 0 &&\n            (((puVar17[1] == 0 || ((_DAT_0013d6c2 & 0x180) != 0x80)) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 4) == 0)))))) {\n          for (; puVar3 != puVar17; puVar3 = (undefined4 *)*puVar3) {\n            if (((puVar3[1] == 0) ||\n                (uVar5 = bfd_elf_get_dyn_lib_class(puVar3[1]), (uVar5 & 1) == 0)) &&\n               (iVar6 = strcmp((char *)puVar3[2],(char *)puVar17[2]), iVar6 == 0)) {\n              if (puVar17 != puVar3) goto LAB_0004ae88;\n              break;\n            }\n          }\n          DAT_0013d440 = 0;\n          DAT_0013d4c0 = puVar17;\n          FUN_000264a0(FUN_0004a2c0);\n          if ((DAT_0013d440 == 0) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_0013d440 + 0x10)),\n             (uVar5 & 1) != 0)) {\n            uVar7 = puVar17[1];\n            uVar1 = puVar17[2];\n            if (DAT_0013d83c != 0) {\n              uVar13 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00033b70(uVar13,uVar1,uVar7);\n            }\n            if ((DAT_0013d440 == 0) || (iVar6 = FUN_0004a3c0(), iVar6 == 0)) {\n              bVar2 = false;\n              while (iVar6 = FUN_0004a6d0(), iVar6 == 0) {\n                if (DAT_0013d7a4 != 0) {\n                  pvVar8 = (void *)FUN_00048f50();\n                  iVar6 = FUN_0004a6d0();\n                  free(pvVar8);\n                  if (iVar6 != 0) break;\n                }\n                piVar9 = (int *)bfd_elf_get_runpath_list(DAT_0013d6f4,&DAT_0013d6c0);\n                if (piVar9 != (int *)0x0) {\n                  do {\n                    bVar22 = true;\n                    pvVar8 = (void *)FUN_00048f50();\n                    bVar20 = false;\n                    if (piVar9[1] == puVar17[1]) {\n                      iVar6 = FUN_0004a6d0();\n                      bVar22 = iVar6 == 0;\n                      bVar20 = !bVar22;\n                    }\n                    free(pvVar8);\n                    piVar9 = (int *)*piVar9;\n                  } while ((piVar9 != (int *)0x0) && (bVar22));\n                  if (bVar20) break;\n                }\n                if (DAT_0013d424 == 0) {\n                  pvVar8 = (void *)concat(DAT_0013d75c,"/usr/etc/ld.so.conf",0);\n                  iVar6 = FUN_00049060();\n                  if (iVar6 == 0) {\n                    free(pvVar8);\n                    pvVar8 = (void *)concat(DAT_0013d75c,"/etc/ld.so.conf",0);\n                    FUN_00049060();\n                  }\n                  free(pvVar8);\n                  DAT_0013d424 = 1;\n                }\n                pcVar12 = (char *)puVar17[2];\n                if (DAT_0013d420 != 0) {\n                  iVar6 = FUN_0004a6d0();\n                  if (iVar6 != 0) break;\n                  pcVar12 = (char *)puVar17[2];\n                }\n                sVar10 = strlen(pcVar12);\n                if (DAT_0013d8e4 != (int *)0x0) {\n                  piVar9 = DAT_0013d8e4;\n                  do {\n                    if (piVar9[2] == 0) {\n                      sVar11 = strlen((char *)piVar9[1]);\n                      pcVar12 = (char *)xmalloc(sVar11 + sVar10 + 2);\n                      sprintf(pcVar12,"%s/%s",piVar9[1],puVar17[2]);\n                      iVar6 = FUN_0004a3c0();\n                      if (iVar6 != 0) goto LAB_0004ae88;\n                      free(pcVar12);\n                    }\n                    piVar9 = (int *)*piVar9;\n                  } while (piVar9 != (int *)0x0);\n                }\n                if (bVar2) {\n                  uVar7 = puVar17[1];\n                  uVar1 = puVar17[2];\n                  uVar13 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00033ba0(uVar13,uVar1,uVar7);\n                  break;\n                }\n                bVar2 = true;\n              }\n            }\n          }\n        }\nLAB_0004ae88:\n      }\n      DAT_0013d6c3 = (byte)(_DAT_0013d6c2 >> 8);\n      bVar23 = DAT_0013d6c3 & 0xc0;\n      if ((bVar23 == 0x80) && (iVar6 = bfd_elf_parse_eh_frame_entries(0,&DAT_0013d6c0), iVar6 == 0))\n      {\n        uVar7 = dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);\n        FUN_00033ba0(uVar7);\n      }\n    }\n  }\n  return;\n}\n\n" comment comment comment (function_definition "void FUN_0004ab30(void)\n\n{\n  undefined4 uVar1;\n  bool bVar2;\n  undefined4 *puVar3;\n  undefined4 *puVar4;\n  uint uVar5;\n  int iVar6;\n  undefined4 uVar7;\n  void *pvVar8;\n  int *piVar9;\n  size_t sVar10;\n  size_t sVar11;\n  char *pcVar12;\n  undefined4 uVar13;\n  int iVar14;\n  int iVar15;\n  int iVar16;\n  undefined4 *puVar17;\n  byte *pbVar18;\n  byte *pbVar19;\n  bool bVar20;\n  bool bVar21;\n  bool bVar22;\n  byte bVar23;\n  longlong lVar24;\n  int local_60;\n  int local_50;\n  int local_4c;\n  \n  bVar23 = 0;\n  FUN_000327c0();\n  iVar6 = DAT_0013d6e0;\n  if (*(int *)(DAT_0013d6e0 + 0x28) == 1) {\n    if (DAT_0013d780 != 0) {\n      unlink_if_ordinary(DAT_0013d780);\n      DAT_0013d6f8 = bfd_openw(DAT_0013d780,**(undefined4 **)(DAT_0013d6f4 + 4));\n      iVar14 = DAT_0013d780;\n      if (DAT_0013d6f8 == 0) {\n        uVar7 = dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);\n        FUN_00033ba0(uVar7,iVar14);\n      }\n    }\n    iVar16 = DAT_0013d6f4;\n    iVar14 = DAT_0013d6fc;\n    if (DAT_0013d42c != (void *)0x0) {\n      for (; iVar14 != 0; iVar14 = *(int *)(iVar14 + 0x9c)) {\n        if (((*(int *)(*(int *)(iVar14 + 4) + 4) == 5) && (*(int *)(iVar14 + 0x68) != 0)) &&\n           ((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0)) {\n          lVar24 = FUN_00037870(DAT_0013d42c);\n          if ((lVar24 == 0) || (lVar24 + 0x10 == 0)) {\n            pcVar12 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar14 = bfd_make_section_with_flags\n                               (iVar14,".note.gnu.build-id",\n                                "ttributes)) }\n  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }\n}\n\n"\n                               );\n            if (iVar14 != 0) {\n              *(undefined4 *)(iVar14 + 0x58) = 2;\n              iVar16 = DAT_0013d6f4;\n              iVar15 = *(int *)(*(int *)(DAT_0013d6f4 + 0xa0) + 0x9c0);\n              *(code **)(iVar15 + 0x10) = FUN_00048da0;\n              pvVar8 = DAT_0013d42c;\n              *(int *)(iVar15 + 0x18) = iVar14;\n              *(void **)(iVar15 + 0x14) = pvVar8;\n              *(undefined4 *)(*(int *)(iVar14 + 0xa4) + 4) = 7;\n              *(longlong *)(iVar14 + 0x2c) = lVar24 + 0x10;\n              goto LAB_0004ad04;\n            }\n            pcVar12 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          uVar7 = dcgettext(0,pcVar12,5);\n          FUN_00033ba0(uVar7);\n          break;\n        }\n      }\n      free(DAT_0013d42c);\n      DAT_0013d42c = (void *)0x0;\n      iVar16 = DAT_0013d6f4;\n    }\nLAB_0004ad04:\n    (**(code **)(*(int *)(*(int *)(iVar16 + 4) + 0x1c0) + 0x1d0))(&DAT_0013d6c0);\n    if ((DAT_0013d6c0 & 3) == 2) {\n      if (DAT_0013d6c5 >> 7 == (~DAT_0013d6c6 & 1)) {\n        bfd_make_section_with_flags(DAT_0013d6fc,".note.GNU-stack",DAT_0013d6c5 >> 3 & 0x10 | 8);\n      }\n    }\n    else {\n      if (((DAT_0013d6c4 & 0x20) == 0) && (DAT_0013d6fc != 0)) {\n        local_50 = 0;\n        bVar2 = false;\n        local_4c = 0;\n        iVar14 = DAT_0013d6fc;\n        do {\n          while ((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0) {\n            puVar17 = *(undefined4 **)(iVar14 + 0x60);\n            if (puVar17 == (undefined4 *)0x0) {\nLAB_0004b231:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar20 = (undefined *)puVar17[0x15] < PTR__bfd_std_section_0013bfc4 + 0x180;\n                bVar22 = (undefined *)puVar17[0x15] == PTR__bfd_std_section_0013bfc4 + 0x180;\n                iVar16 = local_60;\n                if (!bVar22) {\n                  iVar15 = 0xf;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar20 = *pbVar18 < *pbVar19;\n                    bVar22 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar22);\n                  bVar21 = false;\n                  bVar20 = (!bVar20 && !bVar22) == bVar20;\n                  if (bVar20) {\n                    local_60 = 2;\n                    goto LAB_0004b209;\n                  }\n                  iVar15 = 10;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar21 = *pbVar18 < *pbVar19;\n                    bVar20 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar20);\n                  if (((!bVar21 && !bVar20) == bVar21) &&\n                     (iVar16 = 1,\n                     puVar17[0xc] == 0 && (uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc])) {\n                    iVar16 = local_60;\n                  }\n                }\n                local_60 = iVar16;\n                puVar17 = (undefined4 *)puVar17[3];\n              } while (puVar17 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_0004b231;\nLAB_0004b209:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar14 = local_4c;\n                }\n                uVar7 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00033ba0(uVar7,iVar14);\n                goto LAB_0004b267;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_0004b231;\n              if (local_60 != 2) {\n                if ((_DAT_0013d6c2 & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar2 = true;\n                  if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                    local_4c = iVar14;\n                  }\n                }\n                break;\n              }\n              bVar2 = true;\n              if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                local_4c = iVar14;\n              }\n            }\n            iVar14 = *(int *)(iVar14 + 0x9c);\n            local_50 = 2;\n            _DAT_0013d6c2 = _DAT_0013d6c2 & 0x3fff | 0x8000;\n            if (iVar14 == 0) goto LAB_0004b267;\n          }\n          iVar14 = *(int *)(iVar14 + 0x9c);\n        } while (iVar14 != 0);\nLAB_0004b267:\n        if ((local_4c == 0) ||\n           (iVar14 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x30) | 8),\n           iVar14 == 0)) {\n          if (bVar2) {\n            uVar7 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00033ba0(uVar7);\n          }\n        }\n        else {\n          *(undefined4 *)(iVar14 + 0x58) = 2;\n          *(int *)(iVar6 + 0xd0) = iVar14;\n        }\n      }\n      puVar4 = (undefined4 *)bfd_elf_get_needed_list(DAT_0013d6f4,&DAT_0013d6c0);\n      for (puVar17 = puVar4; puVar17 != (undefined4 *)0x0; puVar17 = (undefined4 *)*puVar17) {\n        puVar3 = puVar4;\n        if ((puVar17[1] == 0) ||\n           ((uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 1) == 0 &&\n            (((puVar17[1] == 0 || ((_DAT_0013d6c2 & 0x180) != 0x80)) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 4) == 0)))))) {\n          for (; puVar3 != puVar17; puVar3 = (undefined4 *)*puVar3) {\n            if (((puVar3[1] == 0) ||\n                (uVar5 = bfd_elf_get_dyn_lib_class(puVar3[1]), (uVar5 & 1) == 0)) &&\n               (iVar6 = strcmp((char *)puVar3[2],(char *)puVar17[2]), iVar6 == 0)) {\n              if (puVar17 != puVar3) goto LAB_0004ae88;\n              break;\n            }\n          }\n          DAT_0013d440 = 0;\n          DAT_0013d4c0 = puVar17;\n          FUN_000264a0(FUN_0004a2c0);\n          if ((DAT_0013d440 == 0) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_0013d440 + 0x10)),\n             (uVar5 & 1) != 0)) {\n            uVar7 = puVar17[1];\n            uVar1 = puVar17[2];\n            if (DAT_0013d83c != 0) {\n              uVar13 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00033b70(uVar13,uVar1,uVar7);\n            }\n            if ((DAT_0013d440 == 0) || (iVar6 = FUN_0004a3c0(), iVar6 == 0)) {\n              bVar2 = false;\n              while (iVar6 = FUN_0004a6d0(), iVar6 == 0) {\n                if (DAT_0013d7a4 != 0) {\n                  pvVar8 = (void *)FUN_00048f50();\n                  iVar6 = FUN_0004a6d0();\n                  free(pvVar8);\n                  if (iVar6 != 0) break;\n                }\n                piVar9 = (int *)bfd_elf_get_runpath_list(DAT_0013d6f4,&DAT_0013d6c0);\n                if (piVar9 != (int *)0x0) {\n                  do {\n                    bVar22 = true;\n                    pvVar8 = (void *)FUN_00048f50();\n                    bVar20 = false;\n                    if (piVar9[1] == puVar17[1]) {\n                      iVar6 = FUN_0004a6d0();\n                      bVar22 = iVar6 == 0;\n                      bVar20 = !bVar22;\n                    }\n                    free(pvVar8);\n                    piVar9 = (int *)*piVar9;\n                  } while ((piVar9 != (int *)0x0) && (bVar22));\n                  if (bVar20) break;\n                }\n                if (DAT_0013d424 == 0) {\n                  pvVar8 = (void *)concat(DAT_0013d75c,"/usr/etc/ld.so.conf",0);\n                  iVar6 = FUN_00049060();\n                  if (iVar6 == 0) {\n                    free(pvVar8);\n                    pvVar8 = (void *)concat(DAT_0013d75c,"/etc/ld.so.conf",0);\n                    FUN_00049060();\n                  }\n                  free(pvVar8);\n                  DAT_0013d424 = 1;\n                }\n                pcVar12 = (char *)puVar17[2];\n                if (DAT_0013d420 != 0) {\n                  iVar6 = FUN_0004a6d0();\n                  if (iVar6 != 0) break;\n                  pcVar12 = (char *)puVar17[2];\n                }\n                sVar10 = strlen(pcVar12);\n                if (DAT_0013d8e4 != (int *)0x0) {\n                  piVar9 = DAT_0013d8e4;\n                  do {\n                    if (piVar9[2] == 0) {\n                      sVar11 = strlen((char *)piVar9[1]);\n                      pcVar12 = (char *)xmalloc(sVar11 + sVar10 + 2);\n                      sprintf(pcVar12,"%s/%s",piVar9[1],puVar17[2]);\n                      iVar6 = FUN_0004a3c0();\n                      if (iVar6 != 0) goto LAB_0004ae88;\n                      free(pcVar12);\n                    }\n                    piVar9 = (int *)*piVar9;\n                  } while (piVar9 != (int *)0x0);\n                }\n                if (bVar2) {\n                  uVar7 = puVar17[1];\n                  uVar1 = puVar17[2];\n                  uVar13 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00033ba0(uVar13,uVar1,uVar7);\n                  break;\n                }\n                bVar2 = true;\n              }\n            }\n          }\n        }\nLAB_0004ae88:\n      }\n      DAT_0013d6c3 = (byte)(_DAT_0013d6c2 >> 8);\n      bVar23 = DAT_0013d6c3 & 0xc0;\n      if ((bVar23 == 0x80) && (iVar6 = bfd_elf_parse_eh_frame_entries(0,&DAT_0013d6c0), iVar6 == 0))\n      {\n        uVar7 = dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);\n        FUN_00033ba0(uVar7);\n      }\n    }\n  }\n  return;\n}" primitive_type (function_declarator "FUN_0004ab30(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  undefined4 uVar1;\n  bool bVar2;\n  undefined4 *puVar3;\n  undefined4 *puVar4;\n  uint uVar5;\n  int iVar6;\n  undefined4 uVar7;\n  void *pvVar8;\n  int *piVar9;\n  size_t sVar10;\n  size_t sVar11;\n  char *pcVar12;\n  undefined4 uVar13;\n  int iVar14;\n  int iVar15;\n  int iVar16;\n  undefined4 *puVar17;\n  byte *pbVar18;\n  byte *pbVar19;\n  bool bVar20;\n  bool bVar21;\n  bool bVar22;\n  byte bVar23;\n  longlong lVar24;\n  int local_60;\n  int local_50;\n  int local_4c;\n  \n  bVar23 = 0;\n  FUN_000327c0();\n  iVar6 = DAT_0013d6e0;\n  if (*(int *)(DAT_0013d6e0 + 0x28) == 1) {\n    if (DAT_0013d780 != 0) {\n      unlink_if_ordinary(DAT_0013d780);\n      DAT_0013d6f8 = bfd_openw(DAT_0013d780,**(undefined4 **)(DAT_0013d6f4 + 4));\n      iVar14 = DAT_0013d780;\n      if (DAT_0013d6f8 == 0) {\n        uVar7 = dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);\n        FUN_00033ba0(uVar7,iVar14);\n      }\n    }\n    iVar16 = DAT_0013d6f4;\n    iVar14 = DAT_0013d6fc;\n    if (DAT_0013d42c != (void *)0x0) {\n      for (; iVar14 != 0; iVar14 = *(int *)(iVar14 + 0x9c)) {\n        if (((*(int *)(*(int *)(iVar14 + 4) + 4) == 5) && (*(int *)(iVar14 + 0x68) != 0)) &&\n           ((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0)) {\n          lVar24 = FUN_00037870(DAT_0013d42c);\n          if ((lVar24 == 0) || (lVar24 + 0x10 == 0)) {\n            pcVar12 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar14 = bfd_make_section_with_flags\n                               (iVar14,".note.gnu.build-id",\n                                "ttributes)) }\n  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }\n}\n\n"\n                               );\n            if (iVar14 != 0) {\n              *(undefined4 *)(iVar14 + 0x58) = 2;\n              iVar16 = DAT_0013d6f4;\n              iVar15 = *(int *)(*(int *)(DAT_0013d6f4 + 0xa0) + 0x9c0);\n              *(code **)(iVar15 + 0x10) = FUN_00048da0;\n              pvVar8 = DAT_0013d42c;\n              *(int *)(iVar15 + 0x18) = iVar14;\n              *(void **)(iVar15 + 0x14) = pvVar8;\n              *(undefined4 *)(*(int *)(iVar14 + 0xa4) + 4) = 7;\n              *(longlong *)(iVar14 + 0x2c) = lVar24 + 0x10;\n              goto LAB_0004ad04;\n            }\n            pcVar12 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          uVar7 = dcgettext(0,pcVar12,5);\n          FUN_00033ba0(uVar7);\n          break;\n        }\n      }\n      free(DAT_0013d42c);\n      DAT_0013d42c = (void *)0x0;\n      iVar16 = DAT_0013d6f4;\n    }\nLAB_0004ad04:\n    (**(code **)(*(int *)(*(int *)(iVar16 + 4) + 0x1c0) + 0x1d0))(&DAT_0013d6c0);\n    if ((DAT_0013d6c0 & 3) == 2) {\n      if (DAT_0013d6c5 >> 7 == (~DAT_0013d6c6 & 1)) {\n        bfd_make_section_with_flags(DAT_0013d6fc,".note.GNU-stack",DAT_0013d6c5 >> 3 & 0x10 | 8);\n      }\n    }\n    else {\n      if (((DAT_0013d6c4 & 0x20) == 0) && (DAT_0013d6fc != 0)) {\n        local_50 = 0;\n        bVar2 = false;\n        local_4c = 0;\n        iVar14 = DAT_0013d6fc;\n        do {\n          while ((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0) {\n            puVar17 = *(undefined4 **)(iVar14 + 0x60);\n            if (puVar17 == (undefined4 *)0x0) {\nLAB_0004b231:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar20 = (undefined *)puVar17[0x15] < PTR__bfd_std_section_0013bfc4 + 0x180;\n                bVar22 = (undefined *)puVar17[0x15] == PTR__bfd_std_section_0013bfc4 + 0x180;\n                iVar16 = local_60;\n                if (!bVar22) {\n                  iVar15 = 0xf;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar20 = *pbVar18 < *pbVar19;\n                    bVar22 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar22);\n                  bVar21 = false;\n                  bVar20 = (!bVar20 && !bVar22) == bVar20;\n                  if (bVar20) {\n                    local_60 = 2;\n                    goto LAB_0004b209;\n                  }\n                  iVar15 = 10;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar21 = *pbVar18 < *pbVar19;\n                    bVar20 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar20);\n                  if (((!bVar21 && !bVar20) == bVar21) &&\n                     (iVar16 = 1,\n                     puVar17[0xc] == 0 && (uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc])) {\n                    iVar16 = local_60;\n                  }\n                }\n                local_60 = iVar16;\n                puVar17 = (undefined4 *)puVar17[3];\n              } while (puVar17 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_0004b231;\nLAB_0004b209:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar14 = local_4c;\n                }\n                uVar7 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00033ba0(uVar7,iVar14);\n                goto LAB_0004b267;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_0004b231;\n              if (local_60 != 2) {\n                if ((_DAT_0013d6c2 & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar2 = true;\n                  if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                    local_4c = iVar14;\n                  }\n                }\n                break;\n              }\n              bVar2 = true;\n              if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                local_4c = iVar14;\n              }\n            }\n            iVar14 = *(int *)(iVar14 + 0x9c);\n            local_50 = 2;\n            _DAT_0013d6c2 = _DAT_0013d6c2 & 0x3fff | 0x8000;\n            if (iVar14 == 0) goto LAB_0004b267;\n          }\n          iVar14 = *(int *)(iVar14 + 0x9c);\n        } while (iVar14 != 0);\nLAB_0004b267:\n        if ((local_4c == 0) ||\n           (iVar14 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x30) | 8),\n           iVar14 == 0)) {\n          if (bVar2) {\n            uVar7 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00033ba0(uVar7);\n          }\n        }\n        else {\n          *(undefined4 *)(iVar14 + 0x58) = 2;\n          *(int *)(iVar6 + 0xd0) = iVar14;\n        }\n      }\n      puVar4 = (undefined4 *)bfd_elf_get_needed_list(DAT_0013d6f4,&DAT_0013d6c0);\n      for (puVar17 = puVar4; puVar17 != (undefined4 *)0x0; puVar17 = (undefined4 *)*puVar17) {\n        puVar3 = puVar4;\n        if ((puVar17[1] == 0) ||\n           ((uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 1) == 0 &&\n            (((puVar17[1] == 0 || ((_DAT_0013d6c2 & 0x180) != 0x80)) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 4) == 0)))))) {\n          for (; puVar3 != puVar17; puVar3 = (undefined4 *)*puVar3) {\n            if (((puVar3[1] == 0) ||\n                (uVar5 = bfd_elf_get_dyn_lib_class(puVar3[1]), (uVar5 & 1) == 0)) &&\n               (iVar6 = strcmp((char *)puVar3[2],(char *)puVar17[2]), iVar6 == 0)) {\n              if (puVar17 != puVar3) goto LAB_0004ae88;\n              break;\n            }\n          }\n          DAT_0013d440 = 0;\n          DAT_0013d4c0 = puVar17;\n          FUN_000264a0(FUN_0004a2c0);\n          if ((DAT_0013d440 == 0) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_0013d440 + 0x10)),\n             (uVar5 & 1) != 0)) {\n            uVar7 = puVar17[1];\n            uVar1 = puVar17[2];\n            if (DAT_0013d83c != 0) {\n              uVar13 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00033b70(uVar13,uVar1,uVar7);\n            }\n            if ((DAT_0013d440 == 0) || (iVar6 = FUN_0004a3c0(), iVar6 == 0)) {\n              bVar2 = false;\n              while (iVar6 = FUN_0004a6d0(), iVar6 == 0) {\n                if (DAT_0013d7a4 != 0) {\n                  pvVar8 = (void *)FUN_00048f50();\n                  iVar6 = FUN_0004a6d0();\n                  free(pvVar8);\n                  if (iVar6 != 0) break;\n                }\n                piVar9 = (int *)bfd_elf_get_runpath_list(DAT_0013d6f4,&DAT_0013d6c0);\n                if (piVar9 != (int *)0x0) {\n                  do {\n                    bVar22 = true;\n                    pvVar8 = (void *)FUN_00048f50();\n                    bVar20 = false;\n                    if (piVar9[1] == puVar17[1]) {\n                      iVar6 = FUN_0004a6d0();\n                      bVar22 = iVar6 == 0;\n                      bVar20 = !bVar22;\n                    }\n                    free(pvVar8);\n                    piVar9 = (int *)*piVar9;\n                  } while ((piVar9 != (int *)0x0) && (bVar22));\n                  if (bVar20) break;\n                }\n                if (DAT_0013d424 == 0) {\n                  pvVar8 = (void *)concat(DAT_0013d75c,"/usr/etc/ld.so.conf",0);\n                  iVar6 = FUN_00049060();\n                  if (iVar6 == 0) {\n                    free(pvVar8);\n                    pvVar8 = (void *)concat(DAT_0013d75c,"/etc/ld.so.conf",0);\n                    FUN_00049060();\n                  }\n                  free(pvVar8);\n                  DAT_0013d424 = 1;\n                }\n                pcVar12 = (char *)puVar17[2];\n                if (DAT_0013d420 != 0) {\n                  iVar6 = FUN_0004a6d0();\n                  if (iVar6 != 0) break;\n                  pcVar12 = (char *)puVar17[2];\n                }\n                sVar10 = strlen(pcVar12);\n                if (DAT_0013d8e4 != (int *)0x0) {\n                  piVar9 = DAT_0013d8e4;\n                  do {\n                    if (piVar9[2] == 0) {\n                      sVar11 = strlen((char *)piVar9[1]);\n                      pcVar12 = (char *)xmalloc(sVar11 + sVar10 + 2);\n                      sprintf(pcVar12,"%s/%s",piVar9[1],puVar17[2]);\n                      iVar6 = FUN_0004a3c0();\n                      if (iVar6 != 0) goto LAB_0004ae88;\n                      free(pcVar12);\n                    }\n                    piVar9 = (int *)*piVar9;\n                  } while (piVar9 != (int *)0x0);\n                }\n                if (bVar2) {\n                  uVar7 = puVar17[1];\n                  uVar1 = puVar17[2];\n                  uVar13 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00033ba0(uVar13,uVar1,uVar7);\n                  break;\n                }\n                bVar2 = true;\n              }\n            }\n          }\n        }\nLAB_0004ae88:\n      }\n      DAT_0013d6c3 = (byte)(_DAT_0013d6c2 >> 8);\n      bVar23 = DAT_0013d6c3 & 0xc0;\n      if ((bVar23 == 0x80) && (iVar6 = bfd_elf_parse_eh_frame_entries(0,&DAT_0013d6c0), iVar6 == 0))\n      {\n        uVar7 = dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);\n        FUN_00033ba0(uVar7);\n      }\n    }\n  }\n  return;\n}" { (declaration "undefined4 uVar1;" type_identifier identifier ;) (declaration "bool bVar2;" primitive_type identifier ;) (declaration "undefined4 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined4 *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "void *pvVar8;" primitive_type (pointer_declarator "*pvVar8" * identifier) ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (declaration "size_t sVar10;" primitive_type identifier ;) (declaration "size_t sVar11;" primitive_type identifier ;) (declaration "char *pcVar12;" primitive_type (pointer_declarator "*pcVar12" * identifier) ;) (declaration "undefined4 uVar13;" type_identifier identifier ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "undefined4 *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "byte *pbVar18;" type_identifier (pointer_declarator "*pbVar18" * identifier) ;) (declaration "byte *pbVar19;" type_identifier (pointer_declarator "*pbVar19" * identifier) ;) (declaration "bool bVar20;" primitive_type identifier ;) (declaration "bool bVar21;" primitive_type identifier ;) (declaration "bool bVar22;" primitive_type identifier ;) (declaration "byte bVar23;" type_identifier identifier ;) (declaration "longlong lVar24;" 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 "bVar23 = 0;" (assignment_expression "bVar23 = 0" identifier = number_literal) ;) (expression_statement "FUN_000327c0();" (call_expression "FUN_000327c0()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar6 = DAT_0013d6e0;" (assignment_expression "iVar6 = DAT_0013d6e0" identifier = identifier) ;) (if_statement "if (*(int *)(DAT_0013d6e0 + 0x28) == 1) {\n    if (DAT_0013d780 != 0) {\n      unlink_if_ordinary(DAT_0013d780);\n      DAT_0013d6f8 = bfd_openw(DAT_0013d780,**(undefined4 **)(DAT_0013d6f4 + 4));\n      iVar14 = DAT_0013d780;\n      if (DAT_0013d6f8 == 0) {\n        uVar7 = dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);\n        FUN_00033ba0(uVar7,iVar14);\n      }\n    }\n    iVar16 = DAT_0013d6f4;\n    iVar14 = DAT_0013d6fc;\n    if (DAT_0013d42c != (void *)0x0) {\n      for (; iVar14 != 0; iVar14 = *(int *)(iVar14 + 0x9c)) {\n        if (((*(int *)(*(int *)(iVar14 + 4) + 4) == 5) && (*(int *)(iVar14 + 0x68) != 0)) &&\n           ((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0)) {\n          lVar24 = FUN_00037870(DAT_0013d42c);\n          if ((lVar24 == 0) || (lVar24 + 0x10 == 0)) {\n            pcVar12 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar14 = bfd_make_section_with_flags\n                               (iVar14,".note.gnu.build-id",\n                                "ttributes)) }\n  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }\n}\n\n"\n                               );\n            if (iVar14 != 0) {\n              *(undefined4 *)(iVar14 + 0x58) = 2;\n              iVar16 = DAT_0013d6f4;\n              iVar15 = *(int *)(*(int *)(DAT_0013d6f4 + 0xa0) + 0x9c0);\n              *(code **)(iVar15 + 0x10) = FUN_00048da0;\n              pvVar8 = DAT_0013d42c;\n              *(int *)(iVar15 + 0x18) = iVar14;\n              *(void **)(iVar15 + 0x14) = pvVar8;\n              *(undefined4 *)(*(int *)(iVar14 + 0xa4) + 4) = 7;\n              *(longlong *)(iVar14 + 0x2c) = lVar24 + 0x10;\n              goto LAB_0004ad04;\n            }\n            pcVar12 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          uVar7 = dcgettext(0,pcVar12,5);\n          FUN_00033ba0(uVar7);\n          break;\n        }\n      }\n      free(DAT_0013d42c);\n      DAT_0013d42c = (void *)0x0;\n      iVar16 = DAT_0013d6f4;\n    }\nLAB_0004ad04:\n    (**(code **)(*(int *)(*(int *)(iVar16 + 4) + 0x1c0) + 0x1d0))(&DAT_0013d6c0);\n    if ((DAT_0013d6c0 & 3) == 2) {\n      if (DAT_0013d6c5 >> 7 == (~DAT_0013d6c6 & 1)) {\n        bfd_make_section_with_flags(DAT_0013d6fc,".note.GNU-stack",DAT_0013d6c5 >> 3 & 0x10 | 8);\n      }\n    }\n    else {\n      if (((DAT_0013d6c4 & 0x20) == 0) && (DAT_0013d6fc != 0)) {\n        local_50 = 0;\n        bVar2 = false;\n        local_4c = 0;\n        iVar14 = DAT_0013d6fc;\n        do {\n          while ((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0) {\n            puVar17 = *(undefined4 **)(iVar14 + 0x60);\n            if (puVar17 == (undefined4 *)0x0) {\nLAB_0004b231:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar20 = (undefined *)puVar17[0x15] < PTR__bfd_std_section_0013bfc4 + 0x180;\n                bVar22 = (undefined *)puVar17[0x15] == PTR__bfd_std_section_0013bfc4 + 0x180;\n                iVar16 = local_60;\n                if (!bVar22) {\n                  iVar15 = 0xf;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar20 = *pbVar18 < *pbVar19;\n                    bVar22 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar22);\n                  bVar21 = false;\n                  bVar20 = (!bVar20 && !bVar22) == bVar20;\n                  if (bVar20) {\n                    local_60 = 2;\n                    goto LAB_0004b209;\n                  }\n                  iVar15 = 10;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar21 = *pbVar18 < *pbVar19;\n                    bVar20 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar20);\n                  if (((!bVar21 && !bVar20) == bVar21) &&\n                     (iVar16 = 1,\n                     puVar17[0xc] == 0 && (uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc])) {\n                    iVar16 = local_60;\n                  }\n                }\n                local_60 = iVar16;\n                puVar17 = (undefined4 *)puVar17[3];\n              } while (puVar17 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_0004b231;\nLAB_0004b209:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar14 = local_4c;\n                }\n                uVar7 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00033ba0(uVar7,iVar14);\n                goto LAB_0004b267;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_0004b231;\n              if (local_60 != 2) {\n                if ((_DAT_0013d6c2 & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar2 = true;\n                  if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                    local_4c = iVar14;\n                  }\n                }\n                break;\n              }\n              bVar2 = true;\n              if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                local_4c = iVar14;\n              }\n            }\n            iVar14 = *(int *)(iVar14 + 0x9c);\n            local_50 = 2;\n            _DAT_0013d6c2 = _DAT_0013d6c2 & 0x3fff | 0x8000;\n            if (iVar14 == 0) goto LAB_0004b267;\n          }\n          iVar14 = *(int *)(iVar14 + 0x9c);\n        } while (iVar14 != 0);\nLAB_0004b267:\n        if ((local_4c == 0) ||\n           (iVar14 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x30) | 8),\n           iVar14 == 0)) {\n          if (bVar2) {\n            uVar7 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00033ba0(uVar7);\n          }\n        }\n        else {\n          *(undefined4 *)(iVar14 + 0x58) = 2;\n          *(int *)(iVar6 + 0xd0) = iVar14;\n        }\n      }\n      puVar4 = (undefined4 *)bfd_elf_get_needed_list(DAT_0013d6f4,&DAT_0013d6c0);\n      for (puVar17 = puVar4; puVar17 != (undefined4 *)0x0; puVar17 = (undefined4 *)*puVar17) {\n        puVar3 = puVar4;\n        if ((puVar17[1] == 0) ||\n           ((uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 1) == 0 &&\n            (((puVar17[1] == 0 || ((_DAT_0013d6c2 & 0x180) != 0x80)) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 4) == 0)))))) {\n          for (; puVar3 != puVar17; puVar3 = (undefined4 *)*puVar3) {\n            if (((puVar3[1] == 0) ||\n                (uVar5 = bfd_elf_get_dyn_lib_class(puVar3[1]), (uVar5 & 1) == 0)) &&\n               (iVar6 = strcmp((char *)puVar3[2],(char *)puVar17[2]), iVar6 == 0)) {\n              if (puVar17 != puVar3) goto LAB_0004ae88;\n              break;\n            }\n          }\n          DAT_0013d440 = 0;\n          DAT_0013d4c0 = puVar17;\n          FUN_000264a0(FUN_0004a2c0);\n          if ((DAT_0013d440 == 0) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_0013d440 + 0x10)),\n             (uVar5 & 1) != 0)) {\n            uVar7 = puVar17[1];\n            uVar1 = puVar17[2];\n            if (DAT_0013d83c != 0) {\n              uVar13 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00033b70(uVar13,uVar1,uVar7);\n            }\n            if ((DAT_0013d440 == 0) || (iVar6 = FUN_0004a3c0(), iVar6 == 0)) {\n              bVar2 = false;\n              while (iVar6 = FUN_0004a6d0(), iVar6 == 0) {\n                if (DAT_0013d7a4 != 0) {\n                  pvVar8 = (void *)FUN_00048f50();\n                  iVar6 = FUN_0004a6d0();\n                  free(pvVar8);\n                  if (iVar6 != 0) break;\n                }\n                piVar9 = (int *)bfd_elf_get_runpath_list(DAT_0013d6f4,&DAT_0013d6c0);\n                if (piVar9 != (int *)0x0) {\n                  do {\n                    bVar22 = true;\n                    pvVar8 = (void *)FUN_00048f50();\n                    bVar20 = false;\n                    if (piVar9[1] == puVar17[1]) {\n                      iVar6 = FUN_0004a6d0();\n                      bVar22 = iVar6 == 0;\n                      bVar20 = !bVar22;\n                    }\n                    free(pvVar8);\n                    piVar9 = (int *)*piVar9;\n                  } while ((piVar9 != (int *)0x0) && (bVar22));\n                  if (bVar20) break;\n                }\n                if (DAT_0013d424 == 0) {\n                  pvVar8 = (void *)concat(DAT_0013d75c,"/usr/etc/ld.so.conf",0);\n                  iVar6 = FUN_00049060();\n                  if (iVar6 == 0) {\n                    free(pvVar8);\n                    pvVar8 = (void *)concat(DAT_0013d75c,"/etc/ld.so.conf",0);\n                    FUN_00049060();\n                  }\n                  free(pvVar8);\n                  DAT_0013d424 = 1;\n                }\n                pcVar12 = (char *)puVar17[2];\n                if (DAT_0013d420 != 0) {\n                  iVar6 = FUN_0004a6d0();\n                  if (iVar6 != 0) break;\n                  pcVar12 = (char *)puVar17[2];\n                }\n                sVar10 = strlen(pcVar12);\n                if (DAT_0013d8e4 != (int *)0x0) {\n                  piVar9 = DAT_0013d8e4;\n                  do {\n                    if (piVar9[2] == 0) {\n                      sVar11 = strlen((char *)piVar9[1]);\n                      pcVar12 = (char *)xmalloc(sVar11 + sVar10 + 2);\n                      sprintf(pcVar12,"%s/%s",piVar9[1],puVar17[2]);\n                      iVar6 = FUN_0004a3c0();\n                      if (iVar6 != 0) goto LAB_0004ae88;\n                      free(pcVar12);\n                    }\n                    piVar9 = (int *)*piVar9;\n                  } while (piVar9 != (int *)0x0);\n                }\n                if (bVar2) {\n                  uVar7 = puVar17[1];\n                  uVar1 = puVar17[2];\n                  uVar13 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00033ba0(uVar13,uVar1,uVar7);\n                  break;\n                }\n                bVar2 = true;\n              }\n            }\n          }\n        }\nLAB_0004ae88:\n      }\n      DAT_0013d6c3 = (byte)(_DAT_0013d6c2 >> 8);\n      bVar23 = DAT_0013d6c3 & 0xc0;\n      if ((bVar23 == 0x80) && (iVar6 = bfd_elf_parse_eh_frame_entries(0,&DAT_0013d6c0), iVar6 == 0))\n      {\n        uVar7 = dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);\n        FUN_00033ba0(uVar7);\n      }\n    }\n  }" if (parenthesized_expression "(*(int *)(DAT_0013d6e0 + 0x28) == 1)" ( (binary_expression "*(int *)(DAT_0013d6e0 + 0x28) == 1" (pointer_expression "*(int *)(DAT_0013d6e0 + 0x28)" * (cast_expression "(int *)(DAT_0013d6e0 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0013d6e0 + 0x28)" ( (binary_expression "DAT_0013d6e0 + 0x28" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    if (DAT_0013d780 != 0) {\n      unlink_if_ordinary(DAT_0013d780);\n      DAT_0013d6f8 = bfd_openw(DAT_0013d780,**(undefined4 **)(DAT_0013d6f4 + 4));\n      iVar14 = DAT_0013d780;\n      if (DAT_0013d6f8 == 0) {\n        uVar7 = dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);\n        FUN_00033ba0(uVar7,iVar14);\n      }\n    }\n    iVar16 = DAT_0013d6f4;\n    iVar14 = DAT_0013d6fc;\n    if (DAT_0013d42c != (void *)0x0) {\n      for (; iVar14 != 0; iVar14 = *(int *)(iVar14 + 0x9c)) {\n        if (((*(int *)(*(int *)(iVar14 + 4) + 4) == 5) && (*(int *)(iVar14 + 0x68) != 0)) &&\n           ((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0)) {\n          lVar24 = FUN_00037870(DAT_0013d42c);\n          if ((lVar24 == 0) || (lVar24 + 0x10 == 0)) {\n            pcVar12 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar14 = bfd_make_section_with_flags\n                               (iVar14,".note.gnu.build-id",\n                                "ttributes)) }\n  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }\n}\n\n"\n                               );\n            if (iVar14 != 0) {\n              *(undefined4 *)(iVar14 + 0x58) = 2;\n              iVar16 = DAT_0013d6f4;\n              iVar15 = *(int *)(*(int *)(DAT_0013d6f4 + 0xa0) + 0x9c0);\n              *(code **)(iVar15 + 0x10) = FUN_00048da0;\n              pvVar8 = DAT_0013d42c;\n              *(int *)(iVar15 + 0x18) = iVar14;\n              *(void **)(iVar15 + 0x14) = pvVar8;\n              *(undefined4 *)(*(int *)(iVar14 + 0xa4) + 4) = 7;\n              *(longlong *)(iVar14 + 0x2c) = lVar24 + 0x10;\n              goto LAB_0004ad04;\n            }\n            pcVar12 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          uVar7 = dcgettext(0,pcVar12,5);\n          FUN_00033ba0(uVar7);\n          break;\n        }\n      }\n      free(DAT_0013d42c);\n      DAT_0013d42c = (void *)0x0;\n      iVar16 = DAT_0013d6f4;\n    }\nLAB_0004ad04:\n    (**(code **)(*(int *)(*(int *)(iVar16 + 4) + 0x1c0) + 0x1d0))(&DAT_0013d6c0);\n    if ((DAT_0013d6c0 & 3) == 2) {\n      if (DAT_0013d6c5 >> 7 == (~DAT_0013d6c6 & 1)) {\n        bfd_make_section_with_flags(DAT_0013d6fc,".note.GNU-stack",DAT_0013d6c5 >> 3 & 0x10 | 8);\n      }\n    }\n    else {\n      if (((DAT_0013d6c4 & 0x20) == 0) && (DAT_0013d6fc != 0)) {\n        local_50 = 0;\n        bVar2 = false;\n        local_4c = 0;\n        iVar14 = DAT_0013d6fc;\n        do {\n          while ((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0) {\n            puVar17 = *(undefined4 **)(iVar14 + 0x60);\n            if (puVar17 == (undefined4 *)0x0) {\nLAB_0004b231:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar20 = (undefined *)puVar17[0x15] < PTR__bfd_std_section_0013bfc4 + 0x180;\n                bVar22 = (undefined *)puVar17[0x15] == PTR__bfd_std_section_0013bfc4 + 0x180;\n                iVar16 = local_60;\n                if (!bVar22) {\n                  iVar15 = 0xf;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar20 = *pbVar18 < *pbVar19;\n                    bVar22 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar22);\n                  bVar21 = false;\n                  bVar20 = (!bVar20 && !bVar22) == bVar20;\n                  if (bVar20) {\n                    local_60 = 2;\n                    goto LAB_0004b209;\n                  }\n                  iVar15 = 10;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar21 = *pbVar18 < *pbVar19;\n                    bVar20 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar20);\n                  if (((!bVar21 && !bVar20) == bVar21) &&\n                     (iVar16 = 1,\n                     puVar17[0xc] == 0 && (uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc])) {\n                    iVar16 = local_60;\n                  }\n                }\n                local_60 = iVar16;\n                puVar17 = (undefined4 *)puVar17[3];\n              } while (puVar17 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_0004b231;\nLAB_0004b209:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar14 = local_4c;\n                }\n                uVar7 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00033ba0(uVar7,iVar14);\n                goto LAB_0004b267;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_0004b231;\n              if (local_60 != 2) {\n                if ((_DAT_0013d6c2 & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar2 = true;\n                  if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                    local_4c = iVar14;\n                  }\n                }\n                break;\n              }\n              bVar2 = true;\n              if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                local_4c = iVar14;\n              }\n            }\n            iVar14 = *(int *)(iVar14 + 0x9c);\n            local_50 = 2;\n            _DAT_0013d6c2 = _DAT_0013d6c2 & 0x3fff | 0x8000;\n            if (iVar14 == 0) goto LAB_0004b267;\n          }\n          iVar14 = *(int *)(iVar14 + 0x9c);\n        } while (iVar14 != 0);\nLAB_0004b267:\n        if ((local_4c == 0) ||\n           (iVar14 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x30) | 8),\n           iVar14 == 0)) {\n          if (bVar2) {\n            uVar7 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00033ba0(uVar7);\n          }\n        }\n        else {\n          *(undefined4 *)(iVar14 + 0x58) = 2;\n          *(int *)(iVar6 + 0xd0) = iVar14;\n        }\n      }\n      puVar4 = (undefined4 *)bfd_elf_get_needed_list(DAT_0013d6f4,&DAT_0013d6c0);\n      for (puVar17 = puVar4; puVar17 != (undefined4 *)0x0; puVar17 = (undefined4 *)*puVar17) {\n        puVar3 = puVar4;\n        if ((puVar17[1] == 0) ||\n           ((uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 1) == 0 &&\n            (((puVar17[1] == 0 || ((_DAT_0013d6c2 & 0x180) != 0x80)) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 4) == 0)))))) {\n          for (; puVar3 != puVar17; puVar3 = (undefined4 *)*puVar3) {\n            if (((puVar3[1] == 0) ||\n                (uVar5 = bfd_elf_get_dyn_lib_class(puVar3[1]), (uVar5 & 1) == 0)) &&\n               (iVar6 = strcmp((char *)puVar3[2],(char *)puVar17[2]), iVar6 == 0)) {\n              if (puVar17 != puVar3) goto LAB_0004ae88;\n              break;\n            }\n          }\n          DAT_0013d440 = 0;\n          DAT_0013d4c0 = puVar17;\n          FUN_000264a0(FUN_0004a2c0);\n          if ((DAT_0013d440 == 0) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_0013d440 + 0x10)),\n             (uVar5 & 1) != 0)) {\n            uVar7 = puVar17[1];\n            uVar1 = puVar17[2];\n            if (DAT_0013d83c != 0) {\n              uVar13 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00033b70(uVar13,uVar1,uVar7);\n            }\n            if ((DAT_0013d440 == 0) || (iVar6 = FUN_0004a3c0(), iVar6 == 0)) {\n              bVar2 = false;\n              while (iVar6 = FUN_0004a6d0(), iVar6 == 0) {\n                if (DAT_0013d7a4 != 0) {\n                  pvVar8 = (void *)FUN_00048f50();\n                  iVar6 = FUN_0004a6d0();\n                  free(pvVar8);\n                  if (iVar6 != 0) break;\n                }\n                piVar9 = (int *)bfd_elf_get_runpath_list(DAT_0013d6f4,&DAT_0013d6c0);\n                if (piVar9 != (int *)0x0) {\n                  do {\n                    bVar22 = true;\n                    pvVar8 = (void *)FUN_00048f50();\n                    bVar20 = false;\n                    if (piVar9[1] == puVar17[1]) {\n                      iVar6 = FUN_0004a6d0();\n                      bVar22 = iVar6 == 0;\n                      bVar20 = !bVar22;\n                    }\n                    free(pvVar8);\n                    piVar9 = (int *)*piVar9;\n                  } while ((piVar9 != (int *)0x0) && (bVar22));\n                  if (bVar20) break;\n                }\n                if (DAT_0013d424 == 0) {\n                  pvVar8 = (void *)concat(DAT_0013d75c,"/usr/etc/ld.so.conf",0);\n                  iVar6 = FUN_00049060();\n                  if (iVar6 == 0) {\n                    free(pvVar8);\n                    pvVar8 = (void *)concat(DAT_0013d75c,"/etc/ld.so.conf",0);\n                    FUN_00049060();\n                  }\n                  free(pvVar8);\n                  DAT_0013d424 = 1;\n                }\n                pcVar12 = (char *)puVar17[2];\n                if (DAT_0013d420 != 0) {\n                  iVar6 = FUN_0004a6d0();\n                  if (iVar6 != 0) break;\n                  pcVar12 = (char *)puVar17[2];\n                }\n                sVar10 = strlen(pcVar12);\n                if (DAT_0013d8e4 != (int *)0x0) {\n                  piVar9 = DAT_0013d8e4;\n                  do {\n                    if (piVar9[2] == 0) {\n                      sVar11 = strlen((char *)piVar9[1]);\n                      pcVar12 = (char *)xmalloc(sVar11 + sVar10 + 2);\n                      sprintf(pcVar12,"%s/%s",piVar9[1],puVar17[2]);\n                      iVar6 = FUN_0004a3c0();\n                      if (iVar6 != 0) goto LAB_0004ae88;\n                      free(pcVar12);\n                    }\n                    piVar9 = (int *)*piVar9;\n                  } while (piVar9 != (int *)0x0);\n                }\n                if (bVar2) {\n                  uVar7 = puVar17[1];\n                  uVar1 = puVar17[2];\n                  uVar13 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00033ba0(uVar13,uVar1,uVar7);\n                  break;\n                }\n                bVar2 = true;\n              }\n            }\n          }\n        }\nLAB_0004ae88:\n      }\n      DAT_0013d6c3 = (byte)(_DAT_0013d6c2 >> 8);\n      bVar23 = DAT_0013d6c3 & 0xc0;\n      if ((bVar23 == 0x80) && (iVar6 = bfd_elf_parse_eh_frame_entries(0,&DAT_0013d6c0), iVar6 == 0))\n      {\n        uVar7 = dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);\n        FUN_00033ba0(uVar7);\n      }\n    }\n  }" { (if_statement "if (DAT_0013d780 != 0) {\n      unlink_if_ordinary(DAT_0013d780);\n      DAT_0013d6f8 = bfd_openw(DAT_0013d780,**(undefined4 **)(DAT_0013d6f4 + 4));\n      iVar14 = DAT_0013d780;\n      if (DAT_0013d6f8 == 0) {\n        uVar7 = dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);\n        FUN_00033ba0(uVar7,iVar14);\n      }\n    }" if (parenthesized_expression "(DAT_0013d780 != 0)" ( (binary_expression "DAT_0013d780 != 0" identifier != number_literal) )) (compound_statement "{\n      unlink_if_ordinary(DAT_0013d780);\n      DAT_0013d6f8 = bfd_openw(DAT_0013d780,**(undefined4 **)(DAT_0013d6f4 + 4));\n      iVar14 = DAT_0013d780;\n      if (DAT_0013d6f8 == 0) {\n        uVar7 = dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);\n        FUN_00033ba0(uVar7,iVar14);\n      }\n    }" { (expression_statement "unlink_if_ordinary(DAT_0013d780);" (call_expression "unlink_if_ordinary(DAT_0013d780)" identifier (argument_list "(DAT_0013d780)" ( identifier ))) ;) (expression_statement "DAT_0013d6f8 = bfd_openw(DAT_0013d780,**(undefined4 **)(DAT_0013d6f4 + 4));" (assignment_expression "DAT_0013d6f8 = bfd_openw(DAT_0013d780,**(undefined4 **)(DAT_0013d6f4 + 4))" identifier = (call_expression "bfd_openw(DAT_0013d780,**(undefined4 **)(DAT_0013d6f4 + 4))" identifier (argument_list "(DAT_0013d780,**(undefined4 **)(DAT_0013d6f4 + 4))" ( identifier , (pointer_expression "**(undefined4 **)(DAT_0013d6f4 + 4)" * (pointer_expression "*(undefined4 **)(DAT_0013d6f4 + 4)" * (cast_expression "(undefined4 **)(DAT_0013d6f4 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(DAT_0013d6f4 + 4)" ( (binary_expression "DAT_0013d6f4 + 4" identifier + number_literal) ))))) )))) ;) (expression_statement "iVar14 = DAT_0013d780;" (assignment_expression "iVar14 = DAT_0013d780" identifier = identifier) ;) (if_statement "if (DAT_0013d6f8 == 0) {\n        uVar7 = dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);\n        FUN_00033ba0(uVar7,iVar14);\n      }" if (parenthesized_expression "(DAT_0013d6f8 == 0)" ( (binary_expression "DAT_0013d6f8 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar7 = dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);\n        FUN_00033ba0(uVar7,iVar14);\n      }" { (expression_statement "uVar7 = dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);" (assignment_expression "uVar7 = 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_00033ba0(uVar7,iVar14);" (call_expression "FUN_00033ba0(uVar7,iVar14)" identifier (argument_list "(uVar7,iVar14)" ( identifier , identifier ))) ;) })) })) (expression_statement "iVar16 = DAT_0013d6f4;" (assignment_expression "iVar16 = DAT_0013d6f4" identifier = identifier) ;) (expression_statement "iVar14 = DAT_0013d6fc;" (assignment_expression "iVar14 = DAT_0013d6fc" identifier = identifier) ;) (if_statement "if (DAT_0013d42c != (void *)0x0) {\n      for (; iVar14 != 0; iVar14 = *(int *)(iVar14 + 0x9c)) {\n        if (((*(int *)(*(int *)(iVar14 + 4) + 4) == 5) && (*(int *)(iVar14 + 0x68) != 0)) &&\n           ((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0)) {\n          lVar24 = FUN_00037870(DAT_0013d42c);\n          if ((lVar24 == 0) || (lVar24 + 0x10 == 0)) {\n            pcVar12 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar14 = bfd_make_section_with_flags\n                               (iVar14,".note.gnu.build-id",\n                                "ttributes)) }\n  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }\n}\n\n"\n                               );\n            if (iVar14 != 0) {\n              *(undefined4 *)(iVar14 + 0x58) = 2;\n              iVar16 = DAT_0013d6f4;\n              iVar15 = *(int *)(*(int *)(DAT_0013d6f4 + 0xa0) + 0x9c0);\n              *(code **)(iVar15 + 0x10) = FUN_00048da0;\n              pvVar8 = DAT_0013d42c;\n              *(int *)(iVar15 + 0x18) = iVar14;\n              *(void **)(iVar15 + 0x14) = pvVar8;\n              *(undefined4 *)(*(int *)(iVar14 + 0xa4) + 4) = 7;\n              *(longlong *)(iVar14 + 0x2c) = lVar24 + 0x10;\n              goto LAB_0004ad04;\n            }\n            pcVar12 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          uVar7 = dcgettext(0,pcVar12,5);\n          FUN_00033ba0(uVar7);\n          break;\n        }\n      }\n      free(DAT_0013d42c);\n      DAT_0013d42c = (void *)0x0;\n      iVar16 = DAT_0013d6f4;\n    }" if (parenthesized_expression "(DAT_0013d42c != (void *)0x0)" ( (binary_expression "DAT_0013d42c != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      for (; iVar14 != 0; iVar14 = *(int *)(iVar14 + 0x9c)) {\n        if (((*(int *)(*(int *)(iVar14 + 4) + 4) == 5) && (*(int *)(iVar14 + 0x68) != 0)) &&\n           ((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0)) {\n          lVar24 = FUN_00037870(DAT_0013d42c);\n          if ((lVar24 == 0) || (lVar24 + 0x10 == 0)) {\n            pcVar12 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar14 = bfd_make_section_with_flags\n                               (iVar14,".note.gnu.build-id",\n                                "ttributes)) }\n  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }\n}\n\n"\n                               );\n            if (iVar14 != 0) {\n              *(undefined4 *)(iVar14 + 0x58) = 2;\n              iVar16 = DAT_0013d6f4;\n              iVar15 = *(int *)(*(int *)(DAT_0013d6f4 + 0xa0) + 0x9c0);\n              *(code **)(iVar15 + 0x10) = FUN_00048da0;\n              pvVar8 = DAT_0013d42c;\n              *(int *)(iVar15 + 0x18) = iVar14;\n              *(void **)(iVar15 + 0x14) = pvVar8;\n              *(undefined4 *)(*(int *)(iVar14 + 0xa4) + 4) = 7;\n              *(longlong *)(iVar14 + 0x2c) = lVar24 + 0x10;\n              goto LAB_0004ad04;\n            }\n            pcVar12 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          uVar7 = dcgettext(0,pcVar12,5);\n          FUN_00033ba0(uVar7);\n          break;\n        }\n      }\n      free(DAT_0013d42c);\n      DAT_0013d42c = (void *)0x0;\n      iVar16 = DAT_0013d6f4;\n    }" { (for_statement "for (; iVar14 != 0; iVar14 = *(int *)(iVar14 + 0x9c)) {\n        if (((*(int *)(*(int *)(iVar14 + 4) + 4) == 5) && (*(int *)(iVar14 + 0x68) != 0)) &&\n           ((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0)) {\n          lVar24 = FUN_00037870(DAT_0013d42c);\n          if ((lVar24 == 0) || (lVar24 + 0x10 == 0)) {\n            pcVar12 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar14 = bfd_make_section_with_flags\n                               (iVar14,".note.gnu.build-id",\n                                "ttributes)) }\n  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }\n}\n\n"\n                               );\n            if (iVar14 != 0) {\n              *(undefined4 *)(iVar14 + 0x58) = 2;\n              iVar16 = DAT_0013d6f4;\n              iVar15 = *(int *)(*(int *)(DAT_0013d6f4 + 0xa0) + 0x9c0);\n              *(code **)(iVar15 + 0x10) = FUN_00048da0;\n              pvVar8 = DAT_0013d42c;\n              *(int *)(iVar15 + 0x18) = iVar14;\n              *(void **)(iVar15 + 0x14) = pvVar8;\n              *(undefined4 *)(*(int *)(iVar14 + 0xa4) + 4) = 7;\n              *(longlong *)(iVar14 + 0x2c) = lVar24 + 0x10;\n              goto LAB_0004ad04;\n            }\n            pcVar12 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          uVar7 = dcgettext(0,pcVar12,5);\n          FUN_00033ba0(uVar7);\n          break;\n        }\n      }" for ( ; (binary_expression "iVar14 != 0" identifier != number_literal) ; (assignment_expression "iVar14 = *(int *)(iVar14 + 0x9c)" identifier = (pointer_expression "*(int *)(iVar14 + 0x9c)" * (cast_expression "(int *)(iVar14 + 0x9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x9c)" ( (binary_expression "iVar14 + 0x9c" identifier + number_literal) ))))) ) (compound_statement "{\n        if (((*(int *)(*(int *)(iVar14 + 4) + 4) == 5) && (*(int *)(iVar14 + 0x68) != 0)) &&\n           ((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0)) {\n          lVar24 = FUN_00037870(DAT_0013d42c);\n          if ((lVar24 == 0) || (lVar24 + 0x10 == 0)) {\n            pcVar12 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar14 = bfd_make_section_with_flags\n                               (iVar14,".note.gnu.build-id",\n                                "ttributes)) }\n  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }\n}\n\n"\n                               );\n            if (iVar14 != 0) {\n              *(undefined4 *)(iVar14 + 0x58) = 2;\n              iVar16 = DAT_0013d6f4;\n              iVar15 = *(int *)(*(int *)(DAT_0013d6f4 + 0xa0) + 0x9c0);\n              *(code **)(iVar15 + 0x10) = FUN_00048da0;\n              pvVar8 = DAT_0013d42c;\n              *(int *)(iVar15 + 0x18) = iVar14;\n              *(void **)(iVar15 + 0x14) = pvVar8;\n              *(undefined4 *)(*(int *)(iVar14 + 0xa4) + 4) = 7;\n              *(longlong *)(iVar14 + 0x2c) = lVar24 + 0x10;\n              goto LAB_0004ad04;\n            }\n            pcVar12 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          uVar7 = dcgettext(0,pcVar12,5);\n          FUN_00033ba0(uVar7);\n          break;\n        }\n      }" { (if_statement "if (((*(int *)(*(int *)(iVar14 + 4) + 4) == 5) && (*(int *)(iVar14 + 0x68) != 0)) &&\n           ((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0)) {\n          lVar24 = FUN_00037870(DAT_0013d42c);\n          if ((lVar24 == 0) || (lVar24 + 0x10 == 0)) {\n            pcVar12 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar14 = bfd_make_section_with_flags\n                               (iVar14,".note.gnu.build-id",\n                                "ttributes)) }\n  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }\n}\n\n"\n                               );\n            if (iVar14 != 0) {\n              *(undefined4 *)(iVar14 + 0x58) = 2;\n              iVar16 = DAT_0013d6f4;\n              iVar15 = *(int *)(*(int *)(DAT_0013d6f4 + 0xa0) + 0x9c0);\n              *(code **)(iVar15 + 0x10) = FUN_00048da0;\n              pvVar8 = DAT_0013d42c;\n              *(int *)(iVar15 + 0x18) = iVar14;\n              *(void **)(iVar15 + 0x14) = pvVar8;\n              *(undefined4 *)(*(int *)(iVar14 + 0xa4) + 4) = 7;\n              *(longlong *)(iVar14 + 0x2c) = lVar24 + 0x10;\n              goto LAB_0004ad04;\n            }\n            pcVar12 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          uVar7 = dcgettext(0,pcVar12,5);\n          FUN_00033ba0(uVar7);\n          break;\n        }" if (parenthesized_expression "(((*(int *)(*(int *)(iVar14 + 4) + 4) == 5) && (*(int *)(iVar14 + 0x68) != 0)) &&\n           ((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0))" ( (binary_expression "((*(int *)(*(int *)(iVar14 + 4) + 4) == 5) && (*(int *)(iVar14 + 0x68) != 0)) &&\n           ((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0)" (parenthesized_expression "((*(int *)(*(int *)(iVar14 + 4) + 4) == 5) && (*(int *)(iVar14 + 0x68) != 0))" ( (binary_expression "(*(int *)(*(int *)(iVar14 + 4) + 4) == 5) && (*(int *)(iVar14 + 0x68) != 0)" (parenthesized_expression "(*(int *)(*(int *)(iVar14 + 4) + 4) == 5)" ( (binary_expression "*(int *)(*(int *)(iVar14 + 4) + 4) == 5" (pointer_expression "*(int *)(*(int *)(iVar14 + 4) + 4)" * (cast_expression "(int *)(*(int *)(iVar14 + 4) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar14 + 4) + 4)" ( (binary_expression "*(int *)(iVar14 + 4) + 4" (pointer_expression "*(int *)(iVar14 + 4)" * (cast_expression "(int *)(iVar14 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 4)" ( (binary_expression "iVar14 + 4" identifier + number_literal) )))) + number_literal) )))) == number_literal) )) && (parenthesized_expression "(*(int *)(iVar14 + 0x68) != 0)" ( (binary_expression "*(int *)(iVar14 + 0x68) != 0" (pointer_expression "*(int *)(iVar14 + 0x68)" * (cast_expression "(int *)(iVar14 + 0x68)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x68)" ( (binary_expression "iVar14 + 0x68" identifier + number_literal) )))) != number_literal) ))) )) && (parenthesized_expression "((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0)" ( (binary_expression "(*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0" (parenthesized_expression "(*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10)" ( (binary_expression "*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10" (pointer_expression "*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24)" * (cast_expression "(byte *)(*(int *)(iVar14 + 0xa4) + 0x24)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar14 + 0xa4) + 0x24)" ( (binary_expression "*(int *)(iVar14 + 0xa4) + 0x24" (pointer_expression "*(int *)(iVar14 + 0xa4)" * (cast_expression "(int *)(iVar14 + 0xa4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0xa4)" ( (binary_expression "iVar14 + 0xa4" identifier + number_literal) )))) + number_literal) )))) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n          lVar24 = FUN_00037870(DAT_0013d42c);\n          if ((lVar24 == 0) || (lVar24 + 0x10 == 0)) {\n            pcVar12 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar14 = bfd_make_section_with_flags\n                               (iVar14,".note.gnu.build-id",\n                                "ttributes)) }\n  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }\n}\n\n"\n                               );\n            if (iVar14 != 0) {\n              *(undefined4 *)(iVar14 + 0x58) = 2;\n              iVar16 = DAT_0013d6f4;\n              iVar15 = *(int *)(*(int *)(DAT_0013d6f4 + 0xa0) + 0x9c0);\n              *(code **)(iVar15 + 0x10) = FUN_00048da0;\n              pvVar8 = DAT_0013d42c;\n              *(int *)(iVar15 + 0x18) = iVar14;\n              *(void **)(iVar15 + 0x14) = pvVar8;\n              *(undefined4 *)(*(int *)(iVar14 + 0xa4) + 4) = 7;\n              *(longlong *)(iVar14 + 0x2c) = lVar24 + 0x10;\n              goto LAB_0004ad04;\n            }\n            pcVar12 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          uVar7 = dcgettext(0,pcVar12,5);\n          FUN_00033ba0(uVar7);\n          break;\n        }" { (expression_statement "lVar24 = FUN_00037870(DAT_0013d42c);" (assignment_expression "lVar24 = FUN_00037870(DAT_0013d42c)" identifier = (call_expression "FUN_00037870(DAT_0013d42c)" identifier (argument_list "(DAT_0013d42c)" ( identifier )))) ;) (if_statement "if ((lVar24 == 0) || (lVar24 + 0x10 == 0)) {\n            pcVar12 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar14 = bfd_make_section_with_flags\n                               (iVar14,".note.gnu.build-id",\n                                "ttributes)) }\n  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }\n}\n\n"\n                               );\n            if (iVar14 != 0) {\n              *(undefined4 *)(iVar14 + 0x58) = 2;\n              iVar16 = DAT_0013d6f4;\n              iVar15 = *(int *)(*(int *)(DAT_0013d6f4 + 0xa0) + 0x9c0);\n              *(code **)(iVar15 + 0x10) = FUN_00048da0;\n              pvVar8 = DAT_0013d42c;\n              *(int *)(iVar15 + 0x18) = iVar14;\n              *(void **)(iVar15 + 0x14) = pvVar8;\n              *(undefined4 *)(*(int *)(iVar14 + 0xa4) + 4) = 7;\n              *(longlong *)(iVar14 + 0x2c) = lVar24 + 0x10;\n              goto LAB_0004ad04;\n            }\n            pcVar12 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }" if (parenthesized_expression "((lVar24 == 0) || (lVar24 + 0x10 == 0))" ( (binary_expression "(lVar24 == 0) || (lVar24 + 0x10 == 0)" (parenthesized_expression "(lVar24 == 0)" ( (binary_expression "lVar24 == 0" identifier == number_literal) )) || (parenthesized_expression "(lVar24 + 0x10 == 0)" ( (binary_expression "lVar24 + 0x10 == 0" (binary_expression "lVar24 + 0x10" identifier + number_literal) == number_literal) ))) )) (compound_statement "{\n            pcVar12 = "%P: warning: unrecognized --build-id style ignored\n";\n          }" { (expression_statement "pcVar12 = "%P: warning: unrecognized --build-id style ignored\n";" (assignment_expression "pcVar12 = "%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            iVar14 = bfd_make_section_with_flags\n                               (iVar14,".note.gnu.build-id",\n                                "ttributes)) }\n  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }\n}\n\n"\n                               );\n            if (iVar14 != 0) {\n              *(undefined4 *)(iVar14 + 0x58) = 2;\n              iVar16 = DAT_0013d6f4;\n              iVar15 = *(int *)(*(int *)(DAT_0013d6f4 + 0xa0) + 0x9c0);\n              *(code **)(iVar15 + 0x10) = FUN_00048da0;\n              pvVar8 = DAT_0013d42c;\n              *(int *)(iVar15 + 0x18) = iVar14;\n              *(void **)(iVar15 + 0x14) = pvVar8;\n              *(undefined4 *)(*(int *)(iVar14 + 0xa4) + 4) = 7;\n              *(longlong *)(iVar14 + 0x2c) = lVar24 + 0x10;\n              goto LAB_0004ad04;\n            }\n            pcVar12 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }" else (compound_statement "{\n            iVar14 = bfd_make_section_with_flags\n                               (iVar14,".note.gnu.build-id",\n                                "ttributes)) }\n  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }\n}\n\n"\n                               );\n            if (iVar14 != 0) {\n              *(undefined4 *)(iVar14 + 0x58) = 2;\n              iVar16 = DAT_0013d6f4;\n              iVar15 = *(int *)(*(int *)(DAT_0013d6f4 + 0xa0) + 0x9c0);\n              *(code **)(iVar15 + 0x10) = FUN_00048da0;\n              pvVar8 = DAT_0013d42c;\n              *(int *)(iVar15 + 0x18) = iVar14;\n              *(void **)(iVar15 + 0x14) = pvVar8;\n              *(undefined4 *)(*(int *)(iVar14 + 0xa4) + 4) = 7;\n              *(longlong *)(iVar14 + 0x2c) = lVar24 + 0x10;\n              goto LAB_0004ad04;\n            }\n            pcVar12 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }" { (expression_statement "iVar14 = bfd_make_section_with_flags\n                               (iVar14,".note.gnu.build-id",\n                                "ttributes)) }\n  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }\n}\n\n"\n                               );" (assignment_expression "iVar14 = bfd_make_section_with_flags\n                               (iVar14,".note.gnu.build-id",\n                                "ttributes)) }\n  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }\n}\n\n"\n                               )" identifier = (call_expression "bfd_make_section_with_flags\n                               (iVar14,".note.gnu.build-id",\n                                "ttributes)) }\n  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }\n}\n\n"\n                               )" identifier (argument_list "(iVar14,".note.gnu.build-id",\n                                "ttributes)) }\n  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }\n}\n\n"\n                               )" ( identifier , (string_literal "".note.gnu.build-id"" " string_content ") , (string_literal ""ttributes)) }\n  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }\n}\n\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence escape_sequence ") )))) ;) (if_statement "if (iVar14 != 0) {\n              *(undefined4 *)(iVar14 + 0x58) = 2;\n              iVar16 = DAT_0013d6f4;\n              iVar15 = *(int *)(*(int *)(DAT_0013d6f4 + 0xa0) + 0x9c0);\n              *(code **)(iVar15 + 0x10) = FUN_00048da0;\n              pvVar8 = DAT_0013d42c;\n              *(int *)(iVar15 + 0x18) = iVar14;\n              *(void **)(iVar15 + 0x14) = pvVar8;\n              *(undefined4 *)(*(int *)(iVar14 + 0xa4) + 4) = 7;\n              *(longlong *)(iVar14 + 0x2c) = lVar24 + 0x10;\n              goto LAB_0004ad04;\n            }" if (parenthesized_expression "(iVar14 != 0)" ( (binary_expression "iVar14 != 0" identifier != number_literal) )) (compound_statement "{\n              *(undefined4 *)(iVar14 + 0x58) = 2;\n              iVar16 = DAT_0013d6f4;\n              iVar15 = *(int *)(*(int *)(DAT_0013d6f4 + 0xa0) + 0x9c0);\n              *(code **)(iVar15 + 0x10) = FUN_00048da0;\n              pvVar8 = DAT_0013d42c;\n              *(int *)(iVar15 + 0x18) = iVar14;\n              *(void **)(iVar15 + 0x14) = pvVar8;\n              *(undefined4 *)(*(int *)(iVar14 + 0xa4) + 4) = 7;\n              *(longlong *)(iVar14 + 0x2c) = lVar24 + 0x10;\n              goto LAB_0004ad04;\n            }" { (expression_statement "*(undefined4 *)(iVar14 + 0x58) = 2;" (assignment_expression "*(undefined4 *)(iVar14 + 0x58) = 2" (pointer_expression "*(undefined4 *)(iVar14 + 0x58)" * (cast_expression "(undefined4 *)(iVar14 + 0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x58)" ( (binary_expression "iVar14 + 0x58" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar16 = DAT_0013d6f4;" (assignment_expression "iVar16 = DAT_0013d6f4" identifier = identifier) ;) (expression_statement "iVar15 = *(int *)(*(int *)(DAT_0013d6f4 + 0xa0) + 0x9c0);" (assignment_expression "iVar15 = *(int *)(*(int *)(DAT_0013d6f4 + 0xa0) + 0x9c0)" identifier = (pointer_expression "*(int *)(*(int *)(DAT_0013d6f4 + 0xa0) + 0x9c0)" * (cast_expression "(int *)(*(int *)(DAT_0013d6f4 + 0xa0) + 0x9c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(DAT_0013d6f4 + 0xa0) + 0x9c0)" ( (binary_expression "*(int *)(DAT_0013d6f4 + 0xa0) + 0x9c0" (pointer_expression "*(int *)(DAT_0013d6f4 + 0xa0)" * (cast_expression "(int *)(DAT_0013d6f4 + 0xa0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0013d6f4 + 0xa0)" ( (binary_expression "DAT_0013d6f4 + 0xa0" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "*(code **)(iVar15 + 0x10) = FUN_00048da0;" (assignment_expression "*(code **)(iVar15 + 0x10) = FUN_00048da0" (pointer_expression "*(code **)(iVar15 + 0x10)" * (cast_expression "(code **)(iVar15 + 0x10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar15 + 0x10)" ( (binary_expression "iVar15 + 0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "pvVar8 = DAT_0013d42c;" (assignment_expression "pvVar8 = DAT_0013d42c" identifier = identifier) ;) (expression_statement "*(int *)(iVar15 + 0x18) = iVar14;" (assignment_expression "*(int *)(iVar15 + 0x18) = iVar14" (pointer_expression "*(int *)(iVar15 + 0x18)" * (cast_expression "(int *)(iVar15 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x18)" ( (binary_expression "iVar15 + 0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(void **)(iVar15 + 0x14) = pvVar8;" (assignment_expression "*(void **)(iVar15 + 0x14) = pvVar8" (pointer_expression "*(void **)(iVar15 + 0x14)" * (cast_expression "(void **)(iVar15 + 0x14)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar15 + 0x14)" ( (binary_expression "iVar15 + 0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(*(int *)(iVar14 + 0xa4) + 4) = 7;" (assignment_expression "*(undefined4 *)(*(int *)(iVar14 + 0xa4) + 4) = 7" (pointer_expression "*(undefined4 *)(*(int *)(iVar14 + 0xa4) + 4)" * (cast_expression "(undefined4 *)(*(int *)(iVar14 + 0xa4) + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar14 + 0xa4) + 4)" ( (binary_expression "*(int *)(iVar14 + 0xa4) + 4" (pointer_expression "*(int *)(iVar14 + 0xa4)" * (cast_expression "(int *)(iVar14 + 0xa4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0xa4)" ( (binary_expression "iVar14 + 0xa4" identifier + number_literal) )))) + number_literal) )))) = number_literal) ;) (expression_statement "*(longlong *)(iVar14 + 0x2c) = lVar24 + 0x10;" (assignment_expression "*(longlong *)(iVar14 + 0x2c) = lVar24 + 0x10" (pointer_expression "*(longlong *)(iVar14 + 0x2c)" * (cast_expression "(longlong *)(iVar14 + 0x2c)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x2c)" ( (binary_expression "iVar14 + 0x2c" identifier + number_literal) )))) = (binary_expression "lVar24 + 0x10" identifier + number_literal)) ;) (goto_statement "goto LAB_0004ad04;" goto statement_identifier ;) })) (expression_statement "pcVar12 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";" (assignment_expression "pcVar12 = "%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 "uVar7 = dcgettext(0,pcVar12,5);" (assignment_expression "uVar7 = dcgettext(0,pcVar12,5)" identifier = (call_expression "dcgettext(0,pcVar12,5)" identifier (argument_list "(0,pcVar12,5)" ( number_literal , identifier , number_literal )))) ;) (expression_statement "FUN_00033ba0(uVar7);" (call_expression "FUN_00033ba0(uVar7)" identifier (argument_list "(uVar7)" ( identifier ))) ;) (break_statement "break;" break ;) })) })) (expression_statement "free(DAT_0013d42c);" (call_expression "free(DAT_0013d42c)" identifier (argument_list "(DAT_0013d42c)" ( identifier ))) ;) (expression_statement "DAT_0013d42c = (void *)0x0;" (assignment_expression "DAT_0013d42c = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar16 = DAT_0013d6f4;" (assignment_expression "iVar16 = DAT_0013d6f4" identifier = identifier) ;) })) (labeled_statement "LAB_0004ad04:\n    (**(code **)(*(int *)(*(int *)(iVar16 + 4) + 0x1c0) + 0x1d0))(&DAT_0013d6c0);" statement_identifier : (expression_statement "(**(code **)(*(int *)(*(int *)(iVar16 + 4) + 0x1c0) + 0x1d0))(&DAT_0013d6c0);" (call_expression "(**(code **)(*(int *)(*(int *)(iVar16 + 4) + 0x1c0) + 0x1d0))(&DAT_0013d6c0)" (parenthesized_expression "(**(code **)(*(int *)(*(int *)(iVar16 + 4) + 0x1c0) + 0x1d0))" ( (pointer_expression "**(code **)(*(int *)(*(int *)(iVar16 + 4) + 0x1c0) + 0x1d0)" * (pointer_expression "*(code **)(*(int *)(*(int *)(iVar16 + 4) + 0x1c0) + 0x1d0)" * (cast_expression "(code **)(*(int *)(*(int *)(iVar16 + 4) + 0x1c0) + 0x1d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(*(int *)(iVar16 + 4) + 0x1c0) + 0x1d0)" ( (binary_expression "*(int *)(*(int *)(iVar16 + 4) + 0x1c0) + 0x1d0" (pointer_expression "*(int *)(*(int *)(iVar16 + 4) + 0x1c0)" * (cast_expression "(int *)(*(int *)(iVar16 + 4) + 0x1c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar16 + 4) + 0x1c0)" ( (binary_expression "*(int *)(iVar16 + 4) + 0x1c0" (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) ))))) )) (argument_list "(&DAT_0013d6c0)" ( (pointer_expression "&DAT_0013d6c0" & identifier) ))) ;)) (if_statement "if ((DAT_0013d6c0 & 3) == 2) {\n      if (DAT_0013d6c5 >> 7 == (~DAT_0013d6c6 & 1)) {\n        bfd_make_section_with_flags(DAT_0013d6fc,".note.GNU-stack",DAT_0013d6c5 >> 3 & 0x10 | 8);\n      }\n    }\n    else {\n      if (((DAT_0013d6c4 & 0x20) == 0) && (DAT_0013d6fc != 0)) {\n        local_50 = 0;\n        bVar2 = false;\n        local_4c = 0;\n        iVar14 = DAT_0013d6fc;\n        do {\n          while ((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0) {\n            puVar17 = *(undefined4 **)(iVar14 + 0x60);\n            if (puVar17 == (undefined4 *)0x0) {\nLAB_0004b231:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar20 = (undefined *)puVar17[0x15] < PTR__bfd_std_section_0013bfc4 + 0x180;\n                bVar22 = (undefined *)puVar17[0x15] == PTR__bfd_std_section_0013bfc4 + 0x180;\n                iVar16 = local_60;\n                if (!bVar22) {\n                  iVar15 = 0xf;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar20 = *pbVar18 < *pbVar19;\n                    bVar22 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar22);\n                  bVar21 = false;\n                  bVar20 = (!bVar20 && !bVar22) == bVar20;\n                  if (bVar20) {\n                    local_60 = 2;\n                    goto LAB_0004b209;\n                  }\n                  iVar15 = 10;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar21 = *pbVar18 < *pbVar19;\n                    bVar20 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar20);\n                  if (((!bVar21 && !bVar20) == bVar21) &&\n                     (iVar16 = 1,\n                     puVar17[0xc] == 0 && (uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc])) {\n                    iVar16 = local_60;\n                  }\n                }\n                local_60 = iVar16;\n                puVar17 = (undefined4 *)puVar17[3];\n              } while (puVar17 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_0004b231;\nLAB_0004b209:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar14 = local_4c;\n                }\n                uVar7 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00033ba0(uVar7,iVar14);\n                goto LAB_0004b267;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_0004b231;\n              if (local_60 != 2) {\n                if ((_DAT_0013d6c2 & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar2 = true;\n                  if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                    local_4c = iVar14;\n                  }\n                }\n                break;\n              }\n              bVar2 = true;\n              if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                local_4c = iVar14;\n              }\n            }\n            iVar14 = *(int *)(iVar14 + 0x9c);\n            local_50 = 2;\n            _DAT_0013d6c2 = _DAT_0013d6c2 & 0x3fff | 0x8000;\n            if (iVar14 == 0) goto LAB_0004b267;\n          }\n          iVar14 = *(int *)(iVar14 + 0x9c);\n        } while (iVar14 != 0);\nLAB_0004b267:\n        if ((local_4c == 0) ||\n           (iVar14 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x30) | 8),\n           iVar14 == 0)) {\n          if (bVar2) {\n            uVar7 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00033ba0(uVar7);\n          }\n        }\n        else {\n          *(undefined4 *)(iVar14 + 0x58) = 2;\n          *(int *)(iVar6 + 0xd0) = iVar14;\n        }\n      }\n      puVar4 = (undefined4 *)bfd_elf_get_needed_list(DAT_0013d6f4,&DAT_0013d6c0);\n      for (puVar17 = puVar4; puVar17 != (undefined4 *)0x0; puVar17 = (undefined4 *)*puVar17) {\n        puVar3 = puVar4;\n        if ((puVar17[1] == 0) ||\n           ((uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 1) == 0 &&\n            (((puVar17[1] == 0 || ((_DAT_0013d6c2 & 0x180) != 0x80)) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 4) == 0)))))) {\n          for (; puVar3 != puVar17; puVar3 = (undefined4 *)*puVar3) {\n            if (((puVar3[1] == 0) ||\n                (uVar5 = bfd_elf_get_dyn_lib_class(puVar3[1]), (uVar5 & 1) == 0)) &&\n               (iVar6 = strcmp((char *)puVar3[2],(char *)puVar17[2]), iVar6 == 0)) {\n              if (puVar17 != puVar3) goto LAB_0004ae88;\n              break;\n            }\n          }\n          DAT_0013d440 = 0;\n          DAT_0013d4c0 = puVar17;\n          FUN_000264a0(FUN_0004a2c0);\n          if ((DAT_0013d440 == 0) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_0013d440 + 0x10)),\n             (uVar5 & 1) != 0)) {\n            uVar7 = puVar17[1];\n            uVar1 = puVar17[2];\n            if (DAT_0013d83c != 0) {\n              uVar13 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00033b70(uVar13,uVar1,uVar7);\n            }\n            if ((DAT_0013d440 == 0) || (iVar6 = FUN_0004a3c0(), iVar6 == 0)) {\n              bVar2 = false;\n              while (iVar6 = FUN_0004a6d0(), iVar6 == 0) {\n                if (DAT_0013d7a4 != 0) {\n                  pvVar8 = (void *)FUN_00048f50();\n                  iVar6 = FUN_0004a6d0();\n                  free(pvVar8);\n                  if (iVar6 != 0) break;\n                }\n                piVar9 = (int *)bfd_elf_get_runpath_list(DAT_0013d6f4,&DAT_0013d6c0);\n                if (piVar9 != (int *)0x0) {\n                  do {\n                    bVar22 = true;\n                    pvVar8 = (void *)FUN_00048f50();\n                    bVar20 = false;\n                    if (piVar9[1] == puVar17[1]) {\n                      iVar6 = FUN_0004a6d0();\n                      bVar22 = iVar6 == 0;\n                      bVar20 = !bVar22;\n                    }\n                    free(pvVar8);\n                    piVar9 = (int *)*piVar9;\n                  } while ((piVar9 != (int *)0x0) && (bVar22));\n                  if (bVar20) break;\n                }\n                if (DAT_0013d424 == 0) {\n                  pvVar8 = (void *)concat(DAT_0013d75c,"/usr/etc/ld.so.conf",0);\n                  iVar6 = FUN_00049060();\n                  if (iVar6 == 0) {\n                    free(pvVar8);\n                    pvVar8 = (void *)concat(DAT_0013d75c,"/etc/ld.so.conf",0);\n                    FUN_00049060();\n                  }\n                  free(pvVar8);\n                  DAT_0013d424 = 1;\n                }\n                pcVar12 = (char *)puVar17[2];\n                if (DAT_0013d420 != 0) {\n                  iVar6 = FUN_0004a6d0();\n                  if (iVar6 != 0) break;\n                  pcVar12 = (char *)puVar17[2];\n                }\n                sVar10 = strlen(pcVar12);\n                if (DAT_0013d8e4 != (int *)0x0) {\n                  piVar9 = DAT_0013d8e4;\n                  do {\n                    if (piVar9[2] == 0) {\n                      sVar11 = strlen((char *)piVar9[1]);\n                      pcVar12 = (char *)xmalloc(sVar11 + sVar10 + 2);\n                      sprintf(pcVar12,"%s/%s",piVar9[1],puVar17[2]);\n                      iVar6 = FUN_0004a3c0();\n                      if (iVar6 != 0) goto LAB_0004ae88;\n                      free(pcVar12);\n                    }\n                    piVar9 = (int *)*piVar9;\n                  } while (piVar9 != (int *)0x0);\n                }\n                if (bVar2) {\n                  uVar7 = puVar17[1];\n                  uVar1 = puVar17[2];\n                  uVar13 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00033ba0(uVar13,uVar1,uVar7);\n                  break;\n                }\n                bVar2 = true;\n              }\n            }\n          }\n        }\nLAB_0004ae88:\n      }\n      DAT_0013d6c3 = (byte)(_DAT_0013d6c2 >> 8);\n      bVar23 = DAT_0013d6c3 & 0xc0;\n      if ((bVar23 == 0x80) && (iVar6 = bfd_elf_parse_eh_frame_entries(0,&DAT_0013d6c0), iVar6 == 0))\n      {\n        uVar7 = dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);\n        FUN_00033ba0(uVar7);\n      }\n    }" if (parenthesized_expression "((DAT_0013d6c0 & 3) == 2)" ( (binary_expression "(DAT_0013d6c0 & 3) == 2" (parenthesized_expression "(DAT_0013d6c0 & 3)" ( (binary_expression "DAT_0013d6c0 & 3" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      if (DAT_0013d6c5 >> 7 == (~DAT_0013d6c6 & 1)) {\n        bfd_make_section_with_flags(DAT_0013d6fc,".note.GNU-stack",DAT_0013d6c5 >> 3 & 0x10 | 8);\n      }\n    }" { (if_statement "if (DAT_0013d6c5 >> 7 == (~DAT_0013d6c6 & 1)) {\n        bfd_make_section_with_flags(DAT_0013d6fc,".note.GNU-stack",DAT_0013d6c5 >> 3 & 0x10 | 8);\n      }" if (parenthesized_expression "(DAT_0013d6c5 >> 7 == (~DAT_0013d6c6 & 1))" ( (binary_expression "DAT_0013d6c5 >> 7 == (~DAT_0013d6c6 & 1)" (binary_expression "DAT_0013d6c5 >> 7" identifier >> number_literal) == (parenthesized_expression "(~DAT_0013d6c6 & 1)" ( (binary_expression "~DAT_0013d6c6 & 1" (unary_expression "~DAT_0013d6c6" ~ identifier) & number_literal) ))) )) (compound_statement "{\n        bfd_make_section_with_flags(DAT_0013d6fc,".note.GNU-stack",DAT_0013d6c5 >> 3 & 0x10 | 8);\n      }" { (expression_statement "bfd_make_section_with_flags(DAT_0013d6fc,".note.GNU-stack",DAT_0013d6c5 >> 3 & 0x10 | 8);" (call_expression "bfd_make_section_with_flags(DAT_0013d6fc,".note.GNU-stack",DAT_0013d6c5 >> 3 & 0x10 | 8)" identifier (argument_list "(DAT_0013d6fc,".note.GNU-stack",DAT_0013d6c5 >> 3 & 0x10 | 8)" ( identifier , (string_literal "".note.GNU-stack"" " string_content ") , (binary_expression "DAT_0013d6c5 >> 3 & 0x10 | 8" (binary_expression "DAT_0013d6c5 >> 3 & 0x10" (binary_expression "DAT_0013d6c5 >> 3" identifier >> number_literal) & number_literal) | number_literal) ))) ;) })) }) (else_clause "else {\n      if (((DAT_0013d6c4 & 0x20) == 0) && (DAT_0013d6fc != 0)) {\n        local_50 = 0;\n        bVar2 = false;\n        local_4c = 0;\n        iVar14 = DAT_0013d6fc;\n        do {\n          while ((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0) {\n            puVar17 = *(undefined4 **)(iVar14 + 0x60);\n            if (puVar17 == (undefined4 *)0x0) {\nLAB_0004b231:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar20 = (undefined *)puVar17[0x15] < PTR__bfd_std_section_0013bfc4 + 0x180;\n                bVar22 = (undefined *)puVar17[0x15] == PTR__bfd_std_section_0013bfc4 + 0x180;\n                iVar16 = local_60;\n                if (!bVar22) {\n                  iVar15 = 0xf;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar20 = *pbVar18 < *pbVar19;\n                    bVar22 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar22);\n                  bVar21 = false;\n                  bVar20 = (!bVar20 && !bVar22) == bVar20;\n                  if (bVar20) {\n                    local_60 = 2;\n                    goto LAB_0004b209;\n                  }\n                  iVar15 = 10;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar21 = *pbVar18 < *pbVar19;\n                    bVar20 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar20);\n                  if (((!bVar21 && !bVar20) == bVar21) &&\n                     (iVar16 = 1,\n                     puVar17[0xc] == 0 && (uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc])) {\n                    iVar16 = local_60;\n                  }\n                }\n                local_60 = iVar16;\n                puVar17 = (undefined4 *)puVar17[3];\n              } while (puVar17 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_0004b231;\nLAB_0004b209:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar14 = local_4c;\n                }\n                uVar7 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00033ba0(uVar7,iVar14);\n                goto LAB_0004b267;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_0004b231;\n              if (local_60 != 2) {\n                if ((_DAT_0013d6c2 & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar2 = true;\n                  if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                    local_4c = iVar14;\n                  }\n                }\n                break;\n              }\n              bVar2 = true;\n              if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                local_4c = iVar14;\n              }\n            }\n            iVar14 = *(int *)(iVar14 + 0x9c);\n            local_50 = 2;\n            _DAT_0013d6c2 = _DAT_0013d6c2 & 0x3fff | 0x8000;\n            if (iVar14 == 0) goto LAB_0004b267;\n          }\n          iVar14 = *(int *)(iVar14 + 0x9c);\n        } while (iVar14 != 0);\nLAB_0004b267:\n        if ((local_4c == 0) ||\n           (iVar14 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x30) | 8),\n           iVar14 == 0)) {\n          if (bVar2) {\n            uVar7 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00033ba0(uVar7);\n          }\n        }\n        else {\n          *(undefined4 *)(iVar14 + 0x58) = 2;\n          *(int *)(iVar6 + 0xd0) = iVar14;\n        }\n      }\n      puVar4 = (undefined4 *)bfd_elf_get_needed_list(DAT_0013d6f4,&DAT_0013d6c0);\n      for (puVar17 = puVar4; puVar17 != (undefined4 *)0x0; puVar17 = (undefined4 *)*puVar17) {\n        puVar3 = puVar4;\n        if ((puVar17[1] == 0) ||\n           ((uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 1) == 0 &&\n            (((puVar17[1] == 0 || ((_DAT_0013d6c2 & 0x180) != 0x80)) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 4) == 0)))))) {\n          for (; puVar3 != puVar17; puVar3 = (undefined4 *)*puVar3) {\n            if (((puVar3[1] == 0) ||\n                (uVar5 = bfd_elf_get_dyn_lib_class(puVar3[1]), (uVar5 & 1) == 0)) &&\n               (iVar6 = strcmp((char *)puVar3[2],(char *)puVar17[2]), iVar6 == 0)) {\n              if (puVar17 != puVar3) goto LAB_0004ae88;\n              break;\n            }\n          }\n          DAT_0013d440 = 0;\n          DAT_0013d4c0 = puVar17;\n          FUN_000264a0(FUN_0004a2c0);\n          if ((DAT_0013d440 == 0) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_0013d440 + 0x10)),\n             (uVar5 & 1) != 0)) {\n            uVar7 = puVar17[1];\n            uVar1 = puVar17[2];\n            if (DAT_0013d83c != 0) {\n              uVar13 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00033b70(uVar13,uVar1,uVar7);\n            }\n            if ((DAT_0013d440 == 0) || (iVar6 = FUN_0004a3c0(), iVar6 == 0)) {\n              bVar2 = false;\n              while (iVar6 = FUN_0004a6d0(), iVar6 == 0) {\n                if (DAT_0013d7a4 != 0) {\n                  pvVar8 = (void *)FUN_00048f50();\n                  iVar6 = FUN_0004a6d0();\n                  free(pvVar8);\n                  if (iVar6 != 0) break;\n                }\n                piVar9 = (int *)bfd_elf_get_runpath_list(DAT_0013d6f4,&DAT_0013d6c0);\n                if (piVar9 != (int *)0x0) {\n                  do {\n                    bVar22 = true;\n                    pvVar8 = (void *)FUN_00048f50();\n                    bVar20 = false;\n                    if (piVar9[1] == puVar17[1]) {\n                      iVar6 = FUN_0004a6d0();\n                      bVar22 = iVar6 == 0;\n                      bVar20 = !bVar22;\n                    }\n                    free(pvVar8);\n                    piVar9 = (int *)*piVar9;\n                  } while ((piVar9 != (int *)0x0) && (bVar22));\n                  if (bVar20) break;\n                }\n                if (DAT_0013d424 == 0) {\n                  pvVar8 = (void *)concat(DAT_0013d75c,"/usr/etc/ld.so.conf",0);\n                  iVar6 = FUN_00049060();\n                  if (iVar6 == 0) {\n                    free(pvVar8);\n                    pvVar8 = (void *)concat(DAT_0013d75c,"/etc/ld.so.conf",0);\n                    FUN_00049060();\n                  }\n                  free(pvVar8);\n                  DAT_0013d424 = 1;\n                }\n                pcVar12 = (char *)puVar17[2];\n                if (DAT_0013d420 != 0) {\n                  iVar6 = FUN_0004a6d0();\n                  if (iVar6 != 0) break;\n                  pcVar12 = (char *)puVar17[2];\n                }\n                sVar10 = strlen(pcVar12);\n                if (DAT_0013d8e4 != (int *)0x0) {\n                  piVar9 = DAT_0013d8e4;\n                  do {\n                    if (piVar9[2] == 0) {\n                      sVar11 = strlen((char *)piVar9[1]);\n                      pcVar12 = (char *)xmalloc(sVar11 + sVar10 + 2);\n                      sprintf(pcVar12,"%s/%s",piVar9[1],puVar17[2]);\n                      iVar6 = FUN_0004a3c0();\n                      if (iVar6 != 0) goto LAB_0004ae88;\n                      free(pcVar12);\n                    }\n                    piVar9 = (int *)*piVar9;\n                  } while (piVar9 != (int *)0x0);\n                }\n                if (bVar2) {\n                  uVar7 = puVar17[1];\n                  uVar1 = puVar17[2];\n                  uVar13 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00033ba0(uVar13,uVar1,uVar7);\n                  break;\n                }\n                bVar2 = true;\n              }\n            }\n          }\n        }\nLAB_0004ae88:\n      }\n      DAT_0013d6c3 = (byte)(_DAT_0013d6c2 >> 8);\n      bVar23 = DAT_0013d6c3 & 0xc0;\n      if ((bVar23 == 0x80) && (iVar6 = bfd_elf_parse_eh_frame_entries(0,&DAT_0013d6c0), iVar6 == 0))\n      {\n        uVar7 = dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);\n        FUN_00033ba0(uVar7);\n      }\n    }" else (compound_statement "{\n      if (((DAT_0013d6c4 & 0x20) == 0) && (DAT_0013d6fc != 0)) {\n        local_50 = 0;\n        bVar2 = false;\n        local_4c = 0;\n        iVar14 = DAT_0013d6fc;\n        do {\n          while ((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0) {\n            puVar17 = *(undefined4 **)(iVar14 + 0x60);\n            if (puVar17 == (undefined4 *)0x0) {\nLAB_0004b231:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar20 = (undefined *)puVar17[0x15] < PTR__bfd_std_section_0013bfc4 + 0x180;\n                bVar22 = (undefined *)puVar17[0x15] == PTR__bfd_std_section_0013bfc4 + 0x180;\n                iVar16 = local_60;\n                if (!bVar22) {\n                  iVar15 = 0xf;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar20 = *pbVar18 < *pbVar19;\n                    bVar22 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar22);\n                  bVar21 = false;\n                  bVar20 = (!bVar20 && !bVar22) == bVar20;\n                  if (bVar20) {\n                    local_60 = 2;\n                    goto LAB_0004b209;\n                  }\n                  iVar15 = 10;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar21 = *pbVar18 < *pbVar19;\n                    bVar20 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar20);\n                  if (((!bVar21 && !bVar20) == bVar21) &&\n                     (iVar16 = 1,\n                     puVar17[0xc] == 0 && (uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc])) {\n                    iVar16 = local_60;\n                  }\n                }\n                local_60 = iVar16;\n                puVar17 = (undefined4 *)puVar17[3];\n              } while (puVar17 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_0004b231;\nLAB_0004b209:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar14 = local_4c;\n                }\n                uVar7 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00033ba0(uVar7,iVar14);\n                goto LAB_0004b267;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_0004b231;\n              if (local_60 != 2) {\n                if ((_DAT_0013d6c2 & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar2 = true;\n                  if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                    local_4c = iVar14;\n                  }\n                }\n                break;\n              }\n              bVar2 = true;\n              if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                local_4c = iVar14;\n              }\n            }\n            iVar14 = *(int *)(iVar14 + 0x9c);\n            local_50 = 2;\n            _DAT_0013d6c2 = _DAT_0013d6c2 & 0x3fff | 0x8000;\n            if (iVar14 == 0) goto LAB_0004b267;\n          }\n          iVar14 = *(int *)(iVar14 + 0x9c);\n        } while (iVar14 != 0);\nLAB_0004b267:\n        if ((local_4c == 0) ||\n           (iVar14 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x30) | 8),\n           iVar14 == 0)) {\n          if (bVar2) {\n            uVar7 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00033ba0(uVar7);\n          }\n        }\n        else {\n          *(undefined4 *)(iVar14 + 0x58) = 2;\n          *(int *)(iVar6 + 0xd0) = iVar14;\n        }\n      }\n      puVar4 = (undefined4 *)bfd_elf_get_needed_list(DAT_0013d6f4,&DAT_0013d6c0);\n      for (puVar17 = puVar4; puVar17 != (undefined4 *)0x0; puVar17 = (undefined4 *)*puVar17) {\n        puVar3 = puVar4;\n        if ((puVar17[1] == 0) ||\n           ((uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 1) == 0 &&\n            (((puVar17[1] == 0 || ((_DAT_0013d6c2 & 0x180) != 0x80)) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 4) == 0)))))) {\n          for (; puVar3 != puVar17; puVar3 = (undefined4 *)*puVar3) {\n            if (((puVar3[1] == 0) ||\n                (uVar5 = bfd_elf_get_dyn_lib_class(puVar3[1]), (uVar5 & 1) == 0)) &&\n               (iVar6 = strcmp((char *)puVar3[2],(char *)puVar17[2]), iVar6 == 0)) {\n              if (puVar17 != puVar3) goto LAB_0004ae88;\n              break;\n            }\n          }\n          DAT_0013d440 = 0;\n          DAT_0013d4c0 = puVar17;\n          FUN_000264a0(FUN_0004a2c0);\n          if ((DAT_0013d440 == 0) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_0013d440 + 0x10)),\n             (uVar5 & 1) != 0)) {\n            uVar7 = puVar17[1];\n            uVar1 = puVar17[2];\n            if (DAT_0013d83c != 0) {\n              uVar13 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00033b70(uVar13,uVar1,uVar7);\n            }\n            if ((DAT_0013d440 == 0) || (iVar6 = FUN_0004a3c0(), iVar6 == 0)) {\n              bVar2 = false;\n              while (iVar6 = FUN_0004a6d0(), iVar6 == 0) {\n                if (DAT_0013d7a4 != 0) {\n                  pvVar8 = (void *)FUN_00048f50();\n                  iVar6 = FUN_0004a6d0();\n                  free(pvVar8);\n                  if (iVar6 != 0) break;\n                }\n                piVar9 = (int *)bfd_elf_get_runpath_list(DAT_0013d6f4,&DAT_0013d6c0);\n                if (piVar9 != (int *)0x0) {\n                  do {\n                    bVar22 = true;\n                    pvVar8 = (void *)FUN_00048f50();\n                    bVar20 = false;\n                    if (piVar9[1] == puVar17[1]) {\n                      iVar6 = FUN_0004a6d0();\n                      bVar22 = iVar6 == 0;\n                      bVar20 = !bVar22;\n                    }\n                    free(pvVar8);\n                    piVar9 = (int *)*piVar9;\n                  } while ((piVar9 != (int *)0x0) && (bVar22));\n                  if (bVar20) break;\n                }\n                if (DAT_0013d424 == 0) {\n                  pvVar8 = (void *)concat(DAT_0013d75c,"/usr/etc/ld.so.conf",0);\n                  iVar6 = FUN_00049060();\n                  if (iVar6 == 0) {\n                    free(pvVar8);\n                    pvVar8 = (void *)concat(DAT_0013d75c,"/etc/ld.so.conf",0);\n                    FUN_00049060();\n                  }\n                  free(pvVar8);\n                  DAT_0013d424 = 1;\n                }\n                pcVar12 = (char *)puVar17[2];\n                if (DAT_0013d420 != 0) {\n                  iVar6 = FUN_0004a6d0();\n                  if (iVar6 != 0) break;\n                  pcVar12 = (char *)puVar17[2];\n                }\n                sVar10 = strlen(pcVar12);\n                if (DAT_0013d8e4 != (int *)0x0) {\n                  piVar9 = DAT_0013d8e4;\n                  do {\n                    if (piVar9[2] == 0) {\n                      sVar11 = strlen((char *)piVar9[1]);\n                      pcVar12 = (char *)xmalloc(sVar11 + sVar10 + 2);\n                      sprintf(pcVar12,"%s/%s",piVar9[1],puVar17[2]);\n                      iVar6 = FUN_0004a3c0();\n                      if (iVar6 != 0) goto LAB_0004ae88;\n                      free(pcVar12);\n                    }\n                    piVar9 = (int *)*piVar9;\n                  } while (piVar9 != (int *)0x0);\n                }\n                if (bVar2) {\n                  uVar7 = puVar17[1];\n                  uVar1 = puVar17[2];\n                  uVar13 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00033ba0(uVar13,uVar1,uVar7);\n                  break;\n                }\n                bVar2 = true;\n              }\n            }\n          }\n        }\nLAB_0004ae88:\n      }\n      DAT_0013d6c3 = (byte)(_DAT_0013d6c2 >> 8);\n      bVar23 = DAT_0013d6c3 & 0xc0;\n      if ((bVar23 == 0x80) && (iVar6 = bfd_elf_parse_eh_frame_entries(0,&DAT_0013d6c0), iVar6 == 0))\n      {\n        uVar7 = dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);\n        FUN_00033ba0(uVar7);\n      }\n    }" { (if_statement "if (((DAT_0013d6c4 & 0x20) == 0) && (DAT_0013d6fc != 0)) {\n        local_50 = 0;\n        bVar2 = false;\n        local_4c = 0;\n        iVar14 = DAT_0013d6fc;\n        do {\n          while ((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0) {\n            puVar17 = *(undefined4 **)(iVar14 + 0x60);\n            if (puVar17 == (undefined4 *)0x0) {\nLAB_0004b231:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar20 = (undefined *)puVar17[0x15] < PTR__bfd_std_section_0013bfc4 + 0x180;\n                bVar22 = (undefined *)puVar17[0x15] == PTR__bfd_std_section_0013bfc4 + 0x180;\n                iVar16 = local_60;\n                if (!bVar22) {\n                  iVar15 = 0xf;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar20 = *pbVar18 < *pbVar19;\n                    bVar22 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar22);\n                  bVar21 = false;\n                  bVar20 = (!bVar20 && !bVar22) == bVar20;\n                  if (bVar20) {\n                    local_60 = 2;\n                    goto LAB_0004b209;\n                  }\n                  iVar15 = 10;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar21 = *pbVar18 < *pbVar19;\n                    bVar20 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar20);\n                  if (((!bVar21 && !bVar20) == bVar21) &&\n                     (iVar16 = 1,\n                     puVar17[0xc] == 0 && (uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc])) {\n                    iVar16 = local_60;\n                  }\n                }\n                local_60 = iVar16;\n                puVar17 = (undefined4 *)puVar17[3];\n              } while (puVar17 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_0004b231;\nLAB_0004b209:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar14 = local_4c;\n                }\n                uVar7 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00033ba0(uVar7,iVar14);\n                goto LAB_0004b267;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_0004b231;\n              if (local_60 != 2) {\n                if ((_DAT_0013d6c2 & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar2 = true;\n                  if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                    local_4c = iVar14;\n                  }\n                }\n                break;\n              }\n              bVar2 = true;\n              if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                local_4c = iVar14;\n              }\n            }\n            iVar14 = *(int *)(iVar14 + 0x9c);\n            local_50 = 2;\n            _DAT_0013d6c2 = _DAT_0013d6c2 & 0x3fff | 0x8000;\n            if (iVar14 == 0) goto LAB_0004b267;\n          }\n          iVar14 = *(int *)(iVar14 + 0x9c);\n        } while (iVar14 != 0);\nLAB_0004b267:\n        if ((local_4c == 0) ||\n           (iVar14 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x30) | 8),\n           iVar14 == 0)) {\n          if (bVar2) {\n            uVar7 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00033ba0(uVar7);\n          }\n        }\n        else {\n          *(undefined4 *)(iVar14 + 0x58) = 2;\n          *(int *)(iVar6 + 0xd0) = iVar14;\n        }\n      }" if (parenthesized_expression "(((DAT_0013d6c4 & 0x20) == 0) && (DAT_0013d6fc != 0))" ( (binary_expression "((DAT_0013d6c4 & 0x20) == 0) && (DAT_0013d6fc != 0)" (parenthesized_expression "((DAT_0013d6c4 & 0x20) == 0)" ( (binary_expression "(DAT_0013d6c4 & 0x20) == 0" (parenthesized_expression "(DAT_0013d6c4 & 0x20)" ( (binary_expression "DAT_0013d6c4 & 0x20" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "(DAT_0013d6fc != 0)" ( (binary_expression "DAT_0013d6fc != 0" identifier != number_literal) ))) )) (compound_statement "{\n        local_50 = 0;\n        bVar2 = false;\n        local_4c = 0;\n        iVar14 = DAT_0013d6fc;\n        do {\n          while ((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0) {\n            puVar17 = *(undefined4 **)(iVar14 + 0x60);\n            if (puVar17 == (undefined4 *)0x0) {\nLAB_0004b231:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar20 = (undefined *)puVar17[0x15] < PTR__bfd_std_section_0013bfc4 + 0x180;\n                bVar22 = (undefined *)puVar17[0x15] == PTR__bfd_std_section_0013bfc4 + 0x180;\n                iVar16 = local_60;\n                if (!bVar22) {\n                  iVar15 = 0xf;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar20 = *pbVar18 < *pbVar19;\n                    bVar22 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar22);\n                  bVar21 = false;\n                  bVar20 = (!bVar20 && !bVar22) == bVar20;\n                  if (bVar20) {\n                    local_60 = 2;\n                    goto LAB_0004b209;\n                  }\n                  iVar15 = 10;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar21 = *pbVar18 < *pbVar19;\n                    bVar20 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar20);\n                  if (((!bVar21 && !bVar20) == bVar21) &&\n                     (iVar16 = 1,\n                     puVar17[0xc] == 0 && (uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc])) {\n                    iVar16 = local_60;\n                  }\n                }\n                local_60 = iVar16;\n                puVar17 = (undefined4 *)puVar17[3];\n              } while (puVar17 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_0004b231;\nLAB_0004b209:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar14 = local_4c;\n                }\n                uVar7 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00033ba0(uVar7,iVar14);\n                goto LAB_0004b267;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_0004b231;\n              if (local_60 != 2) {\n                if ((_DAT_0013d6c2 & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar2 = true;\n                  if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                    local_4c = iVar14;\n                  }\n                }\n                break;\n              }\n              bVar2 = true;\n              if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                local_4c = iVar14;\n              }\n            }\n            iVar14 = *(int *)(iVar14 + 0x9c);\n            local_50 = 2;\n            _DAT_0013d6c2 = _DAT_0013d6c2 & 0x3fff | 0x8000;\n            if (iVar14 == 0) goto LAB_0004b267;\n          }\n          iVar14 = *(int *)(iVar14 + 0x9c);\n        } while (iVar14 != 0);\nLAB_0004b267:\n        if ((local_4c == 0) ||\n           (iVar14 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x30) | 8),\n           iVar14 == 0)) {\n          if (bVar2) {\n            uVar7 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00033ba0(uVar7);\n          }\n        }\n        else {\n          *(undefined4 *)(iVar14 + 0x58) = 2;\n          *(int *)(iVar6 + 0xd0) = iVar14;\n        }\n      }" { (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" identifier = number_literal) ;) (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" identifier = false) ;) (expression_statement "local_4c = 0;" (assignment_expression "local_4c = 0" identifier = number_literal) ;) (expression_statement "iVar14 = DAT_0013d6fc;" (assignment_expression "iVar14 = DAT_0013d6fc" identifier = identifier) ;) (do_statement "do {\n          while ((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0) {\n            puVar17 = *(undefined4 **)(iVar14 + 0x60);\n            if (puVar17 == (undefined4 *)0x0) {\nLAB_0004b231:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar20 = (undefined *)puVar17[0x15] < PTR__bfd_std_section_0013bfc4 + 0x180;\n                bVar22 = (undefined *)puVar17[0x15] == PTR__bfd_std_section_0013bfc4 + 0x180;\n                iVar16 = local_60;\n                if (!bVar22) {\n                  iVar15 = 0xf;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar20 = *pbVar18 < *pbVar19;\n                    bVar22 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar22);\n                  bVar21 = false;\n                  bVar20 = (!bVar20 && !bVar22) == bVar20;\n                  if (bVar20) {\n                    local_60 = 2;\n                    goto LAB_0004b209;\n                  }\n                  iVar15 = 10;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar21 = *pbVar18 < *pbVar19;\n                    bVar20 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar20);\n                  if (((!bVar21 && !bVar20) == bVar21) &&\n                     (iVar16 = 1,\n                     puVar17[0xc] == 0 && (uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc])) {\n                    iVar16 = local_60;\n                  }\n                }\n                local_60 = iVar16;\n                puVar17 = (undefined4 *)puVar17[3];\n              } while (puVar17 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_0004b231;\nLAB_0004b209:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar14 = local_4c;\n                }\n                uVar7 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00033ba0(uVar7,iVar14);\n                goto LAB_0004b267;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_0004b231;\n              if (local_60 != 2) {\n                if ((_DAT_0013d6c2 & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar2 = true;\n                  if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                    local_4c = iVar14;\n                  }\n                }\n                break;\n              }\n              bVar2 = true;\n              if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                local_4c = iVar14;\n              }\n            }\n            iVar14 = *(int *)(iVar14 + 0x9c);\n            local_50 = 2;\n            _DAT_0013d6c2 = _DAT_0013d6c2 & 0x3fff | 0x8000;\n            if (iVar14 == 0) goto LAB_0004b267;\n          }\n          iVar14 = *(int *)(iVar14 + 0x9c);\n        } while (iVar14 != 0);" do (compound_statement "{\n          while ((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0) {\n            puVar17 = *(undefined4 **)(iVar14 + 0x60);\n            if (puVar17 == (undefined4 *)0x0) {\nLAB_0004b231:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar20 = (undefined *)puVar17[0x15] < PTR__bfd_std_section_0013bfc4 + 0x180;\n                bVar22 = (undefined *)puVar17[0x15] == PTR__bfd_std_section_0013bfc4 + 0x180;\n                iVar16 = local_60;\n                if (!bVar22) {\n                  iVar15 = 0xf;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar20 = *pbVar18 < *pbVar19;\n                    bVar22 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar22);\n                  bVar21 = false;\n                  bVar20 = (!bVar20 && !bVar22) == bVar20;\n                  if (bVar20) {\n                    local_60 = 2;\n                    goto LAB_0004b209;\n                  }\n                  iVar15 = 10;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar21 = *pbVar18 < *pbVar19;\n                    bVar20 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar20);\n                  if (((!bVar21 && !bVar20) == bVar21) &&\n                     (iVar16 = 1,\n                     puVar17[0xc] == 0 && (uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc])) {\n                    iVar16 = local_60;\n                  }\n                }\n                local_60 = iVar16;\n                puVar17 = (undefined4 *)puVar17[3];\n              } while (puVar17 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_0004b231;\nLAB_0004b209:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar14 = local_4c;\n                }\n                uVar7 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00033ba0(uVar7,iVar14);\n                goto LAB_0004b267;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_0004b231;\n              if (local_60 != 2) {\n                if ((_DAT_0013d6c2 & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar2 = true;\n                  if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                    local_4c = iVar14;\n                  }\n                }\n                break;\n              }\n              bVar2 = true;\n              if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                local_4c = iVar14;\n              }\n            }\n            iVar14 = *(int *)(iVar14 + 0x9c);\n            local_50 = 2;\n            _DAT_0013d6c2 = _DAT_0013d6c2 & 0x3fff | 0x8000;\n            if (iVar14 == 0) goto LAB_0004b267;\n          }\n          iVar14 = *(int *)(iVar14 + 0x9c);\n        }" { (while_statement "while ((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0) {\n            puVar17 = *(undefined4 **)(iVar14 + 0x60);\n            if (puVar17 == (undefined4 *)0x0) {\nLAB_0004b231:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar20 = (undefined *)puVar17[0x15] < PTR__bfd_std_section_0013bfc4 + 0x180;\n                bVar22 = (undefined *)puVar17[0x15] == PTR__bfd_std_section_0013bfc4 + 0x180;\n                iVar16 = local_60;\n                if (!bVar22) {\n                  iVar15 = 0xf;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar20 = *pbVar18 < *pbVar19;\n                    bVar22 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar22);\n                  bVar21 = false;\n                  bVar20 = (!bVar20 && !bVar22) == bVar20;\n                  if (bVar20) {\n                    local_60 = 2;\n                    goto LAB_0004b209;\n                  }\n                  iVar15 = 10;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar21 = *pbVar18 < *pbVar19;\n                    bVar20 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar20);\n                  if (((!bVar21 && !bVar20) == bVar21) &&\n                     (iVar16 = 1,\n                     puVar17[0xc] == 0 && (uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc])) {\n                    iVar16 = local_60;\n                  }\n                }\n                local_60 = iVar16;\n                puVar17 = (undefined4 *)puVar17[3];\n              } while (puVar17 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_0004b231;\nLAB_0004b209:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar14 = local_4c;\n                }\n                uVar7 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00033ba0(uVar7,iVar14);\n                goto LAB_0004b267;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_0004b231;\n              if (local_60 != 2) {\n                if ((_DAT_0013d6c2 & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar2 = true;\n                  if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                    local_4c = iVar14;\n                  }\n                }\n                break;\n              }\n              bVar2 = true;\n              if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                local_4c = iVar14;\n              }\n            }\n            iVar14 = *(int *)(iVar14 + 0x9c);\n            local_50 = 2;\n            _DAT_0013d6c2 = _DAT_0013d6c2 & 0x3fff | 0x8000;\n            if (iVar14 == 0) goto LAB_0004b267;\n          }" while (parenthesized_expression "((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0)" ( (binary_expression "(*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0" (parenthesized_expression "(*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10)" ( (binary_expression "*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10" (pointer_expression "*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24)" * (cast_expression "(byte *)(*(int *)(iVar14 + 0xa4) + 0x24)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar14 + 0xa4) + 0x24)" ( (binary_expression "*(int *)(iVar14 + 0xa4) + 0x24" (pointer_expression "*(int *)(iVar14 + 0xa4)" * (cast_expression "(int *)(iVar14 + 0xa4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0xa4)" ( (binary_expression "iVar14 + 0xa4" identifier + number_literal) )))) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n            puVar17 = *(undefined4 **)(iVar14 + 0x60);\n            if (puVar17 == (undefined4 *)0x0) {\nLAB_0004b231:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar20 = (undefined *)puVar17[0x15] < PTR__bfd_std_section_0013bfc4 + 0x180;\n                bVar22 = (undefined *)puVar17[0x15] == PTR__bfd_std_section_0013bfc4 + 0x180;\n                iVar16 = local_60;\n                if (!bVar22) {\n                  iVar15 = 0xf;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar20 = *pbVar18 < *pbVar19;\n                    bVar22 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar22);\n                  bVar21 = false;\n                  bVar20 = (!bVar20 && !bVar22) == bVar20;\n                  if (bVar20) {\n                    local_60 = 2;\n                    goto LAB_0004b209;\n                  }\n                  iVar15 = 10;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar21 = *pbVar18 < *pbVar19;\n                    bVar20 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar20);\n                  if (((!bVar21 && !bVar20) == bVar21) &&\n                     (iVar16 = 1,\n                     puVar17[0xc] == 0 && (uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc])) {\n                    iVar16 = local_60;\n                  }\n                }\n                local_60 = iVar16;\n                puVar17 = (undefined4 *)puVar17[3];\n              } while (puVar17 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_0004b231;\nLAB_0004b209:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar14 = local_4c;\n                }\n                uVar7 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00033ba0(uVar7,iVar14);\n                goto LAB_0004b267;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_0004b231;\n              if (local_60 != 2) {\n                if ((_DAT_0013d6c2 & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar2 = true;\n                  if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                    local_4c = iVar14;\n                  }\n                }\n                break;\n              }\n              bVar2 = true;\n              if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                local_4c = iVar14;\n              }\n            }\n            iVar14 = *(int *)(iVar14 + 0x9c);\n            local_50 = 2;\n            _DAT_0013d6c2 = _DAT_0013d6c2 & 0x3fff | 0x8000;\n            if (iVar14 == 0) goto LAB_0004b267;\n          }" { (expression_statement "puVar17 = *(undefined4 **)(iVar14 + 0x60);" (assignment_expression "puVar17 = *(undefined4 **)(iVar14 + 0x60)" identifier = (pointer_expression "*(undefined4 **)(iVar14 + 0x60)" * (cast_expression "(undefined4 **)(iVar14 + 0x60)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar14 + 0x60)" ( (binary_expression "iVar14 + 0x60" identifier + number_literal) ))))) ;) (if_statement "if (puVar17 == (undefined4 *)0x0) {\nLAB_0004b231:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar20 = (undefined *)puVar17[0x15] < PTR__bfd_std_section_0013bfc4 + 0x180;\n                bVar22 = (undefined *)puVar17[0x15] == PTR__bfd_std_section_0013bfc4 + 0x180;\n                iVar16 = local_60;\n                if (!bVar22) {\n                  iVar15 = 0xf;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar20 = *pbVar18 < *pbVar19;\n                    bVar22 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar22);\n                  bVar21 = false;\n                  bVar20 = (!bVar20 && !bVar22) == bVar20;\n                  if (bVar20) {\n                    local_60 = 2;\n                    goto LAB_0004b209;\n                  }\n                  iVar15 = 10;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar21 = *pbVar18 < *pbVar19;\n                    bVar20 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar20);\n                  if (((!bVar21 && !bVar20) == bVar21) &&\n                     (iVar16 = 1,\n                     puVar17[0xc] == 0 && (uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc])) {\n                    iVar16 = local_60;\n                  }\n                }\n                local_60 = iVar16;\n                puVar17 = (undefined4 *)puVar17[3];\n              } while (puVar17 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_0004b231;\nLAB_0004b209:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar14 = local_4c;\n                }\n                uVar7 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00033ba0(uVar7,iVar14);\n                goto LAB_0004b267;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_0004b231;\n              if (local_60 != 2) {\n                if ((_DAT_0013d6c2 & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar2 = true;\n                  if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                    local_4c = iVar14;\n                  }\n                }\n                break;\n              }\n              bVar2 = true;\n              if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                local_4c = iVar14;\n              }\n            }" if (parenthesized_expression "(puVar17 == (undefined4 *)0x0)" ( (binary_expression "puVar17 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0004b231:\n              if (local_50 != 2) break;\n            }" { (labeled_statement "LAB_0004b231:\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                bVar20 = (undefined *)puVar17[0x15] < PTR__bfd_std_section_0013bfc4 + 0x180;\n                bVar22 = (undefined *)puVar17[0x15] == PTR__bfd_std_section_0013bfc4 + 0x180;\n                iVar16 = local_60;\n                if (!bVar22) {\n                  iVar15 = 0xf;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar20 = *pbVar18 < *pbVar19;\n                    bVar22 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar22);\n                  bVar21 = false;\n                  bVar20 = (!bVar20 && !bVar22) == bVar20;\n                  if (bVar20) {\n                    local_60 = 2;\n                    goto LAB_0004b209;\n                  }\n                  iVar15 = 10;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar21 = *pbVar18 < *pbVar19;\n                    bVar20 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar20);\n                  if (((!bVar21 && !bVar20) == bVar21) &&\n                     (iVar16 = 1,\n                     puVar17[0xc] == 0 && (uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc])) {\n                    iVar16 = local_60;\n                  }\n                }\n                local_60 = iVar16;\n                puVar17 = (undefined4 *)puVar17[3];\n              } while (puVar17 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_0004b231;\nLAB_0004b209:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar14 = local_4c;\n                }\n                uVar7 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00033ba0(uVar7,iVar14);\n                goto LAB_0004b267;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_0004b231;\n              if (local_60 != 2) {\n                if ((_DAT_0013d6c2 & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar2 = true;\n                  if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                    local_4c = iVar14;\n                  }\n                }\n                break;\n              }\n              bVar2 = true;\n              if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                local_4c = iVar14;\n              }\n            }" else (compound_statement "{\n              local_60 = 0;\n              do {\n                bVar20 = (undefined *)puVar17[0x15] < PTR__bfd_std_section_0013bfc4 + 0x180;\n                bVar22 = (undefined *)puVar17[0x15] == PTR__bfd_std_section_0013bfc4 + 0x180;\n                iVar16 = local_60;\n                if (!bVar22) {\n                  iVar15 = 0xf;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar20 = *pbVar18 < *pbVar19;\n                    bVar22 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar22);\n                  bVar21 = false;\n                  bVar20 = (!bVar20 && !bVar22) == bVar20;\n                  if (bVar20) {\n                    local_60 = 2;\n                    goto LAB_0004b209;\n                  }\n                  iVar15 = 10;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar21 = *pbVar18 < *pbVar19;\n                    bVar20 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar20);\n                  if (((!bVar21 && !bVar20) == bVar21) &&\n                     (iVar16 = 1,\n                     puVar17[0xc] == 0 && (uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc])) {\n                    iVar16 = local_60;\n                  }\n                }\n                local_60 = iVar16;\n                puVar17 = (undefined4 *)puVar17[3];\n              } while (puVar17 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_0004b231;\nLAB_0004b209:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar14 = local_4c;\n                }\n                uVar7 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00033ba0(uVar7,iVar14);\n                goto LAB_0004b267;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_0004b231;\n              if (local_60 != 2) {\n                if ((_DAT_0013d6c2 & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar2 = true;\n                  if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                    local_4c = iVar14;\n                  }\n                }\n                break;\n              }\n              bVar2 = true;\n              if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                local_4c = iVar14;\n              }\n            }" { (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" identifier = number_literal) ;) (do_statement "do {\n                bVar20 = (undefined *)puVar17[0x15] < PTR__bfd_std_section_0013bfc4 + 0x180;\n                bVar22 = (undefined *)puVar17[0x15] == PTR__bfd_std_section_0013bfc4 + 0x180;\n                iVar16 = local_60;\n                if (!bVar22) {\n                  iVar15 = 0xf;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar20 = *pbVar18 < *pbVar19;\n                    bVar22 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar22);\n                  bVar21 = false;\n                  bVar20 = (!bVar20 && !bVar22) == bVar20;\n                  if (bVar20) {\n                    local_60 = 2;\n                    goto LAB_0004b209;\n                  }\n                  iVar15 = 10;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar21 = *pbVar18 < *pbVar19;\n                    bVar20 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar20);\n                  if (((!bVar21 && !bVar20) == bVar21) &&\n                     (iVar16 = 1,\n                     puVar17[0xc] == 0 && (uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc])) {\n                    iVar16 = local_60;\n                  }\n                }\n                local_60 = iVar16;\n                puVar17 = (undefined4 *)puVar17[3];\n              } while (puVar17 != (undefined4 *)0x0);" do (compound_statement "{\n                bVar20 = (undefined *)puVar17[0x15] < PTR__bfd_std_section_0013bfc4 + 0x180;\n                bVar22 = (undefined *)puVar17[0x15] == PTR__bfd_std_section_0013bfc4 + 0x180;\n                iVar16 = local_60;\n                if (!bVar22) {\n                  iVar15 = 0xf;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar20 = *pbVar18 < *pbVar19;\n                    bVar22 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar22);\n                  bVar21 = false;\n                  bVar20 = (!bVar20 && !bVar22) == bVar20;\n                  if (bVar20) {\n                    local_60 = 2;\n                    goto LAB_0004b209;\n                  }\n                  iVar15 = 10;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar21 = *pbVar18 < *pbVar19;\n                    bVar20 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar20);\n                  if (((!bVar21 && !bVar20) == bVar21) &&\n                     (iVar16 = 1,\n                     puVar17[0xc] == 0 && (uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc])) {\n                    iVar16 = local_60;\n                  }\n                }\n                local_60 = iVar16;\n                puVar17 = (undefined4 *)puVar17[3];\n              }" { (expression_statement "bVar20 = (undefined *)puVar17[0x15] < PTR__bfd_std_section_0013bfc4 + 0x180;" (assignment_expression "bVar20 = (undefined *)puVar17[0x15] < PTR__bfd_std_section_0013bfc4 + 0x180" identifier = (binary_expression "(undefined *)puVar17[0x15] < PTR__bfd_std_section_0013bfc4 + 0x180" (cast_expression "(undefined *)puVar17[0x15]" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar17[0x15]" identifier [ number_literal ])) < (binary_expression "PTR__bfd_std_section_0013bfc4 + 0x180" identifier + number_literal))) ;) (expression_statement "bVar22 = (undefined *)puVar17[0x15] == PTR__bfd_std_section_0013bfc4 + 0x180;" (assignment_expression "bVar22 = (undefined *)puVar17[0x15] == PTR__bfd_std_section_0013bfc4 + 0x180" identifier = (binary_expression "(undefined *)puVar17[0x15] == PTR__bfd_std_section_0013bfc4 + 0x180" (cast_expression "(undefined *)puVar17[0x15]" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar17[0x15]" identifier [ number_literal ])) == (binary_expression "PTR__bfd_std_section_0013bfc4 + 0x180" identifier + number_literal))) ;) (expression_statement "iVar16 = local_60;" (assignment_expression "iVar16 = local_60" identifier = identifier) ;) (if_statement "if (!bVar22) {\n                  iVar15 = 0xf;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar20 = *pbVar18 < *pbVar19;\n                    bVar22 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar22);\n                  bVar21 = false;\n                  bVar20 = (!bVar20 && !bVar22) == bVar20;\n                  if (bVar20) {\n                    local_60 = 2;\n                    goto LAB_0004b209;\n                  }\n                  iVar15 = 10;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar21 = *pbVar18 < *pbVar19;\n                    bVar20 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar20);\n                  if (((!bVar21 && !bVar20) == bVar21) &&\n                     (iVar16 = 1,\n                     puVar17[0xc] == 0 && (uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc])) {\n                    iVar16 = local_60;\n                  }\n                }" if (parenthesized_expression "(!bVar22)" ( (unary_expression "!bVar22" ! identifier) )) (compound_statement "{\n                  iVar15 = 0xf;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar20 = *pbVar18 < *pbVar19;\n                    bVar22 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar22);\n                  bVar21 = false;\n                  bVar20 = (!bVar20 && !bVar22) == bVar20;\n                  if (bVar20) {\n                    local_60 = 2;\n                    goto LAB_0004b209;\n                  }\n                  iVar15 = 10;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar21 = *pbVar18 < *pbVar19;\n                    bVar20 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar20);\n                  if (((!bVar21 && !bVar20) == bVar21) &&\n                     (iVar16 = 1,\n                     puVar17[0xc] == 0 && (uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc])) {\n                    iVar16 = local_60;\n                  }\n                }" { (expression_statement "iVar15 = 0xf;" (assignment_expression "iVar15 = 0xf" identifier = number_literal) ;) (expression_statement "pbVar18 = (byte *)*puVar17;" (assignment_expression "pbVar18 = (byte *)*puVar17" identifier = (cast_expression "(byte *)*puVar17" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar17" * identifier))) ;) (expression_statement "pbVar19 = (byte *)".eh_frame_entry";" (assignment_expression "pbVar19 = (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 (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar20 = *pbVar18 < *pbVar19;\n                    bVar22 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar22);" do (compound_statement "{\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar20 = *pbVar18 < *pbVar19;\n                    bVar22 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  }" { (if_statement "if (iVar15 == 0) break;" if (parenthesized_expression "(iVar15 == 0)" ( (binary_expression "iVar15 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar15 = iVar15 + -1;" (assignment_expression "iVar15 = iVar15 + -1" identifier = (binary_expression "iVar15 + -1" identifier + number_literal)) ;) (expression_statement "bVar20 = *pbVar18 < *pbVar19;" (assignment_expression "bVar20 = *pbVar18 < *pbVar19" identifier = (binary_expression "*pbVar18 < *pbVar19" (pointer_expression "*pbVar18" * identifier) < (pointer_expression "*pbVar19" * identifier))) ;) (expression_statement "bVar22 = *pbVar18 == *pbVar19;" (assignment_expression "bVar22 = *pbVar18 == *pbVar19" identifier = (binary_expression "*pbVar18 == *pbVar19" (pointer_expression "*pbVar18" * identifier) == (pointer_expression "*pbVar19" * identifier))) ;) (expression_statement "pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1" identifier = (binary_expression "pbVar18 + (uint)bVar23 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar23 * -2" identifier + (binary_expression "(uint)bVar23 * -2" (cast_expression "(uint)bVar23" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;" (assignment_expression "pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1" identifier = (binary_expression "pbVar19 + (uint)bVar23 * -2 + 1" (binary_expression "pbVar19 + (uint)bVar23 * -2" identifier + (binary_expression "(uint)bVar23 * -2" (cast_expression "(uint)bVar23" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar22)" ( identifier )) ;) (expression_statement "bVar21 = false;" (assignment_expression "bVar21 = false" identifier = false) ;) (expression_statement "bVar20 = (!bVar20 && !bVar22) == bVar20;" (assignment_expression "bVar20 = (!bVar20 && !bVar22) == bVar20" identifier = (binary_expression "(!bVar20 && !bVar22) == bVar20" (parenthesized_expression "(!bVar20 && !bVar22)" ( (binary_expression "!bVar20 && !bVar22" (unary_expression "!bVar20" ! identifier) && (unary_expression "!bVar22" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar20) {\n                    local_60 = 2;\n                    goto LAB_0004b209;\n                  }" if (parenthesized_expression "(bVar20)" ( identifier )) (compound_statement "{\n                    local_60 = 2;\n                    goto LAB_0004b209;\n                  }" { (expression_statement "local_60 = 2;" (assignment_expression "local_60 = 2" identifier = number_literal) ;) (goto_statement "goto LAB_0004b209;" goto statement_identifier ;) })) (expression_statement "iVar15 = 10;" (assignment_expression "iVar15 = 10" identifier = number_literal) ;) (expression_statement "pbVar18 = (byte *)*puVar17;" (assignment_expression "pbVar18 = (byte *)*puVar17" identifier = (cast_expression "(byte *)*puVar17" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar17" * identifier))) ;) (expression_statement "pbVar19 = (byte *)".eh_frame";" (assignment_expression "pbVar19 = (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 (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar21 = *pbVar18 < *pbVar19;\n                    bVar20 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar20);" do (compound_statement "{\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar21 = *pbVar18 < *pbVar19;\n                    bVar20 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  }" { (if_statement "if (iVar15 == 0) break;" if (parenthesized_expression "(iVar15 == 0)" ( (binary_expression "iVar15 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar15 = iVar15 + -1;" (assignment_expression "iVar15 = iVar15 + -1" identifier = (binary_expression "iVar15 + -1" identifier + number_literal)) ;) (expression_statement "bVar21 = *pbVar18 < *pbVar19;" (assignment_expression "bVar21 = *pbVar18 < *pbVar19" identifier = (binary_expression "*pbVar18 < *pbVar19" (pointer_expression "*pbVar18" * identifier) < (pointer_expression "*pbVar19" * identifier))) ;) (expression_statement "bVar20 = *pbVar18 == *pbVar19;" (assignment_expression "bVar20 = *pbVar18 == *pbVar19" identifier = (binary_expression "*pbVar18 == *pbVar19" (pointer_expression "*pbVar18" * identifier) == (pointer_expression "*pbVar19" * identifier))) ;) (expression_statement "pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1" identifier = (binary_expression "pbVar18 + (uint)bVar23 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar23 * -2" identifier + (binary_expression "(uint)bVar23 * -2" (cast_expression "(uint)bVar23" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;" (assignment_expression "pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1" identifier = (binary_expression "pbVar19 + (uint)bVar23 * -2 + 1" (binary_expression "pbVar19 + (uint)bVar23 * -2" identifier + (binary_expression "(uint)bVar23 * -2" (cast_expression "(uint)bVar23" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar20)" ( identifier )) ;) (if_statement "if (((!bVar21 && !bVar20) == bVar21) &&\n                     (iVar16 = 1,\n                     puVar17[0xc] == 0 && (uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc])) {\n                    iVar16 = local_60;\n                  }" if (parenthesized_expression "(((!bVar21 && !bVar20) == bVar21) &&\n                     (iVar16 = 1,\n                     puVar17[0xc] == 0 && (uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc]))" ( (binary_expression "((!bVar21 && !bVar20) == bVar21) &&\n                     (iVar16 = 1,\n                     puVar17[0xc] == 0 && (uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc])" (parenthesized_expression "((!bVar21 && !bVar20) == bVar21)" ( (binary_expression "(!bVar21 && !bVar20) == bVar21" (parenthesized_expression "(!bVar21 && !bVar20)" ( (binary_expression "!bVar21 && !bVar20" (unary_expression "!bVar21" ! identifier) && (unary_expression "!bVar20" ! identifier)) )) == identifier) )) && (parenthesized_expression "(iVar16 = 1,\n                     puVar17[0xc] == 0 && (uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc])" ( (comma_expression "iVar16 = 1,\n                     puVar17[0xc] == 0 && (uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc]" (assignment_expression "iVar16 = 1" identifier = number_literal) , (binary_expression "puVar17[0xc] == 0 && (uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc]" (binary_expression "puVar17[0xc] == 0" (subscript_expression "puVar17[0xc]" identifier [ number_literal ]) == number_literal) && (binary_expression "(uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc]" (call_expression "(uint)(8 < (uint)puVar17[0xb])" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(8 < (uint)puVar17[0xb])" ( (binary_expression "8 < (uint)puVar17[0xb]" number_literal < (cast_expression "(uint)puVar17[0xb]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "puVar17[0xb]" identifier [ number_literal ]))) ))) <= (binary_expression "(uint)-puVar17[0xc]" (parenthesized_expression "(uint)" ( identifier )) - (subscript_expression "puVar17[0xc]" identifier [ number_literal ]))))) ))) )) (compound_statement "{\n                    iVar16 = local_60;\n                  }" { (expression_statement "iVar16 = local_60;" (assignment_expression "iVar16 = local_60" identifier = identifier) ;) })) })) (expression_statement "local_60 = iVar16;" (assignment_expression "local_60 = iVar16" identifier = identifier) ;) (expression_statement "puVar17 = (undefined4 *)puVar17[3];" (assignment_expression "puVar17 = (undefined4 *)puVar17[3]" identifier = (cast_expression "(undefined4 *)puVar17[3]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar17[3]" identifier [ number_literal ]))) ;) }) while (parenthesized_expression "(puVar17 != (undefined4 *)0x0)" ( (binary_expression "puVar17 != (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_0004b231;" if (parenthesized_expression "(local_60 == 0)" ( (binary_expression "local_60 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0004b231;" goto statement_identifier ;)) (labeled_statement "LAB_0004b209:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar14 = local_4c;\n                }\n                uVar7 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00033ba0(uVar7,iVar14);\n                goto LAB_0004b267;\n              }" statement_identifier : (if_statement "if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar14 = local_4c;\n                }\n                uVar7 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00033ba0(uVar7,iVar14);\n                goto LAB_0004b267;\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                  iVar14 = local_4c;\n                }\n                uVar7 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00033ba0(uVar7,iVar14);\n                goto LAB_0004b267;\n              }" { (if_statement "if (local_60 != 1) {\n                  iVar14 = local_4c;\n                }" if (parenthesized_expression "(local_60 != 1)" ( (binary_expression "local_60 != 1" identifier != number_literal) )) (compound_statement "{\n                  iVar14 = local_4c;\n                }" { (expression_statement "iVar14 = local_4c;" (assignment_expression "iVar14 = local_4c" identifier = identifier) ;) })) (expression_statement "uVar7 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);" (assignment_expression "uVar7 = 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_00033ba0(uVar7,iVar14);" (call_expression "FUN_00033ba0(uVar7,iVar14)" identifier (argument_list "(uVar7,iVar14)" ( identifier , identifier ))) ;) (goto_statement "goto LAB_0004b267;" 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_0004b231;" if (parenthesized_expression "(local_4c != 0)" ( (binary_expression "local_4c != 0" identifier != number_literal) )) (goto_statement "goto LAB_0004b231;" goto statement_identifier ;)) (if_statement "if (local_60 != 2) {\n                if ((_DAT_0013d6c2 & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar2 = true;\n                  if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                    local_4c = iVar14;\n                  }\n                }\n                break;\n              }" if (parenthesized_expression "(local_60 != 2)" ( (binary_expression "local_60 != 2" identifier != number_literal) )) (compound_statement "{\n                if ((_DAT_0013d6c2 & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar2 = true;\n                  if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                    local_4c = iVar14;\n                  }\n                }\n                break;\n              }" { (if_statement "if ((_DAT_0013d6c2 & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar2 = true;\n                  if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                    local_4c = iVar14;\n                  }\n                }" if (parenthesized_expression "((_DAT_0013d6c2 & 0xc000) == 0)" ( (binary_expression "(_DAT_0013d6c2 & 0xc000) == 0" (parenthesized_expression "(_DAT_0013d6c2 & 0xc000)" ( (binary_expression "_DAT_0013d6c2 & 0xc000" 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                  bVar2 = true;\n                  if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                    local_4c = iVar14;\n                  }\n                }" else (compound_statement "{\n                  local_50 = 1;\n                  bVar2 = true;\n                  if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                    local_4c = iVar14;\n                  }\n                }" { (expression_statement "local_50 = 1;" (assignment_expression "local_50 = 1" identifier = number_literal) ;) (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" identifier = true) ;) (if_statement "if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                    local_4c = iVar14;\n                  }" if (parenthesized_expression "(*(int *)(*(int *)(iVar14 + 4) + 4) == 5)" ( (binary_expression "*(int *)(*(int *)(iVar14 + 4) + 4) == 5" (pointer_expression "*(int *)(*(int *)(iVar14 + 4) + 4)" * (cast_expression "(int *)(*(int *)(iVar14 + 4) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar14 + 4) + 4)" ( (binary_expression "*(int *)(iVar14 + 4) + 4" (pointer_expression "*(int *)(iVar14 + 4)" * (cast_expression "(int *)(iVar14 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 4)" ( (binary_expression "iVar14 + 4" identifier + number_literal) )))) + number_literal) )))) == number_literal) )) (compound_statement "{\n                    local_4c = iVar14;\n                  }" { (expression_statement "local_4c = iVar14;" (assignment_expression "local_4c = iVar14" identifier = identifier) ;) })) }))) (break_statement "break;" break ;) })) (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" identifier = true) ;) (if_statement "if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                local_4c = iVar14;\n              }" if (parenthesized_expression "(*(int *)(*(int *)(iVar14 + 4) + 4) == 5)" ( (binary_expression "*(int *)(*(int *)(iVar14 + 4) + 4) == 5" (pointer_expression "*(int *)(*(int *)(iVar14 + 4) + 4)" * (cast_expression "(int *)(*(int *)(iVar14 + 4) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar14 + 4) + 4)" ( (binary_expression "*(int *)(iVar14 + 4) + 4" (pointer_expression "*(int *)(iVar14 + 4)" * (cast_expression "(int *)(iVar14 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 4)" ( (binary_expression "iVar14 + 4" identifier + number_literal) )))) + number_literal) )))) == number_literal) )) (compound_statement "{\n                local_4c = iVar14;\n              }" { (expression_statement "local_4c = iVar14;" (assignment_expression "local_4c = iVar14" identifier = identifier) ;) })) }))) (expression_statement "iVar14 = *(int *)(iVar14 + 0x9c);" (assignment_expression "iVar14 = *(int *)(iVar14 + 0x9c)" identifier = (pointer_expression "*(int *)(iVar14 + 0x9c)" * (cast_expression "(int *)(iVar14 + 0x9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x9c)" ( (binary_expression "iVar14 + 0x9c" identifier + number_literal) ))))) ;) (expression_statement "local_50 = 2;" (assignment_expression "local_50 = 2" identifier = number_literal) ;) (expression_statement "_DAT_0013d6c2 = _DAT_0013d6c2 & 0x3fff | 0x8000;" (assignment_expression "_DAT_0013d6c2 = _DAT_0013d6c2 & 0x3fff | 0x8000" identifier = (binary_expression "_DAT_0013d6c2 & 0x3fff | 0x8000" (binary_expression "_DAT_0013d6c2 & 0x3fff" identifier & number_literal) | number_literal)) ;) (if_statement "if (iVar14 == 0) goto LAB_0004b267;" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0004b267;" goto statement_identifier ;)) })) (expression_statement "iVar14 = *(int *)(iVar14 + 0x9c);" (assignment_expression "iVar14 = *(int *)(iVar14 + 0x9c)" identifier = (pointer_expression "*(int *)(iVar14 + 0x9c)" * (cast_expression "(int *)(iVar14 + 0x9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x9c)" ( (binary_expression "iVar14 + 0x9c" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(iVar14 != 0)" ( (binary_expression "iVar14 != 0" identifier != number_literal) )) ;) (labeled_statement "LAB_0004b267:\n        if ((local_4c == 0) ||\n           (iVar14 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x30) | 8),\n           iVar14 == 0)) {\n          if (bVar2) {\n            uVar7 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00033ba0(uVar7);\n          }\n        }\n        else {\n          *(undefined4 *)(iVar14 + 0x58) = 2;\n          *(int *)(iVar6 + 0xd0) = iVar14;\n        }" statement_identifier : (if_statement "if ((local_4c == 0) ||\n           (iVar14 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x30) | 8),\n           iVar14 == 0)) {\n          if (bVar2) {\n            uVar7 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00033ba0(uVar7);\n          }\n        }\n        else {\n          *(undefined4 *)(iVar14 + 0x58) = 2;\n          *(int *)(iVar6 + 0xd0) = iVar14;\n        }" if (parenthesized_expression "((local_4c == 0) ||\n           (iVar14 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x30) | 8),\n           iVar14 == 0))" ( (binary_expression "(local_4c == 0) ||\n           (iVar14 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x30) | 8),\n           iVar14 == 0)" (parenthesized_expression "(local_4c == 0)" ( (binary_expression "local_4c == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar14 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x30) | 8),\n           iVar14 == 0)" ( (comma_expression "iVar14 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x30) | 8),\n           iVar14 == 0" (assignment_expression "iVar14 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x30) | 8)" identifier = (call_expression "bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x30) | 8)" identifier (argument_list "(local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x30) | 8)" ( identifier , (string_literal "".eh_frame_hdr"" " string_content ") , (binary_expression "*(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x30) | 8" (pointer_expression "*(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x30)" * (cast_expression "(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x30)" ( (binary_expression "*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x30" (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 "iVar14 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n          if (bVar2) {\n            uVar7 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00033ba0(uVar7);\n          }\n        }" { (if_statement "if (bVar2) {\n            uVar7 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00033ba0(uVar7);\n          }" if (parenthesized_expression "(bVar2)" ( identifier )) (compound_statement "{\n            uVar7 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00033ba0(uVar7);\n          }" { (expression_statement "uVar7 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);" (assignment_expression "uVar7 = 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_00033ba0(uVar7);" (call_expression "FUN_00033ba0(uVar7)" identifier (argument_list "(uVar7)" ( identifier ))) ;) })) }) (else_clause "else {\n          *(undefined4 *)(iVar14 + 0x58) = 2;\n          *(int *)(iVar6 + 0xd0) = iVar14;\n        }" else (compound_statement "{\n          *(undefined4 *)(iVar14 + 0x58) = 2;\n          *(int *)(iVar6 + 0xd0) = iVar14;\n        }" { (expression_statement "*(undefined4 *)(iVar14 + 0x58) = 2;" (assignment_expression "*(undefined4 *)(iVar14 + 0x58) = 2" (pointer_expression "*(undefined4 *)(iVar14 + 0x58)" * (cast_expression "(undefined4 *)(iVar14 + 0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x58)" ( (binary_expression "iVar14 + 0x58" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(iVar6 + 0xd0) = iVar14;" (assignment_expression "*(int *)(iVar6 + 0xd0) = iVar14" (pointer_expression "*(int *)(iVar6 + 0xd0)" * (cast_expression "(int *)(iVar6 + 0xd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xd0)" ( (binary_expression "iVar6 + 0xd0" identifier + number_literal) )))) = identifier) ;) })))) })) (expression_statement "puVar4 = (undefined4 *)bfd_elf_get_needed_list(DAT_0013d6f4,&DAT_0013d6c0);" (assignment_expression "puVar4 = (undefined4 *)bfd_elf_get_needed_list(DAT_0013d6f4,&DAT_0013d6c0)" identifier = (cast_expression "(undefined4 *)bfd_elf_get_needed_list(DAT_0013d6f4,&DAT_0013d6c0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "bfd_elf_get_needed_list(DAT_0013d6f4,&DAT_0013d6c0)" identifier (argument_list "(DAT_0013d6f4,&DAT_0013d6c0)" ( identifier , (pointer_expression "&DAT_0013d6c0" & identifier) ))))) ;) (for_statement "for (puVar17 = puVar4; puVar17 != (undefined4 *)0x0; puVar17 = (undefined4 *)*puVar17) {\n        puVar3 = puVar4;\n        if ((puVar17[1] == 0) ||\n           ((uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 1) == 0 &&\n            (((puVar17[1] == 0 || ((_DAT_0013d6c2 & 0x180) != 0x80)) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 4) == 0)))))) {\n          for (; puVar3 != puVar17; puVar3 = (undefined4 *)*puVar3) {\n            if (((puVar3[1] == 0) ||\n                (uVar5 = bfd_elf_get_dyn_lib_class(puVar3[1]), (uVar5 & 1) == 0)) &&\n               (iVar6 = strcmp((char *)puVar3[2],(char *)puVar17[2]), iVar6 == 0)) {\n              if (puVar17 != puVar3) goto LAB_0004ae88;\n              break;\n            }\n          }\n          DAT_0013d440 = 0;\n          DAT_0013d4c0 = puVar17;\n          FUN_000264a0(FUN_0004a2c0);\n          if ((DAT_0013d440 == 0) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_0013d440 + 0x10)),\n             (uVar5 & 1) != 0)) {\n            uVar7 = puVar17[1];\n            uVar1 = puVar17[2];\n            if (DAT_0013d83c != 0) {\n              uVar13 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00033b70(uVar13,uVar1,uVar7);\n            }\n            if ((DAT_0013d440 == 0) || (iVar6 = FUN_0004a3c0(), iVar6 == 0)) {\n              bVar2 = false;\n              while (iVar6 = FUN_0004a6d0(), iVar6 == 0) {\n                if (DAT_0013d7a4 != 0) {\n                  pvVar8 = (void *)FUN_00048f50();\n                  iVar6 = FUN_0004a6d0();\n                  free(pvVar8);\n                  if (iVar6 != 0) break;\n                }\n                piVar9 = (int *)bfd_elf_get_runpath_list(DAT_0013d6f4,&DAT_0013d6c0);\n                if (piVar9 != (int *)0x0) {\n                  do {\n                    bVar22 = true;\n                    pvVar8 = (void *)FUN_00048f50();\n                    bVar20 = false;\n                    if (piVar9[1] == puVar17[1]) {\n                      iVar6 = FUN_0004a6d0();\n                      bVar22 = iVar6 == 0;\n                      bVar20 = !bVar22;\n                    }\n                    free(pvVar8);\n                    piVar9 = (int *)*piVar9;\n                  } while ((piVar9 != (int *)0x0) && (bVar22));\n                  if (bVar20) break;\n                }\n                if (DAT_0013d424 == 0) {\n                  pvVar8 = (void *)concat(DAT_0013d75c,"/usr/etc/ld.so.conf",0);\n                  iVar6 = FUN_00049060();\n                  if (iVar6 == 0) {\n                    free(pvVar8);\n                    pvVar8 = (void *)concat(DAT_0013d75c,"/etc/ld.so.conf",0);\n                    FUN_00049060();\n                  }\n                  free(pvVar8);\n                  DAT_0013d424 = 1;\n                }\n                pcVar12 = (char *)puVar17[2];\n                if (DAT_0013d420 != 0) {\n                  iVar6 = FUN_0004a6d0();\n                  if (iVar6 != 0) break;\n                  pcVar12 = (char *)puVar17[2];\n                }\n                sVar10 = strlen(pcVar12);\n                if (DAT_0013d8e4 != (int *)0x0) {\n                  piVar9 = DAT_0013d8e4;\n                  do {\n                    if (piVar9[2] == 0) {\n                      sVar11 = strlen((char *)piVar9[1]);\n                      pcVar12 = (char *)xmalloc(sVar11 + sVar10 + 2);\n                      sprintf(pcVar12,"%s/%s",piVar9[1],puVar17[2]);\n                      iVar6 = FUN_0004a3c0();\n                      if (iVar6 != 0) goto LAB_0004ae88;\n                      free(pcVar12);\n                    }\n                    piVar9 = (int *)*piVar9;\n                  } while (piVar9 != (int *)0x0);\n                }\n                if (bVar2) {\n                  uVar7 = puVar17[1];\n                  uVar1 = puVar17[2];\n                  uVar13 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00033ba0(uVar13,uVar1,uVar7);\n                  break;\n                }\n                bVar2 = true;\n              }\n            }\n          }\n        }\nLAB_0004ae88:\n      }" for ( (assignment_expression "puVar17 = puVar4" identifier = identifier) ; (binary_expression "puVar17 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "puVar17 = (undefined4 *)*puVar17" identifier = (cast_expression "(undefined4 *)*puVar17" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar17" * identifier))) ) (compound_statement "{\n        puVar3 = puVar4;\n        if ((puVar17[1] == 0) ||\n           ((uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 1) == 0 &&\n            (((puVar17[1] == 0 || ((_DAT_0013d6c2 & 0x180) != 0x80)) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 4) == 0)))))) {\n          for (; puVar3 != puVar17; puVar3 = (undefined4 *)*puVar3) {\n            if (((puVar3[1] == 0) ||\n                (uVar5 = bfd_elf_get_dyn_lib_class(puVar3[1]), (uVar5 & 1) == 0)) &&\n               (iVar6 = strcmp((char *)puVar3[2],(char *)puVar17[2]), iVar6 == 0)) {\n              if (puVar17 != puVar3) goto LAB_0004ae88;\n              break;\n            }\n          }\n          DAT_0013d440 = 0;\n          DAT_0013d4c0 = puVar17;\n          FUN_000264a0(FUN_0004a2c0);\n          if ((DAT_0013d440 == 0) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_0013d440 + 0x10)),\n             (uVar5 & 1) != 0)) {\n            uVar7 = puVar17[1];\n            uVar1 = puVar17[2];\n            if (DAT_0013d83c != 0) {\n              uVar13 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00033b70(uVar13,uVar1,uVar7);\n            }\n            if ((DAT_0013d440 == 0) || (iVar6 = FUN_0004a3c0(), iVar6 == 0)) {\n              bVar2 = false;\n              while (iVar6 = FUN_0004a6d0(), iVar6 == 0) {\n                if (DAT_0013d7a4 != 0) {\n                  pvVar8 = (void *)FUN_00048f50();\n                  iVar6 = FUN_0004a6d0();\n                  free(pvVar8);\n                  if (iVar6 != 0) break;\n                }\n                piVar9 = (int *)bfd_elf_get_runpath_list(DAT_0013d6f4,&DAT_0013d6c0);\n                if (piVar9 != (int *)0x0) {\n                  do {\n                    bVar22 = true;\n                    pvVar8 = (void *)FUN_00048f50();\n                    bVar20 = false;\n                    if (piVar9[1] == puVar17[1]) {\n                      iVar6 = FUN_0004a6d0();\n                      bVar22 = iVar6 == 0;\n                      bVar20 = !bVar22;\n                    }\n                    free(pvVar8);\n                    piVar9 = (int *)*piVar9;\n                  } while ((piVar9 != (int *)0x0) && (bVar22));\n                  if (bVar20) break;\n                }\n                if (DAT_0013d424 == 0) {\n                  pvVar8 = (void *)concat(DAT_0013d75c,"/usr/etc/ld.so.conf",0);\n                  iVar6 = FUN_00049060();\n                  if (iVar6 == 0) {\n                    free(pvVar8);\n                    pvVar8 = (void *)concat(DAT_0013d75c,"/etc/ld.so.conf",0);\n                    FUN_00049060();\n                  }\n                  free(pvVar8);\n                  DAT_0013d424 = 1;\n                }\n                pcVar12 = (char *)puVar17[2];\n                if (DAT_0013d420 != 0) {\n                  iVar6 = FUN_0004a6d0();\n                  if (iVar6 != 0) break;\n                  pcVar12 = (char *)puVar17[2];\n                }\n                sVar10 = strlen(pcVar12);\n                if (DAT_0013d8e4 != (int *)0x0) {\n                  piVar9 = DAT_0013d8e4;\n                  do {\n                    if (piVar9[2] == 0) {\n                      sVar11 = strlen((char *)piVar9[1]);\n                      pcVar12 = (char *)xmalloc(sVar11 + sVar10 + 2);\n                      sprintf(pcVar12,"%s/%s",piVar9[1],puVar17[2]);\n                      iVar6 = FUN_0004a3c0();\n                      if (iVar6 != 0) goto LAB_0004ae88;\n                      free(pcVar12);\n                    }\n                    piVar9 = (int *)*piVar9;\n                  } while (piVar9 != (int *)0x0);\n                }\n                if (bVar2) {\n                  uVar7 = puVar17[1];\n                  uVar1 = puVar17[2];\n                  uVar13 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00033ba0(uVar13,uVar1,uVar7);\n                  break;\n                }\n                bVar2 = true;\n              }\n            }\n          }\n        }\nLAB_0004ae88:\n      }" { (expression_statement "puVar3 = puVar4;" (assignment_expression "puVar3 = puVar4" identifier = identifier) ;) (if_statement "if ((puVar17[1] == 0) ||\n           ((uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 1) == 0 &&\n            (((puVar17[1] == 0 || ((_DAT_0013d6c2 & 0x180) != 0x80)) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 4) == 0)))))) {\n          for (; puVar3 != puVar17; puVar3 = (undefined4 *)*puVar3) {\n            if (((puVar3[1] == 0) ||\n                (uVar5 = bfd_elf_get_dyn_lib_class(puVar3[1]), (uVar5 & 1) == 0)) &&\n               (iVar6 = strcmp((char *)puVar3[2],(char *)puVar17[2]), iVar6 == 0)) {\n              if (puVar17 != puVar3) goto LAB_0004ae88;\n              break;\n            }\n          }\n          DAT_0013d440 = 0;\n          DAT_0013d4c0 = puVar17;\n          FUN_000264a0(FUN_0004a2c0);\n          if ((DAT_0013d440 == 0) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_0013d440 + 0x10)),\n             (uVar5 & 1) != 0)) {\n            uVar7 = puVar17[1];\n            uVar1 = puVar17[2];\n            if (DAT_0013d83c != 0) {\n              uVar13 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00033b70(uVar13,uVar1,uVar7);\n            }\n            if ((DAT_0013d440 == 0) || (iVar6 = FUN_0004a3c0(), iVar6 == 0)) {\n              bVar2 = false;\n              while (iVar6 = FUN_0004a6d0(), iVar6 == 0) {\n                if (DAT_0013d7a4 != 0) {\n                  pvVar8 = (void *)FUN_00048f50();\n                  iVar6 = FUN_0004a6d0();\n                  free(pvVar8);\n                  if (iVar6 != 0) break;\n                }\n                piVar9 = (int *)bfd_elf_get_runpath_list(DAT_0013d6f4,&DAT_0013d6c0);\n                if (piVar9 != (int *)0x0) {\n                  do {\n                    bVar22 = true;\n                    pvVar8 = (void *)FUN_00048f50();\n                    bVar20 = false;\n                    if (piVar9[1] == puVar17[1]) {\n                      iVar6 = FUN_0004a6d0();\n                      bVar22 = iVar6 == 0;\n                      bVar20 = !bVar22;\n                    }\n                    free(pvVar8);\n                    piVar9 = (int *)*piVar9;\n                  } while ((piVar9 != (int *)0x0) && (bVar22));\n                  if (bVar20) break;\n                }\n                if (DAT_0013d424 == 0) {\n                  pvVar8 = (void *)concat(DAT_0013d75c,"/usr/etc/ld.so.conf",0);\n                  iVar6 = FUN_00049060();\n                  if (iVar6 == 0) {\n                    free(pvVar8);\n                    pvVar8 = (void *)concat(DAT_0013d75c,"/etc/ld.so.conf",0);\n                    FUN_00049060();\n                  }\n                  free(pvVar8);\n                  DAT_0013d424 = 1;\n                }\n                pcVar12 = (char *)puVar17[2];\n                if (DAT_0013d420 != 0) {\n                  iVar6 = FUN_0004a6d0();\n                  if (iVar6 != 0) break;\n                  pcVar12 = (char *)puVar17[2];\n                }\n                sVar10 = strlen(pcVar12);\n                if (DAT_0013d8e4 != (int *)0x0) {\n                  piVar9 = DAT_0013d8e4;\n                  do {\n                    if (piVar9[2] == 0) {\n                      sVar11 = strlen((char *)piVar9[1]);\n                      pcVar12 = (char *)xmalloc(sVar11 + sVar10 + 2);\n                      sprintf(pcVar12,"%s/%s",piVar9[1],puVar17[2]);\n                      iVar6 = FUN_0004a3c0();\n                      if (iVar6 != 0) goto LAB_0004ae88;\n                      free(pcVar12);\n                    }\n                    piVar9 = (int *)*piVar9;\n                  } while (piVar9 != (int *)0x0);\n                }\n                if (bVar2) {\n                  uVar7 = puVar17[1];\n                  uVar1 = puVar17[2];\n                  uVar13 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00033ba0(uVar13,uVar1,uVar7);\n                  break;\n                }\n                bVar2 = true;\n              }\n            }\n          }\n        }" if (parenthesized_expression "((puVar17[1] == 0) ||\n           ((uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 1) == 0 &&\n            (((puVar17[1] == 0 || ((_DAT_0013d6c2 & 0x180) != 0x80)) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 4) == 0))))))" ( (binary_expression "(puVar17[1] == 0) ||\n           ((uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 1) == 0 &&\n            (((puVar17[1] == 0 || ((_DAT_0013d6c2 & 0x180) != 0x80)) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 4) == 0)))))" (parenthesized_expression "(puVar17[1] == 0)" ( (binary_expression "puVar17[1] == 0" (subscript_expression "puVar17[1]" identifier [ number_literal ]) == number_literal) )) || (parenthesized_expression "((uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 1) == 0 &&\n            (((puVar17[1] == 0 || ((_DAT_0013d6c2 & 0x180) != 0x80)) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 4) == 0)))))" ( (parenthesized_expression "(uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 1) == 0 &&\n            (((puVar17[1] == 0 || ((_DAT_0013d6c2 & 0x180) != 0x80)) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 4) == 0))))" ( (comma_expression "uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 1) == 0 &&\n            (((puVar17[1] == 0 || ((_DAT_0013d6c2 & 0x180) != 0x80)) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 4) == 0)))" (assignment_expression "uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1])" identifier = (call_expression "bfd_elf_get_dyn_lib_class(puVar17[1])" identifier (argument_list "(puVar17[1])" ( (subscript_expression "puVar17[1]" identifier [ number_literal ]) )))) , (binary_expression "(uVar5 & 1) == 0 &&\n            (((puVar17[1] == 0 || ((_DAT_0013d6c2 & 0x180) != 0x80)) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 4) == 0)))" (binary_expression "(uVar5 & 1) == 0" (parenthesized_expression "(uVar5 & 1)" ( (binary_expression "uVar5 & 1" identifier & number_literal) )) == number_literal) && (parenthesized_expression "(((puVar17[1] == 0 || ((_DAT_0013d6c2 & 0x180) != 0x80)) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 4) == 0)))" ( (parenthesized_expression "((puVar17[1] == 0 || ((_DAT_0013d6c2 & 0x180) != 0x80)) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 4) == 0))" ( (binary_expression "(puVar17[1] == 0 || ((_DAT_0013d6c2 & 0x180) != 0x80)) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 4) == 0)" (parenthesized_expression "(puVar17[1] == 0 || ((_DAT_0013d6c2 & 0x180) != 0x80))" ( (binary_expression "puVar17[1] == 0 || ((_DAT_0013d6c2 & 0x180) != 0x80)" (binary_expression "puVar17[1] == 0" (subscript_expression "puVar17[1]" identifier [ number_literal ]) == number_literal) || (parenthesized_expression "((_DAT_0013d6c2 & 0x180) != 0x80)" ( (binary_expression "(_DAT_0013d6c2 & 0x180) != 0x80" (parenthesized_expression "(_DAT_0013d6c2 & 0x180)" ( (binary_expression "_DAT_0013d6c2 & 0x180" identifier & number_literal) )) != number_literal) ))) )) || (parenthesized_expression "(uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 4) == 0)" ( (comma_expression "uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 4) == 0" (assignment_expression "uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1])" identifier = (call_expression "bfd_elf_get_dyn_lib_class(puVar17[1])" identifier (argument_list "(puVar17[1])" ( (subscript_expression "puVar17[1]" identifier [ number_literal ]) )))) , (binary_expression "(uVar5 & 4) == 0" (parenthesized_expression "(uVar5 & 4)" ( (binary_expression "uVar5 & 4" identifier & number_literal) )) == number_literal)) ))) )) )))) )) ))) )) (compound_statement "{\n          for (; puVar3 != puVar17; puVar3 = (undefined4 *)*puVar3) {\n            if (((puVar3[1] == 0) ||\n                (uVar5 = bfd_elf_get_dyn_lib_class(puVar3[1]), (uVar5 & 1) == 0)) &&\n               (iVar6 = strcmp((char *)puVar3[2],(char *)puVar17[2]), iVar6 == 0)) {\n              if (puVar17 != puVar3) goto LAB_0004ae88;\n              break;\n            }\n          }\n          DAT_0013d440 = 0;\n          DAT_0013d4c0 = puVar17;\n          FUN_000264a0(FUN_0004a2c0);\n          if ((DAT_0013d440 == 0) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_0013d440 + 0x10)),\n             (uVar5 & 1) != 0)) {\n            uVar7 = puVar17[1];\n            uVar1 = puVar17[2];\n            if (DAT_0013d83c != 0) {\n              uVar13 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00033b70(uVar13,uVar1,uVar7);\n            }\n            if ((DAT_0013d440 == 0) || (iVar6 = FUN_0004a3c0(), iVar6 == 0)) {\n              bVar2 = false;\n              while (iVar6 = FUN_0004a6d0(), iVar6 == 0) {\n                if (DAT_0013d7a4 != 0) {\n                  pvVar8 = (void *)FUN_00048f50();\n                  iVar6 = FUN_0004a6d0();\n                  free(pvVar8);\n                  if (iVar6 != 0) break;\n                }\n                piVar9 = (int *)bfd_elf_get_runpath_list(DAT_0013d6f4,&DAT_0013d6c0);\n                if (piVar9 != (int *)0x0) {\n                  do {\n                    bVar22 = true;\n                    pvVar8 = (void *)FUN_00048f50();\n                    bVar20 = false;\n                    if (piVar9[1] == puVar17[1]) {\n                      iVar6 = FUN_0004a6d0();\n                      bVar22 = iVar6 == 0;\n                      bVar20 = !bVar22;\n                    }\n                    free(pvVar8);\n                    piVar9 = (int *)*piVar9;\n                  } while ((piVar9 != (int *)0x0) && (bVar22));\n                  if (bVar20) break;\n                }\n                if (DAT_0013d424 == 0) {\n                  pvVar8 = (void *)concat(DAT_0013d75c,"/usr/etc/ld.so.conf",0);\n                  iVar6 = FUN_00049060();\n                  if (iVar6 == 0) {\n                    free(pvVar8);\n                    pvVar8 = (void *)concat(DAT_0013d75c,"/etc/ld.so.conf",0);\n                    FUN_00049060();\n                  }\n                  free(pvVar8);\n                  DAT_0013d424 = 1;\n                }\n                pcVar12 = (char *)puVar17[2];\n                if (DAT_0013d420 != 0) {\n                  iVar6 = FUN_0004a6d0();\n                  if (iVar6 != 0) break;\n                  pcVar12 = (char *)puVar17[2];\n                }\n                sVar10 = strlen(pcVar12);\n                if (DAT_0013d8e4 != (int *)0x0) {\n                  piVar9 = DAT_0013d8e4;\n                  do {\n                    if (piVar9[2] == 0) {\n                      sVar11 = strlen((char *)piVar9[1]);\n                      pcVar12 = (char *)xmalloc(sVar11 + sVar10 + 2);\n                      sprintf(pcVar12,"%s/%s",piVar9[1],puVar17[2]);\n                      iVar6 = FUN_0004a3c0();\n                      if (iVar6 != 0) goto LAB_0004ae88;\n                      free(pcVar12);\n                    }\n                    piVar9 = (int *)*piVar9;\n                  } while (piVar9 != (int *)0x0);\n                }\n                if (bVar2) {\n                  uVar7 = puVar17[1];\n                  uVar1 = puVar17[2];\n                  uVar13 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00033ba0(uVar13,uVar1,uVar7);\n                  break;\n                }\n                bVar2 = true;\n              }\n            }\n          }\n        }" { (for_statement "for (; puVar3 != puVar17; puVar3 = (undefined4 *)*puVar3) {\n            if (((puVar3[1] == 0) ||\n                (uVar5 = bfd_elf_get_dyn_lib_class(puVar3[1]), (uVar5 & 1) == 0)) &&\n               (iVar6 = strcmp((char *)puVar3[2],(char *)puVar17[2]), iVar6 == 0)) {\n              if (puVar17 != puVar3) goto LAB_0004ae88;\n              break;\n            }\n          }" for ( ; (binary_expression "puVar3 != puVar17" identifier != identifier) ; (assignment_expression "puVar3 = (undefined4 *)*puVar3" identifier = (cast_expression "(undefined4 *)*puVar3" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar3" * identifier))) ) (compound_statement "{\n            if (((puVar3[1] == 0) ||\n                (uVar5 = bfd_elf_get_dyn_lib_class(puVar3[1]), (uVar5 & 1) == 0)) &&\n               (iVar6 = strcmp((char *)puVar3[2],(char *)puVar17[2]), iVar6 == 0)) {\n              if (puVar17 != puVar3) goto LAB_0004ae88;\n              break;\n            }\n          }" { (if_statement "if (((puVar3[1] == 0) ||\n                (uVar5 = bfd_elf_get_dyn_lib_class(puVar3[1]), (uVar5 & 1) == 0)) &&\n               (iVar6 = strcmp((char *)puVar3[2],(char *)puVar17[2]), iVar6 == 0)) {\n              if (puVar17 != puVar3) goto LAB_0004ae88;\n              break;\n            }" if (parenthesized_expression "(((puVar3[1] == 0) ||\n                (uVar5 = bfd_elf_get_dyn_lib_class(puVar3[1]), (uVar5 & 1) == 0)) &&\n               (iVar6 = strcmp((char *)puVar3[2],(char *)puVar17[2]), iVar6 == 0))" ( (binary_expression "((puVar3[1] == 0) ||\n                (uVar5 = bfd_elf_get_dyn_lib_class(puVar3[1]), (uVar5 & 1) == 0)) &&\n               (iVar6 = strcmp((char *)puVar3[2],(char *)puVar17[2]), iVar6 == 0)" (parenthesized_expression "((puVar3[1] == 0) ||\n                (uVar5 = bfd_elf_get_dyn_lib_class(puVar3[1]), (uVar5 & 1) == 0))" ( (binary_expression "(puVar3[1] == 0) ||\n                (uVar5 = bfd_elf_get_dyn_lib_class(puVar3[1]), (uVar5 & 1) == 0)" (parenthesized_expression "(puVar3[1] == 0)" ( (binary_expression "puVar3[1] == 0" (subscript_expression "puVar3[1]" identifier [ number_literal ]) == number_literal) )) || (parenthesized_expression "(uVar5 = bfd_elf_get_dyn_lib_class(puVar3[1]), (uVar5 & 1) == 0)" ( (comma_expression "uVar5 = bfd_elf_get_dyn_lib_class(puVar3[1]), (uVar5 & 1) == 0" (assignment_expression "uVar5 = bfd_elf_get_dyn_lib_class(puVar3[1])" identifier = (call_expression "bfd_elf_get_dyn_lib_class(puVar3[1])" identifier (argument_list "(puVar3[1])" ( (subscript_expression "puVar3[1]" identifier [ number_literal ]) )))) , (binary_expression "(uVar5 & 1) == 0" (parenthesized_expression "(uVar5 & 1)" ( (binary_expression "uVar5 & 1" identifier & number_literal) )) == number_literal)) ))) )) && (parenthesized_expression "(iVar6 = strcmp((char *)puVar3[2],(char *)puVar17[2]), iVar6 == 0)" ( (comma_expression "iVar6 = strcmp((char *)puVar3[2],(char *)puVar17[2]), iVar6 == 0" (assignment_expression "iVar6 = strcmp((char *)puVar3[2],(char *)puVar17[2])" identifier = (call_expression "strcmp((char *)puVar3[2],(char *)puVar17[2])" identifier (argument_list "((char *)puVar3[2],(char *)puVar17[2])" ( (cast_expression "(char *)puVar3[2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar3[2]" identifier [ number_literal ])) , (cast_expression "(char *)puVar17[2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar17[2]" identifier [ number_literal ])) )))) , (binary_expression "iVar6 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n              if (puVar17 != puVar3) goto LAB_0004ae88;\n              break;\n            }" { (if_statement "if (puVar17 != puVar3) goto LAB_0004ae88;" if (parenthesized_expression "(puVar17 != puVar3)" ( (binary_expression "puVar17 != puVar3" identifier != identifier) )) (goto_statement "goto LAB_0004ae88;" goto statement_identifier ;)) (break_statement "break;" break ;) })) })) (expression_statement "DAT_0013d440 = 0;" (assignment_expression "DAT_0013d440 = 0" identifier = number_literal) ;) (expression_statement "DAT_0013d4c0 = puVar17;" (assignment_expression "DAT_0013d4c0 = puVar17" identifier = identifier) ;) (expression_statement "FUN_000264a0(FUN_0004a2c0);" (call_expression "FUN_000264a0(FUN_0004a2c0)" identifier (argument_list "(FUN_0004a2c0)" ( identifier ))) ;) (if_statement "if ((DAT_0013d440 == 0) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_0013d440 + 0x10)),\n             (uVar5 & 1) != 0)) {\n            uVar7 = puVar17[1];\n            uVar1 = puVar17[2];\n            if (DAT_0013d83c != 0) {\n              uVar13 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00033b70(uVar13,uVar1,uVar7);\n            }\n            if ((DAT_0013d440 == 0) || (iVar6 = FUN_0004a3c0(), iVar6 == 0)) {\n              bVar2 = false;\n              while (iVar6 = FUN_0004a6d0(), iVar6 == 0) {\n                if (DAT_0013d7a4 != 0) {\n                  pvVar8 = (void *)FUN_00048f50();\n                  iVar6 = FUN_0004a6d0();\n                  free(pvVar8);\n                  if (iVar6 != 0) break;\n                }\n                piVar9 = (int *)bfd_elf_get_runpath_list(DAT_0013d6f4,&DAT_0013d6c0);\n                if (piVar9 != (int *)0x0) {\n                  do {\n                    bVar22 = true;\n                    pvVar8 = (void *)FUN_00048f50();\n                    bVar20 = false;\n                    if (piVar9[1] == puVar17[1]) {\n                      iVar6 = FUN_0004a6d0();\n                      bVar22 = iVar6 == 0;\n                      bVar20 = !bVar22;\n                    }\n                    free(pvVar8);\n                    piVar9 = (int *)*piVar9;\n                  } while ((piVar9 != (int *)0x0) && (bVar22));\n                  if (bVar20) break;\n                }\n                if (DAT_0013d424 == 0) {\n                  pvVar8 = (void *)concat(DAT_0013d75c,"/usr/etc/ld.so.conf",0);\n                  iVar6 = FUN_00049060();\n                  if (iVar6 == 0) {\n                    free(pvVar8);\n                    pvVar8 = (void *)concat(DAT_0013d75c,"/etc/ld.so.conf",0);\n                    FUN_00049060();\n                  }\n                  free(pvVar8);\n                  DAT_0013d424 = 1;\n                }\n                pcVar12 = (char *)puVar17[2];\n                if (DAT_0013d420 != 0) {\n                  iVar6 = FUN_0004a6d0();\n                  if (iVar6 != 0) break;\n                  pcVar12 = (char *)puVar17[2];\n                }\n                sVar10 = strlen(pcVar12);\n                if (DAT_0013d8e4 != (int *)0x0) {\n                  piVar9 = DAT_0013d8e4;\n                  do {\n                    if (piVar9[2] == 0) {\n                      sVar11 = strlen((char *)piVar9[1]);\n                      pcVar12 = (char *)xmalloc(sVar11 + sVar10 + 2);\n                      sprintf(pcVar12,"%s/%s",piVar9[1],puVar17[2]);\n                      iVar6 = FUN_0004a3c0();\n                      if (iVar6 != 0) goto LAB_0004ae88;\n                      free(pcVar12);\n                    }\n                    piVar9 = (int *)*piVar9;\n                  } while (piVar9 != (int *)0x0);\n                }\n                if (bVar2) {\n                  uVar7 = puVar17[1];\n                  uVar1 = puVar17[2];\n                  uVar13 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00033ba0(uVar13,uVar1,uVar7);\n                  break;\n                }\n                bVar2 = true;\n              }\n            }\n          }" if (parenthesized_expression "((DAT_0013d440 == 0) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_0013d440 + 0x10)),\n             (uVar5 & 1) != 0))" ( (binary_expression "(DAT_0013d440 == 0) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_0013d440 + 0x10)),\n             (uVar5 & 1) != 0)" (parenthesized_expression "(DAT_0013d440 == 0)" ( (binary_expression "DAT_0013d440 == 0" identifier == number_literal) )) || (parenthesized_expression "(uVar5 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_0013d440 + 0x10)),\n             (uVar5 & 1) != 0)" ( (comma_expression "uVar5 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_0013d440 + 0x10)),\n             (uVar5 & 1) != 0" (assignment_expression "uVar5 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_0013d440 + 0x10))" identifier = (call_expression "bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_0013d440 + 0x10))" identifier (argument_list "(*(undefined4 *)(DAT_0013d440 + 0x10))" ( (pointer_expression "*(undefined4 *)(DAT_0013d440 + 0x10)" * (cast_expression "(undefined4 *)(DAT_0013d440 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0013d440 + 0x10)" ( (binary_expression "DAT_0013d440 + 0x10" identifier + number_literal) )))) )))) , (binary_expression "(uVar5 & 1) != 0" (parenthesized_expression "(uVar5 & 1)" ( (binary_expression "uVar5 & 1" identifier & number_literal) )) != number_literal)) ))) )) (compound_statement "{\n            uVar7 = puVar17[1];\n            uVar1 = puVar17[2];\n            if (DAT_0013d83c != 0) {\n              uVar13 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00033b70(uVar13,uVar1,uVar7);\n            }\n            if ((DAT_0013d440 == 0) || (iVar6 = FUN_0004a3c0(), iVar6 == 0)) {\n              bVar2 = false;\n              while (iVar6 = FUN_0004a6d0(), iVar6 == 0) {\n                if (DAT_0013d7a4 != 0) {\n                  pvVar8 = (void *)FUN_00048f50();\n                  iVar6 = FUN_0004a6d0();\n                  free(pvVar8);\n                  if (iVar6 != 0) break;\n                }\n                piVar9 = (int *)bfd_elf_get_runpath_list(DAT_0013d6f4,&DAT_0013d6c0);\n                if (piVar9 != (int *)0x0) {\n                  do {\n                    bVar22 = true;\n                    pvVar8 = (void *)FUN_00048f50();\n                    bVar20 = false;\n                    if (piVar9[1] == puVar17[1]) {\n                      iVar6 = FUN_0004a6d0();\n                      bVar22 = iVar6 == 0;\n                      bVar20 = !bVar22;\n                    }\n                    free(pvVar8);\n                    piVar9 = (int *)*piVar9;\n                  } while ((piVar9 != (int *)0x0) && (bVar22));\n                  if (bVar20) break;\n                }\n                if (DAT_0013d424 == 0) {\n                  pvVar8 = (void *)concat(DAT_0013d75c,"/usr/etc/ld.so.conf",0);\n                  iVar6 = FUN_00049060();\n                  if (iVar6 == 0) {\n                    free(pvVar8);\n                    pvVar8 = (void *)concat(DAT_0013d75c,"/etc/ld.so.conf",0);\n                    FUN_00049060();\n                  }\n                  free(pvVar8);\n                  DAT_0013d424 = 1;\n                }\n                pcVar12 = (char *)puVar17[2];\n                if (DAT_0013d420 != 0) {\n                  iVar6 = FUN_0004a6d0();\n                  if (iVar6 != 0) break;\n                  pcVar12 = (char *)puVar17[2];\n                }\n                sVar10 = strlen(pcVar12);\n                if (DAT_0013d8e4 != (int *)0x0) {\n                  piVar9 = DAT_0013d8e4;\n                  do {\n                    if (piVar9[2] == 0) {\n                      sVar11 = strlen((char *)piVar9[1]);\n                      pcVar12 = (char *)xmalloc(sVar11 + sVar10 + 2);\n                      sprintf(pcVar12,"%s/%s",piVar9[1],puVar17[2]);\n                      iVar6 = FUN_0004a3c0();\n                      if (iVar6 != 0) goto LAB_0004ae88;\n                      free(pcVar12);\n                    }\n                    piVar9 = (int *)*piVar9;\n                  } while (piVar9 != (int *)0x0);\n                }\n                if (bVar2) {\n                  uVar7 = puVar17[1];\n                  uVar1 = puVar17[2];\n                  uVar13 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00033ba0(uVar13,uVar1,uVar7);\n                  break;\n                }\n                bVar2 = true;\n              }\n            }\n          }" { (expression_statement "uVar7 = puVar17[1];" (assignment_expression "uVar7 = puVar17[1]" identifier = (subscript_expression "puVar17[1]" identifier [ number_literal ])) ;) (expression_statement "uVar1 = puVar17[2];" (assignment_expression "uVar1 = puVar17[2]" identifier = (subscript_expression "puVar17[2]" identifier [ number_literal ])) ;) (if_statement "if (DAT_0013d83c != 0) {\n              uVar13 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00033b70(uVar13,uVar1,uVar7);\n            }" if (parenthesized_expression "(DAT_0013d83c != 0)" ( (binary_expression "DAT_0013d83c != 0" identifier != number_literal) )) (compound_statement "{\n              uVar13 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00033b70(uVar13,uVar1,uVar7);\n            }" { (expression_statement "uVar13 = dcgettext(0,"%s needed by %pB\n",5);" (assignment_expression "uVar13 = 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_00033b70(uVar13,uVar1,uVar7);" (call_expression "FUN_00033b70(uVar13,uVar1,uVar7)" identifier (argument_list "(uVar13,uVar1,uVar7)" ( identifier , identifier , identifier ))) ;) })) (if_statement "if ((DAT_0013d440 == 0) || (iVar6 = FUN_0004a3c0(), iVar6 == 0)) {\n              bVar2 = false;\n              while (iVar6 = FUN_0004a6d0(), iVar6 == 0) {\n                if (DAT_0013d7a4 != 0) {\n                  pvVar8 = (void *)FUN_00048f50();\n                  iVar6 = FUN_0004a6d0();\n                  free(pvVar8);\n                  if (iVar6 != 0) break;\n                }\n                piVar9 = (int *)bfd_elf_get_runpath_list(DAT_0013d6f4,&DAT_0013d6c0);\n                if (piVar9 != (int *)0x0) {\n                  do {\n                    bVar22 = true;\n                    pvVar8 = (void *)FUN_00048f50();\n                    bVar20 = false;\n                    if (piVar9[1] == puVar17[1]) {\n                      iVar6 = FUN_0004a6d0();\n                      bVar22 = iVar6 == 0;\n                      bVar20 = !bVar22;\n                    }\n                    free(pvVar8);\n                    piVar9 = (int *)*piVar9;\n                  } while ((piVar9 != (int *)0x0) && (bVar22));\n                  if (bVar20) break;\n                }\n                if (DAT_0013d424 == 0) {\n                  pvVar8 = (void *)concat(DAT_0013d75c,"/usr/etc/ld.so.conf",0);\n                  iVar6 = FUN_00049060();\n                  if (iVar6 == 0) {\n                    free(pvVar8);\n                    pvVar8 = (void *)concat(DAT_0013d75c,"/etc/ld.so.conf",0);\n                    FUN_00049060();\n                  }\n                  free(pvVar8);\n                  DAT_0013d424 = 1;\n                }\n                pcVar12 = (char *)puVar17[2];\n                if (DAT_0013d420 != 0) {\n                  iVar6 = FUN_0004a6d0();\n                  if (iVar6 != 0) break;\n                  pcVar12 = (char *)puVar17[2];\n                }\n                sVar10 = strlen(pcVar12);\n                if (DAT_0013d8e4 != (int *)0x0) {\n                  piVar9 = DAT_0013d8e4;\n                  do {\n                    if (piVar9[2] == 0) {\n                      sVar11 = strlen((char *)piVar9[1]);\n                      pcVar12 = (char *)xmalloc(sVar11 + sVar10 + 2);\n                      sprintf(pcVar12,"%s/%s",piVar9[1],puVar17[2]);\n                      iVar6 = FUN_0004a3c0();\n                      if (iVar6 != 0) goto LAB_0004ae88;\n                      free(pcVar12);\n                    }\n                    piVar9 = (int *)*piVar9;\n                  } while (piVar9 != (int *)0x0);\n                }\n                if (bVar2) {\n                  uVar7 = puVar17[1];\n                  uVar1 = puVar17[2];\n                  uVar13 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00033ba0(uVar13,uVar1,uVar7);\n                  break;\n                }\n                bVar2 = true;\n              }\n            }" if (parenthesized_expression "((DAT_0013d440 == 0) || (iVar6 = FUN_0004a3c0(), iVar6 == 0))" ( (binary_expression "(DAT_0013d440 == 0) || (iVar6 = FUN_0004a3c0(), iVar6 == 0)" (parenthesized_expression "(DAT_0013d440 == 0)" ( (binary_expression "DAT_0013d440 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar6 = FUN_0004a3c0(), iVar6 == 0)" ( (comma_expression "iVar6 = FUN_0004a3c0(), iVar6 == 0" (assignment_expression "iVar6 = FUN_0004a3c0()" identifier = (call_expression "FUN_0004a3c0()" identifier (argument_list "()" ( )))) , (binary_expression "iVar6 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n              bVar2 = false;\n              while (iVar6 = FUN_0004a6d0(), iVar6 == 0) {\n                if (DAT_0013d7a4 != 0) {\n                  pvVar8 = (void *)FUN_00048f50();\n                  iVar6 = FUN_0004a6d0();\n                  free(pvVar8);\n                  if (iVar6 != 0) break;\n                }\n                piVar9 = (int *)bfd_elf_get_runpath_list(DAT_0013d6f4,&DAT_0013d6c0);\n                if (piVar9 != (int *)0x0) {\n                  do {\n                    bVar22 = true;\n                    pvVar8 = (void *)FUN_00048f50();\n                    bVar20 = false;\n                    if (piVar9[1] == puVar17[1]) {\n                      iVar6 = FUN_0004a6d0();\n                      bVar22 = iVar6 == 0;\n                      bVar20 = !bVar22;\n                    }\n                    free(pvVar8);\n                    piVar9 = (int *)*piVar9;\n                  } while ((piVar9 != (int *)0x0) && (bVar22));\n                  if (bVar20) break;\n                }\n                if (DAT_0013d424 == 0) {\n                  pvVar8 = (void *)concat(DAT_0013d75c,"/usr/etc/ld.so.conf",0);\n                  iVar6 = FUN_00049060();\n                  if (iVar6 == 0) {\n                    free(pvVar8);\n                    pvVar8 = (void *)concat(DAT_0013d75c,"/etc/ld.so.conf",0);\n                    FUN_00049060();\n                  }\n                  free(pvVar8);\n                  DAT_0013d424 = 1;\n                }\n                pcVar12 = (char *)puVar17[2];\n                if (DAT_0013d420 != 0) {\n                  iVar6 = FUN_0004a6d0();\n                  if (iVar6 != 0) break;\n                  pcVar12 = (char *)puVar17[2];\n                }\n                sVar10 = strlen(pcVar12);\n                if (DAT_0013d8e4 != (int *)0x0) {\n                  piVar9 = DAT_0013d8e4;\n                  do {\n                    if (piVar9[2] == 0) {\n                      sVar11 = strlen((char *)piVar9[1]);\n                      pcVar12 = (char *)xmalloc(sVar11 + sVar10 + 2);\n                      sprintf(pcVar12,"%s/%s",piVar9[1],puVar17[2]);\n                      iVar6 = FUN_0004a3c0();\n                      if (iVar6 != 0) goto LAB_0004ae88;\n                      free(pcVar12);\n                    }\n                    piVar9 = (int *)*piVar9;\n                  } while (piVar9 != (int *)0x0);\n                }\n                if (bVar2) {\n                  uVar7 = puVar17[1];\n                  uVar1 = puVar17[2];\n                  uVar13 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00033ba0(uVar13,uVar1,uVar7);\n                  break;\n                }\n                bVar2 = true;\n              }\n            }" { (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" identifier = false) ;) (while_statement "while (iVar6 = FUN_0004a6d0(), iVar6 == 0) {\n                if (DAT_0013d7a4 != 0) {\n                  pvVar8 = (void *)FUN_00048f50();\n                  iVar6 = FUN_0004a6d0();\n                  free(pvVar8);\n                  if (iVar6 != 0) break;\n                }\n                piVar9 = (int *)bfd_elf_get_runpath_list(DAT_0013d6f4,&DAT_0013d6c0);\n                if (piVar9 != (int *)0x0) {\n                  do {\n                    bVar22 = true;\n                    pvVar8 = (void *)FUN_00048f50();\n                    bVar20 = false;\n                    if (piVar9[1] == puVar17[1]) {\n                      iVar6 = FUN_0004a6d0();\n                      bVar22 = iVar6 == 0;\n                      bVar20 = !bVar22;\n                    }\n                    free(pvVar8);\n                    piVar9 = (int *)*piVar9;\n                  } while ((piVar9 != (int *)0x0) && (bVar22));\n                  if (bVar20) break;\n                }\n                if (DAT_0013d424 == 0) {\n                  pvVar8 = (void *)concat(DAT_0013d75c,"/usr/etc/ld.so.conf",0);\n                  iVar6 = FUN_00049060();\n                  if (iVar6 == 0) {\n                    free(pvVar8);\n                    pvVar8 = (void *)concat(DAT_0013d75c,"/etc/ld.so.conf",0);\n                    FUN_00049060();\n                  }\n                  free(pvVar8);\n                  DAT_0013d424 = 1;\n                }\n                pcVar12 = (char *)puVar17[2];\n                if (DAT_0013d420 != 0) {\n                  iVar6 = FUN_0004a6d0();\n                  if (iVar6 != 0) break;\n                  pcVar12 = (char *)puVar17[2];\n                }\n                sVar10 = strlen(pcVar12);\n                if (DAT_0013d8e4 != (int *)0x0) {\n                  piVar9 = DAT_0013d8e4;\n                  do {\n                    if (piVar9[2] == 0) {\n                      sVar11 = strlen((char *)piVar9[1]);\n                      pcVar12 = (char *)xmalloc(sVar11 + sVar10 + 2);\n                      sprintf(pcVar12,"%s/%s",piVar9[1],puVar17[2]);\n                      iVar6 = FUN_0004a3c0();\n                      if (iVar6 != 0) goto LAB_0004ae88;\n                      free(pcVar12);\n                    }\n                    piVar9 = (int *)*piVar9;\n                  } while (piVar9 != (int *)0x0);\n                }\n                if (bVar2) {\n                  uVar7 = puVar17[1];\n                  uVar1 = puVar17[2];\n                  uVar13 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00033ba0(uVar13,uVar1,uVar7);\n                  break;\n                }\n                bVar2 = true;\n              }" while (parenthesized_expression "(iVar6 = FUN_0004a6d0(), iVar6 == 0)" ( (comma_expression "iVar6 = FUN_0004a6d0(), iVar6 == 0" (assignment_expression "iVar6 = FUN_0004a6d0()" identifier = (call_expression "FUN_0004a6d0()" identifier (argument_list "()" ( )))) , (binary_expression "iVar6 == 0" identifier == number_literal)) )) (compound_statement "{\n                if (DAT_0013d7a4 != 0) {\n                  pvVar8 = (void *)FUN_00048f50();\n                  iVar6 = FUN_0004a6d0();\n                  free(pvVar8);\n                  if (iVar6 != 0) break;\n                }\n                piVar9 = (int *)bfd_elf_get_runpath_list(DAT_0013d6f4,&DAT_0013d6c0);\n                if (piVar9 != (int *)0x0) {\n                  do {\n                    bVar22 = true;\n                    pvVar8 = (void *)FUN_00048f50();\n                    bVar20 = false;\n                    if (piVar9[1] == puVar17[1]) {\n                      iVar6 = FUN_0004a6d0();\n                      bVar22 = iVar6 == 0;\n                      bVar20 = !bVar22;\n                    }\n                    free(pvVar8);\n                    piVar9 = (int *)*piVar9;\n                  } while ((piVar9 != (int *)0x0) && (bVar22));\n                  if (bVar20) break;\n                }\n                if (DAT_0013d424 == 0) {\n                  pvVar8 = (void *)concat(DAT_0013d75c,"/usr/etc/ld.so.conf",0);\n                  iVar6 = FUN_00049060();\n                  if (iVar6 == 0) {\n                    free(pvVar8);\n                    pvVar8 = (void *)concat(DAT_0013d75c,"/etc/ld.so.conf",0);\n                    FUN_00049060();\n                  }\n                  free(pvVar8);\n                  DAT_0013d424 = 1;\n                }\n                pcVar12 = (char *)puVar17[2];\n                if (DAT_0013d420 != 0) {\n                  iVar6 = FUN_0004a6d0();\n                  if (iVar6 != 0) break;\n                  pcVar12 = (char *)puVar17[2];\n                }\n                sVar10 = strlen(pcVar12);\n                if (DAT_0013d8e4 != (int *)0x0) {\n                  piVar9 = DAT_0013d8e4;\n                  do {\n                    if (piVar9[2] == 0) {\n                      sVar11 = strlen((char *)piVar9[1]);\n                      pcVar12 = (char *)xmalloc(sVar11 + sVar10 + 2);\n                      sprintf(pcVar12,"%s/%s",piVar9[1],puVar17[2]);\n                      iVar6 = FUN_0004a3c0();\n                      if (iVar6 != 0) goto LAB_0004ae88;\n                      free(pcVar12);\n                    }\n                    piVar9 = (int *)*piVar9;\n                  } while (piVar9 != (int *)0x0);\n                }\n                if (bVar2) {\n                  uVar7 = puVar17[1];\n                  uVar1 = puVar17[2];\n                  uVar13 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00033ba0(uVar13,uVar1,uVar7);\n                  break;\n                }\n                bVar2 = true;\n              }" { (if_statement "if (DAT_0013d7a4 != 0) {\n                  pvVar8 = (void *)FUN_00048f50();\n                  iVar6 = FUN_0004a6d0();\n                  free(pvVar8);\n                  if (iVar6 != 0) break;\n                }" if (parenthesized_expression "(DAT_0013d7a4 != 0)" ( (binary_expression "DAT_0013d7a4 != 0" identifier != number_literal) )) (compound_statement "{\n                  pvVar8 = (void *)FUN_00048f50();\n                  iVar6 = FUN_0004a6d0();\n                  free(pvVar8);\n                  if (iVar6 != 0) break;\n                }" { (expression_statement "pvVar8 = (void *)FUN_00048f50();" (assignment_expression "pvVar8 = (void *)FUN_00048f50()" identifier = (cast_expression "(void *)FUN_00048f50()" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00048f50()" identifier (argument_list "()" ( ))))) ;) (expression_statement "iVar6 = FUN_0004a6d0();" (assignment_expression "iVar6 = FUN_0004a6d0()" identifier = (call_expression "FUN_0004a6d0()" identifier (argument_list "()" ( )))) ;) (expression_statement "free(pvVar8);" (call_expression "free(pvVar8)" identifier (argument_list "(pvVar8)" ( identifier ))) ;) (if_statement "if (iVar6 != 0) break;" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (break_statement "break;" break ;)) })) (expression_statement "piVar9 = (int *)bfd_elf_get_runpath_list(DAT_0013d6f4,&DAT_0013d6c0);" (assignment_expression "piVar9 = (int *)bfd_elf_get_runpath_list(DAT_0013d6f4,&DAT_0013d6c0)" identifier = (cast_expression "(int *)bfd_elf_get_runpath_list(DAT_0013d6f4,&DAT_0013d6c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "bfd_elf_get_runpath_list(DAT_0013d6f4,&DAT_0013d6c0)" identifier (argument_list "(DAT_0013d6f4,&DAT_0013d6c0)" ( identifier , (pointer_expression "&DAT_0013d6c0" & identifier) ))))) ;) (if_statement "if (piVar9 != (int *)0x0) {\n                  do {\n                    bVar22 = true;\n                    pvVar8 = (void *)FUN_00048f50();\n                    bVar20 = false;\n                    if (piVar9[1] == puVar17[1]) {\n                      iVar6 = FUN_0004a6d0();\n                      bVar22 = iVar6 == 0;\n                      bVar20 = !bVar22;\n                    }\n                    free(pvVar8);\n                    piVar9 = (int *)*piVar9;\n                  } while ((piVar9 != (int *)0x0) && (bVar22));\n                  if (bVar20) break;\n                }" if (parenthesized_expression "(piVar9 != (int *)0x0)" ( (binary_expression "piVar9 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  do {\n                    bVar22 = true;\n                    pvVar8 = (void *)FUN_00048f50();\n                    bVar20 = false;\n                    if (piVar9[1] == puVar17[1]) {\n                      iVar6 = FUN_0004a6d0();\n                      bVar22 = iVar6 == 0;\n                      bVar20 = !bVar22;\n                    }\n                    free(pvVar8);\n                    piVar9 = (int *)*piVar9;\n                  } while ((piVar9 != (int *)0x0) && (bVar22));\n                  if (bVar20) break;\n                }" { (do_statement "do {\n                    bVar22 = true;\n                    pvVar8 = (void *)FUN_00048f50();\n                    bVar20 = false;\n                    if (piVar9[1] == puVar17[1]) {\n                      iVar6 = FUN_0004a6d0();\n                      bVar22 = iVar6 == 0;\n                      bVar20 = !bVar22;\n                    }\n                    free(pvVar8);\n                    piVar9 = (int *)*piVar9;\n                  } while ((piVar9 != (int *)0x0) && (bVar22));" do (compound_statement "{\n                    bVar22 = true;\n                    pvVar8 = (void *)FUN_00048f50();\n                    bVar20 = false;\n                    if (piVar9[1] == puVar17[1]) {\n                      iVar6 = FUN_0004a6d0();\n                      bVar22 = iVar6 == 0;\n                      bVar20 = !bVar22;\n                    }\n                    free(pvVar8);\n                    piVar9 = (int *)*piVar9;\n                  }" { (expression_statement "bVar22 = true;" (assignment_expression "bVar22 = true" identifier = true) ;) (expression_statement "pvVar8 = (void *)FUN_00048f50();" (assignment_expression "pvVar8 = (void *)FUN_00048f50()" identifier = (cast_expression "(void *)FUN_00048f50()" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00048f50()" identifier (argument_list "()" ( ))))) ;) (expression_statement "bVar20 = false;" (assignment_expression "bVar20 = false" identifier = false) ;) (if_statement "if (piVar9[1] == puVar17[1]) {\n                      iVar6 = FUN_0004a6d0();\n                      bVar22 = iVar6 == 0;\n                      bVar20 = !bVar22;\n                    }" if (parenthesized_expression "(piVar9[1] == puVar17[1])" ( (binary_expression "piVar9[1] == puVar17[1]" (subscript_expression "piVar9[1]" identifier [ number_literal ]) == (subscript_expression "puVar17[1]" identifier [ number_literal ])) )) (compound_statement "{\n                      iVar6 = FUN_0004a6d0();\n                      bVar22 = iVar6 == 0;\n                      bVar20 = !bVar22;\n                    }" { (expression_statement "iVar6 = FUN_0004a6d0();" (assignment_expression "iVar6 = FUN_0004a6d0()" identifier = (call_expression "FUN_0004a6d0()" identifier (argument_list "()" ( )))) ;) (expression_statement "bVar22 = iVar6 == 0;" (assignment_expression "bVar22 = iVar6 == 0" identifier = (binary_expression "iVar6 == 0" identifier == number_literal)) ;) (expression_statement "bVar20 = !bVar22;" (assignment_expression "bVar20 = !bVar22" identifier = (unary_expression "!bVar22" ! identifier)) ;) })) (expression_statement "free(pvVar8);" (call_expression "free(pvVar8)" identifier (argument_list "(pvVar8)" ( identifier ))) ;) (expression_statement "piVar9 = (int *)*piVar9;" (assignment_expression "piVar9 = (int *)*piVar9" identifier = (cast_expression "(int *)*piVar9" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar9" * identifier))) ;) }) while (parenthesized_expression "((piVar9 != (int *)0x0) && (bVar22))" ( (binary_expression "(piVar9 != (int *)0x0) && (bVar22)" (parenthesized_expression "(piVar9 != (int *)0x0)" ( (binary_expression "piVar9 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(bVar22)" ( identifier ))) )) ;) (if_statement "if (bVar20) break;" if (parenthesized_expression "(bVar20)" ( identifier )) (break_statement "break;" break ;)) })) (if_statement "if (DAT_0013d424 == 0) {\n                  pvVar8 = (void *)concat(DAT_0013d75c,"/usr/etc/ld.so.conf",0);\n                  iVar6 = FUN_00049060();\n                  if (iVar6 == 0) {\n                    free(pvVar8);\n                    pvVar8 = (void *)concat(DAT_0013d75c,"/etc/ld.so.conf",0);\n                    FUN_00049060();\n                  }\n                  free(pvVar8);\n                  DAT_0013d424 = 1;\n                }" if (parenthesized_expression "(DAT_0013d424 == 0)" ( (binary_expression "DAT_0013d424 == 0" identifier == number_literal) )) (compound_statement "{\n                  pvVar8 = (void *)concat(DAT_0013d75c,"/usr/etc/ld.so.conf",0);\n                  iVar6 = FUN_00049060();\n                  if (iVar6 == 0) {\n                    free(pvVar8);\n                    pvVar8 = (void *)concat(DAT_0013d75c,"/etc/ld.so.conf",0);\n                    FUN_00049060();\n                  }\n                  free(pvVar8);\n                  DAT_0013d424 = 1;\n                }" { (expression_statement "pvVar8 = (void *)concat(DAT_0013d75c,"/usr/etc/ld.so.conf",0);" (assignment_expression "pvVar8 = (void *)concat(DAT_0013d75c,"/usr/etc/ld.so.conf",0)" identifier = (cast_expression "(void *)concat(DAT_0013d75c,"/usr/etc/ld.so.conf",0)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "concat(DAT_0013d75c,"/usr/etc/ld.so.conf",0)" identifier (argument_list "(DAT_0013d75c,"/usr/etc/ld.so.conf",0)" ( identifier , (string_literal ""/usr/etc/ld.so.conf"" " string_content ") , number_literal ))))) ;) (expression_statement "iVar6 = FUN_00049060();" (assignment_expression "iVar6 = FUN_00049060()" identifier = (call_expression "FUN_00049060()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar6 == 0) {\n                    free(pvVar8);\n                    pvVar8 = (void *)concat(DAT_0013d75c,"/etc/ld.so.conf",0);\n                    FUN_00049060();\n                  }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n                    free(pvVar8);\n                    pvVar8 = (void *)concat(DAT_0013d75c,"/etc/ld.so.conf",0);\n                    FUN_00049060();\n                  }" { (expression_statement "free(pvVar8);" (call_expression "free(pvVar8)" identifier (argument_list "(pvVar8)" ( identifier ))) ;) (expression_statement "pvVar8 = (void *)concat(DAT_0013d75c,"/etc/ld.so.conf",0);" (assignment_expression "pvVar8 = (void *)concat(DAT_0013d75c,"/etc/ld.so.conf",0)" identifier = (cast_expression "(void *)concat(DAT_0013d75c,"/etc/ld.so.conf",0)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "concat(DAT_0013d75c,"/etc/ld.so.conf",0)" identifier (argument_list "(DAT_0013d75c,"/etc/ld.so.conf",0)" ( identifier , (string_literal ""/etc/ld.so.conf"" " string_content ") , number_literal ))))) ;) (expression_statement "FUN_00049060();" (call_expression "FUN_00049060()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "free(pvVar8);" (call_expression "free(pvVar8)" identifier (argument_list "(pvVar8)" ( identifier ))) ;) (expression_statement "DAT_0013d424 = 1;" (assignment_expression "DAT_0013d424 = 1" identifier = number_literal) ;) })) (expression_statement "pcVar12 = (char *)puVar17[2];" (assignment_expression "pcVar12 = (char *)puVar17[2]" identifier = (cast_expression "(char *)puVar17[2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar17[2]" identifier [ number_literal ]))) ;) (if_statement "if (DAT_0013d420 != 0) {\n                  iVar6 = FUN_0004a6d0();\n                  if (iVar6 != 0) break;\n                  pcVar12 = (char *)puVar17[2];\n                }" if (parenthesized_expression "(DAT_0013d420 != 0)" ( (binary_expression "DAT_0013d420 != 0" identifier != number_literal) )) (compound_statement "{\n                  iVar6 = FUN_0004a6d0();\n                  if (iVar6 != 0) break;\n                  pcVar12 = (char *)puVar17[2];\n                }" { (expression_statement "iVar6 = FUN_0004a6d0();" (assignment_expression "iVar6 = FUN_0004a6d0()" identifier = (call_expression "FUN_0004a6d0()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar6 != 0) break;" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (break_statement "break;" break ;)) (expression_statement "pcVar12 = (char *)puVar17[2];" (assignment_expression "pcVar12 = (char *)puVar17[2]" identifier = (cast_expression "(char *)puVar17[2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar17[2]" identifier [ number_literal ]))) ;) })) (expression_statement "sVar10 = strlen(pcVar12);" (assignment_expression "sVar10 = strlen(pcVar12)" identifier = (call_expression "strlen(pcVar12)" identifier (argument_list "(pcVar12)" ( identifier )))) ;) (if_statement "if (DAT_0013d8e4 != (int *)0x0) {\n                  piVar9 = DAT_0013d8e4;\n                  do {\n                    if (piVar9[2] == 0) {\n                      sVar11 = strlen((char *)piVar9[1]);\n                      pcVar12 = (char *)xmalloc(sVar11 + sVar10 + 2);\n                      sprintf(pcVar12,"%s/%s",piVar9[1],puVar17[2]);\n                      iVar6 = FUN_0004a3c0();\n                      if (iVar6 != 0) goto LAB_0004ae88;\n                      free(pcVar12);\n                    }\n                    piVar9 = (int *)*piVar9;\n                  } while (piVar9 != (int *)0x0);\n                }" if (parenthesized_expression "(DAT_0013d8e4 != (int *)0x0)" ( (binary_expression "DAT_0013d8e4 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  piVar9 = DAT_0013d8e4;\n                  do {\n                    if (piVar9[2] == 0) {\n                      sVar11 = strlen((char *)piVar9[1]);\n                      pcVar12 = (char *)xmalloc(sVar11 + sVar10 + 2);\n                      sprintf(pcVar12,"%s/%s",piVar9[1],puVar17[2]);\n                      iVar6 = FUN_0004a3c0();\n                      if (iVar6 != 0) goto LAB_0004ae88;\n                      free(pcVar12);\n                    }\n                    piVar9 = (int *)*piVar9;\n                  } while (piVar9 != (int *)0x0);\n                }" { (expression_statement "piVar9 = DAT_0013d8e4;" (assignment_expression "piVar9 = DAT_0013d8e4" identifier = identifier) ;) (do_statement "do {\n                    if (piVar9[2] == 0) {\n                      sVar11 = strlen((char *)piVar9[1]);\n                      pcVar12 = (char *)xmalloc(sVar11 + sVar10 + 2);\n                      sprintf(pcVar12,"%s/%s",piVar9[1],puVar17[2]);\n                      iVar6 = FUN_0004a3c0();\n                      if (iVar6 != 0) goto LAB_0004ae88;\n                      free(pcVar12);\n                    }\n                    piVar9 = (int *)*piVar9;\n                  } while (piVar9 != (int *)0x0);" do (compound_statement "{\n                    if (piVar9[2] == 0) {\n                      sVar11 = strlen((char *)piVar9[1]);\n                      pcVar12 = (char *)xmalloc(sVar11 + sVar10 + 2);\n                      sprintf(pcVar12,"%s/%s",piVar9[1],puVar17[2]);\n                      iVar6 = FUN_0004a3c0();\n                      if (iVar6 != 0) goto LAB_0004ae88;\n                      free(pcVar12);\n                    }\n                    piVar9 = (int *)*piVar9;\n                  }" { (if_statement "if (piVar9[2] == 0) {\n                      sVar11 = strlen((char *)piVar9[1]);\n                      pcVar12 = (char *)xmalloc(sVar11 + sVar10 + 2);\n                      sprintf(pcVar12,"%s/%s",piVar9[1],puVar17[2]);\n                      iVar6 = FUN_0004a3c0();\n                      if (iVar6 != 0) goto LAB_0004ae88;\n                      free(pcVar12);\n                    }" if (parenthesized_expression "(piVar9[2] == 0)" ( (binary_expression "piVar9[2] == 0" (subscript_expression "piVar9[2]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                      sVar11 = strlen((char *)piVar9[1]);\n                      pcVar12 = (char *)xmalloc(sVar11 + sVar10 + 2);\n                      sprintf(pcVar12,"%s/%s",piVar9[1],puVar17[2]);\n                      iVar6 = FUN_0004a3c0();\n                      if (iVar6 != 0) goto LAB_0004ae88;\n                      free(pcVar12);\n                    }" { (expression_statement "sVar11 = strlen((char *)piVar9[1]);" (assignment_expression "sVar11 = strlen((char *)piVar9[1])" identifier = (call_expression "strlen((char *)piVar9[1])" identifier (argument_list "((char *)piVar9[1])" ( (cast_expression "(char *)piVar9[1]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar9[1]" identifier [ number_literal ])) )))) ;) (expression_statement "pcVar12 = (char *)xmalloc(sVar11 + sVar10 + 2);" (assignment_expression "pcVar12 = (char *)xmalloc(sVar11 + sVar10 + 2)" identifier = (cast_expression "(char *)xmalloc(sVar11 + sVar10 + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(sVar11 + sVar10 + 2)" identifier (argument_list "(sVar11 + sVar10 + 2)" ( (binary_expression "sVar11 + sVar10 + 2" (binary_expression "sVar11 + sVar10" identifier + identifier) + number_literal) ))))) ;) (expression_statement "sprintf(pcVar12,"%s/%s",piVar9[1],puVar17[2]);" (call_expression "sprintf(pcVar12,"%s/%s",piVar9[1],puVar17[2])" identifier (argument_list "(pcVar12,"%s/%s",piVar9[1],puVar17[2])" ( identifier , (string_literal ""%s/%s"" " string_content ") , (subscript_expression "piVar9[1]" identifier [ number_literal ]) , (subscript_expression "puVar17[2]" identifier [ number_literal ]) ))) ;) (expression_statement "iVar6 = FUN_0004a3c0();" (assignment_expression "iVar6 = FUN_0004a3c0()" identifier = (call_expression "FUN_0004a3c0()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar6 != 0) goto LAB_0004ae88;" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0004ae88;" goto statement_identifier ;)) (expression_statement "free(pcVar12);" (call_expression "free(pcVar12)" identifier (argument_list "(pcVar12)" ( identifier ))) ;) })) (expression_statement "piVar9 = (int *)*piVar9;" (assignment_expression "piVar9 = (int *)*piVar9" identifier = (cast_expression "(int *)*piVar9" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar9" * identifier))) ;) }) while (parenthesized_expression "(piVar9 != (int *)0x0)" ( (binary_expression "piVar9 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) })) (if_statement "if (bVar2) {\n                  uVar7 = puVar17[1];\n                  uVar1 = puVar17[2];\n                  uVar13 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00033ba0(uVar13,uVar1,uVar7);\n                  break;\n                }" if (parenthesized_expression "(bVar2)" ( identifier )) (compound_statement "{\n                  uVar7 = puVar17[1];\n                  uVar1 = puVar17[2];\n                  uVar13 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00033ba0(uVar13,uVar1,uVar7);\n                  break;\n                }" { (expression_statement "uVar7 = puVar17[1];" (assignment_expression "uVar7 = puVar17[1]" identifier = (subscript_expression "puVar17[1]" identifier [ number_literal ])) ;) (expression_statement "uVar1 = puVar17[2];" (assignment_expression "uVar1 = puVar17[2]" identifier = (subscript_expression "puVar17[2]" identifier [ number_literal ])) ;) (expression_statement "uVar13 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);" (assignment_expression "uVar13 = 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_00033ba0(uVar13,uVar1,uVar7);" (call_expression "FUN_00033ba0(uVar13,uVar1,uVar7)" identifier (argument_list "(uVar13,uVar1,uVar7)" ( identifier , identifier , identifier ))) ;) (break_statement "break;" break ;) })) (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" identifier = true) ;) })) })) })) })) (labeled_statement "LAB_0004ae88:" statement_identifier : (expression_statement "" ;)) })) (expression_statement "DAT_0013d6c3 = (byte)(_DAT_0013d6c2 >> 8);" (assignment_expression "DAT_0013d6c3 = (byte)(_DAT_0013d6c2 >> 8)" identifier = (call_expression "(byte)(_DAT_0013d6c2 >> 8)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(_DAT_0013d6c2 >> 8)" ( (binary_expression "_DAT_0013d6c2 >> 8" identifier >> number_literal) )))) ;) (expression_statement "bVar23 = DAT_0013d6c3 & 0xc0;" (assignment_expression "bVar23 = DAT_0013d6c3 & 0xc0" identifier = (binary_expression "DAT_0013d6c3 & 0xc0" identifier & number_literal)) ;) (if_statement "if ((bVar23 == 0x80) && (iVar6 = bfd_elf_parse_eh_frame_entries(0,&DAT_0013d6c0), iVar6 == 0))\n      {\n        uVar7 = dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);\n        FUN_00033ba0(uVar7);\n      }" if (parenthesized_expression "((bVar23 == 0x80) && (iVar6 = bfd_elf_parse_eh_frame_entries(0,&DAT_0013d6c0), iVar6 == 0))" ( (binary_expression "(bVar23 == 0x80) && (iVar6 = bfd_elf_parse_eh_frame_entries(0,&DAT_0013d6c0), iVar6 == 0)" (parenthesized_expression "(bVar23 == 0x80)" ( (binary_expression "bVar23 == 0x80" identifier == number_literal) )) && (parenthesized_expression "(iVar6 = bfd_elf_parse_eh_frame_entries(0,&DAT_0013d6c0), iVar6 == 0)" ( (comma_expression "iVar6 = bfd_elf_parse_eh_frame_entries(0,&DAT_0013d6c0), iVar6 == 0" (assignment_expression "iVar6 = bfd_elf_parse_eh_frame_entries(0,&DAT_0013d6c0)" identifier = (call_expression "bfd_elf_parse_eh_frame_entries(0,&DAT_0013d6c0)" identifier (argument_list "(0,&DAT_0013d6c0)" ( number_literal , (pointer_expression "&DAT_0013d6c0" & identifier) )))) , (binary_expression "iVar6 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n        uVar7 = dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);\n        FUN_00033ba0(uVar7);\n      }" { (expression_statement "uVar7 = dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);" (assignment_expression "uVar7 = 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_00033ba0(uVar7);" (call_expression "FUN_00033ba0(uVar7)" identifier (argument_list "(uVar7)" ( 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 gldelf32lriscv_ilp32f_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  asection *paVar7;\n  bfd_link_needed_list *pbVar8;\n  uint uVar9;\n  int iVar10;\n  bfd_boolean bVar11;\n  char *pcVar12;\n  int *piVar13;\n  size_t sVar14;\n  size_t sVar15;\n  char *pcVar16;\n  bfd_link_hash_entry *pbVar17;\n  bfd *pbVar18;\n  bfd_section *pbVar19;\n  bfd *pbVar20;\n  search_dirs *psVar21;\n  byte *pbVar22;\n  byte *pbVar23;\n  bool bVar24;\n  bool bVar25;\n  bool bVar26;\n  byte bVar27;\n  bfd_size_type 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  bVar27 = 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      pcVar12 = command_line.out_implib_filename;\n      if (link_info.out_implib_bfd == (bfd *)0x0) {\n        pcVar16 = (char *)dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);\n        einfo(pcVar16,pcVar12);\n      }\n    }\n    pbVar18 = link_info.output_bfd;\n    pbVar20 = link_info.input_bfds;\n    if (emit_note_gnu_build_id != (char *)0x0) {\n      for (; pbVar20 != (bfd *)0x0; pbVar20 = (pbVar20->link).next) {\n        if (((pbVar20->xvec->flavour == bfd_target_elf_flavour) && (pbVar20->section_count != 0)) &&\n           ((*(byte *)((int)pbVar20->usrdata + 0x24) & 0x10) == 0)) {\n          bVar28 = compute_build_id_size(emit_note_gnu_build_id);\n          if ((bVar28 == 0) || (bVar28 + 0x10 == 0)) {\n            pcVar12 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            paVar7 = (asection *)\n                     bfd_make_section_with_flags\n                               (pbVar20,".note.gnu.build-id",\n                                "ttributes)) }\n  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }\n}\n\n"\n                               );\n            if (paVar7 != (asection *)0x0) {\n              paVar7->alignment_power = 2;\n              pbVar18 = 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              pcVar12 = emit_note_gnu_build_id;\n              (poVar1->build_id).sec = paVar7;\n              (poVar1->build_id).style = pcVar12;\n              *(undefined4 *)((int)paVar7->used_by_bfd + 4) = 7;\n              paVar7->size = bVar28 + 0x10;\n              goto LAB_0004ad04;\n            }\n            pcVar12 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          pcVar12 = (char *)dcgettext(0,pcVar12,5);\n          einfo(pcVar12);\n          break;\n        }\n      }\n      free(emit_note_gnu_build_id);\n      emit_note_gnu_build_id = (char *)0x0;\n      pbVar18 = link_info.output_bfd;\n    }\nLAB_0004ad04:\n    (**(code **)((int)pbVar18->xvec->backend_data + 0x1d0))(&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        pbVar20 = link_info.input_bfds;\n        do {\n          while ((*(byte *)((int)pbVar20->usrdata + 0x24) & 0x10) != 0) {\nLAB_0004b160:\n            pbVar20 = (pbVar20->link).next;\n            if (pbVar20 == (bfd *)0x0) goto LAB_0004b267;\n          }\n          pbVar19 = pbVar20->sections;\n          if (pbVar19 == (bfd_section *)0x0) {\nLAB_0004b231:\n            if (local_50 != 2) goto LAB_0004b160;\n          }\n          else {\n            local_60 = (dt_needed *)0x0;\n            do {\n              bVar25 = pbVar19->output_section <\n                       (bfd_section *)(PTR__bfd_std_section_0013bfc4 + 0x180);\n              bVar26 = pbVar19->output_section ==\n                       (bfd_section *)(PTR__bfd_std_section_0013bfc4 + 0x180);\n              pdVar6 = local_60;\n              if (!bVar26) {\n                iVar10 = 0xf;\n                pbVar22 = (byte *)pbVar19->name;\n                pbVar23 = (byte *)".eh_frame_entry";\n                do {\n                  if (iVar10 == 0) break;\n                  iVar10 = iVar10 + -1;\n                  bVar25 = *pbVar22 < *pbVar23;\n                  bVar26 = *pbVar22 == *pbVar23;\n                  pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  pbVar23 = pbVar23 + (uint)bVar27 * -2 + 1;\n                } while (bVar26);\n                bVar24 = false;\n                bVar25 = (!bVar25 && !bVar26) == bVar25;\n                if (bVar25) {\n                  local_60 = (dt_needed *)0x2;\n                  goto LAB_0004b209;\n                }\n                iVar10 = 10;\n                pbVar22 = (byte *)pbVar19->name;\n                pbVar23 = (byte *)".eh_frame";\n                do {\n                  if (iVar10 == 0) break;\n                  iVar10 = iVar10 + -1;\n                  bVar24 = *pbVar22 < *pbVar23;\n                  bVar25 = *pbVar22 == *pbVar23;\n                  pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  pbVar23 = pbVar23 + (uint)bVar27 * -2 + 1;\n                } while (bVar25);\n                if (((!bVar24 && !bVar25) == bVar24) &&\n                   (piVar13 = (int *)((int)&pbVar19->size + 4), pdVar6 = (dt_needed *)1,\n                   *piVar13 == 0 && (uint)(8 < (uint)pbVar19->size) <= (uint)-*piVar13)) {\n                  pdVar6 = local_60;\n                }\n              }\n              local_60 = pdVar6;\n              pbVar19 = pbVar19->next;\n            } while (pbVar19 != (bfd_section *)0x0);\n            if (local_60 == (dt_needed *)0x0) goto LAB_0004b231;\nLAB_0004b209:\n            if ((local_50 != 0) && ((dt_needed *)local_50 != local_60)) {\n              if (local_60 != (dt_needed *)0x1) {\n                pbVar20 = local_4c;\n              }\n              pcVar12 = (char *)dcgettext(0,\n                                          "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                          ,5);\n              einfo(pcVar12,pbVar20);\n              break;\n            }\n            local_50 = (int)local_60;\n            if (local_4c != (bfd *)0x0) goto LAB_0004b231;\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 (pbVar20->xvec->flavour == bfd_target_elf_flavour) {\n                  local_4c = pbVar20;\n                }\n              }\n              goto LAB_0004b160;\n            }\n            bVar3 = true;\n            if (pbVar20->xvec->flavour == bfd_target_elf_flavour) {\n              local_4c = pbVar20;\n            }\n          }\n          pbVar20 = (pbVar20->link).next;\n          local_50 = 2;\n          link_info._2_2_ = link_info._2_2_ & 0x3fff | 0x8000;\n        } while (pbVar20 != (bfd *)0x0);\nLAB_0004b267:\n        if ((local_4c == (bfd *)0x0) ||\n           (pbVar17 = (bfd_link_hash_entry *)\n                      bfd_make_section_with_flags\n                                (local_4c,".eh_frame_hdr",\n                                 *(uint *)((int)local_4c->xvec->backend_data + 0x30) | 8),\n           pbVar17 == (bfd_link_hash_entry *)0x0)) {\n          if (bVar3) {\n            pcVar12 = (char *)dcgettext(0,\n                                        "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                                        ,5);\n            einfo(pcVar12);\n          }\n        }\n        else {\n          pbVar17[2].u.i.warning = (char *)0x2;\n          pbVar5[4].undefs_tail = pbVar17;\n        }\n      }\n      pbVar8 = (bfd_link_needed_list *)bfd_elf_get_needed_list(link_info.output_bfd,&link_info);\n      for (pbVar2 = pbVar8; pbVar2 != (bfd_link_needed_list *)0x0; pbVar2 = pbVar2->next) {\n        pbVar4 = pbVar8;\n        if ((pbVar2->by == (bfd *)0x0) ||\n           ((uVar9 = bfd_elf_get_dyn_lib_class(pbVar2->by), (uVar9 & 1) == 0 &&\n            (((pbVar2->by == (bfd *)0x0 || ((link_info._2_2_ & 0x180) != 0x80)) ||\n             (uVar9 = bfd_elf_get_dyn_lib_class(pbVar2->by), (uVar9 & 4) == 0)))))) {\n          for (; pbVar4 != pbVar2; pbVar4 = pbVar4->next) {\n            if (((pbVar4->by == (bfd *)0x0) ||\n                (uVar9 = bfd_elf_get_dyn_lib_class(pbVar4->by), (uVar9 & 1) == 0)) &&\n               (iVar10 = strcmp(pbVar4->name,pbVar2->name), iVar10 == 0)) {\n              if (pbVar2 != pbVar4) goto LAB_0004ae88;\n              break;\n            }\n          }\n          global_found = (lang_input_statement_type *)0x0;\n          global_needed = pbVar2;\n          lang_for_each_input_file(gldelf32lriscv_ilp32f_check_needed);\n          if ((global_found == (lang_input_statement_type *)0x0) ||\n             (uVar9 = bfd_elf_get_dyn_lib_class(global_found->the_bfd), (uVar9 & 1) != 0)) {\n            pbVar20 = pbVar2->by;\n            pcVar12 = pbVar2->name;\n            n.by = pbVar20;\n            n.name = pcVar12;\n            nn.by = pbVar20;\n            if (verbose != 0) {\n              pcVar16 = (char *)dcgettext(0,"%s needed by %pB\n",5);\n              info_msg(pcVar16,pcVar12,pbVar20);\n            }\n            if (global_found != (lang_input_statement_type *)0x0) {\n              nn.name = global_found->filename;\n              bVar11 = gldelf32lriscv_ilp32f_try_needed(&nn,(int)nn.name,(dt_needed *)0x1);\n              if (bVar11 != 0) goto LAB_0004ae88;\n            }\n            local_60 = (dt_needed *)0x0;\n            while (bVar11 = gldelf32lriscv_ilp32f_search_needed\n                                      (command_line.rpath_link,&n,(int)local_60), bVar11 == 0) {\n              if (command_line.rpath != (char *)0x0) {\n                pcVar12 = gldelf32lriscv_ilp32f_add_sysroot(command_line.rpath);\n                bVar11 = gldelf32lriscv_ilp32f_search_needed(pcVar12,&n,(int)local_60);\n                free(pcVar12);\n                if (bVar11 != 0) break;\n              }\n              piVar13 = (int *)bfd_elf_get_runpath_list(link_info.output_bfd,&link_info);\n              if (piVar13 != (int *)0x0) {\n                do {\n                  bVar25 = true;\n                  pcVar12 = gldelf32lriscv_ilp32f_add_sysroot((char *)piVar13[2]);\n                  bVar3 = false;\n                  if ((bfd *)piVar13[1] == pbVar2->by) {\n                    bVar11 = gldelf32lriscv_ilp32f_search_needed(pcVar12,&n,(int)local_60);\n                    bVar25 = bVar11 == 0;\n                    bVar3 = !bVar25;\n                  }\n                  free(pcVar12);\n                  piVar13 = (int *)*piVar13;\n                } while ((piVar13 != (int *)0x0) && (bVar25));\n                if (bVar3) break;\n              }\n              pcVar12 = ld_so_conf_13460;\n              if (initialized_13459 == 0) {\n                needed.by = (bfd *)0x0;\n                needed.name = (char *)0x0;\n                pcVar12 = (char *)concat(ld_sysroot,"/usr/etc/ld.so.conf",0);\n                bVar11 = gldelf32lriscv_ilp32f_parse_ld_so_conf\n                                   ((gldelf32lriscv_ilp32f_ld_so_conf *)&needed,pcVar12);\n                if (bVar11 == 0) {\n                  free(pcVar12);\n                  pcVar12 = (char *)concat(ld_sysroot,"/etc/ld.so.conf",0);\n                  gldelf32lriscv_ilp32f_parse_ld_so_conf\n                            ((gldelf32lriscv_ilp32f_ld_so_conf *)&needed,pcVar12);\n                }\n                free(pcVar12);\n                pcVar12 = ld_so_conf_13460;\n                if (needed.by != (bfd *)0x0) {\n                  pcVar12 = gldelf32lriscv_ilp32f_add_sysroot((char *)needed.by);\n                  ld_so_conf_13460 = pcVar12;\n                  free(needed.by);\n                }\n                initialized_13459 = 1;\n              }\n              pcVar16 = pbVar2->name;\n              if (pcVar12 != (char *)0x0) {\n                needed.by = pbVar2->by;\n                needed.name = pcVar16;\n                bVar11 = gldelf32lriscv_ilp32f_search_needed(pcVar12,&needed,(int)local_60);\n                if (bVar11 != 0) break;\n                pcVar16 = pbVar2->name;\n              }\n              sVar14 = strlen(pcVar16);\n              if (search_head != (search_dirs_type *)0x0) {\n                psVar21 = search_head;\n                do {\n                  if (psVar21->cmdline == 0) {\n                    sVar15 = strlen(psVar21->name);\n                    pcVar12 = (char *)xmalloc(sVar15 + sVar14 + 2);\n                    sprintf(pcVar12,"%s/%s",psVar21->name,pbVar2->name);\n                    nn.name = pcVar12;\n                    bVar11 = gldelf32lriscv_ilp32f_try_needed(&nn,(int)pcVar12,local_60);\n                    if (bVar11 != 0) goto LAB_0004ae88;\n                    free(pcVar12);\n                  }\n                  psVar21 = psVar21->next;\n                } while (psVar21 != (search_dirs *)0x0);\n              }\n              if (local_60 == (dt_needed *)0x1) {\n                pbVar20 = pbVar2->by;\n                pcVar12 = pbVar2->name;\n                pcVar16 = (char *)dcgettext(0,\n                                            "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                            ,5);\n                einfo(pcVar16,pcVar12,pbVar20);\n                break;\n              }\n              local_60 = (dt_needed *)0x1;\n            }\n          }\n        }\nLAB_0004ae88:\n      }\n      if (((link_info._3_1_ & 0xc0) == 0x80) &&\n         (iVar10 = bfd_elf_parse_eh_frame_entries(0,&link_info), iVar10 == 0)) {\n        pcVar12 = (char *)dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);\n        einfo(pcVar12);\n      }\n    }\n  }\n  return;\n}\n\n" comment comment (function_definition "void gldelf32lriscv_ilp32f_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  asection *paVar7;\n  bfd_link_needed_list *pbVar8;\n  uint uVar9;\n  int iVar10;\n  bfd_boolean bVar11;\n  char *pcVar12;\n  int *piVar13;\n  size_t sVar14;\n  size_t sVar15;\n  char *pcVar16;\n  bfd_link_hash_entry *pbVar17;\n  bfd *pbVar18;\n  bfd_section *pbVar19;\n  bfd *pbVar20;\n  search_dirs *psVar21;\n  byte *pbVar22;\n  byte *pbVar23;\n  bool bVar24;\n  bool bVar25;\n  bool bVar26;\n  byte bVar27;\n  bfd_size_type 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  bVar27 = 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      pcVar12 = command_line.out_implib_filename;\n      if (link_info.out_implib_bfd == (bfd *)0x0) {\n        pcVar16 = (char *)dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);\n        einfo(pcVar16,pcVar12);\n      }\n    }\n    pbVar18 = link_info.output_bfd;\n    pbVar20 = link_info.input_bfds;\n    if (emit_note_gnu_build_id != (char *)0x0) {\n      for (; pbVar20 != (bfd *)0x0; pbVar20 = (pbVar20->link).next) {\n        if (((pbVar20->xvec->flavour == bfd_target_elf_flavour) && (pbVar20->section_count != 0)) &&\n           ((*(byte *)((int)pbVar20->usrdata + 0x24) & 0x10) == 0)) {\n          bVar28 = compute_build_id_size(emit_note_gnu_build_id);\n          if ((bVar28 == 0) || (bVar28 + 0x10 == 0)) {\n            pcVar12 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            paVar7 = (asection *)\n                     bfd_make_section_with_flags\n                               (pbVar20,".note.gnu.build-id",\n                                "ttributes)) }\n  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }\n}\n\n"\n                               );\n            if (paVar7 != (asection *)0x0) {\n              paVar7->alignment_power = 2;\n              pbVar18 = 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              pcVar12 = emit_note_gnu_build_id;\n              (poVar1->build_id).sec = paVar7;\n              (poVar1->build_id).style = pcVar12;\n              *(undefined4 *)((int)paVar7->used_by_bfd + 4) = 7;\n              paVar7->size = bVar28 + 0x10;\n              goto LAB_0004ad04;\n            }\n            pcVar12 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          pcVar12 = (char *)dcgettext(0,pcVar12,5);\n          einfo(pcVar12);\n          break;\n        }\n      }\n      free(emit_note_gnu_build_id);\n      emit_note_gnu_build_id = (char *)0x0;\n      pbVar18 = link_info.output_bfd;\n    }\nLAB_0004ad04:\n    (**(code **)((int)pbVar18->xvec->backend_data + 0x1d0))(&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        pbVar20 = link_info.input_bfds;\n        do {\n          while ((*(byte *)((int)pbVar20->usrdata + 0x24) & 0x10) != 0) {\nLAB_0004b160:\n            pbVar20 = (pbVar20->link).next;\n            if (pbVar20 == (bfd *)0x0) goto LAB_0004b267;\n          }\n          pbVar19 = pbVar20->sections;\n          if (pbVar19 == (bfd_section *)0x0) {\nLAB_0004b231:\n            if (local_50 != 2) goto LAB_0004b160;\n          }\n          else {\n            local_60 = (dt_needed *)0x0;\n            do {\n              bVar25 = pbVar19->output_section <\n                       (bfd_section *)(PTR__bfd_std_section_0013bfc4 + 0x180);\n              bVar26 = pbVar19->output_section ==\n                       (bfd_section *)(PTR__bfd_std_section_0013bfc4 + 0x180);\n              pdVar6 = local_60;\n              if (!bVar26) {\n                iVar10 = 0xf;\n                pbVar22 = (byte *)pbVar19->name;\n                pbVar23 = (byte *)".eh_frame_entry";\n                do {\n                  if (iVar10 == 0) break;\n                  iVar10 = iVar10 + -1;\n                  bVar25 = *pbVar22 < *pbVar23;\n                  bVar26 = *pbVar22 == *pbVar23;\n                  pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  pbVar23 = pbVar23 + (uint)bVar27 * -2 + 1;\n                } while (bVar26);\n                bVar24 = false;\n                bVar25 = (!bVar25 && !bVar26) == bVar25;\n                if (bVar25) {\n                  local_60 = (dt_needed *)0x2;\n                  goto LAB_0004b209;\n                }\n                iVar10 = 10;\n                pbVar22 = (byte *)pbVar19->name;\n                pbVar23 = (byte *)".eh_frame";\n                do {\n                  if (iVar10 == 0) break;\n                  iVar10 = iVar10 + -1;\n                  bVar24 = *pbVar22 < *pbVar23;\n                  bVar25 = *pbVar22 == *pbVar23;\n                  pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  pbVar23 = pbVar23 + (uint)bVar27 * -2 + 1;\n                } while (bVar25);\n                if (((!bVar24 && !bVar25) == bVar24) &&\n                   (piVar13 = (int *)((int)&pbVar19->size + 4), pdVar6 = (dt_needed *)1,\n                   *piVar13 == 0 && (uint)(8 < (uint)pbVar19->size) <= (uint)-*piVar13)) {\n                  pdVar6 = local_60;\n                }\n              }\n              local_60 = pdVar6;\n              pbVar19 = pbVar19->next;\n            } while (pbVar19 != (bfd_section *)0x0);\n            if (local_60 == (dt_needed *)0x0) goto LAB_0004b231;\nLAB_0004b209:\n            if ((local_50 != 0) && ((dt_needed *)local_50 != local_60)) {\n              if (local_60 != (dt_needed *)0x1) {\n                pbVar20 = local_4c;\n              }\n              pcVar12 = (char *)dcgettext(0,\n                                          "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                          ,5);\n              einfo(pcVar12,pbVar20);\n              break;\n            }\n            local_50 = (int)local_60;\n            if (local_4c != (bfd *)0x0) goto LAB_0004b231;\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 (pbVar20->xvec->flavour == bfd_target_elf_flavour) {\n                  local_4c = pbVar20;\n                }\n              }\n              goto LAB_0004b160;\n            }\n            bVar3 = true;\n            if (pbVar20->xvec->flavour == bfd_target_elf_flavour) {\n              local_4c = pbVar20;\n            }\n          }\n          pbVar20 = (pbVar20->link).next;\n          local_50 = 2;\n          link_info._2_2_ = link_info._2_2_ & 0x3fff | 0x8000;\n        } while (pbVar20 != (bfd *)0x0);\nLAB_0004b267:\n        if ((local_4c == (bfd *)0x0) ||\n           (pbVar17 = (bfd_link_hash_entry *)\n                      bfd_make_section_with_flags\n                                (local_4c,".eh_frame_hdr",\n                                 *(uint *)((int)local_4c->xvec->backend_data + 0x30) | 8),\n           pbVar17 == (bfd_link_hash_entry *)0x0)) {\n          if (bVar3) {\n            pcVar12 = (char *)dcgettext(0,\n                                        "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                                        ,5);\n            einfo(pcVar12);\n          }\n        }\n        else {\n          pbVar17[2].u.i.warning = (char *)0x2;\n          pbVar5[4].undefs_tail = pbVar17;\n        }\n      }\n      pbVar8 = (bfd_link_needed_list *)bfd_elf_get_needed_list(link_info.output_bfd,&link_info);\n      for (pbVar2 = pbVar8; pbVar2 != (bfd_link_needed_list *)0x0; pbVar2 = pbVar2->next) {\n        pbVar4 = pbVar8;\n        if ((pbVar2->by == (bfd *)0x0) ||\n           ((uVar9 = bfd_elf_get_dyn_lib_class(pbVar2->by), (uVar9 & 1) == 0 &&\n            (((pbVar2->by == (bfd *)0x0 || ((link_info._2_2_ & 0x180) != 0x80)) ||\n             (uVar9 = bfd_elf_get_dyn_lib_class(pbVar2->by), (uVar9 & 4) == 0)))))) {\n          for (; pbVar4 != pbVar2; pbVar4 = pbVar4->next) {\n            if (((pbVar4->by == (bfd *)0x0) ||\n                (uVar9 = bfd_elf_get_dyn_lib_class(pbVar4->by), (uVar9 & 1) == 0)) &&\n               (iVar10 = strcmp(pbVar4->name,pbVar2->name), iVar10 == 0)) {\n              if (pbVar2 != pbVar4) goto LAB_0004ae88;\n              break;\n            }\n          }\n          global_found = (lang_input_statement_type *)0x0;\n          global_needed = pbVar2;\n          lang_for_each_input_file(gldelf32lriscv_ilp32f_check_needed);\n          if ((global_found == (lang_input_statement_type *)0x0) ||\n             (uVar9 = bfd_elf_get_dyn_lib_class(global_found->the_bfd), (uVar9 & 1) != 0)) {\n            pbVar20 = pbVar2->by;\n            pcVar12 = pbVar2->name;\n            n.by = pbVar20;\n            n.name = pcVar12;\n            nn.by = pbVar20;\n            if (verbose != 0) {\n              pcVar16 = (char *)dcgettext(0,"%s needed by %pB\n",5);\n              info_msg(pcVar16,pcVar12,pbVar20);\n            }\n            if (global_found != (lang_input_statement_type *)0x0) {\n              nn.name = global_found->filename;\n              bVar11 = gldelf32lriscv_ilp32f_try_needed(&nn,(int)nn.name,(dt_needed *)0x1);\n              if (bVar11 != 0) goto LAB_0004ae88;\n            }\n            local_60 = (dt_needed *)0x0;\n            while (bVar11 = gldelf32lriscv_ilp32f_search_needed\n                                      (command_line.rpath_link,&n,(int)local_60), bVar11 == 0) {\n              if (command_line.rpath != (char *)0x0) {\n                pcVar12 = gldelf32lriscv_ilp32f_add_sysroot(command_line.rpath);\n                bVar11 = gldelf32lriscv_ilp32f_search_needed(pcVar12,&n,(int)local_60);\n                free(pcVar12);\n                if (bVar11 != 0) break;\n              }\n              piVar13 = (int *)bfd_elf_get_runpath_list(link_info.output_bfd,&link_info);\n              if (piVar13 != (int *)0x0) {\n                do {\n                  bVar25 = true;\n                  pcVar12 = gldelf32lriscv_ilp32f_add_sysroot((char *)piVar13[2]);\n                  bVar3 = false;\n                  if ((bfd *)piVar13[1] == pbVar2->by) {\n                    bVar11 = gldelf32lriscv_ilp32f_search_needed(pcVar12,&n,(int)local_60);\n                    bVar25 = bVar11 == 0;\n                    bVar3 = !bVar25;\n                  }\n                  free(pcVar12);\n                  piVar13 = (int *)*piVar13;\n                } while ((piVar13 != (int *)0x0) && (bVar25));\n                if (bVar3) break;\n              }\n              pcVar12 = ld_so_conf_13460;\n              if (initialized_13459 == 0) {\n                needed.by = (bfd *)0x0;\n                needed.name = (char *)0x0;\n                pcVar12 = (char *)concat(ld_sysroot,"/usr/etc/ld.so.conf",0);\n                bVar11 = gldelf32lriscv_ilp32f_parse_ld_so_conf\n                                   ((gldelf32lriscv_ilp32f_ld_so_conf *)&needed,pcVar12);\n                if (bVar11 == 0) {\n                  free(pcVar12);\n                  pcVar12 = (char *)concat(ld_sysroot,"/etc/ld.so.conf",0);\n                  gldelf32lriscv_ilp32f_parse_ld_so_conf\n                            ((gldelf32lriscv_ilp32f_ld_so_conf *)&needed,pcVar12);\n                }\n                free(pcVar12);\n                pcVar12 = ld_so_conf_13460;\n                if (needed.by != (bfd *)0x0) {\n                  pcVar12 = gldelf32lriscv_ilp32f_add_sysroot((char *)needed.by);\n                  ld_so_conf_13460 = pcVar12;\n                  free(needed.by);\n                }\n                initialized_13459 = 1;\n              }\n              pcVar16 = pbVar2->name;\n              if (pcVar12 != (char *)0x0) {\n                needed.by = pbVar2->by;\n                needed.name = pcVar16;\n                bVar11 = gldelf32lriscv_ilp32f_search_needed(pcVar12,&needed,(int)local_60);\n                if (bVar11 != 0) break;\n                pcVar16 = pbVar2->name;\n              }\n              sVar14 = strlen(pcVar16);\n              if (search_head != (search_dirs_type *)0x0) {\n                psVar21 = search_head;\n                do {\n                  if (psVar21->cmdline == 0) {\n                    sVar15 = strlen(psVar21->name);\n                    pcVar12 = (char *)xmalloc(sVar15 + sVar14 + 2);\n                    sprintf(pcVar12,"%s/%s",psVar21->name,pbVar2->name);\n                    nn.name = pcVar12;\n                    bVar11 = gldelf32lriscv_ilp32f_try_needed(&nn,(int)pcVar12,local_60);\n                    if (bVar11 != 0) goto LAB_0004ae88;\n                    free(pcVar12);\n                  }\n                  psVar21 = psVar21->next;\n                } while (psVar21 != (search_dirs *)0x0);\n              }\n              if (local_60 == (dt_needed *)0x1) {\n                pbVar20 = pbVar2->by;\n                pcVar12 = pbVar2->name;\n                pcVar16 = (char *)dcgettext(0,\n                                            "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                            ,5);\n                einfo(pcVar16,pcVar12,pbVar20);\n                break;\n              }\n              local_60 = (dt_needed *)0x1;\n            }\n          }\n        }\nLAB_0004ae88:\n      }\n      if (((link_info._3_1_ & 0xc0) == 0x80) &&\n         (iVar10 = bfd_elf_parse_eh_frame_entries(0,&link_info), iVar10 == 0)) {\n        pcVar12 = (char *)dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);\n        einfo(pcVar12);\n      }\n    }\n  }\n  return;\n}" primitive_type (function_declarator "gldelf32lriscv_ilp32f_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  asection *paVar7;\n  bfd_link_needed_list *pbVar8;\n  uint uVar9;\n  int iVar10;\n  bfd_boolean bVar11;\n  char *pcVar12;\n  int *piVar13;\n  size_t sVar14;\n  size_t sVar15;\n  char *pcVar16;\n  bfd_link_hash_entry *pbVar17;\n  bfd *pbVar18;\n  bfd_section *pbVar19;\n  bfd *pbVar20;\n  search_dirs *psVar21;\n  byte *pbVar22;\n  byte *pbVar23;\n  bool bVar24;\n  bool bVar25;\n  bool bVar26;\n  byte bVar27;\n  bfd_size_type 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  bVar27 = 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      pcVar12 = command_line.out_implib_filename;\n      if (link_info.out_implib_bfd == (bfd *)0x0) {\n        pcVar16 = (char *)dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);\n        einfo(pcVar16,pcVar12);\n      }\n    }\n    pbVar18 = link_info.output_bfd;\n    pbVar20 = link_info.input_bfds;\n    if (emit_note_gnu_build_id != (char *)0x0) {\n      for (; pbVar20 != (bfd *)0x0; pbVar20 = (pbVar20->link).next) {\n        if (((pbVar20->xvec->flavour == bfd_target_elf_flavour) && (pbVar20->section_count != 0)) &&\n           ((*(byte *)((int)pbVar20->usrdata + 0x24) & 0x10) == 0)) {\n          bVar28 = compute_build_id_size(emit_note_gnu_build_id);\n          if ((bVar28 == 0) || (bVar28 + 0x10 == 0)) {\n            pcVar12 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            paVar7 = (asection *)\n                     bfd_make_section_with_flags\n                               (pbVar20,".note.gnu.build-id",\n                                "ttributes)) }\n  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }\n}\n\n"\n                               );\n            if (paVar7 != (asection *)0x0) {\n              paVar7->alignment_power = 2;\n              pbVar18 = 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              pcVar12 = emit_note_gnu_build_id;\n              (poVar1->build_id).sec = paVar7;\n              (poVar1->build_id).style = pcVar12;\n              *(undefined4 *)((int)paVar7->used_by_bfd + 4) = 7;\n              paVar7->size = bVar28 + 0x10;\n              goto LAB_0004ad04;\n            }\n            pcVar12 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          pcVar12 = (char *)dcgettext(0,pcVar12,5);\n          einfo(pcVar12);\n          break;\n        }\n      }\n      free(emit_note_gnu_build_id);\n      emit_note_gnu_build_id = (char *)0x0;\n      pbVar18 = link_info.output_bfd;\n    }\nLAB_0004ad04:\n    (**(code **)((int)pbVar18->xvec->backend_data + 0x1d0))(&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        pbVar20 = link_info.input_bfds;\n        do {\n          while ((*(byte *)((int)pbVar20->usrdata + 0x24) & 0x10) != 0) {\nLAB_0004b160:\n            pbVar20 = (pbVar20->link).next;\n            if (pbVar20 == (bfd *)0x0) goto LAB_0004b267;\n          }\n          pbVar19 = pbVar20->sections;\n          if (pbVar19 == (bfd_section *)0x0) {\nLAB_0004b231:\n            if (local_50 != 2) goto LAB_0004b160;\n          }\n          else {\n            local_60 = (dt_needed *)0x0;\n            do {\n              bVar25 = pbVar19->output_section <\n                       (bfd_section *)(PTR__bfd_std_section_0013bfc4 + 0x180);\n              bVar26 = pbVar19->output_section ==\n                       (bfd_section *)(PTR__bfd_std_section_0013bfc4 + 0x180);\n              pdVar6 = local_60;\n              if (!bVar26) {\n                iVar10 = 0xf;\n                pbVar22 = (byte *)pbVar19->name;\n                pbVar23 = (byte *)".eh_frame_entry";\n                do {\n                  if (iVar10 == 0) break;\n                  iVar10 = iVar10 + -1;\n                  bVar25 = *pbVar22 < *pbVar23;\n                  bVar26 = *pbVar22 == *pbVar23;\n                  pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  pbVar23 = pbVar23 + (uint)bVar27 * -2 + 1;\n                } while (bVar26);\n                bVar24 = false;\n                bVar25 = (!bVar25 && !bVar26) == bVar25;\n                if (bVar25) {\n                  local_60 = (dt_needed *)0x2;\n                  goto LAB_0004b209;\n                }\n                iVar10 = 10;\n                pbVar22 = (byte *)pbVar19->name;\n                pbVar23 = (byte *)".eh_frame";\n                do {\n                  if (iVar10 == 0) break;\n                  iVar10 = iVar10 + -1;\n                  bVar24 = *pbVar22 < *pbVar23;\n                  bVar25 = *pbVar22 == *pbVar23;\n                  pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  pbVar23 = pbVar23 + (uint)bVar27 * -2 + 1;\n                } while (bVar25);\n                if (((!bVar24 && !bVar25) == bVar24) &&\n                   (piVar13 = (int *)((int)&pbVar19->size + 4), pdVar6 = (dt_needed *)1,\n                   *piVar13 == 0 && (uint)(8 < (uint)pbVar19->size) <= (uint)-*piVar13)) {\n                  pdVar6 = local_60;\n                }\n              }\n              local_60 = pdVar6;\n              pbVar19 = pbVar19->next;\n            } while (pbVar19 != (bfd_section *)0x0);\n            if (local_60 == (dt_needed *)0x0) goto LAB_0004b231;\nLAB_0004b209:\n            if ((local_50 != 0) && ((dt_needed *)local_50 != local_60)) {\n              if (local_60 != (dt_needed *)0x1) {\n                pbVar20 = local_4c;\n              }\n              pcVar12 = (char *)dcgettext(0,\n                                          "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                          ,5);\n              einfo(pcVar12,pbVar20);\n              break;\n            }\n            local_50 = (int)local_60;\n            if (local_4c != (bfd *)0x0) goto LAB_0004b231;\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 (pbVar20->xvec->flavour == bfd_target_elf_flavour) {\n                  local_4c = pbVar20;\n                }\n              }\n              goto LAB_0004b160;\n            }\n            bVar3 = true;\n            if (pbVar20->xvec->flavour == bfd_target_elf_flavour) {\n              local_4c = pbVar20;\n            }\n          }\n          pbVar20 = (pbVar20->link).next;\n          local_50 = 2;\n          link_info._2_2_ = link_info._2_2_ & 0x3fff | 0x8000;\n        } while (pbVar20 != (bfd *)0x0);\nLAB_0004b267:\n        if ((local_4c == (bfd *)0x0) ||\n           (pbVar17 = (bfd_link_hash_entry *)\n                      bfd_make_section_with_flags\n                                (local_4c,".eh_frame_hdr",\n                                 *(uint *)((int)local_4c->xvec->backend_data + 0x30) | 8),\n           pbVar17 == (bfd_link_hash_entry *)0x0)) {\n          if (bVar3) {\n            pcVar12 = (char *)dcgettext(0,\n                                        "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                                        ,5);\n            einfo(pcVar12);\n          }\n        }\n        else {\n          pbVar17[2].u.i.warning = (char *)0x2;\n          pbVar5[4].undefs_tail = pbVar17;\n        }\n      }\n      pbVar8 = (bfd_link_needed_list *)bfd_elf_get_needed_list(link_info.output_bfd,&link_info);\n      for (pbVar2 = pbVar8; pbVar2 != (bfd_link_needed_list *)0x0; pbVar2 = pbVar2->next) {\n        pbVar4 = pbVar8;\n        if ((pbVar2->by == (bfd *)0x0) ||\n           ((uVar9 = bfd_elf_get_dyn_lib_class(pbVar2->by), (uVar9 & 1) == 0 &&\n            (((pbVar2->by == (bfd *)0x0 || ((link_info._2_2_ & 0x180) != 0x80)) ||\n             (uVar9 = bfd_elf_get_dyn_lib_class(pbVar2->by), (uVar9 & 4) == 0)))))) {\n          for (; pbVar4 != pbVar2; pbVar4 = pbVar4->next) {\n            if (((pbVar4->by == (bfd *)0x0) ||\n                (uVar9 = bfd_elf_get_dyn_lib_class(pbVar4->by), (uVar9 & 1) == 0)) &&\n               (iVar10 = strcmp(pbVar4->name,pbVar2->name), iVar10 == 0)) {\n              if (pbVar2 != pbVar4) goto LAB_0004ae88;\n              break;\n            }\n          }\n          global_found = (lang_input_statement_type *)0x0;\n          global_needed = pbVar2;\n          lang_for_each_input_file(gldelf32lriscv_ilp32f_check_needed);\n          if ((global_found == (lang_input_statement_type *)0x0) ||\n             (uVar9 = bfd_elf_get_dyn_lib_class(global_found->the_bfd), (uVar9 & 1) != 0)) {\n            pbVar20 = pbVar2->by;\n            pcVar12 = pbVar2->name;\n            n.by = pbVar20;\n            n.name = pcVar12;\n            nn.by = pbVar20;\n            if (verbose != 0) {\n              pcVar16 = (char *)dcgettext(0,"%s needed by %pB\n",5);\n              info_msg(pcVar16,pcVar12,pbVar20);\n            }\n            if (global_found != (lang_input_statement_type *)0x0) {\n              nn.name = global_found->filename;\n              bVar11 = gldelf32lriscv_ilp32f_try_needed(&nn,(int)nn.name,(dt_needed *)0x1);\n              if (bVar11 != 0) goto LAB_0004ae88;\n            }\n            local_60 = (dt_needed *)0x0;\n            while (bVar11 = gldelf32lriscv_ilp32f_search_needed\n                                      (command_line.rpath_link,&n,(int)local_60), bVar11 == 0) {\n              if (command_line.rpath != (char *)0x0) {\n                pcVar12 = gldelf32lriscv_ilp32f_add_sysroot(command_line.rpath);\n                bVar11 = gldelf32lriscv_ilp32f_search_needed(pcVar12,&n,(int)local_60);\n                free(pcVar12);\n                if (bVar11 != 0) break;\n              }\n              piVar13 = (int *)bfd_elf_get_runpath_list(link_info.output_bfd,&link_info);\n              if (piVar13 != (int *)0x0) {\n                do {\n                  bVar25 = true;\n                  pcVar12 = gldelf32lriscv_ilp32f_add_sysroot((char *)piVar13[2]);\n                  bVar3 = false;\n                  if ((bfd *)piVar13[1] == pbVar2->by) {\n                    bVar11 = gldelf32lriscv_ilp32f_search_needed(pcVar12,&n,(int)local_60);\n                    bVar25 = bVar11 == 0;\n                    bVar3 = !bVar25;\n                  }\n                  free(pcVar12);\n                  piVar13 = (int *)*piVar13;\n                } while ((piVar13 != (int *)0x0) && (bVar25));\n                if (bVar3) break;\n              }\n              pcVar12 = ld_so_conf_13460;\n              if (initialized_13459 == 0) {\n                needed.by = (bfd *)0x0;\n                needed.name = (char *)0x0;\n                pcVar12 = (char *)concat(ld_sysroot,"/usr/etc/ld.so.conf",0);\n                bVar11 = gldelf32lriscv_ilp32f_parse_ld_so_conf\n                                   ((gldelf32lriscv_ilp32f_ld_so_conf *)&needed,pcVar12);\n                if (bVar11 == 0) {\n                  free(pcVar12);\n                  pcVar12 = (char *)concat(ld_sysroot,"/etc/ld.so.conf",0);\n                  gldelf32lriscv_ilp32f_parse_ld_so_conf\n                            ((gldelf32lriscv_ilp32f_ld_so_conf *)&needed,pcVar12);\n                }\n                free(pcVar12);\n                pcVar12 = ld_so_conf_13460;\n                if (needed.by != (bfd *)0x0) {\n                  pcVar12 = gldelf32lriscv_ilp32f_add_sysroot((char *)needed.by);\n                  ld_so_conf_13460 = pcVar12;\n                  free(needed.by);\n                }\n                initialized_13459 = 1;\n              }\n              pcVar16 = pbVar2->name;\n              if (pcVar12 != (char *)0x0) {\n                needed.by = pbVar2->by;\n                needed.name = pcVar16;\n                bVar11 = gldelf32lriscv_ilp32f_search_needed(pcVar12,&needed,(int)local_60);\n                if (bVar11 != 0) break;\n                pcVar16 = pbVar2->name;\n              }\n              sVar14 = strlen(pcVar16);\n              if (search_head != (search_dirs_type *)0x0) {\n                psVar21 = search_head;\n                do {\n                  if (psVar21->cmdline == 0) {\n                    sVar15 = strlen(psVar21->name);\n                    pcVar12 = (char *)xmalloc(sVar15 + sVar14 + 2);\n                    sprintf(pcVar12,"%s/%s",psVar21->name,pbVar2->name);\n                    nn.name = pcVar12;\n                    bVar11 = gldelf32lriscv_ilp32f_try_needed(&nn,(int)pcVar12,local_60);\n                    if (bVar11 != 0) goto LAB_0004ae88;\n                    free(pcVar12);\n                  }\n                  psVar21 = psVar21->next;\n                } while (psVar21 != (search_dirs *)0x0);\n              }\n              if (local_60 == (dt_needed *)0x1) {\n                pbVar20 = pbVar2->by;\n                pcVar12 = pbVar2->name;\n                pcVar16 = (char *)dcgettext(0,\n                                            "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                            ,5);\n                einfo(pcVar16,pcVar12,pbVar20);\n                break;\n              }\n              local_60 = (dt_needed *)0x1;\n            }\n          }\n        }\nLAB_0004ae88:\n      }\n      if (((link_info._3_1_ & 0xc0) == 0x80) &&\n         (iVar10 = bfd_elf_parse_eh_frame_entries(0,&link_info), iVar10 == 0)) {\n        pcVar12 = (char *)dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);\n        einfo(pcVar12);\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 "asection *paVar7;" type_identifier (pointer_declarator "*paVar7" * identifier) ;) (declaration "bfd_link_needed_list *pbVar8;" type_identifier (pointer_declarator "*pbVar8" * identifier) ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "bfd_boolean bVar11;" type_identifier identifier ;) (declaration "char *pcVar12;" primitive_type (pointer_declarator "*pcVar12" * identifier) ;) (declaration "int *piVar13;" primitive_type (pointer_declarator "*piVar13" * identifier) ;) (declaration "size_t sVar14;" primitive_type identifier ;) (declaration "size_t sVar15;" primitive_type identifier ;) (declaration "char *pcVar16;" primitive_type (pointer_declarator "*pcVar16" * identifier) ;) (declaration "bfd_link_hash_entry *pbVar17;" type_identifier (pointer_declarator "*pbVar17" * identifier) ;) (declaration "bfd *pbVar18;" type_identifier (pointer_declarator "*pbVar18" * identifier) ;) (declaration "bfd_section *pbVar19;" type_identifier (pointer_declarator "*pbVar19" * identifier) ;) (declaration "bfd *pbVar20;" type_identifier (pointer_declarator "*pbVar20" * identifier) ;) (declaration "search_dirs *psVar21;" type_identifier (pointer_declarator "*psVar21" * identifier) ;) (declaration "byte *pbVar22;" type_identifier (pointer_declarator "*pbVar22" * identifier) ;) (declaration "byte *pbVar23;" type_identifier (pointer_declarator "*pbVar23" * identifier) ;) (declaration "bool bVar24;" primitive_type identifier ;) (declaration "bool bVar25;" primitive_type identifier ;) (declaration "bool bVar26;" primitive_type identifier ;) (declaration "byte bVar27;" type_identifier identifier ;) (declaration "bfd_size_type 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 "bVar27 = 0;" (assignment_expression "bVar27 = 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      pcVar12 = command_line.out_implib_filename;\n      if (link_info.out_implib_bfd == (bfd *)0x0) {\n        pcVar16 = (char *)dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);\n        einfo(pcVar16,pcVar12);\n      }\n    }\n    pbVar18 = link_info.output_bfd;\n    pbVar20 = link_info.input_bfds;\n    if (emit_note_gnu_build_id != (char *)0x0) {\n      for (; pbVar20 != (bfd *)0x0; pbVar20 = (pbVar20->link).next) {\n        if (((pbVar20->xvec->flavour == bfd_target_elf_flavour) && (pbVar20->section_count != 0)) &&\n           ((*(byte *)((int)pbVar20->usrdata + 0x24) & 0x10) == 0)) {\n          bVar28 = compute_build_id_size(emit_note_gnu_build_id);\n          if ((bVar28 == 0) || (bVar28 + 0x10 == 0)) {\n            pcVar12 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            paVar7 = (asection *)\n                     bfd_make_section_with_flags\n                               (pbVar20,".note.gnu.build-id",\n                                "ttributes)) }\n  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }\n}\n\n"\n                               );\n            if (paVar7 != (asection *)0x0) {\n              paVar7->alignment_power = 2;\n              pbVar18 = 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              pcVar12 = emit_note_gnu_build_id;\n              (poVar1->build_id).sec = paVar7;\n              (poVar1->build_id).style = pcVar12;\n              *(undefined4 *)((int)paVar7->used_by_bfd + 4) = 7;\n              paVar7->size = bVar28 + 0x10;\n              goto LAB_0004ad04;\n            }\n            pcVar12 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          pcVar12 = (char *)dcgettext(0,pcVar12,5);\n          einfo(pcVar12);\n          break;\n        }\n      }\n      free(emit_note_gnu_build_id);\n      emit_note_gnu_build_id = (char *)0x0;\n      pbVar18 = link_info.output_bfd;\n    }\nLAB_0004ad04:\n    (**(code **)((int)pbVar18->xvec->backend_data + 0x1d0))(&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        pbVar20 = link_info.input_bfds;\n        do {\n          while ((*(byte *)((int)pbVar20->usrdata + 0x24) & 0x10) != 0) {\nLAB_0004b160:\n            pbVar20 = (pbVar20->link).next;\n            if (pbVar20 == (bfd *)0x0) goto LAB_0004b267;\n          }\n          pbVar19 = pbVar20->sections;\n          if (pbVar19 == (bfd_section *)0x0) {\nLAB_0004b231:\n            if (local_50 != 2) goto LAB_0004b160;\n          }\n          else {\n            local_60 = (dt_needed *)0x0;\n            do {\n              bVar25 = pbVar19->output_section <\n                       (bfd_section *)(PTR__bfd_std_section_0013bfc4 + 0x180);\n              bVar26 = pbVar19->output_section ==\n                       (bfd_section *)(PTR__bfd_std_section_0013bfc4 + 0x180);\n              pdVar6 = local_60;\n              if (!bVar26) {\n                iVar10 = 0xf;\n                pbVar22 = (byte *)pbVar19->name;\n                pbVar23 = (byte *)".eh_frame_entry";\n                do {\n                  if (iVar10 == 0) break;\n                  iVar10 = iVar10 + -1;\n                  bVar25 = *pbVar22 < *pbVar23;\n                  bVar26 = *pbVar22 == *pbVar23;\n                  pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  pbVar23 = pbVar23 + (uint)bVar27 * -2 + 1;\n                } while (bVar26);\n                bVar24 = false;\n                bVar25 = (!bVar25 && !bVar26) == bVar25;\n                if (bVar25) {\n                  local_60 = (dt_needed *)0x2;\n                  goto LAB_0004b209;\n                }\n                iVar10 = 10;\n                pbVar22 = (byte *)pbVar19->name;\n                pbVar23 = (byte *)".eh_frame";\n                do {\n                  if (iVar10 == 0) break;\n                  iVar10 = iVar10 + -1;\n                  bVar24 = *pbVar22 < *pbVar23;\n                  bVar25 = *pbVar22 == *pbVar23;\n                  pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  pbVar23 = pbVar23 + (uint)bVar27 * -2 + 1;\n                } while (bVar25);\n                if (((!bVar24 && !bVar25) == bVar24) &&\n                   (piVar13 = (int *)((int)&pbVar19->size + 4), pdVar6 = (dt_needed *)1,\n                   *piVar13 == 0 && (uint)(8 < (uint)pbVar19->size) <= (uint)-*piVar13)) {\n                  pdVar6 = local_60;\n                }\n              }\n              local_60 = pdVar6;\n              pbVar19 = pbVar19->next;\n            } while (pbVar19 != (bfd_section *)0x0);\n            if (local_60 == (dt_needed *)0x0) goto LAB_0004b231;\nLAB_0004b209:\n            if ((local_50 != 0) && ((dt_needed *)local_50 != local_60)) {\n              if (local_60 != (dt_needed *)0x1) {\n                pbVar20 = local_4c;\n              }\n              pcVar12 = (char *)dcgettext(0,\n                                          "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                          ,5);\n              einfo(pcVar12,pbVar20);\n              break;\n            }\n            local_50 = (int)local_60;\n            if (local_4c != (bfd *)0x0) goto LAB_0004b231;\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 (pbVar20->xvec->flavour == bfd_target_elf_flavour) {\n                  local_4c = pbVar20;\n                }\n              }\n              goto LAB_0004b160;\n            }\n            bVar3 = true;\n            if (pbVar20->xvec->flavour == bfd_target_elf_flavour) {\n              local_4c = pbVar20;\n            }\n          }\n          pbVar20 = (pbVar20->link).next;\n          local_50 = 2;\n          link_info._2_2_ = link_info._2_2_ & 0x3fff | 0x8000;\n        } while (pbVar20 != (bfd *)0x0);\nLAB_0004b267:\n        if ((local_4c == (bfd *)0x0) ||\n           (pbVar17 = (bfd_link_hash_entry *)\n                      bfd_make_section_with_flags\n                                (local_4c,".eh_frame_hdr",\n                                 *(uint *)((int)local_4c->xvec->backend_data + 0x30) | 8),\n           pbVar17 == (bfd_link_hash_entry *)0x0)) {\n          if (bVar3) {\n            pcVar12 = (char *)dcgettext(0,\n                                        "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                                        ,5);\n            einfo(pcVar12);\n          }\n        }\n        else {\n          pbVar17[2].u.i.warning = (char *)0x2;\n          pbVar5[4].undefs_tail = pbVar17;\n        }\n      }\n      pbVar8 = (bfd_link_needed_list *)bfd_elf_get_needed_list(link_info.output_bfd,&link_info);\n      for (pbVar2 = pbVar8; pbVar2 != (bfd_link_needed_list *)0x0; pbVar2 = pbVar2->next) {\n        pbVar4 = pbVar8;\n        if ((pbVar2->by == (bfd *)0x0) ||\n           ((uVar9 = bfd_elf_get_dyn_lib_class(pbVar2->by), (uVar9 & 1) == 0 &&\n            (((pbVar2->by == (bfd *)0x0 || ((link_info._2_2_ & 0x180) != 0x80)) ||\n             (uVar9 = bfd_elf_get_dyn_lib_class(pbVar2->by), (uVar9 & 4) == 0)))))) {\n          for (; pbVar4 != pbVar2; pbVar4 = pbVar4->next) {\n            if (((pbVar4->by == (bfd *)0x0) ||\n                (uVar9 = bfd_elf_get_dyn_lib_class(pbVar4->by), (uVar9 & 1) == 0)) &&\n               (iVar10 = strcmp(pbVar4->name,pbVar2->name), iVar10 == 0)) {\n              if (pbVar2 != pbVar4) goto LAB_0004ae88;\n              break;\n            }\n          }\n          global_found = (lang_input_statement_type *)0x0;\n          global_needed = pbVar2;\n          lang_for_each_input_file(gldelf32lriscv_ilp32f_check_needed);\n          if ((global_found == (lang_input_statement_type *)0x0) ||\n             (uVar9 = bfd_elf_get_dyn_lib_class(global_found->the_bfd), (uVar9 & 1) != 0)) {\n            pbVar20 = pbVar2->by;\n            pcVar12 = pbVar2->name;\n            n.by = pbVar20;\n            n.name = pcVar12;\n            nn.by = pbVar20;\n            if (verbose != 0) {\n              pcVar16 = (char *)dcgettext(0,"%s needed by %pB\n",5);\n              info_msg(pcVar16,pcVar12,pbVar20);\n            }\n            if (global_found != (lang_input_statement_type *)0x0) {\n              nn.name = global_found->filename;\n              bVar11 = gldelf32lriscv_ilp32f_try_needed(&nn,(int)nn.name,(dt_needed *)0x1);\n              if (bVar11 != 0) goto LAB_0004ae88;\n            }\n            local_60 = (dt_needed *)0x0;\n            while (bVar11 = gldelf32lriscv_ilp32f_search_needed\n                                      (command_line.rpath_link,&n,(int)local_60), bVar11 == 0) {\n              if (command_line.rpath != (char *)0x0) {\n                pcVar12 = gldelf32lriscv_ilp32f_add_sysroot(command_line.rpath);\n                bVar11 = gldelf32lriscv_ilp32f_search_needed(pcVar12,&n,(int)local_60);\n                free(pcVar12);\n                if (bVar11 != 0) break;\n              }\n              piVar13 = (int *)bfd_elf_get_runpath_list(link_info.output_bfd,&link_info);\n              if (piVar13 != (int *)0x0) {\n                do {\n                  bVar25 = true;\n                  pcVar12 = gldelf32lriscv_ilp32f_add_sysroot((char *)piVar13[2]);\n                  bVar3 = false;\n                  if ((bfd *)piVar13[1] == pbVar2->by) {\n                    bVar11 = gldelf32lriscv_ilp32f_search_needed(pcVar12,&n,(int)local_60);\n                    bVar25 = bVar11 == 0;\n                    bVar3 = !bVar25;\n                  }\n                  free(pcVar12);\n                  piVar13 = (int *)*piVar13;\n                } while ((piVar13 != (int *)0x0) && (bVar25));\n                if (bVar3) break;\n              }\n              pcVar12 = ld_so_conf_13460;\n              if (initialized_13459 == 0) {\n                needed.by = (bfd *)0x0;\n                needed.name = (char *)0x0;\n                pcVar12 = (char *)concat(ld_sysroot,"/usr/etc/ld.so.conf",0);\n                bVar11 = gldelf32lriscv_ilp32f_parse_ld_so_conf\n                                   ((gldelf32lriscv_ilp32f_ld_so_conf *)&needed,pcVar12);\n                if (bVar11 == 0) {\n                  free(pcVar12);\n                  pcVar12 = (char *)concat(ld_sysroot,"/etc/ld.so.conf",0);\n                  gldelf32lriscv_ilp32f_parse_ld_so_conf\n                            ((gldelf32lriscv_ilp32f_ld_so_conf *)&needed,pcVar12);\n                }\n                free(pcVar12);\n                pcVar12 = ld_so_conf_13460;\n                if (needed.by != (bfd *)0x0) {\n                  pcVar12 = gldelf32lriscv_ilp32f_add_sysroot((char *)needed.by);\n                  ld_so_conf_13460 = pcVar12;\n                  free(needed.by);\n                }\n                initialized_13459 = 1;\n              }\n              pcVar16 = pbVar2->name;\n              if (pcVar12 != (char *)0x0) {\n                needed.by = pbVar2->by;\n                needed.name = pcVar16;\n                bVar11 = gldelf32lriscv_ilp32f_search_needed(pcVar12,&needed,(int)local_60);\n                if (bVar11 != 0) break;\n                pcVar16 = pbVar2->name;\n              }\n              sVar14 = strlen(pcVar16);\n              if (search_head != (search_dirs_type *)0x0) {\n                psVar21 = search_head;\n                do {\n                  if (psVar21->cmdline == 0) {\n                    sVar15 = strlen(psVar21->name);\n                    pcVar12 = (char *)xmalloc(sVar15 + sVar14 + 2);\n                    sprintf(pcVar12,"%s/%s",psVar21->name,pbVar2->name);\n                    nn.name = pcVar12;\n                    bVar11 = gldelf32lriscv_ilp32f_try_needed(&nn,(int)pcVar12,local_60);\n                    if (bVar11 != 0) goto LAB_0004ae88;\n                    free(pcVar12);\n                  }\n                  psVar21 = psVar21->next;\n                } while (psVar21 != (search_dirs *)0x0);\n              }\n              if (local_60 == (dt_needed *)0x1) {\n                pbVar20 = pbVar2->by;\n                pcVar12 = pbVar2->name;\n                pcVar16 = (char *)dcgettext(0,\n                                            "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                            ,5);\n                einfo(pcVar16,pcVar12,pbVar20);\n                break;\n              }\n              local_60 = (dt_needed *)0x1;\n            }\n          }\n        }\nLAB_0004ae88:\n      }\n      if (((link_info._3_1_ & 0xc0) == 0x80) &&\n         (iVar10 = bfd_elf_parse_eh_frame_entries(0,&link_info), iVar10 == 0)) {\n        pcVar12 = (char *)dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);\n        einfo(pcVar12);\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      pcVar12 = command_line.out_implib_filename;\n      if (link_info.out_implib_bfd == (bfd *)0x0) {\n        pcVar16 = (char *)dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);\n        einfo(pcVar16,pcVar12);\n      }\n    }\n    pbVar18 = link_info.output_bfd;\n    pbVar20 = link_info.input_bfds;\n    if (emit_note_gnu_build_id != (char *)0x0) {\n      for (; pbVar20 != (bfd *)0x0; pbVar20 = (pbVar20->link).next) {\n        if (((pbVar20->xvec->flavour == bfd_target_elf_flavour) && (pbVar20->section_count != 0)) &&\n           ((*(byte *)((int)pbVar20->usrdata + 0x24) & 0x10) == 0)) {\n          bVar28 = compute_build_id_size(emit_note_gnu_build_id);\n          if ((bVar28 == 0) || (bVar28 + 0x10 == 0)) {\n            pcVar12 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            paVar7 = (asection *)\n                     bfd_make_section_with_flags\n                               (pbVar20,".note.gnu.build-id",\n                                "ttributes)) }\n  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }\n}\n\n"\n                               );\n            if (paVar7 != (asection *)0x0) {\n              paVar7->alignment_power = 2;\n              pbVar18 = 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              pcVar12 = emit_note_gnu_build_id;\n              (poVar1->build_id).sec = paVar7;\n              (poVar1->build_id).style = pcVar12;\n              *(undefined4 *)((int)paVar7->used_by_bfd + 4) = 7;\n              paVar7->size = bVar28 + 0x10;\n              goto LAB_0004ad04;\n            }\n            pcVar12 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          pcVar12 = (char *)dcgettext(0,pcVar12,5);\n          einfo(pcVar12);\n          break;\n        }\n      }\n      free(emit_note_gnu_build_id);\n      emit_note_gnu_build_id = (char *)0x0;\n      pbVar18 = link_info.output_bfd;\n    }\nLAB_0004ad04:\n    (**(code **)((int)pbVar18->xvec->backend_data + 0x1d0))(&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        pbVar20 = link_info.input_bfds;\n        do {\n          while ((*(byte *)((int)pbVar20->usrdata + 0x24) & 0x10) != 0) {\nLAB_0004b160:\n            pbVar20 = (pbVar20->link).next;\n            if (pbVar20 == (bfd *)0x0) goto LAB_0004b267;\n          }\n          pbVar19 = pbVar20->sections;\n          if (pbVar19 == (bfd_section *)0x0) {\nLAB_0004b231:\n            if (local_50 != 2) goto LAB_0004b160;\n          }\n          else {\n            local_60 = (dt_needed *)0x0;\n            do {\n              bVar25 = pbVar19->output_section <\n                       (bfd_section *)(PTR__bfd_std_section_0013bfc4 + 0x180);\n              bVar26 = pbVar19->output_section ==\n                       (bfd_section *)(PTR__bfd_std_section_0013bfc4 + 0x180);\n              pdVar6 = local_60;\n              if (!bVar26) {\n                iVar10 = 0xf;\n                pbVar22 = (byte *)pbVar19->name;\n                pbVar23 = (byte *)".eh_frame_entry";\n                do {\n                  if (iVar10 == 0) break;\n                  iVar10 = iVar10 + -1;\n                  bVar25 = *pbVar22 < *pbVar23;\n                  bVar26 = *pbVar22 == *pbVar23;\n                  pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  pbVar23 = pbVar23 + (uint)bVar27 * -2 + 1;\n                } while (bVar26);\n                bVar24 = false;\n                bVar25 = (!bVar25 && !bVar26) == bVar25;\n                if (bVar25) {\n                  local_60 = (dt_needed *)0x2;\n                  goto LAB_0004b209;\n                }\n                iVar10 = 10;\n                pbVar22 = (byte *)pbVar19->name;\n                pbVar23 = (byte *)".eh_frame";\n                do {\n                  if (iVar10 == 0) break;\n                  iVar10 = iVar10 + -1;\n                  bVar24 = *pbVar22 < *pbVar23;\n                  bVar25 = *pbVar22 == *pbVar23;\n                  pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  pbVar23 = pbVar23 + (uint)bVar27 * -2 + 1;\n                } while (bVar25);\n                if (((!bVar24 && !bVar25) == bVar24) &&\n                   (piVar13 = (int *)((int)&pbVar19->size + 4), pdVar6 = (dt_needed *)1,\n                   *piVar13 == 0 && (uint)(8 < (uint)pbVar19->size) <= (uint)-*piVar13)) {\n                  pdVar6 = local_60;\n                }\n              }\n              local_60 = pdVar6;\n              pbVar19 = pbVar19->next;\n            } while (pbVar19 != (bfd_section *)0x0);\n            if (local_60 == (dt_needed *)0x0) goto LAB_0004b231;\nLAB_0004b209:\n            if ((local_50 != 0) && ((dt_needed *)local_50 != local_60)) {\n              if (local_60 != (dt_needed *)0x1) {\n                pbVar20 = local_4c;\n              }\n              pcVar12 = (char *)dcgettext(0,\n                                          "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                          ,5);\n              einfo(pcVar12,pbVar20);\n              break;\n            }\n            local_50 = (int)local_60;\n            if (local_4c != (bfd *)0x0) goto LAB_0004b231;\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 (pbVar20->xvec->flavour == bfd_target_elf_flavour) {\n                  local_4c = pbVar20;\n                }\n              }\n              goto LAB_0004b160;\n            }\n            bVar3 = true;\n            if (pbVar20->xvec->flavour == bfd_target_elf_flavour) {\n              local_4c = pbVar20;\n            }\n          }\n          pbVar20 = (pbVar20->link).next;\n          local_50 = 2;\n          link_info._2_2_ = link_info._2_2_ & 0x3fff | 0x8000;\n        } while (pbVar20 != (bfd *)0x0);\nLAB_0004b267:\n        if ((local_4c == (bfd *)0x0) ||\n           (pbVar17 = (bfd_link_hash_entry *)\n                      bfd_make_section_with_flags\n                                (local_4c,".eh_frame_hdr",\n                                 *(uint *)((int)local_4c->xvec->backend_data + 0x30) | 8),\n           pbVar17 == (bfd_link_hash_entry *)0x0)) {\n          if (bVar3) {\n            pcVar12 = (char *)dcgettext(0,\n                                        "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                                        ,5);\n            einfo(pcVar12);\n          }\n        }\n        else {\n          pbVar17[2].u.i.warning = (char *)0x2;\n          pbVar5[4].undefs_tail = pbVar17;\n        }\n      }\n      pbVar8 = (bfd_link_needed_list *)bfd_elf_get_needed_list(link_info.output_bfd,&link_info);\n      for (pbVar2 = pbVar8; pbVar2 != (bfd_link_needed_list *)0x0; pbVar2 = pbVar2->next) {\n        pbVar4 = pbVar8;\n        if ((pbVar2->by == (bfd *)0x0) ||\n           ((uVar9 = bfd_elf_get_dyn_lib_class(pbVar2->by), (uVar9 & 1) == 0 &&\n            (((pbVar2->by == (bfd *)0x0 || ((link_info._2_2_ & 0x180) != 0x80)) ||\n             (uVar9 = bfd_elf_get_dyn_lib_class(pbVar2->by), (uVar9 & 4) == 0)))))) {\n          for (; pbVar4 != pbVar2; pbVar4 = pbVar4->next) {\n            if (((pbVar4->by == (bfd *)0x0) ||\n                (uVar9 = bfd_elf_get_dyn_lib_class(pbVar4->by), (uVar9 & 1) == 0)) &&\n               (iVar10 = strcmp(pbVar4->name,pbVar2->name), iVar10 == 0)) {\n              if (pbVar2 != pbVar4) goto LAB_0004ae88;\n              break;\n            }\n          }\n          global_found = (lang_input_statement_type *)0x0;\n          global_needed = pbVar2;\n          lang_for_each_input_file(gldelf32lriscv_ilp32f_check_needed);\n          if ((global_found == (lang_input_statement_type *)0x0) ||\n             (uVar9 = bfd_elf_get_dyn_lib_class(global_found->the_bfd), (uVar9 & 1) != 0)) {\n            pbVar20 = pbVar2->by;\n            pcVar12 = pbVar2->name;\n            n.by = pbVar20;\n            n.name = pcVar12;\n            nn.by = pbVar20;\n            if (verbose != 0) {\n              pcVar16 = (char *)dcgettext(0,"%s needed by %pB\n",5);\n              info_msg(pcVar16,pcVar12,pbVar20);\n            }\n            if (global_found != (lang_input_statement_type *)0x0) {\n              nn.name = global_found->filename;\n              bVar11 = gldelf32lriscv_ilp32f_try_needed(&nn,(int)nn.name,(dt_needed *)0x1);\n              if (bVar11 != 0) goto LAB_0004ae88;\n            }\n            local_60 = (dt_needed *)0x0;\n            while (bVar11 = gldelf32lriscv_ilp32f_search_needed\n                                      (command_line.rpath_link,&n,(int)local_60), bVar11 == 0) {\n              if (command_line.rpath != (char *)0x0) {\n                pcVar12 = gldelf32lriscv_ilp32f_add_sysroot(command_line.rpath);\n                bVar11 = gldelf32lriscv_ilp32f_search_needed(pcVar12,&n,(int)local_60);\n                free(pcVar12);\n                if (bVar11 != 0) break;\n              }\n              piVar13 = (int *)bfd_elf_get_runpath_list(link_info.output_bfd,&link_info);\n              if (piVar13 != (int *)0x0) {\n                do {\n                  bVar25 = true;\n                  pcVar12 = gldelf32lriscv_ilp32f_add_sysroot((char *)piVar13[2]);\n                  bVar3 = false;\n                  if ((bfd *)piVar13[1] == pbVar2->by) {\n                    bVar11 = gldelf32lriscv_ilp32f_search_needed(pcVar12,&n,(int)local_60);\n                    bVar25 = bVar11 == 0;\n                    bVar3 = !bVar25;\n                  }\n                  free(pcVar12);\n                  piVar13 = (int *)*piVar13;\n                } while ((piVar13 != (int *)0x0) && (bVar25));\n                if (bVar3) break;\n              }\n              pcVar12 = ld_so_conf_13460;\n              if (initialized_13459 == 0) {\n                needed.by = (bfd *)0x0;\n                needed.name = (char *)0x0;\n                pcVar12 = (char *)concat(ld_sysroot,"/usr/etc/ld.so.conf",0);\n                bVar11 = gldelf32lriscv_ilp32f_parse_ld_so_conf\n                                   ((gldelf32lriscv_ilp32f_ld_so_conf *)&needed,pcVar12);\n                if (bVar11 == 0) {\n                  free(pcVar12);\n                  pcVar12 = (char *)concat(ld_sysroot,"/etc/ld.so.conf",0);\n                  gldelf32lriscv_ilp32f_parse_ld_so_conf\n                            ((gldelf32lriscv_ilp32f_ld_so_conf *)&needed,pcVar12);\n                }\n                free(pcVar12);\n                pcVar12 = ld_so_conf_13460;\n                if (needed.by != (bfd *)0x0) {\n                  pcVar12 = gldelf32lriscv_ilp32f_add_sysroot((char *)needed.by);\n                  ld_so_conf_13460 = pcVar12;\n                  free(needed.by);\n                }\n                initialized_13459 = 1;\n              }\n              pcVar16 = pbVar2->name;\n              if (pcVar12 != (char *)0x0) {\n                needed.by = pbVar2->by;\n                needed.name = pcVar16;\n                bVar11 = gldelf32lriscv_ilp32f_search_needed(pcVar12,&needed,(int)local_60);\n                if (bVar11 != 0) break;\n                pcVar16 = pbVar2->name;\n              }\n              sVar14 = strlen(pcVar16);\n              if (search_head != (search_dirs_type *)0x0) {\n                psVar21 = search_head;\n                do {\n                  if (psVar21->cmdline == 0) {\n                    sVar15 = strlen(psVar21->name);\n                    pcVar12 = (char *)xmalloc(sVar15 + sVar14 + 2);\n                    sprintf(pcVar12,"%s/%s",psVar21->name,pbVar2->name);\n                    nn.name = pcVar12;\n                    bVar11 = gldelf32lriscv_ilp32f_try_needed(&nn,(int)pcVar12,local_60);\n                    if (bVar11 != 0) goto LAB_0004ae88;\n                    free(pcVar12);\n                  }\n                  psVar21 = psVar21->next;\n                } while (psVar21 != (search_dirs *)0x0);\n              }\n              if (local_60 == (dt_needed *)0x1) {\n                pbVar20 = pbVar2->by;\n                pcVar12 = pbVar2->name;\n                pcVar16 = (char *)dcgettext(0,\n                                            "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                            ,5);\n                einfo(pcVar16,pcVar12,pbVar20);\n                break;\n              }\n              local_60 = (dt_needed *)0x1;\n            }\n          }\n        }\nLAB_0004ae88:\n      }\n      if (((link_info._3_1_ & 0xc0) == 0x80) &&\n         (iVar10 = bfd_elf_parse_eh_frame_entries(0,&link_info), iVar10 == 0)) {\n        pcVar12 = (char *)dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);\n        einfo(pcVar12);\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      pcVar12 = command_line.out_implib_filename;\n      if (link_info.out_implib_bfd == (bfd *)0x0) {\n        pcVar16 = (char *)dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);\n        einfo(pcVar16,pcVar12);\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      pcVar12 = command_line.out_implib_filename;\n      if (link_info.out_implib_bfd == (bfd *)0x0) {\n        pcVar16 = (char *)dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);\n        einfo(pcVar16,pcVar12);\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 "pcVar12 = command_line.out_implib_filename;" (assignment_expression "pcVar12 = 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        pcVar16 = (char *)dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);\n        einfo(pcVar16,pcVar12);\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        pcVar16 = (char *)dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);\n        einfo(pcVar16,pcVar12);\n      }" { (expression_statement "pcVar16 = (char *)dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);" (assignment_expression "pcVar16 = (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(pcVar16,pcVar12);" (call_expression "einfo(pcVar16,pcVar12)" identifier (argument_list "(pcVar16,pcVar12)" ( identifier , identifier ))) ;) })) })) (expression_statement "pbVar18 = link_info.output_bfd;" (assignment_expression "pbVar18 = link_info.output_bfd" identifier = (field_expression "link_info.output_bfd" identifier . field_identifier)) ;) (expression_statement "pbVar20 = link_info.input_bfds;" (assignment_expression "pbVar20 = 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 (; pbVar20 != (bfd *)0x0; pbVar20 = (pbVar20->link).next) {\n        if (((pbVar20->xvec->flavour == bfd_target_elf_flavour) && (pbVar20->section_count != 0)) &&\n           ((*(byte *)((int)pbVar20->usrdata + 0x24) & 0x10) == 0)) {\n          bVar28 = compute_build_id_size(emit_note_gnu_build_id);\n          if ((bVar28 == 0) || (bVar28 + 0x10 == 0)) {\n            pcVar12 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            paVar7 = (asection *)\n                     bfd_make_section_with_flags\n                               (pbVar20,".note.gnu.build-id",\n                                "ttributes)) }\n  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }\n}\n\n"\n                               );\n            if (paVar7 != (asection *)0x0) {\n              paVar7->alignment_power = 2;\n              pbVar18 = 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              pcVar12 = emit_note_gnu_build_id;\n              (poVar1->build_id).sec = paVar7;\n              (poVar1->build_id).style = pcVar12;\n              *(undefined4 *)((int)paVar7->used_by_bfd + 4) = 7;\n              paVar7->size = bVar28 + 0x10;\n              goto LAB_0004ad04;\n            }\n            pcVar12 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          pcVar12 = (char *)dcgettext(0,pcVar12,5);\n          einfo(pcVar12);\n          break;\n        }\n      }\n      free(emit_note_gnu_build_id);\n      emit_note_gnu_build_id = (char *)0x0;\n      pbVar18 = 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 (; pbVar20 != (bfd *)0x0; pbVar20 = (pbVar20->link).next) {\n        if (((pbVar20->xvec->flavour == bfd_target_elf_flavour) && (pbVar20->section_count != 0)) &&\n           ((*(byte *)((int)pbVar20->usrdata + 0x24) & 0x10) == 0)) {\n          bVar28 = compute_build_id_size(emit_note_gnu_build_id);\n          if ((bVar28 == 0) || (bVar28 + 0x10 == 0)) {\n            pcVar12 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            paVar7 = (asection *)\n                     bfd_make_section_with_flags\n                               (pbVar20,".note.gnu.build-id",\n                                "ttributes)) }\n  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }\n}\n\n"\n                               );\n            if (paVar7 != (asection *)0x0) {\n              paVar7->alignment_power = 2;\n              pbVar18 = 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              pcVar12 = emit_note_gnu_build_id;\n              (poVar1->build_id).sec = paVar7;\n              (poVar1->build_id).style = pcVar12;\n              *(undefined4 *)((int)paVar7->used_by_bfd + 4) = 7;\n              paVar7->size = bVar28 + 0x10;\n              goto LAB_0004ad04;\n            }\n            pcVar12 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          pcVar12 = (char *)dcgettext(0,pcVar12,5);\n          einfo(pcVar12);\n          break;\n        }\n      }\n      free(emit_note_gnu_build_id);\n      emit_note_gnu_build_id = (char *)0x0;\n      pbVar18 = link_info.output_bfd;\n    }" { (for_statement "for (; pbVar20 != (bfd *)0x0; pbVar20 = (pbVar20->link).next) {\n        if (((pbVar20->xvec->flavour == bfd_target_elf_flavour) && (pbVar20->section_count != 0)) &&\n           ((*(byte *)((int)pbVar20->usrdata + 0x24) & 0x10) == 0)) {\n          bVar28 = compute_build_id_size(emit_note_gnu_build_id);\n          if ((bVar28 == 0) || (bVar28 + 0x10 == 0)) {\n            pcVar12 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            paVar7 = (asection *)\n                     bfd_make_section_with_flags\n                               (pbVar20,".note.gnu.build-id",\n                                "ttributes)) }\n  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }\n}\n\n"\n                               );\n            if (paVar7 != (asection *)0x0) {\n              paVar7->alignment_power = 2;\n              pbVar18 = 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              pcVar12 = emit_note_gnu_build_id;\n              (poVar1->build_id).sec = paVar7;\n              (poVar1->build_id).style = pcVar12;\n              *(undefined4 *)((int)paVar7->used_by_bfd + 4) = 7;\n              paVar7->size = bVar28 + 0x10;\n              goto LAB_0004ad04;\n            }\n            pcVar12 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          pcVar12 = (char *)dcgettext(0,pcVar12,5);\n          einfo(pcVar12);\n          break;\n        }\n      }" for ( ; (binary_expression "pbVar20 != (bfd *)0x0" identifier != (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "pbVar20 = (pbVar20->link).next" identifier = (field_expression "(pbVar20->link).next" (parenthesized_expression "(pbVar20->link)" ( (field_expression "pbVar20->link" identifier -> field_identifier) )) . field_identifier)) ) (compound_statement "{\n        if (((pbVar20->xvec->flavour == bfd_target_elf_flavour) && (pbVar20->section_count != 0)) &&\n           ((*(byte *)((int)pbVar20->usrdata + 0x24) & 0x10) == 0)) {\n          bVar28 = compute_build_id_size(emit_note_gnu_build_id);\n          if ((bVar28 == 0) || (bVar28 + 0x10 == 0)) {\n            pcVar12 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            paVar7 = (asection *)\n                     bfd_make_section_with_flags\n                               (pbVar20,".note.gnu.build-id",\n                                "ttributes)) }\n  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }\n}\n\n"\n                               );\n            if (paVar7 != (asection *)0x0) {\n              paVar7->alignment_power = 2;\n              pbVar18 = 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              pcVar12 = emit_note_gnu_build_id;\n              (poVar1->build_id).sec = paVar7;\n              (poVar1->build_id).style = pcVar12;\n              *(undefined4 *)((int)paVar7->used_by_bfd + 4) = 7;\n              paVar7->size = bVar28 + 0x10;\n              goto LAB_0004ad04;\n            }\n            pcVar12 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          pcVar12 = (char *)dcgettext(0,pcVar12,5);\n          einfo(pcVar12);\n          break;\n        }\n      }" { (if_statement "if (((pbVar20->xvec->flavour == bfd_target_elf_flavour) && (pbVar20->section_count != 0)) &&\n           ((*(byte *)((int)pbVar20->usrdata + 0x24) & 0x10) == 0)) {\n          bVar28 = compute_build_id_size(emit_note_gnu_build_id);\n          if ((bVar28 == 0) || (bVar28 + 0x10 == 0)) {\n            pcVar12 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            paVar7 = (asection *)\n                     bfd_make_section_with_flags\n                               (pbVar20,".note.gnu.build-id",\n                                "ttributes)) }\n  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }\n}\n\n"\n                               );\n            if (paVar7 != (asection *)0x0) {\n              paVar7->alignment_power = 2;\n              pbVar18 = 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              pcVar12 = emit_note_gnu_build_id;\n              (poVar1->build_id).sec = paVar7;\n              (poVar1->build_id).style = pcVar12;\n              *(undefined4 *)((int)paVar7->used_by_bfd + 4) = 7;\n              paVar7->size = bVar28 + 0x10;\n              goto LAB_0004ad04;\n            }\n            pcVar12 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          pcVar12 = (char *)dcgettext(0,pcVar12,5);\n          einfo(pcVar12);\n          break;\n        }" if (parenthesized_expression "(((pbVar20->xvec->flavour == bfd_target_elf_flavour) && (pbVar20->section_count != 0)) &&\n           ((*(byte *)((int)pbVar20->usrdata + 0x24) & 0x10) == 0))" ( (binary_expression "((pbVar20->xvec->flavour == bfd_target_elf_flavour) && (pbVar20->section_count != 0)) &&\n           ((*(byte *)((int)pbVar20->usrdata + 0x24) & 0x10) == 0)" (parenthesized_expression "((pbVar20->xvec->flavour == bfd_target_elf_flavour) && (pbVar20->section_count != 0))" ( (binary_expression "(pbVar20->xvec->flavour == bfd_target_elf_flavour) && (pbVar20->section_count != 0)" (parenthesized_expression "(pbVar20->xvec->flavour == bfd_target_elf_flavour)" ( (binary_expression "pbVar20->xvec->flavour == bfd_target_elf_flavour" (field_expression "pbVar20->xvec->flavour" (field_expression "pbVar20->xvec" identifier -> field_identifier) -> field_identifier) == identifier) )) && (parenthesized_expression "(pbVar20->section_count != 0)" ( (binary_expression "pbVar20->section_count != 0" (field_expression "pbVar20->section_count" identifier -> field_identifier) != number_literal) ))) )) && (parenthesized_expression "((*(byte *)((int)pbVar20->usrdata + 0x24) & 0x10) == 0)" ( (binary_expression "(*(byte *)((int)pbVar20->usrdata + 0x24) & 0x10) == 0" (parenthesized_expression "(*(byte *)((int)pbVar20->usrdata + 0x24) & 0x10)" ( (binary_expression "*(byte *)((int)pbVar20->usrdata + 0x24) & 0x10" (pointer_expression "*(byte *)((int)pbVar20->usrdata + 0x24)" * (cast_expression "(byte *)((int)pbVar20->usrdata + 0x24)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pbVar20->usrdata + 0x24)" ( (binary_expression "(int)pbVar20->usrdata + 0x24" (cast_expression "(int)pbVar20->usrdata" ( (type_descriptor "int" primitive_type) ) (field_expression "pbVar20->usrdata" identifier -> field_identifier)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n          bVar28 = compute_build_id_size(emit_note_gnu_build_id);\n          if ((bVar28 == 0) || (bVar28 + 0x10 == 0)) {\n            pcVar12 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            paVar7 = (asection *)\n                     bfd_make_section_with_flags\n                               (pbVar20,".note.gnu.build-id",\n                                "ttributes)) }\n  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }\n}\n\n"\n                               );\n            if (paVar7 != (asection *)0x0) {\n              paVar7->alignment_power = 2;\n              pbVar18 = 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              pcVar12 = emit_note_gnu_build_id;\n              (poVar1->build_id).sec = paVar7;\n              (poVar1->build_id).style = pcVar12;\n              *(undefined4 *)((int)paVar7->used_by_bfd + 4) = 7;\n              paVar7->size = bVar28 + 0x10;\n              goto LAB_0004ad04;\n            }\n            pcVar12 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          pcVar12 = (char *)dcgettext(0,pcVar12,5);\n          einfo(pcVar12);\n          break;\n        }" { (expression_statement "bVar28 = compute_build_id_size(emit_note_gnu_build_id);" (assignment_expression "bVar28 = 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 ((bVar28 == 0) || (bVar28 + 0x10 == 0)) {\n            pcVar12 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            paVar7 = (asection *)\n                     bfd_make_section_with_flags\n                               (pbVar20,".note.gnu.build-id",\n                                "ttributes)) }\n  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }\n}\n\n"\n                               );\n            if (paVar7 != (asection *)0x0) {\n              paVar7->alignment_power = 2;\n              pbVar18 = 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              pcVar12 = emit_note_gnu_build_id;\n              (poVar1->build_id).sec = paVar7;\n              (poVar1->build_id).style = pcVar12;\n              *(undefined4 *)((int)paVar7->used_by_bfd + 4) = 7;\n              paVar7->size = bVar28 + 0x10;\n              goto LAB_0004ad04;\n            }\n            pcVar12 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }" if (parenthesized_expression "((bVar28 == 0) || (bVar28 + 0x10 == 0))" ( (binary_expression "(bVar28 == 0) || (bVar28 + 0x10 == 0)" (parenthesized_expression "(bVar28 == 0)" ( (binary_expression "bVar28 == 0" identifier == number_literal) )) || (parenthesized_expression "(bVar28 + 0x10 == 0)" ( (binary_expression "bVar28 + 0x10 == 0" (binary_expression "bVar28 + 0x10" identifier + number_literal) == number_literal) ))) )) (compound_statement "{\n            pcVar12 = "%P: warning: unrecognized --build-id style ignored\n";\n          }" { (expression_statement "pcVar12 = "%P: warning: unrecognized --build-id style ignored\n";" (assignment_expression "pcVar12 = "%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            paVar7 = (asection *)\n                     bfd_make_section_with_flags\n                               (pbVar20,".note.gnu.build-id",\n                                "ttributes)) }\n  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }\n}\n\n"\n                               );\n            if (paVar7 != (asection *)0x0) {\n              paVar7->alignment_power = 2;\n              pbVar18 = 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              pcVar12 = emit_note_gnu_build_id;\n              (poVar1->build_id).sec = paVar7;\n              (poVar1->build_id).style = pcVar12;\n              *(undefined4 *)((int)paVar7->used_by_bfd + 4) = 7;\n              paVar7->size = bVar28 + 0x10;\n              goto LAB_0004ad04;\n            }\n            pcVar12 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }" else (compound_statement "{\n            paVar7 = (asection *)\n                     bfd_make_section_with_flags\n                               (pbVar20,".note.gnu.build-id",\n                                "ttributes)) }\n  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }\n}\n\n"\n                               );\n            if (paVar7 != (asection *)0x0) {\n              paVar7->alignment_power = 2;\n              pbVar18 = 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              pcVar12 = emit_note_gnu_build_id;\n              (poVar1->build_id).sec = paVar7;\n              (poVar1->build_id).style = pcVar12;\n              *(undefined4 *)((int)paVar7->used_by_bfd + 4) = 7;\n              paVar7->size = bVar28 + 0x10;\n              goto LAB_0004ad04;\n            }\n            pcVar12 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }" { (expression_statement "paVar7 = (asection *)\n                     bfd_make_section_with_flags\n                               (pbVar20,".note.gnu.build-id",\n                                "ttributes)) }\n  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }\n}\n\n"\n                               );" (assignment_expression "paVar7 = (asection *)\n                     bfd_make_section_with_flags\n                               (pbVar20,".note.gnu.build-id",\n                                "ttributes)) }\n  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }\n}\n\n"\n                               )" identifier = (cast_expression "(asection *)\n                     bfd_make_section_with_flags\n                               (pbVar20,".note.gnu.build-id",\n                                "ttributes)) }\n  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }\n}\n\n"\n                               )" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "bfd_make_section_with_flags\n                               (pbVar20,".note.gnu.build-id",\n                                "ttributes)) }\n  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }\n}\n\n"\n                               )" identifier (argument_list "(pbVar20,".note.gnu.build-id",\n                                "ttributes)) }\n  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }\n}\n\n"\n                               )" ( identifier , (string_literal "".note.gnu.build-id"" " string_content ") , (string_literal ""ttributes)) }\n  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }\n}\n\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence escape_sequence ") ))))) ;) (if_statement "if (paVar7 != (asection *)0x0) {\n              paVar7->alignment_power = 2;\n              pbVar18 = 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              pcVar12 = emit_note_gnu_build_id;\n              (poVar1->build_id).sec = paVar7;\n              (poVar1->build_id).style = pcVar12;\n              *(undefined4 *)((int)paVar7->used_by_bfd + 4) = 7;\n              paVar7->size = bVar28 + 0x10;\n              goto LAB_0004ad04;\n            }" if (parenthesized_expression "(paVar7 != (asection *)0x0)" ( (binary_expression "paVar7 != (asection *)0x0" identifier != (cast_expression "(asection *)0x0" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              paVar7->alignment_power = 2;\n              pbVar18 = 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              pcVar12 = emit_note_gnu_build_id;\n              (poVar1->build_id).sec = paVar7;\n              (poVar1->build_id).style = pcVar12;\n              *(undefined4 *)((int)paVar7->used_by_bfd + 4) = 7;\n              paVar7->size = bVar28 + 0x10;\n              goto LAB_0004ad04;\n            }" { (expression_statement "paVar7->alignment_power = 2;" (assignment_expression "paVar7->alignment_power = 2" (field_expression "paVar7->alignment_power" identifier -> field_identifier) = number_literal) ;) (expression_statement "pbVar18 = link_info.output_bfd;" (assignment_expression "pbVar18 = 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 "pcVar12 = emit_note_gnu_build_id;" (assignment_expression "pcVar12 = emit_note_gnu_build_id" identifier = identifier) ;) (expression_statement "(poVar1->build_id).sec = paVar7;" (assignment_expression "(poVar1->build_id).sec = paVar7" (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 = pcVar12;" (assignment_expression "(poVar1->build_id).style = pcVar12" (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)paVar7->used_by_bfd + 4) = 7;" (assignment_expression "*(undefined4 *)((int)paVar7->used_by_bfd + 4) = 7" (pointer_expression "*(undefined4 *)((int)paVar7->used_by_bfd + 4)" * (cast_expression "(undefined4 *)((int)paVar7->used_by_bfd + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)paVar7->used_by_bfd + 4)" ( (binary_expression "(int)paVar7->used_by_bfd + 4" (cast_expression "(int)paVar7->used_by_bfd" ( (type_descriptor "int" primitive_type) ) (field_expression "paVar7->used_by_bfd" identifier -> field_identifier)) + number_literal) )))) = number_literal) ;) (expression_statement "paVar7->size = bVar28 + 0x10;" (assignment_expression "paVar7->size = bVar28 + 0x10" (field_expression "paVar7->size" identifier -> field_identifier) = (binary_expression "bVar28 + 0x10" identifier + number_literal)) ;) (goto_statement "goto LAB_0004ad04;" goto statement_identifier ;) })) (expression_statement "pcVar12 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";" (assignment_expression "pcVar12 = "%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 "pcVar12 = (char *)dcgettext(0,pcVar12,5);" (assignment_expression "pcVar12 = (char *)dcgettext(0,pcVar12,5)" identifier = (cast_expression "(char *)dcgettext(0,pcVar12,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar12,5)" identifier (argument_list "(0,pcVar12,5)" ( number_literal , identifier , number_literal ))))) ;) (expression_statement "einfo(pcVar12);" (call_expression "einfo(pcVar12)" identifier (argument_list "(pcVar12)" ( 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 "pbVar18 = link_info.output_bfd;" (assignment_expression "pbVar18 = link_info.output_bfd" identifier = (field_expression "link_info.output_bfd" identifier . field_identifier)) ;) })) (labeled_statement "LAB_0004ad04:\n    (**(code **)((int)pbVar18->xvec->backend_data + 0x1d0))(&link_info);" statement_identifier : (expression_statement "(**(code **)((int)pbVar18->xvec->backend_data + 0x1d0))(&link_info);" (call_expression "(**(code **)((int)pbVar18->xvec->backend_data + 0x1d0))(&link_info)" (parenthesized_expression "(**(code **)((int)pbVar18->xvec->backend_data + 0x1d0))" ( (pointer_expression "**(code **)((int)pbVar18->xvec->backend_data + 0x1d0)" * (pointer_expression "*(code **)((int)pbVar18->xvec->backend_data + 0x1d0)" * (cast_expression "(code **)((int)pbVar18->xvec->backend_data + 0x1d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pbVar18->xvec->backend_data + 0x1d0)" ( (binary_expression "(int)pbVar18->xvec->backend_data + 0x1d0" (cast_expression "(int)pbVar18->xvec->backend_data" ( (type_descriptor "int" primitive_type) ) (field_expression "pbVar18->xvec->backend_data" (field_expression "pbVar18->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        pbVar20 = link_info.input_bfds;\n        do {\n          while ((*(byte *)((int)pbVar20->usrdata + 0x24) & 0x10) != 0) {\nLAB_0004b160:\n            pbVar20 = (pbVar20->link).next;\n            if (pbVar20 == (bfd *)0x0) goto LAB_0004b267;\n          }\n          pbVar19 = pbVar20->sections;\n          if (pbVar19 == (bfd_section *)0x0) {\nLAB_0004b231:\n            if (local_50 != 2) goto LAB_0004b160;\n          }\n          else {\n            local_60 = (dt_needed *)0x0;\n            do {\n              bVar25 = pbVar19->output_section <\n                       (bfd_section *)(PTR__bfd_std_section_0013bfc4 + 0x180);\n              bVar26 = pbVar19->output_section ==\n                       (bfd_section *)(PTR__bfd_std_section_0013bfc4 + 0x180);\n              pdVar6 = local_60;\n              if (!bVar26) {\n                iVar10 = 0xf;\n                pbVar22 = (byte *)pbVar19->name;\n                pbVar23 = (byte *)".eh_frame_entry";\n                do {\n                  if (iVar10 == 0) break;\n                  iVar10 = iVar10 + -1;\n                  bVar25 = *pbVar22 < *pbVar23;\n                  bVar26 = *pbVar22 == *pbVar23;\n                  pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  pbVar23 = pbVar23 + (uint)bVar27 * -2 + 1;\n                } while (bVar26);\n                bVar24 = false;\n                bVar25 = (!bVar25 && !bVar26) == bVar25;\n                if (bVar25) {\n                  local_60 = (dt_needed *)0x2;\n                  goto LAB_0004b209;\n                }\n                iVar10 = 10;\n                pbVar22 = (byte *)pbVar19->name;\n                pbVar23 = (byte *)".eh_frame";\n                do {\n                  if (iVar10 == 0) break;\n                  iVar10 = iVar10 + -1;\n                  bVar24 = *pbVar22 < *pbVar23;\n                  bVar25 = *pbVar22 == *pbVar23;\n                  pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  pbVar23 = pbVar23 + (uint)bVar27 * -2 + 1;\n                } while (bVar25);\n                if (((!bVar24 && !bVar25) == bVar24) &&\n                   (piVar13 = (int *)((int)&pbVar19->size + 4), pdVar6 = (dt_needed *)1,\n                   *piVar13 == 0 && (uint)(8 < (uint)pbVar19->size) <= (uint)-*piVar13)) {\n                  pdVar6 = local_60;\n                }\n              }\n              local_60 = pdVar6;\n              pbVar19 = pbVar19->next;\n            } while (pbVar19 != (bfd_section *)0x0);\n            if (local_60 == (dt_needed *)0x0) goto LAB_0004b231;\nLAB_0004b209:\n            if ((local_50 != 0) && ((dt_needed *)local_50 != local_60)) {\n              if (local_60 != (dt_needed *)0x1) {\n                pbVar20 = local_4c;\n              }\n              pcVar12 = (char *)dcgettext(0,\n                                          "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                          ,5);\n              einfo(pcVar12,pbVar20);\n              break;\n            }\n            local_50 = (int)local_60;\n            if (local_4c != (bfd *)0x0) goto LAB_0004b231;\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 (pbVar20->xvec->flavour == bfd_target_elf_flavour) {\n                  local_4c = pbVar20;\n                }\n              }\n              goto LAB_0004b160;\n            }\n            bVar3 = true;\n            if (pbVar20->xvec->flavour == bfd_target_elf_flavour) {\n              local_4c = pbVar20;\n            }\n          }\n          pbVar20 = (pbVar20->link).next;\n          local_50 = 2;\n          link_info._2_2_ = link_info._2_2_ & 0x3fff | 0x8000;\n        } while (pbVar20 != (bfd *)0x0);\nLAB_0004b267:\n        if ((local_4c == (bfd *)0x0) ||\n           (pbVar17 = (bfd_link_hash_entry *)\n                      bfd_make_section_with_flags\n                                (local_4c,".eh_frame_hdr",\n                                 *(uint *)((int)local_4c->xvec->backend_data + 0x30) | 8),\n           pbVar17 == (bfd_link_hash_entry *)0x0)) {\n          if (bVar3) {\n            pcVar12 = (char *)dcgettext(0,\n                                        "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                                        ,5);\n            einfo(pcVar12);\n          }\n        }\n        else {\n          pbVar17[2].u.i.warning = (char *)0x2;\n          pbVar5[4].undefs_tail = pbVar17;\n        }\n      }\n      pbVar8 = (bfd_link_needed_list *)bfd_elf_get_needed_list(link_info.output_bfd,&link_info);\n      for (pbVar2 = pbVar8; pbVar2 != (bfd_link_needed_list *)0x0; pbVar2 = pbVar2->next) {\n        pbVar4 = pbVar8;\n        if ((pbVar2->by == (bfd *)0x0) ||\n           ((uVar9 = bfd_elf_get_dyn_lib_class(pbVar2->by), (uVar9 & 1) == 0 &&\n            (((pbVar2->by == (bfd *)0x0 || ((link_info._2_2_ & 0x180) != 0x80)) ||\n             (uVar9 = bfd_elf_get_dyn_lib_class(pbVar2->by), (uVar9 & 4) == 0)))))) {\n          for (; pbVar4 != pbVar2; pbVar4 = pbVar4->next) {\n            if (((pbVar4->by == (bfd *)0x0) ||\n                (uVar9 = bfd_elf_get_dyn_lib_class(pbVar4->by), (uVar9 & 1) == 0)) &&\n               (iVar10 = strcmp(pbVar4->name,pbVar2->name), iVar10 == 0)) {\n              if (pbVar2 != pbVar4) goto LAB_0004ae88;\n              break;\n            }\n          }\n          global_found = (lang_input_statement_type *)0x0;\n          global_needed = pbVar2;\n          lang_for_each_input_file(gldelf32lriscv_ilp32f_check_needed);\n          if ((global_found == (lang_input_statement_type *)0x0) ||\n             (uVar9 = bfd_elf_get_dyn_lib_class(global_found->the_bfd), (uVar9 & 1) != 0)) {\n            pbVar20 = pbVar2->by;\n            pcVar12 = pbVar2->name;\n            n.by = pbVar20;\n            n.name = pcVar12;\n            nn.by = pbVar20;\n            if (verbose != 0) {\n              pcVar16 = (char *)dcgettext(0,"%s needed by %pB\n",5);\n              info_msg(pcVar16,pcVar12,pbVar20);\n            }\n            if (global_found != (lang_input_statement_type *)0x0) {\n              nn.name = global_found->filename;\n              bVar11 = gldelf32lriscv_ilp32f_try_needed(&nn,(int)nn.name,(dt_needed *)0x1);\n              if (bVar11 != 0) goto LAB_0004ae88;\n            }\n            local_60 = (dt_needed *)0x0;\n            while (bVar11 = gldelf32lriscv_ilp32f_search_needed\n                                      (command_line.rpath_link,&n,(int)local_60), bVar11 == 0) {\n              if (command_line.rpath != (char *)0x0) {\n                pcVar12 = gldelf32lriscv_ilp32f_add_sysroot(command_line.rpath);\n                bVar11 = gldelf32lriscv_ilp32f_search_needed(pcVar12,&n,(int)local_60);\n                free(pcVar12);\n                if (bVar11 != 0) break;\n              }\n              piVar13 = (int *)bfd_elf_get_runpath_list(link_info.output_bfd,&link_info);\n              if (piVar13 != (int *)0x0) {\n                do {\n                  bVar25 = true;\n                  pcVar12 = gldelf32lriscv_ilp32f_add_sysroot((char *)piVar13[2]);\n                  bVar3 = false;\n                  if ((bfd *)piVar13[1] == pbVar2->by) {\n                    bVar11 = gldelf32lriscv_ilp32f_search_needed(pcVar12,&n,(int)local_60);\n                    bVar25 = bVar11 == 0;\n                    bVar3 = !bVar25;\n                  }\n                  free(pcVar12);\n                  piVar13 = (int *)*piVar13;\n                } while ((piVar13 != (int *)0x0) && (bVar25));\n                if (bVar3) break;\n              }\n              pcVar12 = ld_so_conf_13460;\n              if (initialized_13459 == 0) {\n                needed.by = (bfd *)0x0;\n                needed.name = (char *)0x0;\n                pcVar12 = (char *)concat(ld_sysroot,"/usr/etc/ld.so.conf",0);\n                bVar11 = gldelf32lriscv_ilp32f_parse_ld_so_conf\n                                   ((gldelf32lriscv_ilp32f_ld_so_conf *)&needed,pcVar12);\n                if (bVar11 == 0) {\n                  free(pcVar12);\n                  pcVar12 = (char *)concat(ld_sysroot,"/etc/ld.so.conf",0);\n                  gldelf32lriscv_ilp32f_parse_ld_so_conf\n                            ((gldelf32lriscv_ilp32f_ld_so_conf *)&needed,pcVar12);\n                }\n                free(pcVar12);\n                pcVar12 = ld_so_conf_13460;\n                if (needed.by != (bfd *)0x0) {\n                  pcVar12 = gldelf32lriscv_ilp32f_add_sysroot((char *)needed.by);\n                  ld_so_conf_13460 = pcVar12;\n                  free(needed.by);\n                }\n                initialized_13459 = 1;\n              }\n              pcVar16 = pbVar2->name;\n              if (pcVar12 != (char *)0x0) {\n                needed.by = pbVar2->by;\n                needed.name = pcVar16;\n                bVar11 = gldelf32lriscv_ilp32f_search_needed(pcVar12,&needed,(int)local_60);\n                if (bVar11 != 0) break;\n                pcVar16 = pbVar2->name;\n              }\n              sVar14 = strlen(pcVar16);\n              if (search_head != (search_dirs_type *)0x0) {\n                psVar21 = search_head;\n                do {\n                  if (psVar21->cmdline == 0) {\n                    sVar15 = strlen(psVar21->name);\n                    pcVar12 = (char *)xmalloc(sVar15 + sVar14 + 2);\n                    sprintf(pcVar12,"%s/%s",psVar21->name,pbVar2->name);\n                    nn.name = pcVar12;\n                    bVar11 = gldelf32lriscv_ilp32f_try_needed(&nn,(int)pcVar12,local_60);\n                    if (bVar11 != 0) goto LAB_0004ae88;\n                    free(pcVar12);\n                  }\n                  psVar21 = psVar21->next;\n                } while (psVar21 != (search_dirs *)0x0);\n              }\n              if (local_60 == (dt_needed *)0x1) {\n                pbVar20 = pbVar2->by;\n                pcVar12 = pbVar2->name;\n                pcVar16 = (char *)dcgettext(0,\n                                            "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                            ,5);\n                einfo(pcVar16,pcVar12,pbVar20);\n                break;\n              }\n              local_60 = (dt_needed *)0x1;\n            }\n          }\n        }\nLAB_0004ae88:\n      }\n      if (((link_info._3_1_ & 0xc0) == 0x80) &&\n         (iVar10 = bfd_elf_parse_eh_frame_entries(0,&link_info), iVar10 == 0)) {\n        pcVar12 = (char *)dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);\n        einfo(pcVar12);\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        pbVar20 = link_info.input_bfds;\n        do {\n          while ((*(byte *)((int)pbVar20->usrdata + 0x24) & 0x10) != 0) {\nLAB_0004b160:\n            pbVar20 = (pbVar20->link).next;\n            if (pbVar20 == (bfd *)0x0) goto LAB_0004b267;\n          }\n          pbVar19 = pbVar20->sections;\n          if (pbVar19 == (bfd_section *)0x0) {\nLAB_0004b231:\n            if (local_50 != 2) goto LAB_0004b160;\n          }\n          else {\n            local_60 = (dt_needed *)0x0;\n            do {\n              bVar25 = pbVar19->output_section <\n                       (bfd_section *)(PTR__bfd_std_section_0013bfc4 + 0x180);\n              bVar26 = pbVar19->output_section ==\n                       (bfd_section *)(PTR__bfd_std_section_0013bfc4 + 0x180);\n              pdVar6 = local_60;\n              if (!bVar26) {\n                iVar10 = 0xf;\n                pbVar22 = (byte *)pbVar19->name;\n                pbVar23 = (byte *)".eh_frame_entry";\n                do {\n                  if (iVar10 == 0) break;\n                  iVar10 = iVar10 + -1;\n                  bVar25 = *pbVar22 < *pbVar23;\n                  bVar26 = *pbVar22 == *pbVar23;\n                  pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  pbVar23 = pbVar23 + (uint)bVar27 * -2 + 1;\n                } while (bVar26);\n                bVar24 = false;\n                bVar25 = (!bVar25 && !bVar26) == bVar25;\n                if (bVar25) {\n                  local_60 = (dt_needed *)0x2;\n                  goto LAB_0004b209;\n                }\n                iVar10 = 10;\n                pbVar22 = (byte *)pbVar19->name;\n                pbVar23 = (byte *)".eh_frame";\n                do {\n                  if (iVar10 == 0) break;\n                  iVar10 = iVar10 + -1;\n                  bVar24 = *pbVar22 < *pbVar23;\n                  bVar25 = *pbVar22 == *pbVar23;\n                  pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  pbVar23 = pbVar23 + (uint)bVar27 * -2 + 1;\n                } while (bVar25);\n                if (((!bVar24 && !bVar25) == bVar24) &&\n                   (piVar13 = (int *)((int)&pbVar19->size + 4), pdVar6 = (dt_needed *)1,\n                   *piVar13 == 0 && (uint)(8 < (uint)pbVar19->size) <= (uint)-*piVar13)) {\n                  pdVar6 = local_60;\n                }\n              }\n              local_60 = pdVar6;\n              pbVar19 = pbVar19->next;\n            } while (pbVar19 != (bfd_section *)0x0);\n            if (local_60 == (dt_needed *)0x0) goto LAB_0004b231;\nLAB_0004b209:\n            if ((local_50 != 0) && ((dt_needed *)local_50 != local_60)) {\n              if (local_60 != (dt_needed *)0x1) {\n                pbVar20 = local_4c;\n              }\n              pcVar12 = (char *)dcgettext(0,\n                                          "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                          ,5);\n              einfo(pcVar12,pbVar20);\n              break;\n            }\n            local_50 = (int)local_60;\n            if (local_4c != (bfd *)0x0) goto LAB_0004b231;\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 (pbVar20->xvec->flavour == bfd_target_elf_flavour) {\n                  local_4c = pbVar20;\n                }\n              }\n              goto LAB_0004b160;\n            }\n            bVar3 = true;\n            if (pbVar20->xvec->flavour == bfd_target_elf_flavour) {\n              local_4c = pbVar20;\n            }\n          }\n          pbVar20 = (pbVar20->link).next;\n          local_50 = 2;\n          link_info._2_2_ = link_info._2_2_ & 0x3fff | 0x8000;\n        } while (pbVar20 != (bfd *)0x0);\nLAB_0004b267:\n        if ((local_4c == (bfd *)0x0) ||\n           (pbVar17 = (bfd_link_hash_entry *)\n                      bfd_make_section_with_flags\n                                (local_4c,".eh_frame_hdr",\n                                 *(uint *)((int)local_4c->xvec->backend_data + 0x30) | 8),\n           pbVar17 == (bfd_link_hash_entry *)0x0)) {\n          if (bVar3) {\n            pcVar12 = (char *)dcgettext(0,\n                                        "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                                        ,5);\n            einfo(pcVar12);\n          }\n        }\n        else {\n          pbVar17[2].u.i.warning = (char *)0x2;\n          pbVar5[4].undefs_tail = pbVar17;\n        }\n      }\n      pbVar8 = (bfd_link_needed_list *)bfd_elf_get_needed_list(link_info.output_bfd,&link_info);\n      for (pbVar2 = pbVar8; pbVar2 != (bfd_link_needed_list *)0x0; pbVar2 = pbVar2->next) {\n        pbVar4 = pbVar8;\n        if ((pbVar2->by == (bfd *)0x0) ||\n           ((uVar9 = bfd_elf_get_dyn_lib_class(pbVar2->by), (uVar9 & 1) == 0 &&\n            (((pbVar2->by == (bfd *)0x0 || ((link_info._2_2_ & 0x180) != 0x80)) ||\n             (uVar9 = bfd_elf_get_dyn_lib_class(pbVar2->by), (uVar9 & 4) == 0)))))) {\n          for (; pbVar4 != pbVar2; pbVar4 = pbVar4->next) {\n            if (((pbVar4->by == (bfd *)0x0) ||\n                (uVar9 = bfd_elf_get_dyn_lib_class(pbVar4->by), (uVar9 & 1) == 0)) &&\n               (iVar10 = strcmp(pbVar4->name,pbVar2->name), iVar10 == 0)) {\n              if (pbVar2 != pbVar4) goto LAB_0004ae88;\n              break;\n            }\n          }\n          global_found = (lang_input_statement_type *)0x0;\n          global_needed = pbVar2;\n          lang_for_each_input_file(gldelf32lriscv_ilp32f_check_needed);\n          if ((global_found == (lang_input_statement_type *)0x0) ||\n             (uVar9 = bfd_elf_get_dyn_lib_class(global_found->the_bfd), (uVar9 & 1) != 0)) {\n            pbVar20 = pbVar2->by;\n            pcVar12 = pbVar2->name;\n            n.by = pbVar20;\n            n.name = pcVar12;\n            nn.by = pbVar20;\n            if (verbose != 0) {\n              pcVar16 = (char *)dcgettext(0,"%s needed by %pB\n",5);\n              info_msg(pcVar16,pcVar12,pbVar20);\n            }\n            if (global_found != (lang_input_statement_type *)0x0) {\n              nn.name = global_found->filename;\n              bVar11 = gldelf32lriscv_ilp32f_try_needed(&nn,(int)nn.name,(dt_needed *)0x1);\n              if (bVar11 != 0) goto LAB_0004ae88;\n            }\n            local_60 = (dt_needed *)0x0;\n            while (bVar11 = gldelf32lriscv_ilp32f_search_needed\n                                      (command_line.rpath_link,&n,(int)local_60), bVar11 == 0) {\n              if (command_line.rpath != (char *)0x0) {\n                pcVar12 = gldelf32lriscv_ilp32f_add_sysroot(command_line.rpath);\n                bVar11 = gldelf32lriscv_ilp32f_search_needed(pcVar12,&n,(int)local_60);\n                free(pcVar12);\n                if (bVar11 != 0) break;\n              }\n              piVar13 = (int *)bfd_elf_get_runpath_list(link_info.output_bfd,&link_info);\n              if (piVar13 != (int *)0x0) {\n                do {\n                  bVar25 = true;\n                  pcVar12 = gldelf32lriscv_ilp32f_add_sysroot((char *)piVar13[2]);\n                  bVar3 = false;\n                  if ((bfd *)piVar13[1] == pbVar2->by) {\n                    bVar11 = gldelf32lriscv_ilp32f_search_needed(pcVar12,&n,(int)local_60);\n                    bVar25 = bVar11 == 0;\n                    bVar3 = !bVar25;\n                  }\n                  free(pcVar12);\n                  piVar13 = (int *)*piVar13;\n                } while ((piVar13 != (int *)0x0) && (bVar25));\n                if (bVar3) break;\n              }\n              pcVar12 = ld_so_conf_13460;\n              if (initialized_13459 == 0) {\n                needed.by = (bfd *)0x0;\n                needed.name = (char *)0x0;\n                pcVar12 = (char *)concat(ld_sysroot,"/usr/etc/ld.so.conf",0);\n                bVar11 = gldelf32lriscv_ilp32f_parse_ld_so_conf\n                                   ((gldelf32lriscv_ilp32f_ld_so_conf *)&needed,pcVar12);\n                if (bVar11 == 0) {\n                  free(pcVar12);\n                  pcVar12 = (char *)concat(ld_sysroot,"/etc/ld.so.conf",0);\n                  gldelf32lriscv_ilp32f_parse_ld_so_conf\n                            ((gldelf32lriscv_ilp32f_ld_so_conf *)&needed,pcVar12);\n                }\n                free(pcVar12);\n                pcVar12 = ld_so_conf_13460;\n                if (needed.by != (bfd *)0x0) {\n                  pcVar12 = gldelf32lriscv_ilp32f_add_sysroot((char *)needed.by);\n                  ld_so_conf_13460 = pcVar12;\n                  free(needed.by);\n                }\n                initialized_13459 = 1;\n              }\n              pcVar16 = pbVar2->name;\n              if (pcVar12 != (char *)0x0) {\n                needed.by = pbVar2->by;\n                needed.name = pcVar16;\n                bVar11 = gldelf32lriscv_ilp32f_search_needed(pcVar12,&needed,(int)local_60);\n                if (bVar11 != 0) break;\n                pcVar16 = pbVar2->name;\n              }\n              sVar14 = strlen(pcVar16);\n              if (search_head != (search_dirs_type *)0x0) {\n                psVar21 = search_head;\n                do {\n                  if (psVar21->cmdline == 0) {\n                    sVar15 = strlen(psVar21->name);\n                    pcVar12 = (char *)xmalloc(sVar15 + sVar14 + 2);\n                    sprintf(pcVar12,"%s/%s",psVar21->name,pbVar2->name);\n                    nn.name = pcVar12;\n                    bVar11 = gldelf32lriscv_ilp32f_try_needed(&nn,(int)pcVar12,local_60);\n                    if (bVar11 != 0) goto LAB_0004ae88;\n                    free(pcVar12);\n                  }\n                  psVar21 = psVar21->next;\n                } while (psVar21 != (search_dirs *)0x0);\n              }\n              if (local_60 == (dt_needed *)0x1) {\n                pbVar20 = pbVar2->by;\n                pcVar12 = pbVar2->name;\n                pcVar16 = (char *)dcgettext(0,\n                                            "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                            ,5);\n                einfo(pcVar16,pcVar12,pbVar20);\n                break;\n              }\n              local_60 = (dt_needed *)0x1;\n            }\n          }\n        }\nLAB_0004ae88:\n      }\n      if (((link_info._3_1_ & 0xc0) == 0x80) &&\n         (iVar10 = bfd_elf_parse_eh_frame_entries(0,&link_info), iVar10 == 0)) {\n        pcVar12 = (char *)dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);\n        einfo(pcVar12);\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        pbVar20 = link_info.input_bfds;\n        do {\n          while ((*(byte *)((int)pbVar20->usrdata + 0x24) & 0x10) != 0) {\nLAB_0004b160:\n            pbVar20 = (pbVar20->link).next;\n            if (pbVar20 == (bfd *)0x0) goto LAB_0004b267;\n          }\n          pbVar19 = pbVar20->sections;\n          if (pbVar19 == (bfd_section *)0x0) {\nLAB_0004b231:\n            if (local_50 != 2) goto LAB_0004b160;\n          }\n          else {\n            local_60 = (dt_needed *)0x0;\n            do {\n              bVar25 = pbVar19->output_section <\n                       (bfd_section *)(PTR__bfd_std_section_0013bfc4 + 0x180);\n              bVar26 = pbVar19->output_section ==\n                       (bfd_section *)(PTR__bfd_std_section_0013bfc4 + 0x180);\n              pdVar6 = local_60;\n              if (!bVar26) {\n                iVar10 = 0xf;\n                pbVar22 = (byte *)pbVar19->name;\n                pbVar23 = (byte *)".eh_frame_entry";\n                do {\n                  if (iVar10 == 0) break;\n                  iVar10 = iVar10 + -1;\n                  bVar25 = *pbVar22 < *pbVar23;\n                  bVar26 = *pbVar22 == *pbVar23;\n                  pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  pbVar23 = pbVar23 + (uint)bVar27 * -2 + 1;\n                } while (bVar26);\n                bVar24 = false;\n                bVar25 = (!bVar25 && !bVar26) == bVar25;\n                if (bVar25) {\n                  local_60 = (dt_needed *)0x2;\n                  goto LAB_0004b209;\n                }\n                iVar10 = 10;\n                pbVar22 = (byte *)pbVar19->name;\n                pbVar23 = (byte *)".eh_frame";\n                do {\n                  if (iVar10 == 0) break;\n                  iVar10 = iVar10 + -1;\n                  bVar24 = *pbVar22 < *pbVar23;\n                  bVar25 = *pbVar22 == *pbVar23;\n                  pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  pbVar23 = pbVar23 + (uint)bVar27 * -2 + 1;\n                } while (bVar25);\n                if (((!bVar24 && !bVar25) == bVar24) &&\n                   (piVar13 = (int *)((int)&pbVar19->size + 4), pdVar6 = (dt_needed *)1,\n                   *piVar13 == 0 && (uint)(8 < (uint)pbVar19->size) <= (uint)-*piVar13)) {\n                  pdVar6 = local_60;\n                }\n              }\n              local_60 = pdVar6;\n              pbVar19 = pbVar19->next;\n            } while (pbVar19 != (bfd_section *)0x0);\n            if (local_60 == (dt_needed *)0x0) goto LAB_0004b231;\nLAB_0004b209:\n            if ((local_50 != 0) && ((dt_needed *)local_50 != local_60)) {\n              if (local_60 != (dt_needed *)0x1) {\n                pbVar20 = local_4c;\n              }\n              pcVar12 = (char *)dcgettext(0,\n                                          "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                          ,5);\n              einfo(pcVar12,pbVar20);\n              break;\n            }\n            local_50 = (int)local_60;\n            if (local_4c != (bfd *)0x0) goto LAB_0004b231;\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 (pbVar20->xvec->flavour == bfd_target_elf_flavour) {\n                  local_4c = pbVar20;\n                }\n              }\n              goto LAB_0004b160;\n            }\n            bVar3 = true;\n            if (pbVar20->xvec->flavour == bfd_target_elf_flavour) {\n              local_4c = pbVar20;\n            }\n          }\n          pbVar20 = (pbVar20->link).next;\n          local_50 = 2;\n          link_info._2_2_ = link_info._2_2_ & 0x3fff | 0x8000;\n        } while (pbVar20 != (bfd *)0x0);\nLAB_0004b267:\n        if ((local_4c == (bfd *)0x0) ||\n           (pbVar17 = (bfd_link_hash_entry *)\n                      bfd_make_section_with_flags\n                                (local_4c,".eh_frame_hdr",\n                                 *(uint *)((int)local_4c->xvec->backend_data + 0x30) | 8),\n           pbVar17 == (bfd_link_hash_entry *)0x0)) {\n          if (bVar3) {\n            pcVar12 = (char *)dcgettext(0,\n                                        "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                                        ,5);\n            einfo(pcVar12);\n          }\n        }\n        else {\n          pbVar17[2].u.i.warning = (char *)0x2;\n          pbVar5[4].undefs_tail = pbVar17;\n        }\n      }\n      pbVar8 = (bfd_link_needed_list *)bfd_elf_get_needed_list(link_info.output_bfd,&link_info);\n      for (pbVar2 = pbVar8; pbVar2 != (bfd_link_needed_list *)0x0; pbVar2 = pbVar2->next) {\n        pbVar4 = pbVar8;\n        if ((pbVar2->by == (bfd *)0x0) ||\n           ((uVar9 = bfd_elf_get_dyn_lib_class(pbVar2->by), (uVar9 & 1) == 0 &&\n            (((pbVar2->by == (bfd *)0x0 || ((link_info._2_2_ & 0x180) != 0x80)) ||\n             (uVar9 = bfd_elf_get_dyn_lib_class(pbVar2->by), (uVar9 & 4) == 0)))))) {\n          for (; pbVar4 != pbVar2; pbVar4 = pbVar4->next) {\n            if (((pbVar4->by == (bfd *)0x0) ||\n                (uVar9 = bfd_elf_get_dyn_lib_class(pbVar4->by), (uVar9 & 1) == 0)) &&\n               (iVar10 = strcmp(pbVar4->name,pbVar2->name), iVar10 == 0)) {\n              if (pbVar2 != pbVar4) goto LAB_0004ae88;\n              break;\n            }\n          }\n          global_found = (lang_input_statement_type *)0x0;\n          global_needed = pbVar2;\n          lang_for_each_input_file(gldelf32lriscv_ilp32f_check_needed);\n          if ((global_found == (lang_input_statement_type *)0x0) ||\n             (uVar9 = bfd_elf_get_dyn_lib_class(global_found->the_bfd), (uVar9 & 1) != 0)) {\n            pbVar20 = pbVar2->by;\n            pcVar12 = pbVar2->name;\n            n.by = pbVar20;\n            n.name = pcVar12;\n            nn.by = pbVar20;\n            if (verbose != 0) {\n              pcVar16 = (char *)dcgettext(0,"%s needed by %pB\n",5);\n              info_msg(pcVar16,pcVar12,pbVar20);\n            }\n            if (global_found != (lang_input_statement_type *)0x0) {\n              nn.name = global_found->filename;\n              bVar11 = gldelf32lriscv_ilp32f_try_needed(&nn,(int)nn.name,(dt_needed *)0x1);\n              if (bVar11 != 0) goto LAB_0004ae88;\n            }\n            local_60 = (dt_needed *)0x0;\n            while (bVar11 = gldelf32lriscv_ilp32f_search_needed\n                                      (command_line.rpath_link,&n,(int)local_60), bVar11 == 0) {\n              if (command_line.rpath != (char *)0x0) {\n                pcVar12 = gldelf32lriscv_ilp32f_add_sysroot(command_line.rpath);\n                bVar11 = gldelf32lriscv_ilp32f_search_needed(pcVar12,&n,(int)local_60);\n                free(pcVar12);\n                if (bVar11 != 0) break;\n              }\n              piVar13 = (int *)bfd_elf_get_runpath_list(link_info.output_bfd,&link_info);\n              if (piVar13 != (int *)0x0) {\n                do {\n                  bVar25 = true;\n                  pcVar12 = gldelf32lriscv_ilp32f_add_sysroot((char *)piVar13[2]);\n                  bVar3 = false;\n                  if ((bfd *)piVar13[1] == pbVar2->by) {\n                    bVar11 = gldelf32lriscv_ilp32f_search_needed(pcVar12,&n,(int)local_60);\n                    bVar25 = bVar11 == 0;\n                    bVar3 = !bVar25;\n                  }\n                  free(pcVar12);\n                  piVar13 = (int *)*piVar13;\n                } while ((piVar13 != (int *)0x0) && (bVar25));\n                if (bVar3) break;\n              }\n              pcVar12 = ld_so_conf_13460;\n              if (initialized_13459 == 0) {\n                needed.by = (bfd *)0x0;\n                needed.name = (char *)0x0;\n                pcVar12 = (char *)concat(ld_sysroot,"/usr/etc/ld.so.conf",0);\n                bVar11 = gldelf32lriscv_ilp32f_parse_ld_so_conf\n                                   ((gldelf32lriscv_ilp32f_ld_so_conf *)&needed,pcVar12);\n                if (bVar11 == 0) {\n                  free(pcVar12);\n                  pcVar12 = (char *)concat(ld_sysroot,"/etc/ld.so.conf",0);\n                  gldelf32lriscv_ilp32f_parse_ld_so_conf\n                            ((gldelf32lriscv_ilp32f_ld_so_conf *)&needed,pcVar12);\n                }\n                free(pcVar12);\n                pcVar12 = ld_so_conf_13460;\n                if (needed.by != (bfd *)0x0) {\n                  pcVar12 = gldelf32lriscv_ilp32f_add_sysroot((char *)needed.by);\n                  ld_so_conf_13460 = pcVar12;\n                  free(needed.by);\n                }\n                initialized_13459 = 1;\n              }\n              pcVar16 = pbVar2->name;\n              if (pcVar12 != (char *)0x0) {\n                needed.by = pbVar2->by;\n                needed.name = pcVar16;\n                bVar11 = gldelf32lriscv_ilp32f_search_needed(pcVar12,&needed,(int)local_60);\n                if (bVar11 != 0) break;\n                pcVar16 = pbVar2->name;\n              }\n              sVar14 = strlen(pcVar16);\n              if (search_head != (search_dirs_type *)0x0) {\n                psVar21 = search_head;\n                do {\n                  if (psVar21->cmdline == 0) {\n                    sVar15 = strlen(psVar21->name);\n                    pcVar12 = (char *)xmalloc(sVar15 + sVar14 + 2);\n                    sprintf(pcVar12,"%s/%s",psVar21->name,pbVar2->name);\n                    nn.name = pcVar12;\n                    bVar11 = gldelf32lriscv_ilp32f_try_needed(&nn,(int)pcVar12,local_60);\n                    if (bVar11 != 0) goto LAB_0004ae88;\n                    free(pcVar12);\n                  }\n                  psVar21 = psVar21->next;\n                } while (psVar21 != (search_dirs *)0x0);\n              }\n              if (local_60 == (dt_needed *)0x1) {\n                pbVar20 = pbVar2->by;\n                pcVar12 = pbVar2->name;\n                pcVar16 = (char *)dcgettext(0,\n                                            "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                            ,5);\n                einfo(pcVar16,pcVar12,pbVar20);\n                break;\n              }\n              local_60 = (dt_needed *)0x1;\n            }\n          }\n        }\nLAB_0004ae88:\n      }\n      if (((link_info._3_1_ & 0xc0) == 0x80) &&\n         (iVar10 = bfd_elf_parse_eh_frame_entries(0,&link_info), iVar10 == 0)) {\n        pcVar12 = (char *)dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);\n        einfo(pcVar12);\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        pbVar20 = link_info.input_bfds;\n        do {\n          while ((*(byte *)((int)pbVar20->usrdata + 0x24) & 0x10) != 0) {\nLAB_0004b160:\n            pbVar20 = (pbVar20->link).next;\n            if (pbVar20 == (bfd *)0x0) goto LAB_0004b267;\n          }\n          pbVar19 = pbVar20->sections;\n          if (pbVar19 == (bfd_section *)0x0) {\nLAB_0004b231:\n            if (local_50 != 2) goto LAB_0004b160;\n          }\n          else {\n            local_60 = (dt_needed *)0x0;\n            do {\n              bVar25 = pbVar19->output_section <\n                       (bfd_section *)(PTR__bfd_std_section_0013bfc4 + 0x180);\n              bVar26 = pbVar19->output_section ==\n                       (bfd_section *)(PTR__bfd_std_section_0013bfc4 + 0x180);\n              pdVar6 = local_60;\n              if (!bVar26) {\n                iVar10 = 0xf;\n                pbVar22 = (byte *)pbVar19->name;\n                pbVar23 = (byte *)".eh_frame_entry";\n                do {\n                  if (iVar10 == 0) break;\n                  iVar10 = iVar10 + -1;\n                  bVar25 = *pbVar22 < *pbVar23;\n                  bVar26 = *pbVar22 == *pbVar23;\n                  pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  pbVar23 = pbVar23 + (uint)bVar27 * -2 + 1;\n                } while (bVar26);\n                bVar24 = false;\n                bVar25 = (!bVar25 && !bVar26) == bVar25;\n                if (bVar25) {\n                  local_60 = (dt_needed *)0x2;\n                  goto LAB_0004b209;\n                }\n                iVar10 = 10;\n                pbVar22 = (byte *)pbVar19->name;\n                pbVar23 = (byte *)".eh_frame";\n                do {\n                  if (iVar10 == 0) break;\n                  iVar10 = iVar10 + -1;\n                  bVar24 = *pbVar22 < *pbVar23;\n                  bVar25 = *pbVar22 == *pbVar23;\n                  pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  pbVar23 = pbVar23 + (uint)bVar27 * -2 + 1;\n                } while (bVar25);\n                if (((!bVar24 && !bVar25) == bVar24) &&\n                   (piVar13 = (int *)((int)&pbVar19->size + 4), pdVar6 = (dt_needed *)1,\n                   *piVar13 == 0 && (uint)(8 < (uint)pbVar19->size) <= (uint)-*piVar13)) {\n                  pdVar6 = local_60;\n                }\n              }\n              local_60 = pdVar6;\n              pbVar19 = pbVar19->next;\n            } while (pbVar19 != (bfd_section *)0x0);\n            if (local_60 == (dt_needed *)0x0) goto LAB_0004b231;\nLAB_0004b209:\n            if ((local_50 != 0) && ((dt_needed *)local_50 != local_60)) {\n              if (local_60 != (dt_needed *)0x1) {\n                pbVar20 = local_4c;\n              }\n              pcVar12 = (char *)dcgettext(0,\n                                          "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                          ,5);\n              einfo(pcVar12,pbVar20);\n              break;\n            }\n            local_50 = (int)local_60;\n            if (local_4c != (bfd *)0x0) goto LAB_0004b231;\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 (pbVar20->xvec->flavour == bfd_target_elf_flavour) {\n                  local_4c = pbVar20;\n                }\n              }\n              goto LAB_0004b160;\n            }\n            bVar3 = true;\n            if (pbVar20->xvec->flavour == bfd_target_elf_flavour) {\n              local_4c = pbVar20;\n            }\n          }\n          pbVar20 = (pbVar20->link).next;\n          local_50 = 2;\n          link_info._2_2_ = link_info._2_2_ & 0x3fff | 0x8000;\n        } while (pbVar20 != (bfd *)0x0);\nLAB_0004b267:\n        if ((local_4c == (bfd *)0x0) ||\n           (pbVar17 = (bfd_link_hash_entry *)\n                      bfd_make_section_with_flags\n                                (local_4c,".eh_frame_hdr",\n                                 *(uint *)((int)local_4c->xvec->backend_data + 0x30) | 8),\n           pbVar17 == (bfd_link_hash_entry *)0x0)) {\n          if (bVar3) {\n            pcVar12 = (char *)dcgettext(0,\n                                        "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                                        ,5);\n            einfo(pcVar12);\n          }\n        }\n        else {\n          pbVar17[2].u.i.warning = (char *)0x2;\n          pbVar5[4].undefs_tail = pbVar17;\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        pbVar20 = link_info.input_bfds;\n        do {\n          while ((*(byte *)((int)pbVar20->usrdata + 0x24) & 0x10) != 0) {\nLAB_0004b160:\n            pbVar20 = (pbVar20->link).next;\n            if (pbVar20 == (bfd *)0x0) goto LAB_0004b267;\n          }\n          pbVar19 = pbVar20->sections;\n          if (pbVar19 == (bfd_section *)0x0) {\nLAB_0004b231:\n            if (local_50 != 2) goto LAB_0004b160;\n          }\n          else {\n            local_60 = (dt_needed *)0x0;\n            do {\n              bVar25 = pbVar19->output_section <\n                       (bfd_section *)(PTR__bfd_std_section_0013bfc4 + 0x180);\n              bVar26 = pbVar19->output_section ==\n                       (bfd_section *)(PTR__bfd_std_section_0013bfc4 + 0x180);\n              pdVar6 = local_60;\n              if (!bVar26) {\n                iVar10 = 0xf;\n                pbVar22 = (byte *)pbVar19->name;\n                pbVar23 = (byte *)".eh_frame_entry";\n                do {\n                  if (iVar10 == 0) break;\n                  iVar10 = iVar10 + -1;\n                  bVar25 = *pbVar22 < *pbVar23;\n                  bVar26 = *pbVar22 == *pbVar23;\n                  pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  pbVar23 = pbVar23 + (uint)bVar27 * -2 + 1;\n                } while (bVar26);\n                bVar24 = false;\n                bVar25 = (!bVar25 && !bVar26) == bVar25;\n                if (bVar25) {\n                  local_60 = (dt_needed *)0x2;\n                  goto LAB_0004b209;\n                }\n                iVar10 = 10;\n                pbVar22 = (byte *)pbVar19->name;\n                pbVar23 = (byte *)".eh_frame";\n                do {\n                  if (iVar10 == 0) break;\n                  iVar10 = iVar10 + -1;\n                  bVar24 = *pbVar22 < *pbVar23;\n                  bVar25 = *pbVar22 == *pbVar23;\n                  pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  pbVar23 = pbVar23 + (uint)bVar27 * -2 + 1;\n                } while (bVar25);\n                if (((!bVar24 && !bVar25) == bVar24) &&\n                   (piVar13 = (int *)((int)&pbVar19->size + 4), pdVar6 = (dt_needed *)1,\n                   *piVar13 == 0 && (uint)(8 < (uint)pbVar19->size) <= (uint)-*piVar13)) {\n                  pdVar6 = local_60;\n                }\n              }\n              local_60 = pdVar6;\n              pbVar19 = pbVar19->next;\n            } while (pbVar19 != (bfd_section *)0x0);\n            if (local_60 == (dt_needed *)0x0) goto LAB_0004b231;\nLAB_0004b209:\n            if ((local_50 != 0) && ((dt_needed *)local_50 != local_60)) {\n              if (local_60 != (dt_needed *)0x1) {\n                pbVar20 = local_4c;\n              }\n              pcVar12 = (char *)dcgettext(0,\n                                          "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                          ,5);\n              einfo(pcVar12,pbVar20);\n              break;\n            }\n            local_50 = (int)local_60;\n            if (local_4c != (bfd *)0x0) goto LAB_0004b231;\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 (pbVar20->xvec->flavour == bfd_target_elf_flavour) {\n                  local_4c = pbVar20;\n                }\n              }\n              goto LAB_0004b160;\n            }\n            bVar3 = true;\n            if (pbVar20->xvec->flavour == bfd_target_elf_flavour) {\n              local_4c = pbVar20;\n            }\n          }\n          pbVar20 = (pbVar20->link).next;\n          local_50 = 2;\n          link_info._2_2_ = link_info._2_2_ & 0x3fff | 0x8000;\n        } while (pbVar20 != (bfd *)0x0);\nLAB_0004b267:\n        if ((local_4c == (bfd *)0x0) ||\n           (pbVar17 = (bfd_link_hash_entry *)\n                      bfd_make_section_with_flags\n                                (local_4c,".eh_frame_hdr",\n                                 *(uint *)((int)local_4c->xvec->backend_data + 0x30) | 8),\n           pbVar17 == (bfd_link_hash_entry *)0x0)) {\n          if (bVar3) {\n            pcVar12 = (char *)dcgettext(0,\n                                        "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                                        ,5);\n            einfo(pcVar12);\n          }\n        }\n        else {\n          pbVar17[2].u.i.warning = (char *)0x2;\n          pbVar5[4].undefs_tail = pbVar17;\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 "pbVar20 = link_info.input_bfds;" (assignment_expression "pbVar20 = link_info.input_bfds" identifier = (field_expression "link_info.input_bfds" identifier . field_identifier)) ;) (do_statement "do {\n          while ((*(byte *)((int)pbVar20->usrdata + 0x24) & 0x10) != 0) {\nLAB_0004b160:\n            pbVar20 = (pbVar20->link).next;\n            if (pbVar20 == (bfd *)0x0) goto LAB_0004b267;\n          }\n          pbVar19 = pbVar20->sections;\n          if (pbVar19 == (bfd_section *)0x0) {\nLAB_0004b231:\n            if (local_50 != 2) goto LAB_0004b160;\n          }\n          else {\n            local_60 = (dt_needed *)0x0;\n            do {\n              bVar25 = pbVar19->output_section <\n                       (bfd_section *)(PTR__bfd_std_section_0013bfc4 + 0x180);\n              bVar26 = pbVar19->output_section ==\n                       (bfd_section *)(PTR__bfd_std_section_0013bfc4 + 0x180);\n              pdVar6 = local_60;\n              if (!bVar26) {\n                iVar10 = 0xf;\n                pbVar22 = (byte *)pbVar19->name;\n                pbVar23 = (byte *)".eh_frame_entry";\n                do {\n                  if (iVar10 == 0) break;\n                  iVar10 = iVar10 + -1;\n                  bVar25 = *pbVar22 < *pbVar23;\n                  bVar26 = *pbVar22 == *pbVar23;\n                  pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  pbVar23 = pbVar23 + (uint)bVar27 * -2 + 1;\n                } while (bVar26);\n                bVar24 = false;\n                bVar25 = (!bVar25 && !bVar26) == bVar25;\n                if (bVar25) {\n                  local_60 = (dt_needed *)0x2;\n                  goto LAB_0004b209;\n                }\n                iVar10 = 10;\n                pbVar22 = (byte *)pbVar19->name;\n                pbVar23 = (byte *)".eh_frame";\n                do {\n                  if (iVar10 == 0) break;\n                  iVar10 = iVar10 + -1;\n                  bVar24 = *pbVar22 < *pbVar23;\n                  bVar25 = *pbVar22 == *pbVar23;\n                  pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  pbVar23 = pbVar23 + (uint)bVar27 * -2 + 1;\n                } while (bVar25);\n                if (((!bVar24 && !bVar25) == bVar24) &&\n                   (piVar13 = (int *)((int)&pbVar19->size + 4), pdVar6 = (dt_needed *)1,\n                   *piVar13 == 0 && (uint)(8 < (uint)pbVar19->size) <= (uint)-*piVar13)) {\n                  pdVar6 = local_60;\n                }\n              }\n              local_60 = pdVar6;\n              pbVar19 = pbVar19->next;\n            } while (pbVar19 != (bfd_section *)0x0);\n            if (local_60 == (dt_needed *)0x0) goto LAB_0004b231;\nLAB_0004b209:\n            if ((local_50 != 0) && ((dt_needed *)local_50 != local_60)) {\n              if (local_60 != (dt_needed *)0x1) {\n                pbVar20 = local_4c;\n              }\n              pcVar12 = (char *)dcgettext(0,\n                                          "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                          ,5);\n              einfo(pcVar12,pbVar20);\n              break;\n            }\n            local_50 = (int)local_60;\n            if (local_4c != (bfd *)0x0) goto LAB_0004b231;\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 (pbVar20->xvec->flavour == bfd_target_elf_flavour) {\n                  local_4c = pbVar20;\n                }\n              }\n              goto LAB_0004b160;\n            }\n            bVar3 = true;\n            if (pbVar20->xvec->flavour == bfd_target_elf_flavour) {\n              local_4c = pbVar20;\n            }\n          }\n          pbVar20 = (pbVar20->link).next;\n          local_50 = 2;\n          link_info._2_2_ = link_info._2_2_ & 0x3fff | 0x8000;\n        } while (pbVar20 != (bfd *)0x0);" do (compound_statement "{\n          while ((*(byte *)((int)pbVar20->usrdata + 0x24) & 0x10) != 0) {\nLAB_0004b160:\n            pbVar20 = (pbVar20->link).next;\n            if (pbVar20 == (bfd *)0x0) goto LAB_0004b267;\n          }\n          pbVar19 = pbVar20->sections;\n          if (pbVar19 == (bfd_section *)0x0) {\nLAB_0004b231:\n            if (local_50 != 2) goto LAB_0004b160;\n          }\n          else {\n            local_60 = (dt_needed *)0x0;\n            do {\n              bVar25 = pbVar19->output_section <\n                       (bfd_section *)(PTR__bfd_std_section_0013bfc4 + 0x180);\n              bVar26 = pbVar19->output_section ==\n                       (bfd_section *)(PTR__bfd_std_section_0013bfc4 + 0x180);\n              pdVar6 = local_60;\n              if (!bVar26) {\n                iVar10 = 0xf;\n                pbVar22 = (byte *)pbVar19->name;\n                pbVar23 = (byte *)".eh_frame_entry";\n                do {\n                  if (iVar10 == 0) break;\n                  iVar10 = iVar10 + -1;\n                  bVar25 = *pbVar22 < *pbVar23;\n                  bVar26 = *pbVar22 == *pbVar23;\n                  pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  pbVar23 = pbVar23 + (uint)bVar27 * -2 + 1;\n                } while (bVar26);\n                bVar24 = false;\n                bVar25 = (!bVar25 && !bVar26) == bVar25;\n                if (bVar25) {\n                  local_60 = (dt_needed *)0x2;\n                  goto LAB_0004b209;\n                }\n                iVar10 = 10;\n                pbVar22 = (byte *)pbVar19->name;\n                pbVar23 = (byte *)".eh_frame";\n                do {\n                  if (iVar10 == 0) break;\n                  iVar10 = iVar10 + -1;\n                  bVar24 = *pbVar22 < *pbVar23;\n                  bVar25 = *pbVar22 == *pbVar23;\n                  pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  pbVar23 = pbVar23 + (uint)bVar27 * -2 + 1;\n                } while (bVar25);\n                if (((!bVar24 && !bVar25) == bVar24) &&\n                   (piVar13 = (int *)((int)&pbVar19->size + 4), pdVar6 = (dt_needed *)1,\n                   *piVar13 == 0 && (uint)(8 < (uint)pbVar19->size) <= (uint)-*piVar13)) {\n                  pdVar6 = local_60;\n                }\n              }\n              local_60 = pdVar6;\n              pbVar19 = pbVar19->next;\n            } while (pbVar19 != (bfd_section *)0x0);\n            if (local_60 == (dt_needed *)0x0) goto LAB_0004b231;\nLAB_0004b209:\n            if ((local_50 != 0) && ((dt_needed *)local_50 != local_60)) {\n              if (local_60 != (dt_needed *)0x1) {\n                pbVar20 = local_4c;\n              }\n              pcVar12 = (char *)dcgettext(0,\n                                          "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                          ,5);\n              einfo(pcVar12,pbVar20);\n              break;\n            }\n            local_50 = (int)local_60;\n            if (local_4c != (bfd *)0x0) goto LAB_0004b231;\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 (pbVar20->xvec->flavour == bfd_target_elf_flavour) {\n                  local_4c = pbVar20;\n                }\n              }\n              goto LAB_0004b160;\n            }\n            bVar3 = true;\n            if (pbVar20->xvec->flavour == bfd_target_elf_flavour) {\n              local_4c = pbVar20;\n            }\n          }\n          pbVar20 = (pbVar20->link).next;\n          local_50 = 2;\n          link_info._2_2_ = link_info._2_2_ & 0x3fff | 0x8000;\n        }" { (while_statement "while ((*(byte *)((int)pbVar20->usrdata + 0x24) & 0x10) != 0) {\nLAB_0004b160:\n            pbVar20 = (pbVar20->link).next;\n            if (pbVar20 == (bfd *)0x0) goto LAB_0004b267;\n          }" while (parenthesized_expression "((*(byte *)((int)pbVar20->usrdata + 0x24) & 0x10) != 0)" ( (binary_expression "(*(byte *)((int)pbVar20->usrdata + 0x24) & 0x10) != 0" (parenthesized_expression "(*(byte *)((int)pbVar20->usrdata + 0x24) & 0x10)" ( (binary_expression "*(byte *)((int)pbVar20->usrdata + 0x24) & 0x10" (pointer_expression "*(byte *)((int)pbVar20->usrdata + 0x24)" * (cast_expression "(byte *)((int)pbVar20->usrdata + 0x24)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pbVar20->usrdata + 0x24)" ( (binary_expression "(int)pbVar20->usrdata + 0x24" (cast_expression "(int)pbVar20->usrdata" ( (type_descriptor "int" primitive_type) ) (field_expression "pbVar20->usrdata" identifier -> field_identifier)) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_0004b160:\n            pbVar20 = (pbVar20->link).next;\n            if (pbVar20 == (bfd *)0x0) goto LAB_0004b267;\n          }" { (labeled_statement "LAB_0004b160:\n            pbVar20 = (pbVar20->link).next;" statement_identifier : (expression_statement "pbVar20 = (pbVar20->link).next;" (assignment_expression "pbVar20 = (pbVar20->link).next" identifier = (field_expression "(pbVar20->link).next" (parenthesized_expression "(pbVar20->link)" ( (field_expression "pbVar20->link" identifier -> field_identifier) )) . field_identifier)) ;)) (if_statement "if (pbVar20 == (bfd *)0x0) goto LAB_0004b267;" if (parenthesized_expression "(pbVar20 == (bfd *)0x0)" ( (binary_expression "pbVar20 == (bfd *)0x0" identifier == (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0004b267;" goto statement_identifier ;)) })) (expression_statement "pbVar19 = pbVar20->sections;" (assignment_expression "pbVar19 = pbVar20->sections" identifier = (field_expression "pbVar20->sections" identifier -> field_identifier)) ;) (if_statement "if (pbVar19 == (bfd_section *)0x0) {\nLAB_0004b231:\n            if (local_50 != 2) goto LAB_0004b160;\n          }\n          else {\n            local_60 = (dt_needed *)0x0;\n            do {\n              bVar25 = pbVar19->output_section <\n                       (bfd_section *)(PTR__bfd_std_section_0013bfc4 + 0x180);\n              bVar26 = pbVar19->output_section ==\n                       (bfd_section *)(PTR__bfd_std_section_0013bfc4 + 0x180);\n              pdVar6 = local_60;\n              if (!bVar26) {\n                iVar10 = 0xf;\n                pbVar22 = (byte *)pbVar19->name;\n                pbVar23 = (byte *)".eh_frame_entry";\n                do {\n                  if (iVar10 == 0) break;\n                  iVar10 = iVar10 + -1;\n                  bVar25 = *pbVar22 < *pbVar23;\n                  bVar26 = *pbVar22 == *pbVar23;\n                  pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  pbVar23 = pbVar23 + (uint)bVar27 * -2 + 1;\n                } while (bVar26);\n                bVar24 = false;\n                bVar25 = (!bVar25 && !bVar26) == bVar25;\n                if (bVar25) {\n                  local_60 = (dt_needed *)0x2;\n                  goto LAB_0004b209;\n                }\n                iVar10 = 10;\n                pbVar22 = (byte *)pbVar19->name;\n                pbVar23 = (byte *)".eh_frame";\n                do {\n                  if (iVar10 == 0) break;\n                  iVar10 = iVar10 + -1;\n                  bVar24 = *pbVar22 < *pbVar23;\n                  bVar25 = *pbVar22 == *pbVar23;\n                  pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  pbVar23 = pbVar23 + (uint)bVar27 * -2 + 1;\n                } while (bVar25);\n                if (((!bVar24 && !bVar25) == bVar24) &&\n                   (piVar13 = (int *)((int)&pbVar19->size + 4), pdVar6 = (dt_needed *)1,\n                   *piVar13 == 0 && (uint)(8 < (uint)pbVar19->size) <= (uint)-*piVar13)) {\n                  pdVar6 = local_60;\n                }\n              }\n              local_60 = pdVar6;\n              pbVar19 = pbVar19->next;\n            } while (pbVar19 != (bfd_section *)0x0);\n            if (local_60 == (dt_needed *)0x0) goto LAB_0004b231;\nLAB_0004b209:\n            if ((local_50 != 0) && ((dt_needed *)local_50 != local_60)) {\n              if (local_60 != (dt_needed *)0x1) {\n                pbVar20 = local_4c;\n              }\n              pcVar12 = (char *)dcgettext(0,\n                                          "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                          ,5);\n              einfo(pcVar12,pbVar20);\n              break;\n            }\n            local_50 = (int)local_60;\n            if (local_4c != (bfd *)0x0) goto LAB_0004b231;\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 (pbVar20->xvec->flavour == bfd_target_elf_flavour) {\n                  local_4c = pbVar20;\n                }\n              }\n              goto LAB_0004b160;\n            }\n            bVar3 = true;\n            if (pbVar20->xvec->flavour == bfd_target_elf_flavour) {\n              local_4c = pbVar20;\n            }\n          }" if (parenthesized_expression "(pbVar19 == (bfd_section *)0x0)" ( (binary_expression "pbVar19 == (bfd_section *)0x0" identifier == (cast_expression "(bfd_section *)0x0" ( (type_descriptor "bfd_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0004b231:\n            if (local_50 != 2) goto LAB_0004b160;\n          }" { (labeled_statement "LAB_0004b231:\n            if (local_50 != 2) goto LAB_0004b160;" statement_identifier : (if_statement "if (local_50 != 2) goto LAB_0004b160;" if (parenthesized_expression "(local_50 != 2)" ( (binary_expression "local_50 != 2" identifier != number_literal) )) (goto_statement "goto LAB_0004b160;" goto statement_identifier ;))) }) (else_clause "else {\n            local_60 = (dt_needed *)0x0;\n            do {\n              bVar25 = pbVar19->output_section <\n                       (bfd_section *)(PTR__bfd_std_section_0013bfc4 + 0x180);\n              bVar26 = pbVar19->output_section ==\n                       (bfd_section *)(PTR__bfd_std_section_0013bfc4 + 0x180);\n              pdVar6 = local_60;\n              if (!bVar26) {\n                iVar10 = 0xf;\n                pbVar22 = (byte *)pbVar19->name;\n                pbVar23 = (byte *)".eh_frame_entry";\n                do {\n                  if (iVar10 == 0) break;\n                  iVar10 = iVar10 + -1;\n                  bVar25 = *pbVar22 < *pbVar23;\n                  bVar26 = *pbVar22 == *pbVar23;\n                  pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  pbVar23 = pbVar23 + (uint)bVar27 * -2 + 1;\n                } while (bVar26);\n                bVar24 = false;\n                bVar25 = (!bVar25 && !bVar26) == bVar25;\n                if (bVar25) {\n                  local_60 = (dt_needed *)0x2;\n                  goto LAB_0004b209;\n                }\n                iVar10 = 10;\n                pbVar22 = (byte *)pbVar19->name;\n                pbVar23 = (byte *)".eh_frame";\n                do {\n                  if (iVar10 == 0) break;\n                  iVar10 = iVar10 + -1;\n                  bVar24 = *pbVar22 < *pbVar23;\n                  bVar25 = *pbVar22 == *pbVar23;\n                  pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  pbVar23 = pbVar23 + (uint)bVar27 * -2 + 1;\n                } while (bVar25);\n                if (((!bVar24 && !bVar25) == bVar24) &&\n                   (piVar13 = (int *)((int)&pbVar19->size + 4), pdVar6 = (dt_needed *)1,\n                   *piVar13 == 0 && (uint)(8 < (uint)pbVar19->size) <= (uint)-*piVar13)) {\n                  pdVar6 = local_60;\n                }\n              }\n              local_60 = pdVar6;\n              pbVar19 = pbVar19->next;\n            } while (pbVar19 != (bfd_section *)0x0);\n            if (local_60 == (dt_needed *)0x0) goto LAB_0004b231;\nLAB_0004b209:\n            if ((local_50 != 0) && ((dt_needed *)local_50 != local_60)) {\n              if (local_60 != (dt_needed *)0x1) {\n                pbVar20 = local_4c;\n              }\n              pcVar12 = (char *)dcgettext(0,\n                                          "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                          ,5);\n              einfo(pcVar12,pbVar20);\n              break;\n            }\n            local_50 = (int)local_60;\n            if (local_4c != (bfd *)0x0) goto LAB_0004b231;\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 (pbVar20->xvec->flavour == bfd_target_elf_flavour) {\n                  local_4c = pbVar20;\n                }\n              }\n              goto LAB_0004b160;\n            }\n            bVar3 = true;\n            if (pbVar20->xvec->flavour == bfd_target_elf_flavour) {\n              local_4c = pbVar20;\n            }\n          }" else (compound_statement "{\n            local_60 = (dt_needed *)0x0;\n            do {\n              bVar25 = pbVar19->output_section <\n                       (bfd_section *)(PTR__bfd_std_section_0013bfc4 + 0x180);\n              bVar26 = pbVar19->output_section ==\n                       (bfd_section *)(PTR__bfd_std_section_0013bfc4 + 0x180);\n              pdVar6 = local_60;\n              if (!bVar26) {\n                iVar10 = 0xf;\n                pbVar22 = (byte *)pbVar19->name;\n                pbVar23 = (byte *)".eh_frame_entry";\n                do {\n                  if (iVar10 == 0) break;\n                  iVar10 = iVar10 + -1;\n                  bVar25 = *pbVar22 < *pbVar23;\n                  bVar26 = *pbVar22 == *pbVar23;\n                  pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  pbVar23 = pbVar23 + (uint)bVar27 * -2 + 1;\n                } while (bVar26);\n                bVar24 = false;\n                bVar25 = (!bVar25 && !bVar26) == bVar25;\n                if (bVar25) {\n                  local_60 = (dt_needed *)0x2;\n                  goto LAB_0004b209;\n                }\n                iVar10 = 10;\n                pbVar22 = (byte *)pbVar19->name;\n                pbVar23 = (byte *)".eh_frame";\n                do {\n                  if (iVar10 == 0) break;\n                  iVar10 = iVar10 + -1;\n                  bVar24 = *pbVar22 < *pbVar23;\n                  bVar25 = *pbVar22 == *pbVar23;\n                  pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  pbVar23 = pbVar23 + (uint)bVar27 * -2 + 1;\n                } while (bVar25);\n                if (((!bVar24 && !bVar25) == bVar24) &&\n                   (piVar13 = (int *)((int)&pbVar19->size + 4), pdVar6 = (dt_needed *)1,\n                   *piVar13 == 0 && (uint)(8 < (uint)pbVar19->size) <= (uint)-*piVar13)) {\n                  pdVar6 = local_60;\n                }\n              }\n              local_60 = pdVar6;\n              pbVar19 = pbVar19->next;\n            } while (pbVar19 != (bfd_section *)0x0);\n            if (local_60 == (dt_needed *)0x0) goto LAB_0004b231;\nLAB_0004b209:\n            if ((local_50 != 0) && ((dt_needed *)local_50 != local_60)) {\n              if (local_60 != (dt_needed *)0x1) {\n                pbVar20 = local_4c;\n              }\n              pcVar12 = (char *)dcgettext(0,\n                                          "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                          ,5);\n              einfo(pcVar12,pbVar20);\n              break;\n            }\n            local_50 = (int)local_60;\n            if (local_4c != (bfd *)0x0) goto LAB_0004b231;\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 (pbVar20->xvec->flavour == bfd_target_elf_flavour) {\n                  local_4c = pbVar20;\n                }\n              }\n              goto LAB_0004b160;\n            }\n            bVar3 = true;\n            if (pbVar20->xvec->flavour == bfd_target_elf_flavour) {\n              local_4c = pbVar20;\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              bVar25 = pbVar19->output_section <\n                       (bfd_section *)(PTR__bfd_std_section_0013bfc4 + 0x180);\n              bVar26 = pbVar19->output_section ==\n                       (bfd_section *)(PTR__bfd_std_section_0013bfc4 + 0x180);\n              pdVar6 = local_60;\n              if (!bVar26) {\n                iVar10 = 0xf;\n                pbVar22 = (byte *)pbVar19->name;\n                pbVar23 = (byte *)".eh_frame_entry";\n                do {\n                  if (iVar10 == 0) break;\n                  iVar10 = iVar10 + -1;\n                  bVar25 = *pbVar22 < *pbVar23;\n                  bVar26 = *pbVar22 == *pbVar23;\n                  pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  pbVar23 = pbVar23 + (uint)bVar27 * -2 + 1;\n                } while (bVar26);\n                bVar24 = false;\n                bVar25 = (!bVar25 && !bVar26) == bVar25;\n                if (bVar25) {\n                  local_60 = (dt_needed *)0x2;\n                  goto LAB_0004b209;\n                }\n                iVar10 = 10;\n                pbVar22 = (byte *)pbVar19->name;\n                pbVar23 = (byte *)".eh_frame";\n                do {\n                  if (iVar10 == 0) break;\n                  iVar10 = iVar10 + -1;\n                  bVar24 = *pbVar22 < *pbVar23;\n                  bVar25 = *pbVar22 == *pbVar23;\n                  pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  pbVar23 = pbVar23 + (uint)bVar27 * -2 + 1;\n                } while (bVar25);\n                if (((!bVar24 && !bVar25) == bVar24) &&\n                   (piVar13 = (int *)((int)&pbVar19->size + 4), pdVar6 = (dt_needed *)1,\n                   *piVar13 == 0 && (uint)(8 < (uint)pbVar19->size) <= (uint)-*piVar13)) {\n                  pdVar6 = local_60;\n                }\n              }\n              local_60 = pdVar6;\n              pbVar19 = pbVar19->next;\n            } while (pbVar19 != (bfd_section *)0x0);" do (compound_statement "{\n              bVar25 = pbVar19->output_section <\n                       (bfd_section *)(PTR__bfd_std_section_0013bfc4 + 0x180);\n              bVar26 = pbVar19->output_section ==\n                       (bfd_section *)(PTR__bfd_std_section_0013bfc4 + 0x180);\n              pdVar6 = local_60;\n              if (!bVar26) {\n                iVar10 = 0xf;\n                pbVar22 = (byte *)pbVar19->name;\n                pbVar23 = (byte *)".eh_frame_entry";\n                do {\n                  if (iVar10 == 0) break;\n                  iVar10 = iVar10 + -1;\n                  bVar25 = *pbVar22 < *pbVar23;\n                  bVar26 = *pbVar22 == *pbVar23;\n                  pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  pbVar23 = pbVar23 + (uint)bVar27 * -2 + 1;\n                } while (bVar26);\n                bVar24 = false;\n                bVar25 = (!bVar25 && !bVar26) == bVar25;\n                if (bVar25) {\n                  local_60 = (dt_needed *)0x2;\n                  goto LAB_0004b209;\n                }\n                iVar10 = 10;\n                pbVar22 = (byte *)pbVar19->name;\n                pbVar23 = (byte *)".eh_frame";\n                do {\n                  if (iVar10 == 0) break;\n                  iVar10 = iVar10 + -1;\n                  bVar24 = *pbVar22 < *pbVar23;\n                  bVar25 = *pbVar22 == *pbVar23;\n                  pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  pbVar23 = pbVar23 + (uint)bVar27 * -2 + 1;\n                } while (bVar25);\n                if (((!bVar24 && !bVar25) == bVar24) &&\n                   (piVar13 = (int *)((int)&pbVar19->size + 4), pdVar6 = (dt_needed *)1,\n                   *piVar13 == 0 && (uint)(8 < (uint)pbVar19->size) <= (uint)-*piVar13)) {\n                  pdVar6 = local_60;\n                }\n              }\n              local_60 = pdVar6;\n              pbVar19 = pbVar19->next;\n            }" { (expression_statement "bVar25 = pbVar19->output_section <\n                       (bfd_section *)(PTR__bfd_std_section_0013bfc4 + 0x180);" (assignment_expression "bVar25 = pbVar19->output_section <\n                       (bfd_section *)(PTR__bfd_std_section_0013bfc4 + 0x180)" identifier = (binary_expression "pbVar19->output_section <\n                       (bfd_section *)(PTR__bfd_std_section_0013bfc4 + 0x180)" (field_expression "pbVar19->output_section" identifier -> field_identifier) < (cast_expression "(bfd_section *)(PTR__bfd_std_section_0013bfc4 + 0x180)" ( (type_descriptor "bfd_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR__bfd_std_section_0013bfc4 + 0x180)" ( (binary_expression "PTR__bfd_std_section_0013bfc4 + 0x180" identifier + number_literal) ))))) ;) (expression_statement "bVar26 = pbVar19->output_section ==\n                       (bfd_section *)(PTR__bfd_std_section_0013bfc4 + 0x180);" (assignment_expression "bVar26 = pbVar19->output_section ==\n                       (bfd_section *)(PTR__bfd_std_section_0013bfc4 + 0x180)" identifier = (binary_expression "pbVar19->output_section ==\n                       (bfd_section *)(PTR__bfd_std_section_0013bfc4 + 0x180)" (field_expression "pbVar19->output_section" identifier -> field_identifier) == (cast_expression "(bfd_section *)(PTR__bfd_std_section_0013bfc4 + 0x180)" ( (type_descriptor "bfd_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR__bfd_std_section_0013bfc4 + 0x180)" ( (binary_expression "PTR__bfd_std_section_0013bfc4 + 0x180" identifier + number_literal) ))))) ;) (expression_statement "pdVar6 = local_60;" (assignment_expression "pdVar6 = local_60" identifier = identifier) ;) (if_statement "if (!bVar26) {\n                iVar10 = 0xf;\n                pbVar22 = (byte *)pbVar19->name;\n                pbVar23 = (byte *)".eh_frame_entry";\n                do {\n                  if (iVar10 == 0) break;\n                  iVar10 = iVar10 + -1;\n                  bVar25 = *pbVar22 < *pbVar23;\n                  bVar26 = *pbVar22 == *pbVar23;\n                  pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  pbVar23 = pbVar23 + (uint)bVar27 * -2 + 1;\n                } while (bVar26);\n                bVar24 = false;\n                bVar25 = (!bVar25 && !bVar26) == bVar25;\n                if (bVar25) {\n                  local_60 = (dt_needed *)0x2;\n                  goto LAB_0004b209;\n                }\n                iVar10 = 10;\n                pbVar22 = (byte *)pbVar19->name;\n                pbVar23 = (byte *)".eh_frame";\n                do {\n                  if (iVar10 == 0) break;\n                  iVar10 = iVar10 + -1;\n                  bVar24 = *pbVar22 < *pbVar23;\n                  bVar25 = *pbVar22 == *pbVar23;\n                  pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  pbVar23 = pbVar23 + (uint)bVar27 * -2 + 1;\n                } while (bVar25);\n                if (((!bVar24 && !bVar25) == bVar24) &&\n                   (piVar13 = (int *)((int)&pbVar19->size + 4), pdVar6 = (dt_needed *)1,\n                   *piVar13 == 0 && (uint)(8 < (uint)pbVar19->size) <= (uint)-*piVar13)) {\n                  pdVar6 = local_60;\n                }\n              }" if (parenthesized_expression "(!bVar26)" ( (unary_expression "!bVar26" ! identifier) )) (compound_statement "{\n                iVar10 = 0xf;\n                pbVar22 = (byte *)pbVar19->name;\n                pbVar23 = (byte *)".eh_frame_entry";\n                do {\n                  if (iVar10 == 0) break;\n                  iVar10 = iVar10 + -1;\n                  bVar25 = *pbVar22 < *pbVar23;\n                  bVar26 = *pbVar22 == *pbVar23;\n                  pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  pbVar23 = pbVar23 + (uint)bVar27 * -2 + 1;\n                } while (bVar26);\n                bVar24 = false;\n                bVar25 = (!bVar25 && !bVar26) == bVar25;\n                if (bVar25) {\n                  local_60 = (dt_needed *)0x2;\n                  goto LAB_0004b209;\n                }\n                iVar10 = 10;\n                pbVar22 = (byte *)pbVar19->name;\n                pbVar23 = (byte *)".eh_frame";\n                do {\n                  if (iVar10 == 0) break;\n                  iVar10 = iVar10 + -1;\n                  bVar24 = *pbVar22 < *pbVar23;\n                  bVar25 = *pbVar22 == *pbVar23;\n                  pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  pbVar23 = pbVar23 + (uint)bVar27 * -2 + 1;\n                } while (bVar25);\n                if (((!bVar24 && !bVar25) == bVar24) &&\n                   (piVar13 = (int *)((int)&pbVar19->size + 4), pdVar6 = (dt_needed *)1,\n                   *piVar13 == 0 && (uint)(8 < (uint)pbVar19->size) <= (uint)-*piVar13)) {\n                  pdVar6 = local_60;\n                }\n              }" { (expression_statement "iVar10 = 0xf;" (assignment_expression "iVar10 = 0xf" identifier = number_literal) ;) (expression_statement "pbVar22 = (byte *)pbVar19->name;" (assignment_expression "pbVar22 = (byte *)pbVar19->name" identifier = (cast_expression "(byte *)pbVar19->name" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pbVar19->name" identifier -> field_identifier))) ;) (expression_statement "pbVar23 = (byte *)".eh_frame_entry";" (assignment_expression "pbVar23 = (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 (iVar10 == 0) break;\n                  iVar10 = iVar10 + -1;\n                  bVar25 = *pbVar22 < *pbVar23;\n                  bVar26 = *pbVar22 == *pbVar23;\n                  pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  pbVar23 = pbVar23 + (uint)bVar27 * -2 + 1;\n                } while (bVar26);" do (compound_statement "{\n                  if (iVar10 == 0) break;\n                  iVar10 = iVar10 + -1;\n                  bVar25 = *pbVar22 < *pbVar23;\n                  bVar26 = *pbVar22 == *pbVar23;\n                  pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  pbVar23 = pbVar23 + (uint)bVar27 * -2 + 1;\n                }" { (if_statement "if (iVar10 == 0) break;" if (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar10 = iVar10 + -1;" (assignment_expression "iVar10 = iVar10 + -1" identifier = (binary_expression "iVar10 + -1" identifier + number_literal)) ;) (expression_statement "bVar25 = *pbVar22 < *pbVar23;" (assignment_expression "bVar25 = *pbVar22 < *pbVar23" identifier = (binary_expression "*pbVar22 < *pbVar23" (pointer_expression "*pbVar22" * identifier) < (pointer_expression "*pbVar23" * identifier))) ;) (expression_statement "bVar26 = *pbVar22 == *pbVar23;" (assignment_expression "bVar26 = *pbVar22 == *pbVar23" identifier = (binary_expression "*pbVar22 == *pbVar23" (pointer_expression "*pbVar22" * identifier) == (pointer_expression "*pbVar23" * identifier))) ;) (expression_statement "pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar22 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar22 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar23 = pbVar23 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar23 = pbVar23 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar23 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar23 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar26)" ( identifier )) ;) (expression_statement "bVar24 = false;" (assignment_expression "bVar24 = false" identifier = false) ;) (expression_statement "bVar25 = (!bVar25 && !bVar26) == bVar25;" (assignment_expression "bVar25 = (!bVar25 && !bVar26) == bVar25" identifier = (binary_expression "(!bVar25 && !bVar26) == bVar25" (parenthesized_expression "(!bVar25 && !bVar26)" ( (binary_expression "!bVar25 && !bVar26" (unary_expression "!bVar25" ! identifier) && (unary_expression "!bVar26" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar25) {\n                  local_60 = (dt_needed *)0x2;\n                  goto LAB_0004b209;\n                }" if (parenthesized_expression "(bVar25)" ( identifier )) (compound_statement "{\n                  local_60 = (dt_needed *)0x2;\n                  goto LAB_0004b209;\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_0004b209;" goto statement_identifier ;) })) (expression_statement "iVar10 = 10;" (assignment_expression "iVar10 = 10" identifier = number_literal) ;) (expression_statement "pbVar22 = (byte *)pbVar19->name;" (assignment_expression "pbVar22 = (byte *)pbVar19->name" identifier = (cast_expression "(byte *)pbVar19->name" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pbVar19->name" identifier -> field_identifier))) ;) (expression_statement "pbVar23 = (byte *)".eh_frame";" (assignment_expression "pbVar23 = (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 (iVar10 == 0) break;\n                  iVar10 = iVar10 + -1;\n                  bVar24 = *pbVar22 < *pbVar23;\n                  bVar25 = *pbVar22 == *pbVar23;\n                  pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  pbVar23 = pbVar23 + (uint)bVar27 * -2 + 1;\n                } while (bVar25);" do (compound_statement "{\n                  if (iVar10 == 0) break;\n                  iVar10 = iVar10 + -1;\n                  bVar24 = *pbVar22 < *pbVar23;\n                  bVar25 = *pbVar22 == *pbVar23;\n                  pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n                  pbVar23 = pbVar23 + (uint)bVar27 * -2 + 1;\n                }" { (if_statement "if (iVar10 == 0) break;" if (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar10 = iVar10 + -1;" (assignment_expression "iVar10 = iVar10 + -1" identifier = (binary_expression "iVar10 + -1" identifier + number_literal)) ;) (expression_statement "bVar24 = *pbVar22 < *pbVar23;" (assignment_expression "bVar24 = *pbVar22 < *pbVar23" identifier = (binary_expression "*pbVar22 < *pbVar23" (pointer_expression "*pbVar22" * identifier) < (pointer_expression "*pbVar23" * identifier))) ;) (expression_statement "bVar25 = *pbVar22 == *pbVar23;" (assignment_expression "bVar25 = *pbVar22 == *pbVar23" identifier = (binary_expression "*pbVar22 == *pbVar23" (pointer_expression "*pbVar22" * identifier) == (pointer_expression "*pbVar23" * identifier))) ;) (expression_statement "pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar22 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar22 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar23 = pbVar23 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar23 = pbVar23 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar23 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar23 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar25)" ( identifier )) ;) (if_statement "if (((!bVar24 && !bVar25) == bVar24) &&\n                   (piVar13 = (int *)((int)&pbVar19->size + 4), pdVar6 = (dt_needed *)1,\n                   *piVar13 == 0 && (uint)(8 < (uint)pbVar19->size) <= (uint)-*piVar13)) {\n                  pdVar6 = local_60;\n                }" if (parenthesized_expression "(((!bVar24 && !bVar25) == bVar24) &&\n                   (piVar13 = (int *)((int)&pbVar19->size + 4), pdVar6 = (dt_needed *)1,\n                   *piVar13 == 0 && (uint)(8 < (uint)pbVar19->size) <= (uint)-*piVar13))" ( (binary_expression "((!bVar24 && !bVar25) == bVar24) &&\n                   (piVar13 = (int *)((int)&pbVar19->size + 4), pdVar6 = (dt_needed *)1,\n                   *piVar13 == 0 && (uint)(8 < (uint)pbVar19->size) <= (uint)-*piVar13)" (parenthesized_expression "((!bVar24 && !bVar25) == bVar24)" ( (binary_expression "(!bVar24 && !bVar25) == bVar24" (parenthesized_expression "(!bVar24 && !bVar25)" ( (binary_expression "!bVar24 && !bVar25" (unary_expression "!bVar24" ! identifier) && (unary_expression "!bVar25" ! identifier)) )) == identifier) )) && (parenthesized_expression "(piVar13 = (int *)((int)&pbVar19->size + 4), pdVar6 = (dt_needed *)1,\n                   *piVar13 == 0 && (uint)(8 < (uint)pbVar19->size) <= (uint)-*piVar13)" ( (comma_expression "piVar13 = (int *)((int)&pbVar19->size + 4), pdVar6 = (dt_needed *)1,\n                   *piVar13 == 0 && (uint)(8 < (uint)pbVar19->size) <= (uint)-*piVar13" (assignment_expression "piVar13 = (int *)((int)&pbVar19->size + 4)" identifier = (cast_expression "(int *)((int)&pbVar19->size + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pbVar19->size + 4)" ( (binary_expression "(int)&pbVar19->size + 4" (cast_expression "(int)&pbVar19->size" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pbVar19->size" & (field_expression "pbVar19->size" identifier -> field_identifier))) + number_literal) )))) , (comma_expression "pdVar6 = (dt_needed *)1,\n                   *piVar13 == 0 && (uint)(8 < (uint)pbVar19->size) <= (uint)-*piVar13" (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 "*piVar13 == 0 && (uint)(8 < (uint)pbVar19->size) <= (uint)-*piVar13" (binary_expression "*piVar13 == 0" (pointer_expression "*piVar13" * identifier) == number_literal) && (binary_expression "(uint)(8 < (uint)pbVar19->size) <= (uint)-*piVar13" (call_expression "(uint)(8 < (uint)pbVar19->size)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(8 < (uint)pbVar19->size)" ( (binary_expression "8 < (uint)pbVar19->size" number_literal < (cast_expression "(uint)pbVar19->size" ( (type_descriptor "uint" type_identifier) ) (field_expression "pbVar19->size" identifier -> field_identifier))) ))) <= (binary_expression "(uint)-*piVar13" (parenthesized_expression "(uint)" ( identifier )) - (pointer_expression "*piVar13" * identifier)))))) ))) )) (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 "pbVar19 = pbVar19->next;" (assignment_expression "pbVar19 = pbVar19->next" identifier = (field_expression "pbVar19->next" identifier -> field_identifier)) ;) }) while (parenthesized_expression "(pbVar19 != (bfd_section *)0x0)" ( (binary_expression "pbVar19 != (bfd_section *)0x0" identifier != (cast_expression "(bfd_section *)0x0" ( (type_descriptor "bfd_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (if_statement "if (local_60 == (dt_needed *)0x0) goto LAB_0004b231;" 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_0004b231;" goto statement_identifier ;)) (labeled_statement "LAB_0004b209:\n            if ((local_50 != 0) && ((dt_needed *)local_50 != local_60)) {\n              if (local_60 != (dt_needed *)0x1) {\n                pbVar20 = local_4c;\n              }\n              pcVar12 = (char *)dcgettext(0,\n                                          "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                          ,5);\n              einfo(pcVar12,pbVar20);\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                pbVar20 = local_4c;\n              }\n              pcVar12 = (char *)dcgettext(0,\n                                          "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                          ,5);\n              einfo(pcVar12,pbVar20);\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                pbVar20 = local_4c;\n              }\n              pcVar12 = (char *)dcgettext(0,\n                                          "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                          ,5);\n              einfo(pcVar12,pbVar20);\n              break;\n            }" { (if_statement "if (local_60 != (dt_needed *)0x1) {\n                pbVar20 = 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                pbVar20 = local_4c;\n              }" { (expression_statement "pbVar20 = local_4c;" (assignment_expression "pbVar20 = local_4c" identifier = identifier) ;) })) (expression_statement "pcVar12 = (char *)dcgettext(0,\n                                          "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                          ,5);" (assignment_expression "pcVar12 = (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(pcVar12,pbVar20);" (call_expression "einfo(pcVar12,pbVar20)" identifier (argument_list "(pcVar12,pbVar20)" ( 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_0004b231;" 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_0004b231;" 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 (pbVar20->xvec->flavour == bfd_target_elf_flavour) {\n                  local_4c = pbVar20;\n                }\n              }\n              goto LAB_0004b160;\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 (pbVar20->xvec->flavour == bfd_target_elf_flavour) {\n                  local_4c = pbVar20;\n                }\n              }\n              goto LAB_0004b160;\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 (pbVar20->xvec->flavour == bfd_target_elf_flavour) {\n                  local_4c = pbVar20;\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 (pbVar20->xvec->flavour == bfd_target_elf_flavour) {\n                  local_4c = pbVar20;\n                }\n              }" else (compound_statement "{\n                local_50 = 1;\n                bVar3 = true;\n                if (pbVar20->xvec->flavour == bfd_target_elf_flavour) {\n                  local_4c = pbVar20;\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 (pbVar20->xvec->flavour == bfd_target_elf_flavour) {\n                  local_4c = pbVar20;\n                }" if (parenthesized_expression "(pbVar20->xvec->flavour == bfd_target_elf_flavour)" ( (binary_expression "pbVar20->xvec->flavour == bfd_target_elf_flavour" (field_expression "pbVar20->xvec->flavour" (field_expression "pbVar20->xvec" identifier -> field_identifier) -> field_identifier) == identifier) )) (compound_statement "{\n                  local_4c = pbVar20;\n                }" { (expression_statement "local_4c = pbVar20;" (assignment_expression "local_4c = pbVar20" identifier = identifier) ;) })) }))) (goto_statement "goto LAB_0004b160;" goto statement_identifier ;) })) (expression_statement "bVar3 = true;" (assignment_expression "bVar3 = true" identifier = true) ;) (if_statement "if (pbVar20->xvec->flavour == bfd_target_elf_flavour) {\n              local_4c = pbVar20;\n            }" if (parenthesized_expression "(pbVar20->xvec->flavour == bfd_target_elf_flavour)" ( (binary_expression "pbVar20->xvec->flavour == bfd_target_elf_flavour" (field_expression "pbVar20->xvec->flavour" (field_expression "pbVar20->xvec" identifier -> field_identifier) -> field_identifier) == identifier) )) (compound_statement "{\n              local_4c = pbVar20;\n            }" { (expression_statement "local_4c = pbVar20;" (assignment_expression "local_4c = pbVar20" identifier = identifier) ;) })) }))) (expression_statement "pbVar20 = (pbVar20->link).next;" (assignment_expression "pbVar20 = (pbVar20->link).next" identifier = (field_expression "(pbVar20->link).next" (parenthesized_expression "(pbVar20->link)" ( (field_expression "pbVar20->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 "(pbVar20 != (bfd *)0x0)" ( (binary_expression "pbVar20 != (bfd *)0x0" identifier != (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (labeled_statement "LAB_0004b267:\n        if ((local_4c == (bfd *)0x0) ||\n           (pbVar17 = (bfd_link_hash_entry *)\n                      bfd_make_section_with_flags\n                                (local_4c,".eh_frame_hdr",\n                                 *(uint *)((int)local_4c->xvec->backend_data + 0x30) | 8),\n           pbVar17 == (bfd_link_hash_entry *)0x0)) {\n          if (bVar3) {\n            pcVar12 = (char *)dcgettext(0,\n                                        "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                                        ,5);\n            einfo(pcVar12);\n          }\n        }\n        else {\n          pbVar17[2].u.i.warning = (char *)0x2;\n          pbVar5[4].undefs_tail = pbVar17;\n        }" statement_identifier : (if_statement "if ((local_4c == (bfd *)0x0) ||\n           (pbVar17 = (bfd_link_hash_entry *)\n                      bfd_make_section_with_flags\n                                (local_4c,".eh_frame_hdr",\n                                 *(uint *)((int)local_4c->xvec->backend_data + 0x30) | 8),\n           pbVar17 == (bfd_link_hash_entry *)0x0)) {\n          if (bVar3) {\n            pcVar12 = (char *)dcgettext(0,\n                                        "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                                        ,5);\n            einfo(pcVar12);\n          }\n        }\n        else {\n          pbVar17[2].u.i.warning = (char *)0x2;\n          pbVar5[4].undefs_tail = pbVar17;\n        }" if (parenthesized_expression "((local_4c == (bfd *)0x0) ||\n           (pbVar17 = (bfd_link_hash_entry *)\n                      bfd_make_section_with_flags\n                                (local_4c,".eh_frame_hdr",\n                                 *(uint *)((int)local_4c->xvec->backend_data + 0x30) | 8),\n           pbVar17 == (bfd_link_hash_entry *)0x0))" ( (binary_expression "(local_4c == (bfd *)0x0) ||\n           (pbVar17 = (bfd_link_hash_entry *)\n                      bfd_make_section_with_flags\n                                (local_4c,".eh_frame_hdr",\n                                 *(uint *)((int)local_4c->xvec->backend_data + 0x30) | 8),\n           pbVar17 == (bfd_link_hash_entry *)0x0)" (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 "(pbVar17 = (bfd_link_hash_entry *)\n                      bfd_make_section_with_flags\n                                (local_4c,".eh_frame_hdr",\n                                 *(uint *)((int)local_4c->xvec->backend_data + 0x30) | 8),\n           pbVar17 == (bfd_link_hash_entry *)0x0)" ( (comma_expression "pbVar17 = (bfd_link_hash_entry *)\n                      bfd_make_section_with_flags\n                                (local_4c,".eh_frame_hdr",\n                                 *(uint *)((int)local_4c->xvec->backend_data + 0x30) | 8),\n           pbVar17 == (bfd_link_hash_entry *)0x0" (assignment_expression "pbVar17 = (bfd_link_hash_entry *)\n                      bfd_make_section_with_flags\n                                (local_4c,".eh_frame_hdr",\n                                 *(uint *)((int)local_4c->xvec->backend_data + 0x30) | 8)" identifier = (cast_expression "(bfd_link_hash_entry *)\n                      bfd_make_section_with_flags\n                                (local_4c,".eh_frame_hdr",\n                                 *(uint *)((int)local_4c->xvec->backend_data + 0x30) | 8)" ( (type_descriptor "bfd_link_hash_entry *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "bfd_make_section_with_flags\n                                (local_4c,".eh_frame_hdr",\n                                 *(uint *)((int)local_4c->xvec->backend_data + 0x30) | 8)" identifier (argument_list "(local_4c,".eh_frame_hdr",\n                                 *(uint *)((int)local_4c->xvec->backend_data + 0x30) | 8)" ( identifier , (string_literal "".eh_frame_hdr"" " string_content ") , (binary_expression "*(uint *)((int)local_4c->xvec->backend_data + 0x30) | 8" (pointer_expression "*(uint *)((int)local_4c->xvec->backend_data + 0x30)" * (cast_expression "(uint *)((int)local_4c->xvec->backend_data + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_4c->xvec->backend_data + 0x30)" ( (binary_expression "(int)local_4c->xvec->backend_data + 0x30" (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 "pbVar17 == (bfd_link_hash_entry *)0x0" identifier == (cast_expression "(bfd_link_hash_entry *)0x0" ( (type_descriptor "bfd_link_hash_entry *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n          if (bVar3) {\n            pcVar12 = (char *)dcgettext(0,\n                                        "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                                        ,5);\n            einfo(pcVar12);\n          }\n        }" { (if_statement "if (bVar3) {\n            pcVar12 = (char *)dcgettext(0,\n                                        "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                                        ,5);\n            einfo(pcVar12);\n          }" if (parenthesized_expression "(bVar3)" ( identifier )) (compound_statement "{\n            pcVar12 = (char *)dcgettext(0,\n                                        "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                                        ,5);\n            einfo(pcVar12);\n          }" { (expression_statement "pcVar12 = (char *)dcgettext(0,\n                                        "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                                        ,5);" (assignment_expression "pcVar12 = (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(pcVar12);" (call_expression "einfo(pcVar12)" identifier (argument_list "(pcVar12)" ( identifier ))) ;) })) }) (else_clause "else {\n          pbVar17[2].u.i.warning = (char *)0x2;\n          pbVar5[4].undefs_tail = pbVar17;\n        }" else (compound_statement "{\n          pbVar17[2].u.i.warning = (char *)0x2;\n          pbVar5[4].undefs_tail = pbVar17;\n        }" { (expression_statement "pbVar17[2].u.i.warning = (char *)0x2;" (assignment_expression "pbVar17[2].u.i.warning = (char *)0x2" (field_expression "pbVar17[2].u.i.warning" (field_expression "pbVar17[2].u.i" (field_expression "pbVar17[2].u" (subscript_expression "pbVar17[2]" identifier [ number_literal ]) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(char *)0x2" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar5[4].undefs_tail = pbVar17;" (assignment_expression "pbVar5[4].undefs_tail = pbVar17" (field_expression "pbVar5[4].undefs_tail" (subscript_expression "pbVar5[4]" identifier [ number_literal ]) . field_identifier) = identifier) ;) })))) })) (expression_statement "pbVar8 = (bfd_link_needed_list *)bfd_elf_get_needed_list(link_info.output_bfd,&link_info);" (assignment_expression "pbVar8 = (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 = pbVar8; pbVar2 != (bfd_link_needed_list *)0x0; pbVar2 = pbVar2->next) {\n        pbVar4 = pbVar8;\n        if ((pbVar2->by == (bfd *)0x0) ||\n           ((uVar9 = bfd_elf_get_dyn_lib_class(pbVar2->by), (uVar9 & 1) == 0 &&\n            (((pbVar2->by == (bfd *)0x0 || ((link_info._2_2_ & 0x180) != 0x80)) ||\n             (uVar9 = bfd_elf_get_dyn_lib_class(pbVar2->by), (uVar9 & 4) == 0)))))) {\n          for (; pbVar4 != pbVar2; pbVar4 = pbVar4->next) {\n            if (((pbVar4->by == (bfd *)0x0) ||\n                (uVar9 = bfd_elf_get_dyn_lib_class(pbVar4->by), (uVar9 & 1) == 0)) &&\n               (iVar10 = strcmp(pbVar4->name,pbVar2->name), iVar10 == 0)) {\n              if (pbVar2 != pbVar4) goto LAB_0004ae88;\n              break;\n            }\n          }\n          global_found = (lang_input_statement_type *)0x0;\n          global_needed = pbVar2;\n          lang_for_each_input_file(gldelf32lriscv_ilp32f_check_needed);\n          if ((global_found == (lang_input_statement_type *)0x0) ||\n             (uVar9 = bfd_elf_get_dyn_lib_class(global_found->the_bfd), (uVar9 & 1) != 0)) {\n            pbVar20 = pbVar2->by;\n            pcVar12 = pbVar2->name;\n            n.by = pbVar20;\n            n.name = pcVar12;\n            nn.by = pbVar20;\n            if (verbose != 0) {\n              pcVar16 = (char *)dcgettext(0,"%s needed by %pB\n",5);\n              info_msg(pcVar16,pcVar12,pbVar20);\n            }\n            if (global_found != (lang_input_statement_type *)0x0) {\n              nn.name = global_found->filename;\n              bVar11 = gldelf32lriscv_ilp32f_try_needed(&nn,(int)nn.name,(dt_needed *)0x1);\n              if (bVar11 != 0) goto LAB_0004ae88;\n            }\n            local_60 = (dt_needed *)0x0;\n            while (bVar11 = gldelf32lriscv_ilp32f_search_needed\n                                      (command_line.rpath_link,&n,(int)local_60), bVar11 == 0) {\n              if (command_line.rpath != (char *)0x0) {\n                pcVar12 = gldelf32lriscv_ilp32f_add_sysroot(command_line.rpath);\n                bVar11 = gldelf32lriscv_ilp32f_search_needed(pcVar12,&n,(int)local_60);\n                free(pcVar12);\n                if (bVar11 != 0) break;\n              }\n              piVar13 = (int *)bfd_elf_get_runpath_list(link_info.output_bfd,&link_info);\n              if (piVar13 != (int *)0x0) {\n                do {\n                  bVar25 = true;\n                  pcVar12 = gldelf32lriscv_ilp32f_add_sysroot((char *)piVar13[2]);\n                  bVar3 = false;\n                  if ((bfd *)piVar13[1] == pbVar2->by) {\n                    bVar11 = gldelf32lriscv_ilp32f_search_needed(pcVar12,&n,(int)local_60);\n                    bVar25 = bVar11 == 0;\n                    bVar3 = !bVar25;\n                  }\n                  free(pcVar12);\n                  piVar13 = (int *)*piVar13;\n                } while ((piVar13 != (int *)0x0) && (bVar25));\n                if (bVar3) break;\n              }\n              pcVar12 = ld_so_conf_13460;\n              if (initialized_13459 == 0) {\n                needed.by = (bfd *)0x0;\n                needed.name = (char *)0x0;\n                pcVar12 = (char *)concat(ld_sysroot,"/usr/etc/ld.so.conf",0);\n                bVar11 = gldelf32lriscv_ilp32f_parse_ld_so_conf\n                                   ((gldelf32lriscv_ilp32f_ld_so_conf *)&needed,pcVar12);\n                if (bVar11 == 0) {\n                  free(pcVar12);\n                  pcVar12 = (char *)concat(ld_sysroot,"/etc/ld.so.conf",0);\n                  gldelf32lriscv_ilp32f_parse_ld_so_conf\n                            ((gldelf32lriscv_ilp32f_ld_so_conf *)&needed,pcVar12);\n                }\n                free(pcVar12);\n                pcVar12 = ld_so_conf_13460;\n                if (needed.by != (bfd *)0x0) {\n                  pcVar12 = gldelf32lriscv_ilp32f_add_sysroot((char *)needed.by);\n                  ld_so_conf_13460 = pcVar12;\n                  free(needed.by);\n                }\n                initialized_13459 = 1;\n              }\n              pcVar16 = pbVar2->name;\n              if (pcVar12 != (char *)0x0) {\n                needed.by = pbVar2->by;\n                needed.name = pcVar16;\n                bVar11 = gldelf32lriscv_ilp32f_search_needed(pcVar12,&needed,(int)local_60);\n                if (bVar11 != 0) break;\n                pcVar16 = pbVar2->name;\n              }\n              sVar14 = strlen(pcVar16);\n              if (search_head != (search_dirs_type *)0x0) {\n                psVar21 = search_head;\n                do {\n                  if (psVar21->cmdline == 0) {\n                    sVar15 = strlen(psVar21->name);\n                    pcVar12 = (char *)xmalloc(sVar15 + sVar14 + 2);\n                    sprintf(pcVar12,"%s/%s",psVar21->name,pbVar2->name);\n                    nn.name = pcVar12;\n                    bVar11 = gldelf32lriscv_ilp32f_try_needed(&nn,(int)pcVar12,local_60);\n                    if (bVar11 != 0) goto LAB_0004ae88;\n                    free(pcVar12);\n                  }\n                  psVar21 = psVar21->next;\n                } while (psVar21 != (search_dirs *)0x0);\n              }\n              if (local_60 == (dt_needed *)0x1) {\n                pbVar20 = pbVar2->by;\n                pcVar12 = pbVar2->name;\n                pcVar16 = (char *)dcgettext(0,\n                                            "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                            ,5);\n                einfo(pcVar16,pcVar12,pbVar20);\n                break;\n              }\n              local_60 = (dt_needed *)0x1;\n            }\n          }\n        }\nLAB_0004ae88:\n      }" for ( (assignment_expression "pbVar2 = pbVar8" 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 = pbVar8;\n        if ((pbVar2->by == (bfd *)0x0) ||\n           ((uVar9 = bfd_elf_get_dyn_lib_class(pbVar2->by), (uVar9 & 1) == 0 &&\n            (((pbVar2->by == (bfd *)0x0 || ((link_info._2_2_ & 0x180) != 0x80)) ||\n             (uVar9 = bfd_elf_get_dyn_lib_class(pbVar2->by), (uVar9 & 4) == 0)))))) {\n          for (; pbVar4 != pbVar2; pbVar4 = pbVar4->next) {\n            if (((pbVar4->by == (bfd *)0x0) ||\n                (uVar9 = bfd_elf_get_dyn_lib_class(pbVar4->by), (uVar9 & 1) == 0)) &&\n               (iVar10 = strcmp(pbVar4->name,pbVar2->name), iVar10 == 0)) {\n              if (pbVar2 != pbVar4) goto LAB_0004ae88;\n              break;\n            }\n          }\n          global_found = (lang_input_statement_type *)0x0;\n          global_needed = pbVar2;\n          lang_for_each_input_file(gldelf32lriscv_ilp32f_check_needed);\n          if ((global_found == (lang_input_statement_type *)0x0) ||\n             (uVar9 = bfd_elf_get_dyn_lib_class(global_found->the_bfd), (uVar9 & 1) != 0)) {\n            pbVar20 = pbVar2->by;\n            pcVar12 = pbVar2->name;\n            n.by = pbVar20;\n            n.name = pcVar12;\n            nn.by = pbVar20;\n            if (verbose != 0) {\n              pcVar16 = (char *)dcgettext(0,"%s needed by %pB\n",5);\n              info_msg(pcVar16,pcVar12,pbVar20);\n            }\n            if (global_found != (lang_input_statement_type *)0x0) {\n              nn.name = global_found->filename;\n              bVar11 = gldelf32lriscv_ilp32f_try_needed(&nn,(int)nn.name,(dt_needed *)0x1);\n              if (bVar11 != 0) goto LAB_0004ae88;\n            }\n            local_60 = (dt_needed *)0x0;\n            while (bVar11 = gldelf32lriscv_ilp32f_search_needed\n                                      (command_line.rpath_link,&n,(int)local_60), bVar11 == 0) {\n              if (command_line.rpath != (char *)0x0) {\n                pcVar12 = gldelf32lriscv_ilp32f_add_sysroot(command_line.rpath);\n                bVar11 = gldelf32lriscv_ilp32f_search_needed(pcVar12,&n,(int)local_60);\n                free(pcVar12);\n                if (bVar11 != 0) break;\n              }\n              piVar13 = (int *)bfd_elf_get_runpath_list(link_info.output_bfd,&link_info);\n              if (piVar13 != (int *)0x0) {\n                do {\n                  bVar25 = true;\n                  pcVar12 = gldelf32lriscv_ilp32f_add_sysroot((char *)piVar13[2]);\n                  bVar3 = false;\n                  if ((bfd *)piVar13[1] == pbVar2->by) {\n                    bVar11 = gldelf32lriscv_ilp32f_search_needed(pcVar12,&n,(int)local_60);\n                    bVar25 = bVar11 == 0;\n                    bVar3 = !bVar25;\n                  }\n                  free(pcVar12);\n                  piVar13 = (int *)*piVar13;\n                } while ((piVar13 != (int *)0x0) && (bVar25));\n                if (bVar3) break;\n              }\n              pcVar12 = ld_so_conf_13460;\n              if (initialized_13459 == 0) {\n                needed.by = (bfd *)0x0;\n                needed.name = (char *)0x0;\n                pcVar12 = (char *)concat(ld_sysroot,"/usr/etc/ld.so.conf",0);\n                bVar11 = gldelf32lriscv_ilp32f_parse_ld_so_conf\n                                   ((gldelf32lriscv_ilp32f_ld_so_conf *)&needed,pcVar12);\n                if (bVar11 == 0) {\n                  free(pcVar12);\n                  pcVar12 = (char *)concat(ld_sysroot,"/etc/ld.so.conf",0);\n                  gldelf32lriscv_ilp32f_parse_ld_so_conf\n                            ((gldelf32lriscv_ilp32f_ld_so_conf *)&needed,pcVar12);\n                }\n                free(pcVar12);\n                pcVar12 = ld_so_conf_13460;\n                if (needed.by != (bfd *)0x0) {\n                  pcVar12 = gldelf32lriscv_ilp32f_add_sysroot((char *)needed.by);\n                  ld_so_conf_13460 = pcVar12;\n                  free(needed.by);\n                }\n                initialized_13459 = 1;\n              }\n              pcVar16 = pbVar2->name;\n              if (pcVar12 != (char *)0x0) {\n                needed.by = pbVar2->by;\n                needed.name = pcVar16;\n                bVar11 = gldelf32lriscv_ilp32f_search_needed(pcVar12,&needed,(int)local_60);\n                if (bVar11 != 0) break;\n                pcVar16 = pbVar2->name;\n              }\n              sVar14 = strlen(pcVar16);\n              if (search_head != (search_dirs_type *)0x0) {\n                psVar21 = search_head;\n                do {\n                  if (psVar21->cmdline == 0) {\n                    sVar15 = strlen(psVar21->name);\n                    pcVar12 = (char *)xmalloc(sVar15 + sVar14 + 2);\n                    sprintf(pcVar12,"%s/%s",psVar21->name,pbVar2->name);\n                    nn.name = pcVar12;\n                    bVar11 = gldelf32lriscv_ilp32f_try_needed(&nn,(int)pcVar12,local_60);\n                    if (bVar11 != 0) goto LAB_0004ae88;\n                    free(pcVar12);\n                  }\n                  psVar21 = psVar21->next;\n                } while (psVar21 != (search_dirs *)0x0);\n              }\n              if (local_60 == (dt_needed *)0x1) {\n                pbVar20 = pbVar2->by;\n                pcVar12 = pbVar2->name;\n                pcVar16 = (char *)dcgettext(0,\n                                            "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                            ,5);\n                einfo(pcVar16,pcVar12,pbVar20);\n                break;\n              }\n              local_60 = (dt_needed *)0x1;\n            }\n          }\n        }\nLAB_0004ae88:\n      }" { (expression_statement "pbVar4 = pbVar8;" (assignment_expression "pbVar4 = pbVar8" identifier = identifier) ;) (if_statement "if ((pbVar2->by == (bfd *)0x0) ||\n           ((uVar9 = bfd_elf_get_dyn_lib_class(pbVar2->by), (uVar9 & 1) == 0 &&\n            (((pbVar2->by == (bfd *)0x0 || ((link_info._2_2_ & 0x180) != 0x80)) ||\n             (uVar9 = bfd_elf_get_dyn_lib_class(pbVar2->by), (uVar9 & 4) == 0)))))) {\n          for (; pbVar4 != pbVar2; pbVar4 = pbVar4->next) {\n            if (((pbVar4->by == (bfd *)0x0) ||\n                (uVar9 = bfd_elf_get_dyn_lib_class(pbVar4->by), (uVar9 & 1) == 0)) &&\n               (iVar10 = strcmp(pbVar4->name,pbVar2->name), iVar10 == 0)) {\n              if (pbVar2 != pbVar4) goto LAB_0004ae88;\n              break;\n            }\n          }\n          global_found = (lang_input_statement_type *)0x0;\n          global_needed = pbVar2;\n          lang_for_each_input_file(gldelf32lriscv_ilp32f_check_needed);\n          if ((global_found == (lang_input_statement_type *)0x0) ||\n             (uVar9 = bfd_elf_get_dyn_lib_class(global_found->the_bfd), (uVar9 & 1) != 0)) {\n            pbVar20 = pbVar2->by;\n            pcVar12 = pbVar2->name;\n            n.by = pbVar20;\n            n.name = pcVar12;\n            nn.by = pbVar20;\n            if (verbose != 0) {\n              pcVar16 = (char *)dcgettext(0,"%s needed by %pB\n",5);\n              info_msg(pcVar16,pcVar12,pbVar20);\n            }\n            if (global_found != (lang_input_statement_type *)0x0) {\n              nn.name = global_found->filename;\n              bVar11 = gldelf32lriscv_ilp32f_try_needed(&nn,(int)nn.name,(dt_needed *)0x1);\n              if (bVar11 != 0) goto LAB_0004ae88;\n            }\n            local_60 = (dt_needed *)0x0;\n            while (bVar11 = gldelf32lriscv_ilp32f_search_needed\n                                      (command_line.rpath_link,&n,(int)local_60), bVar11 == 0) {\n              if (command_line.rpath != (char *)0x0) {\n                pcVar12 = gldelf32lriscv_ilp32f_add_sysroot(command_line.rpath);\n                bVar11 = gldelf32lriscv_ilp32f_search_needed(pcVar12,&n,(int)local_60);\n                free(pcVar12);\n                if (bVar11 != 0) break;\n              }\n              piVar13 = (int *)bfd_elf_get_runpath_list(link_info.output_bfd,&link_info);\n              if (piVar13 != (int *)0x0) {\n                do {\n                  bVar25 = true;\n                  pcVar12 = gldelf32lriscv_ilp32f_add_sysroot((char *)piVar13[2]);\n                  bVar3 = false;\n                  if ((bfd *)piVar13[1] == pbVar2->by) {\n                    bVar11 = gldelf32lriscv_ilp32f_search_needed(pcVar12,&n,(int)local_60);\n                    bVar25 = bVar11 == 0;\n                    bVar3 = !bVar25;\n                  }\n                  free(pcVar12);\n                  piVar13 = (int *)*piVar13;\n                } while ((piVar13 != (int *)0x0) && (bVar25));\n                if (bVar3) break;\n              }\n              pcVar12 = ld_so_conf_13460;\n              if (initialized_13459 == 0) {\n                needed.by = (bfd *)0x0;\n                needed.name = (char *)0x0;\n                pcVar12 = (char *)concat(ld_sysroot,"/usr/etc/ld.so.conf",0);\n                bVar11 = gldelf32lriscv_ilp32f_parse_ld_so_conf\n                                   ((gldelf32lriscv_ilp32f_ld_so_conf *)&needed,pcVar12);\n                if (bVar11 == 0) {\n                  free(pcVar12);\n                  pcVar12 = (char *)concat(ld_sysroot,"/etc/ld.so.conf",0);\n                  gldelf32lriscv_ilp32f_parse_ld_so_conf\n                            ((gldelf32lriscv_ilp32f_ld_so_conf *)&needed,pcVar12);\n                }\n                free(pcVar12);\n                pcVar12 = ld_so_conf_13460;\n                if (needed.by != (bfd *)0x0) {\n                  pcVar12 = gldelf32lriscv_ilp32f_add_sysroot((char *)needed.by);\n                  ld_so_conf_13460 = pcVar12;\n                  free(needed.by);\n                }\n                initialized_13459 = 1;\n              }\n              pcVar16 = pbVar2->name;\n              if (pcVar12 != (char *)0x0) {\n                needed.by = pbVar2->by;\n                needed.name = pcVar16;\n                bVar11 = gldelf32lriscv_ilp32f_search_needed(pcVar12,&needed,(int)local_60);\n                if (bVar11 != 0) break;\n                pcVar16 = pbVar2->name;\n              }\n              sVar14 = strlen(pcVar16);\n              if (search_head != (search_dirs_type *)0x0) {\n                psVar21 = search_head;\n                do {\n                  if (psVar21->cmdline == 0) {\n                    sVar15 = strlen(psVar21->name);\n                    pcVar12 = (char *)xmalloc(sVar15 + sVar14 + 2);\n                    sprintf(pcVar12,"%s/%s",psVar21->name,pbVar2->name);\n                    nn.name = pcVar12;\n                    bVar11 = gldelf32lriscv_ilp32f_try_needed(&nn,(int)pcVar12,local_60);\n                    if (bVar11 != 0) goto LAB_0004ae88;\n                    free(pcVar12);\n                  }\n                  psVar21 = psVar21->next;\n                } while (psVar21 != (search_dirs *)0x0);\n              }\n              if (local_60 == (dt_needed *)0x1) {\n                pbVar20 = pbVar2->by;\n                pcVar12 = pbVar2->name;\n                pcVar16 = (char *)dcgettext(0,\n                                            "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                            ,5);\n                einfo(pcVar16,pcVar12,pbVar20);\n                break;\n              }\n              local_60 = (dt_needed *)0x1;\n            }\n          }\n        }" if (parenthesized_expression "((pbVar2->by == (bfd *)0x0) ||\n           ((uVar9 = bfd_elf_get_dyn_lib_class(pbVar2->by), (uVar9 & 1) == 0 &&\n            (((pbVar2->by == (bfd *)0x0 || ((link_info._2_2_ & 0x180) != 0x80)) ||\n             (uVar9 = bfd_elf_get_dyn_lib_class(pbVar2->by), (uVar9 & 4) == 0))))))" ( (binary_expression "(pbVar2->by == (bfd *)0x0) ||\n           ((uVar9 = bfd_elf_get_dyn_lib_class(pbVar2->by), (uVar9 & 1) == 0 &&\n            (((pbVar2->by == (bfd *)0x0 || ((link_info._2_2_ & 0x180) != 0x80)) ||\n             (uVar9 = bfd_elf_get_dyn_lib_class(pbVar2->by), (uVar9 & 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 "((uVar9 = bfd_elf_get_dyn_lib_class(pbVar2->by), (uVar9 & 1) == 0 &&\n            (((pbVar2->by == (bfd *)0x0 || ((link_info._2_2_ & 0x180) != 0x80)) ||\n             (uVar9 = bfd_elf_get_dyn_lib_class(pbVar2->by), (uVar9 & 4) == 0)))))" ( (parenthesized_expression "(uVar9 = bfd_elf_get_dyn_lib_class(pbVar2->by), (uVar9 & 1) == 0 &&\n            (((pbVar2->by == (bfd *)0x0 || ((link_info._2_2_ & 0x180) != 0x80)) ||\n             (uVar9 = bfd_elf_get_dyn_lib_class(pbVar2->by), (uVar9 & 4) == 0))))" ( (comma_expression "uVar9 = bfd_elf_get_dyn_lib_class(pbVar2->by), (uVar9 & 1) == 0 &&\n            (((pbVar2->by == (bfd *)0x0 || ((link_info._2_2_ & 0x180) != 0x80)) ||\n             (uVar9 = bfd_elf_get_dyn_lib_class(pbVar2->by), (uVar9 & 4) == 0)))" (assignment_expression "uVar9 = 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 "(uVar9 & 1) == 0 &&\n            (((pbVar2->by == (bfd *)0x0 || ((link_info._2_2_ & 0x180) != 0x80)) ||\n             (uVar9 = bfd_elf_get_dyn_lib_class(pbVar2->by), (uVar9 & 4) == 0)))" (binary_expression "(uVar9 & 1) == 0" (parenthesized_expression "(uVar9 & 1)" ( (binary_expression "uVar9 & 1" identifier & number_literal) )) == number_literal) && (parenthesized_expression "(((pbVar2->by == (bfd *)0x0 || ((link_info._2_2_ & 0x180) != 0x80)) ||\n             (uVar9 = bfd_elf_get_dyn_lib_class(pbVar2->by), (uVar9 & 4) == 0)))" ( (parenthesized_expression "((pbVar2->by == (bfd *)0x0 || ((link_info._2_2_ & 0x180) != 0x80)) ||\n             (uVar9 = bfd_elf_get_dyn_lib_class(pbVar2->by), (uVar9 & 4) == 0))" ( (binary_expression "(pbVar2->by == (bfd *)0x0 || ((link_info._2_2_ & 0x180) != 0x80)) ||\n             (uVar9 = bfd_elf_get_dyn_lib_class(pbVar2->by), (uVar9 & 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 "(uVar9 = bfd_elf_get_dyn_lib_class(pbVar2->by), (uVar9 & 4) == 0)" ( (comma_expression "uVar9 = bfd_elf_get_dyn_lib_class(pbVar2->by), (uVar9 & 4) == 0" (assignment_expression "uVar9 = 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 "(uVar9 & 4) == 0" (parenthesized_expression "(uVar9 & 4)" ( (binary_expression "uVar9 & 4" identifier & number_literal) )) == number_literal)) ))) )) )))) )) ))) )) (compound_statement "{\n          for (; pbVar4 != pbVar2; pbVar4 = pbVar4->next) {\n            if (((pbVar4->by == (bfd *)0x0) ||\n                (uVar9 = bfd_elf_get_dyn_lib_class(pbVar4->by), (uVar9 & 1) == 0)) &&\n               (iVar10 = strcmp(pbVar4->name,pbVar2->name), iVar10 == 0)) {\n              if (pbVar2 != pbVar4) goto LAB_0004ae88;\n              break;\n            }\n          }\n          global_found = (lang_input_statement_type *)0x0;\n          global_needed = pbVar2;\n          lang_for_each_input_file(gldelf32lriscv_ilp32f_check_needed);\n          if ((global_found == (lang_input_statement_type *)0x0) ||\n             (uVar9 = bfd_elf_get_dyn_lib_class(global_found->the_bfd), (uVar9 & 1) != 0)) {\n            pbVar20 = pbVar2->by;\n            pcVar12 = pbVar2->name;\n            n.by = pbVar20;\n            n.name = pcVar12;\n            nn.by = pbVar20;\n            if (verbose != 0) {\n              pcVar16 = (char *)dcgettext(0,"%s needed by %pB\n",5);\n              info_msg(pcVar16,pcVar12,pbVar20);\n            }\n            if (global_found != (lang_input_statement_type *)0x0) {\n              nn.name = global_found->filename;\n              bVar11 = gldelf32lriscv_ilp32f_try_needed(&nn,(int)nn.name,(dt_needed *)0x1);\n              if (bVar11 != 0) goto LAB_0004ae88;\n            }\n            local_60 = (dt_needed *)0x0;\n            while (bVar11 = gldelf32lriscv_ilp32f_search_needed\n                                      (command_line.rpath_link,&n,(int)local_60), bVar11 == 0) {\n              if (command_line.rpath != (char *)0x0) {\n                pcVar12 = gldelf32lriscv_ilp32f_add_sysroot(command_line.rpath);\n                bVar11 = gldelf32lriscv_ilp32f_search_needed(pcVar12,&n,(int)local_60);\n                free(pcVar12);\n                if (bVar11 != 0) break;\n              }\n              piVar13 = (int *)bfd_elf_get_runpath_list(link_info.output_bfd,&link_info);\n              if (piVar13 != (int *)0x0) {\n                do {\n                  bVar25 = true;\n                  pcVar12 = gldelf32lriscv_ilp32f_add_sysroot((char *)piVar13[2]);\n                  bVar3 = false;\n                  if ((bfd *)piVar13[1] == pbVar2->by) {\n                    bVar11 = gldelf32lriscv_ilp32f_search_needed(pcVar12,&n,(int)local_60);\n                    bVar25 = bVar11 == 0;\n                    bVar3 = !bVar25;\n                  }\n                  free(pcVar12);\n                  piVar13 = (int *)*piVar13;\n                } while ((piVar13 != (int *)0x0) && (bVar25));\n                if (bVar3) break;\n              }\n              pcVar12 = ld_so_conf_13460;\n              if (initialized_13459 == 0) {\n                needed.by = (bfd *)0x0;\n                needed.name = (char *)0x0;\n                pcVar12 = (char *)concat(ld_sysroot,"/usr/etc/ld.so.conf",0);\n                bVar11 = gldelf32lriscv_ilp32f_parse_ld_so_conf\n                                   ((gldelf32lriscv_ilp32f_ld_so_conf *)&needed,pcVar12);\n                if (bVar11 == 0) {\n                  free(pcVar12);\n                  pcVar12 = (char *)concat(ld_sysroot,"/etc/ld.so.conf",0);\n                  gldelf32lriscv_ilp32f_parse_ld_so_conf\n                            ((gldelf32lriscv_ilp32f_ld_so_conf *)&needed,pcVar12);\n                }\n                free(pcVar12);\n                pcVar12 = ld_so_conf_13460;\n                if (needed.by != (bfd *)0x0) {\n                  pcVar12 = gldelf32lriscv_ilp32f_add_sysroot((char *)needed.by);\n                  ld_so_conf_13460 = pcVar12;\n                  free(needed.by);\n                }\n                initialized_13459 = 1;\n              }\n              pcVar16 = pbVar2->name;\n              if (pcVar12 != (char *)0x0) {\n                needed.by = pbVar2->by;\n                needed.name = pcVar16;\n                bVar11 = gldelf32lriscv_ilp32f_search_needed(pcVar12,&needed,(int)local_60);\n                if (bVar11 != 0) break;\n                pcVar16 = pbVar2->name;\n              }\n              sVar14 = strlen(pcVar16);\n              if (search_head != (search_dirs_type *)0x0) {\n                psVar21 = search_head;\n                do {\n                  if (psVar21->cmdline == 0) {\n                    sVar15 = strlen(psVar21->name);\n                    pcVar12 = (char *)xmalloc(sVar15 + sVar14 + 2);\n                    sprintf(pcVar12,"%s/%s",psVar21->name,pbVar2->name);\n                    nn.name = pcVar12;\n                    bVar11 = gldelf32lriscv_ilp32f_try_needed(&nn,(int)pcVar12,local_60);\n                    if (bVar11 != 0) goto LAB_0004ae88;\n                    free(pcVar12);\n                  }\n                  psVar21 = psVar21->next;\n                } while (psVar21 != (search_dirs *)0x0);\n              }\n              if (local_60 == (dt_needed *)0x1) {\n                pbVar20 = pbVar2->by;\n                pcVar12 = pbVar2->name;\n                pcVar16 = (char *)dcgettext(0,\n                                            "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                            ,5);\n                einfo(pcVar16,pcVar12,pbVar20);\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                (uVar9 = bfd_elf_get_dyn_lib_class(pbVar4->by), (uVar9 & 1) == 0)) &&\n               (iVar10 = strcmp(pbVar4->name,pbVar2->name), iVar10 == 0)) {\n              if (pbVar2 != pbVar4) goto LAB_0004ae88;\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                (uVar9 = bfd_elf_get_dyn_lib_class(pbVar4->by), (uVar9 & 1) == 0)) &&\n               (iVar10 = strcmp(pbVar4->name,pbVar2->name), iVar10 == 0)) {\n              if (pbVar2 != pbVar4) goto LAB_0004ae88;\n              break;\n            }\n          }" { (if_statement "if (((pbVar4->by == (bfd *)0x0) ||\n                (uVar9 = bfd_elf_get_dyn_lib_class(pbVar4->by), (uVar9 & 1) == 0)) &&\n               (iVar10 = strcmp(pbVar4->name,pbVar2->name), iVar10 == 0)) {\n              if (pbVar2 != pbVar4) goto LAB_0004ae88;\n              break;\n            }" if (parenthesized_expression "(((pbVar4->by == (bfd *)0x0) ||\n                (uVar9 = bfd_elf_get_dyn_lib_class(pbVar4->by), (uVar9 & 1) == 0)) &&\n               (iVar10 = strcmp(pbVar4->name,pbVar2->name), iVar10 == 0))" ( (binary_expression "((pbVar4->by == (bfd *)0x0) ||\n                (uVar9 = bfd_elf_get_dyn_lib_class(pbVar4->by), (uVar9 & 1) == 0)) &&\n               (iVar10 = strcmp(pbVar4->name,pbVar2->name), iVar10 == 0)" (parenthesized_expression "((pbVar4->by == (bfd *)0x0) ||\n                (uVar9 = bfd_elf_get_dyn_lib_class(pbVar4->by), (uVar9 & 1) == 0))" ( (binary_expression "(pbVar4->by == (bfd *)0x0) ||\n                (uVar9 = bfd_elf_get_dyn_lib_class(pbVar4->by), (uVar9 & 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 "(uVar9 = bfd_elf_get_dyn_lib_class(pbVar4->by), (uVar9 & 1) == 0)" ( (comma_expression "uVar9 = bfd_elf_get_dyn_lib_class(pbVar4->by), (uVar9 & 1) == 0" (assignment_expression "uVar9 = 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 "(uVar9 & 1) == 0" (parenthesized_expression "(uVar9 & 1)" ( (binary_expression "uVar9 & 1" identifier & number_literal) )) == number_literal)) ))) )) && (parenthesized_expression "(iVar10 = strcmp(pbVar4->name,pbVar2->name), iVar10 == 0)" ( (comma_expression "iVar10 = strcmp(pbVar4->name,pbVar2->name), iVar10 == 0" (assignment_expression "iVar10 = 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 "iVar10 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n              if (pbVar2 != pbVar4) goto LAB_0004ae88;\n              break;\n            }" { (if_statement "if (pbVar2 != pbVar4) goto LAB_0004ae88;" if (parenthesized_expression "(pbVar2 != pbVar4)" ( (binary_expression "pbVar2 != pbVar4" identifier != identifier) )) (goto_statement "goto LAB_0004ae88;" goto statement_identifier ;)) (break_statement "break;" break ;) })) })) (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(gldelf32lriscv_ilp32f_check_needed);" (call_expression "lang_for_each_input_file(gldelf32lriscv_ilp32f_check_needed)" identifier (argument_list "(gldelf32lriscv_ilp32f_check_needed)" ( identifier ))) ;) (if_statement "if ((global_found == (lang_input_statement_type *)0x0) ||\n             (uVar9 = bfd_elf_get_dyn_lib_class(global_found->the_bfd), (uVar9 & 1) != 0)) {\n            pbVar20 = pbVar2->by;\n            pcVar12 = pbVar2->name;\n            n.by = pbVar20;\n            n.name = pcVar12;\n            nn.by = pbVar20;\n            if (verbose != 0) {\n              pcVar16 = (char *)dcgettext(0,"%s needed by %pB\n",5);\n              info_msg(pcVar16,pcVar12,pbVar20);\n            }\n            if (global_found != (lang_input_statement_type *)0x0) {\n              nn.name = global_found->filename;\n              bVar11 = gldelf32lriscv_ilp32f_try_needed(&nn,(int)nn.name,(dt_needed *)0x1);\n              if (bVar11 != 0) goto LAB_0004ae88;\n            }\n            local_60 = (dt_needed *)0x0;\n            while (bVar11 = gldelf32lriscv_ilp32f_search_needed\n                                      (command_line.rpath_link,&n,(int)local_60), bVar11 == 0) {\n              if (command_line.rpath != (char *)0x0) {\n                pcVar12 = gldelf32lriscv_ilp32f_add_sysroot(command_line.rpath);\n                bVar11 = gldelf32lriscv_ilp32f_search_needed(pcVar12,&n,(int)local_60);\n                free(pcVar12);\n                if (bVar11 != 0) break;\n              }\n              piVar13 = (int *)bfd_elf_get_runpath_list(link_info.output_bfd,&link_info);\n              if (piVar13 != (int *)0x0) {\n                do {\n                  bVar25 = true;\n                  pcVar12 = gldelf32lriscv_ilp32f_add_sysroot((char *)piVar13[2]);\n                  bVar3 = false;\n                  if ((bfd *)piVar13[1] == pbVar2->by) {\n                    bVar11 = gldelf32lriscv_ilp32f_search_needed(pcVar12,&n,(int)local_60);\n                    bVar25 = bVar11 == 0;\n                    bVar3 = !bVar25;\n                  }\n                  free(pcVar12);\n                  piVar13 = (int *)*piVar13;\n                } while ((piVar13 != (int *)0x0) && (bVar25));\n                if (bVar3) break;\n              }\n              pcVar12 = ld_so_conf_13460;\n              if (initialized_13459 == 0) {\n                needed.by = (bfd *)0x0;\n                needed.name = (char *)0x0;\n                pcVar12 = (char *)concat(ld_sysroot,"/usr/etc/ld.so.conf",0);\n                bVar11 = gldelf32lriscv_ilp32f_parse_ld_so_conf\n                                   ((gldelf32lriscv_ilp32f_ld_so_conf *)&needed,pcVar12);\n                if (bVar11 == 0) {\n                  free(pcVar12);\n                  pcVar12 = (char *)concat(ld_sysroot,"/etc/ld.so.conf",0);\n                  gldelf32lriscv_ilp32f_parse_ld_so_conf\n                            ((gldelf32lriscv_ilp32f_ld_so_conf *)&needed,pcVar12);\n                }\n                free(pcVar12);\n                pcVar12 = ld_so_conf_13460;\n                if (needed.by != (bfd *)0x0) {\n                  pcVar12 = gldelf32lriscv_ilp32f_add_sysroot((char *)needed.by);\n                  ld_so_conf_13460 = pcVar12;\n                  free(needed.by);\n                }\n                initialized_13459 = 1;\n              }\n              pcVar16 = pbVar2->name;\n              if (pcVar12 != (char *)0x0) {\n                needed.by = pbVar2->by;\n                needed.name = pcVar16;\n                bVar11 = gldelf32lriscv_ilp32f_search_needed(pcVar12,&needed,(int)local_60);\n                if (bVar11 != 0) break;\n                pcVar16 = pbVar2->name;\n              }\n              sVar14 = strlen(pcVar16);\n              if (search_head != (search_dirs_type *)0x0) {\n                psVar21 = search_head;\n                do {\n                  if (psVar21->cmdline == 0) {\n                    sVar15 = strlen(psVar21->name);\n                    pcVar12 = (char *)xmalloc(sVar15 + sVar14 + 2);\n                    sprintf(pcVar12,"%s/%s",psVar21->name,pbVar2->name);\n                    nn.name = pcVar12;\n                    bVar11 = gldelf32lriscv_ilp32f_try_needed(&nn,(int)pcVar12,local_60);\n                    if (bVar11 != 0) goto LAB_0004ae88;\n                    free(pcVar12);\n                  }\n                  psVar21 = psVar21->next;\n                } while (psVar21 != (search_dirs *)0x0);\n              }\n              if (local_60 == (dt_needed *)0x1) {\n                pbVar20 = pbVar2->by;\n                pcVar12 = pbVar2->name;\n                pcVar16 = (char *)dcgettext(0,\n                                            "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                            ,5);\n                einfo(pcVar16,pcVar12,pbVar20);\n                break;\n              }\n              local_60 = (dt_needed *)0x1;\n            }\n          }" if (parenthesized_expression "((global_found == (lang_input_statement_type *)0x0) ||\n             (uVar9 = bfd_elf_get_dyn_lib_class(global_found->the_bfd), (uVar9 & 1) != 0))" ( (binary_expression "(global_found == (lang_input_statement_type *)0x0) ||\n             (uVar9 = bfd_elf_get_dyn_lib_class(global_found->the_bfd), (uVar9 & 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 "(uVar9 = bfd_elf_get_dyn_lib_class(global_found->the_bfd), (uVar9 & 1) != 0)" ( (comma_expression "uVar9 = bfd_elf_get_dyn_lib_class(global_found->the_bfd), (uVar9 & 1) != 0" (assignment_expression "uVar9 = 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 "(uVar9 & 1) != 0" (parenthesized_expression "(uVar9 & 1)" ( (binary_expression "uVar9 & 1" identifier & number_literal) )) != number_literal)) ))) )) (compound_statement "{\n            pbVar20 = pbVar2->by;\n            pcVar12 = pbVar2->name;\n            n.by = pbVar20;\n            n.name = pcVar12;\n            nn.by = pbVar20;\n            if (verbose != 0) {\n              pcVar16 = (char *)dcgettext(0,"%s needed by %pB\n",5);\n              info_msg(pcVar16,pcVar12,pbVar20);\n            }\n            if (global_found != (lang_input_statement_type *)0x0) {\n              nn.name = global_found->filename;\n              bVar11 = gldelf32lriscv_ilp32f_try_needed(&nn,(int)nn.name,(dt_needed *)0x1);\n              if (bVar11 != 0) goto LAB_0004ae88;\n            }\n            local_60 = (dt_needed *)0x0;\n            while (bVar11 = gldelf32lriscv_ilp32f_search_needed\n                                      (command_line.rpath_link,&n,(int)local_60), bVar11 == 0) {\n              if (command_line.rpath != (char *)0x0) {\n                pcVar12 = gldelf32lriscv_ilp32f_add_sysroot(command_line.rpath);\n                bVar11 = gldelf32lriscv_ilp32f_search_needed(pcVar12,&n,(int)local_60);\n                free(pcVar12);\n                if (bVar11 != 0) break;\n              }\n              piVar13 = (int *)bfd_elf_get_runpath_list(link_info.output_bfd,&link_info);\n              if (piVar13 != (int *)0x0) {\n                do {\n                  bVar25 = true;\n                  pcVar12 = gldelf32lriscv_ilp32f_add_sysroot((char *)piVar13[2]);\n                  bVar3 = false;\n                  if ((bfd *)piVar13[1] == pbVar2->by) {\n                    bVar11 = gldelf32lriscv_ilp32f_search_needed(pcVar12,&n,(int)local_60);\n                    bVar25 = bVar11 == 0;\n                    bVar3 = !bVar25;\n                  }\n                  free(pcVar12);\n                  piVar13 = (int *)*piVar13;\n                } while ((piVar13 != (int *)0x0) && (bVar25));\n                if (bVar3) break;\n              }\n              pcVar12 = ld_so_conf_13460;\n              if (initialized_13459 == 0) {\n                needed.by = (bfd *)0x0;\n                needed.name = (char *)0x0;\n                pcVar12 = (char *)concat(ld_sysroot,"/usr/etc/ld.so.conf",0);\n                bVar11 = gldelf32lriscv_ilp32f_parse_ld_so_conf\n                                   ((gldelf32lriscv_ilp32f_ld_so_conf *)&needed,pcVar12);\n                if (bVar11 == 0) {\n                  free(pcVar12);\n                  pcVar12 = (char *)concat(ld_sysroot,"/etc/ld.so.conf",0);\n                  gldelf32lriscv_ilp32f_parse_ld_so_conf\n                            ((gldelf32lriscv_ilp32f_ld_so_conf *)&needed,pcVar12);\n                }\n                free(pcVar12);\n                pcVar12 = ld_so_conf_13460;\n                if (needed.by != (bfd *)0x0) {\n                  pcVar12 = gldelf32lriscv_ilp32f_add_sysroot((char *)needed.by);\n                  ld_so_conf_13460 = pcVar12;\n                  free(needed.by);\n                }\n                initialized_13459 = 1;\n              }\n              pcVar16 = pbVar2->name;\n              if (pcVar12 != (char *)0x0) {\n                needed.by = pbVar2->by;\n                needed.name = pcVar16;\n                bVar11 = gldelf32lriscv_ilp32f_search_needed(pcVar12,&needed,(int)local_60);\n                if (bVar11 != 0) break;\n                pcVar16 = pbVar2->name;\n              }\n              sVar14 = strlen(pcVar16);\n              if (search_head != (search_dirs_type *)0x0) {\n                psVar21 = search_head;\n                do {\n                  if (psVar21->cmdline == 0) {\n                    sVar15 = strlen(psVar21->name);\n                    pcVar12 = (char *)xmalloc(sVar15 + sVar14 + 2);\n                    sprintf(pcVar12,"%s/%s",psVar21->name,pbVar2->name);\n                    nn.name = pcVar12;\n                    bVar11 = gldelf32lriscv_ilp32f_try_needed(&nn,(int)pcVar12,local_60);\n                    if (bVar11 != 0) goto LAB_0004ae88;\n                    free(pcVar12);\n                  }\n                  psVar21 = psVar21->next;\n                } while (psVar21 != (search_dirs *)0x0);\n              }\n              if (local_60 == (dt_needed *)0x1) {\n                pbVar20 = pbVar2->by;\n                pcVar12 = pbVar2->name;\n                pcVar16 = (char *)dcgettext(0,\n                                            "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                            ,5);\n                einfo(pcVar16,pcVar12,pbVar20);\n                break;\n              }\n              local_60 = (dt_needed *)0x1;\n            }\n          }" { (expression_statement "pbVar20 = pbVar2->by;" (assignment_expression "pbVar20 = pbVar2->by" identifier = (field_expression "pbVar2->by" identifier -> field_identifier)) ;) (expression_statement "pcVar12 = pbVar2->name;" (assignment_expression "pcVar12 = pbVar2->name" identifier = (field_expression "pbVar2->name" identifier -> field_identifier)) ;) (expression_statement "n.by = pbVar20;" (assignment_expression "n.by = pbVar20" (field_expression "n.by" identifier . field_identifier) = identifier) ;) (expression_statement "n.name = pcVar12;" (assignment_expression "n.name = pcVar12" (field_expression "n.name" identifier . field_identifier) = identifier) ;) (expression_statement "nn.by = pbVar20;" (assignment_expression "nn.by = pbVar20" (field_expression "nn.by" identifier . field_identifier) = identifier) ;) (if_statement "if (verbose != 0) {\n              pcVar16 = (char *)dcgettext(0,"%s needed by %pB\n",5);\n              info_msg(pcVar16,pcVar12,pbVar20);\n            }" if (parenthesized_expression "(verbose != 0)" ( (binary_expression "verbose != 0" identifier != number_literal) )) (compound_statement "{\n              pcVar16 = (char *)dcgettext(0,"%s needed by %pB\n",5);\n              info_msg(pcVar16,pcVar12,pbVar20);\n            }" { (expression_statement "pcVar16 = (char *)dcgettext(0,"%s needed by %pB\n",5);" (assignment_expression "pcVar16 = (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(pcVar16,pcVar12,pbVar20);" (call_expression "info_msg(pcVar16,pcVar12,pbVar20)" identifier (argument_list "(pcVar16,pcVar12,pbVar20)" ( identifier , identifier , identifier ))) ;) })) (if_statement "if (global_found != (lang_input_statement_type *)0x0) {\n              nn.name = global_found->filename;\n              bVar11 = gldelf32lriscv_ilp32f_try_needed(&nn,(int)nn.name,(dt_needed *)0x1);\n              if (bVar11 != 0) goto LAB_0004ae88;\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              bVar11 = gldelf32lriscv_ilp32f_try_needed(&nn,(int)nn.name,(dt_needed *)0x1);\n              if (bVar11 != 0) goto LAB_0004ae88;\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 "bVar11 = gldelf32lriscv_ilp32f_try_needed(&nn,(int)nn.name,(dt_needed *)0x1);" (assignment_expression "bVar11 = gldelf32lriscv_ilp32f_try_needed(&nn,(int)nn.name,(dt_needed *)0x1)" identifier = (call_expression "gldelf32lriscv_ilp32f_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 (bVar11 != 0) goto LAB_0004ae88;" if (parenthesized_expression "(bVar11 != 0)" ( (binary_expression "bVar11 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0004ae88;" 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 (bVar11 = gldelf32lriscv_ilp32f_search_needed\n                                      (command_line.rpath_link,&n,(int)local_60), bVar11 == 0) {\n              if (command_line.rpath != (char *)0x0) {\n                pcVar12 = gldelf32lriscv_ilp32f_add_sysroot(command_line.rpath);\n                bVar11 = gldelf32lriscv_ilp32f_search_needed(pcVar12,&n,(int)local_60);\n                free(pcVar12);\n                if (bVar11 != 0) break;\n              }\n              piVar13 = (int *)bfd_elf_get_runpath_list(link_info.output_bfd,&link_info);\n              if (piVar13 != (int *)0x0) {\n                do {\n                  bVar25 = true;\n                  pcVar12 = gldelf32lriscv_ilp32f_add_sysroot((char *)piVar13[2]);\n                  bVar3 = false;\n                  if ((bfd *)piVar13[1] == pbVar2->by) {\n                    bVar11 = gldelf32lriscv_ilp32f_search_needed(pcVar12,&n,(int)local_60);\n                    bVar25 = bVar11 == 0;\n                    bVar3 = !bVar25;\n                  }\n                  free(pcVar12);\n                  piVar13 = (int *)*piVar13;\n                } while ((piVar13 != (int *)0x0) && (bVar25));\n                if (bVar3) break;\n              }\n              pcVar12 = ld_so_conf_13460;\n              if (initialized_13459 == 0) {\n                needed.by = (bfd *)0x0;\n                needed.name = (char *)0x0;\n                pcVar12 = (char *)concat(ld_sysroot,"/usr/etc/ld.so.conf",0);\n                bVar11 = gldelf32lriscv_ilp32f_parse_ld_so_conf\n                                   ((gldelf32lriscv_ilp32f_ld_so_conf *)&needed,pcVar12);\n                if (bVar11 == 0) {\n                  free(pcVar12);\n                  pcVar12 = (char *)concat(ld_sysroot,"/etc/ld.so.conf",0);\n                  gldelf32lriscv_ilp32f_parse_ld_so_conf\n                            ((gldelf32lriscv_ilp32f_ld_so_conf *)&needed,pcVar12);\n                }\n                free(pcVar12);\n                pcVar12 = ld_so_conf_13460;\n                if (needed.by != (bfd *)0x0) {\n                  pcVar12 = gldelf32lriscv_ilp32f_add_sysroot((char *)needed.by);\n                  ld_so_conf_13460 = pcVar12;\n                  free(needed.by);\n                }\n                initialized_13459 = 1;\n              }\n              pcVar16 = pbVar2->name;\n              if (pcVar12 != (char *)0x0) {\n                needed.by = pbVar2->by;\n                needed.name = pcVar16;\n                bVar11 = gldelf32lriscv_ilp32f_search_needed(pcVar12,&needed,(int)local_60);\n                if (bVar11 != 0) break;\n                pcVar16 = pbVar2->name;\n              }\n              sVar14 = strlen(pcVar16);\n              if (search_head != (search_dirs_type *)0x0) {\n                psVar21 = search_head;\n                do {\n                  if (psVar21->cmdline == 0) {\n                    sVar15 = strlen(psVar21->name);\n                    pcVar12 = (char *)xmalloc(sVar15 + sVar14 + 2);\n                    sprintf(pcVar12,"%s/%s",psVar21->name,pbVar2->name);\n                    nn.name = pcVar12;\n                    bVar11 = gldelf32lriscv_ilp32f_try_needed(&nn,(int)pcVar12,local_60);\n                    if (bVar11 != 0) goto LAB_0004ae88;\n                    free(pcVar12);\n                  }\n                  psVar21 = psVar21->next;\n                } while (psVar21 != (search_dirs *)0x0);\n              }\n              if (local_60 == (dt_needed *)0x1) {\n                pbVar20 = pbVar2->by;\n                pcVar12 = pbVar2->name;\n                pcVar16 = (char *)dcgettext(0,\n                                            "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                            ,5);\n                einfo(pcVar16,pcVar12,pbVar20);\n                break;\n              }\n              local_60 = (dt_needed *)0x1;\n            }" while (parenthesized_expression "(bVar11 = gldelf32lriscv_ilp32f_search_needed\n                                      (command_line.rpath_link,&n,(int)local_60), bVar11 == 0)" ( (comma_expression "bVar11 = gldelf32lriscv_ilp32f_search_needed\n                                      (command_line.rpath_link,&n,(int)local_60), bVar11 == 0" (assignment_expression "bVar11 = gldelf32lriscv_ilp32f_search_needed\n                                      (command_line.rpath_link,&n,(int)local_60)" identifier = (call_expression "gldelf32lriscv_ilp32f_search_needed\n                                      (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 "bVar11 == 0" identifier == number_literal)) )) (compound_statement "{\n              if (command_line.rpath != (char *)0x0) {\n                pcVar12 = gldelf32lriscv_ilp32f_add_sysroot(command_line.rpath);\n                bVar11 = gldelf32lriscv_ilp32f_search_needed(pcVar12,&n,(int)local_60);\n                free(pcVar12);\n                if (bVar11 != 0) break;\n              }\n              piVar13 = (int *)bfd_elf_get_runpath_list(link_info.output_bfd,&link_info);\n              if (piVar13 != (int *)0x0) {\n                do {\n                  bVar25 = true;\n                  pcVar12 = gldelf32lriscv_ilp32f_add_sysroot((char *)piVar13[2]);\n                  bVar3 = false;\n                  if ((bfd *)piVar13[1] == pbVar2->by) {\n                    bVar11 = gldelf32lriscv_ilp32f_search_needed(pcVar12,&n,(int)local_60);\n                    bVar25 = bVar11 == 0;\n                    bVar3 = !bVar25;\n                  }\n                  free(pcVar12);\n                  piVar13 = (int *)*piVar13;\n                } while ((piVar13 != (int *)0x0) && (bVar25));\n                if (bVar3) break;\n              }\n              pcVar12 = ld_so_conf_13460;\n              if (initialized_13459 == 0) {\n                needed.by = (bfd *)0x0;\n                needed.name = (char *)0x0;\n                pcVar12 = (char *)concat(ld_sysroot,"/usr/etc/ld.so.conf",0);\n                bVar11 = gldelf32lriscv_ilp32f_parse_ld_so_conf\n                                   ((gldelf32lriscv_ilp32f_ld_so_conf *)&needed,pcVar12);\n                if (bVar11 == 0) {\n                  free(pcVar12);\n                  pcVar12 = (char *)concat(ld_sysroot,"/etc/ld.so.conf",0);\n                  gldelf32lriscv_ilp32f_parse_ld_so_conf\n                            ((gldelf32lriscv_ilp32f_ld_so_conf *)&needed,pcVar12);\n                }\n                free(pcVar12);\n                pcVar12 = ld_so_conf_13460;\n                if (needed.by != (bfd *)0x0) {\n                  pcVar12 = gldelf32lriscv_ilp32f_add_sysroot((char *)needed.by);\n                  ld_so_conf_13460 = pcVar12;\n                  free(needed.by);\n                }\n                initialized_13459 = 1;\n              }\n              pcVar16 = pbVar2->name;\n              if (pcVar12 != (char *)0x0) {\n                needed.by = pbVar2->by;\n                needed.name = pcVar16;\n                bVar11 = gldelf32lriscv_ilp32f_search_needed(pcVar12,&needed,(int)local_60);\n                if (bVar11 != 0) break;\n                pcVar16 = pbVar2->name;\n              }\n              sVar14 = strlen(pcVar16);\n              if (search_head != (search_dirs_type *)0x0) {\n                psVar21 = search_head;\n                do {\n                  if (psVar21->cmdline == 0) {\n                    sVar15 = strlen(psVar21->name);\n                    pcVar12 = (char *)xmalloc(sVar15 + sVar14 + 2);\n                    sprintf(pcVar12,"%s/%s",psVar21->name,pbVar2->name);\n                    nn.name = pcVar12;\n                    bVar11 = gldelf32lriscv_ilp32f_try_needed(&nn,(int)pcVar12,local_60);\n                    if (bVar11 != 0) goto LAB_0004ae88;\n                    free(pcVar12);\n                  }\n                  psVar21 = psVar21->next;\n                } while (psVar21 != (search_dirs *)0x0);\n              }\n              if (local_60 == (dt_needed *)0x1) {\n                pbVar20 = pbVar2->by;\n                pcVar12 = pbVar2->name;\n                pcVar16 = (char *)dcgettext(0,\n                                            "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                            ,5);\n                einfo(pcVar16,pcVar12,pbVar20);\n                break;\n              }\n              local_60 = (dt_needed *)0x1;\n            }" { (if_statement "if (command_line.rpath != (char *)0x0) {\n                pcVar12 = gldelf32lriscv_ilp32f_add_sysroot(command_line.rpath);\n                bVar11 = gldelf32lriscv_ilp32f_search_needed(pcVar12,&n,(int)local_60);\n                free(pcVar12);\n                if (bVar11 != 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                pcVar12 = gldelf32lriscv_ilp32f_add_sysroot(command_line.rpath);\n                bVar11 = gldelf32lriscv_ilp32f_search_needed(pcVar12,&n,(int)local_60);\n                free(pcVar12);\n                if (bVar11 != 0) break;\n              }" { (expression_statement "pcVar12 = gldelf32lriscv_ilp32f_add_sysroot(command_line.rpath);" (assignment_expression "pcVar12 = gldelf32lriscv_ilp32f_add_sysroot(command_line.rpath)" identifier = (call_expression "gldelf32lriscv_ilp32f_add_sysroot(command_line.rpath)" identifier (argument_list "(command_line.rpath)" ( (field_expression "command_line.rpath" identifier . field_identifier) )))) ;) (expression_statement "bVar11 = gldelf32lriscv_ilp32f_search_needed(pcVar12,&n,(int)local_60);" (assignment_expression "bVar11 = gldelf32lriscv_ilp32f_search_needed(pcVar12,&n,(int)local_60)" identifier = (call_expression "gldelf32lriscv_ilp32f_search_needed(pcVar12,&n,(int)local_60)" identifier (argument_list "(pcVar12,&n,(int)local_60)" ( identifier , (pointer_expression "&n" & identifier) , (cast_expression "(int)local_60" ( (type_descriptor "int" primitive_type) ) identifier) )))) ;) (expression_statement "free(pcVar12);" (call_expression "free(pcVar12)" identifier (argument_list "(pcVar12)" ( identifier ))) ;) (if_statement "if (bVar11 != 0) break;" if (parenthesized_expression "(bVar11 != 0)" ( (binary_expression "bVar11 != 0" identifier != number_literal) )) (break_statement "break;" break ;)) })) (expression_statement "piVar13 = (int *)bfd_elf_get_runpath_list(link_info.output_bfd,&link_info);" (assignment_expression "piVar13 = (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 (piVar13 != (int *)0x0) {\n                do {\n                  bVar25 = true;\n                  pcVar12 = gldelf32lriscv_ilp32f_add_sysroot((char *)piVar13[2]);\n                  bVar3 = false;\n                  if ((bfd *)piVar13[1] == pbVar2->by) {\n                    bVar11 = gldelf32lriscv_ilp32f_search_needed(pcVar12,&n,(int)local_60);\n                    bVar25 = bVar11 == 0;\n                    bVar3 = !bVar25;\n                  }\n                  free(pcVar12);\n                  piVar13 = (int *)*piVar13;\n                } while ((piVar13 != (int *)0x0) && (bVar25));\n                if (bVar3) break;\n              }" if (parenthesized_expression "(piVar13 != (int *)0x0)" ( (binary_expression "piVar13 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                do {\n                  bVar25 = true;\n                  pcVar12 = gldelf32lriscv_ilp32f_add_sysroot((char *)piVar13[2]);\n                  bVar3 = false;\n                  if ((bfd *)piVar13[1] == pbVar2->by) {\n                    bVar11 = gldelf32lriscv_ilp32f_search_needed(pcVar12,&n,(int)local_60);\n                    bVar25 = bVar11 == 0;\n                    bVar3 = !bVar25;\n                  }\n                  free(pcVar12);\n                  piVar13 = (int *)*piVar13;\n                } while ((piVar13 != (int *)0x0) && (bVar25));\n                if (bVar3) break;\n              }" { (do_statement "do {\n                  bVar25 = true;\n                  pcVar12 = gldelf32lriscv_ilp32f_add_sysroot((char *)piVar13[2]);\n                  bVar3 = false;\n                  if ((bfd *)piVar13[1] == pbVar2->by) {\n                    bVar11 = gldelf32lriscv_ilp32f_search_needed(pcVar12,&n,(int)local_60);\n                    bVar25 = bVar11 == 0;\n                    bVar3 = !bVar25;\n                  }\n                  free(pcVar12);\n                  piVar13 = (int *)*piVar13;\n                } while ((piVar13 != (int *)0x0) && (bVar25));" do (compound_statement "{\n                  bVar25 = true;\n                  pcVar12 = gldelf32lriscv_ilp32f_add_sysroot((char *)piVar13[2]);\n                  bVar3 = false;\n                  if ((bfd *)piVar13[1] == pbVar2->by) {\n                    bVar11 = gldelf32lriscv_ilp32f_search_needed(pcVar12,&n,(int)local_60);\n                    bVar25 = bVar11 == 0;\n                    bVar3 = !bVar25;\n                  }\n                  free(pcVar12);\n                  piVar13 = (int *)*piVar13;\n                }" { (expression_statement "bVar25 = true;" (assignment_expression "bVar25 = true" identifier = true) ;) (expression_statement "pcVar12 = gldelf32lriscv_ilp32f_add_sysroot((char *)piVar13[2]);" (assignment_expression "pcVar12 = gldelf32lriscv_ilp32f_add_sysroot((char *)piVar13[2])" identifier = (call_expression "gldelf32lriscv_ilp32f_add_sysroot((char *)piVar13[2])" identifier (argument_list "((char *)piVar13[2])" ( (cast_expression "(char *)piVar13[2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar13[2]" identifier [ number_literal ])) )))) ;) (expression_statement "bVar3 = false;" (assignment_expression "bVar3 = false" identifier = false) ;) (if_statement "if ((bfd *)piVar13[1] == pbVar2->by) {\n                    bVar11 = gldelf32lriscv_ilp32f_search_needed(pcVar12,&n,(int)local_60);\n                    bVar25 = bVar11 == 0;\n                    bVar3 = !bVar25;\n                  }" if (parenthesized_expression "((bfd *)piVar13[1] == pbVar2->by)" ( (binary_expression "(bfd *)piVar13[1] == pbVar2->by" (cast_expression "(bfd *)piVar13[1]" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar13[1]" identifier [ number_literal ])) == (field_expression "pbVar2->by" identifier -> field_identifier)) )) (compound_statement "{\n                    bVar11 = gldelf32lriscv_ilp32f_search_needed(pcVar12,&n,(int)local_60);\n                    bVar25 = bVar11 == 0;\n                    bVar3 = !bVar25;\n                  }" { (expression_statement "bVar11 = gldelf32lriscv_ilp32f_search_needed(pcVar12,&n,(int)local_60);" (assignment_expression "bVar11 = gldelf32lriscv_ilp32f_search_needed(pcVar12,&n,(int)local_60)" identifier = (call_expression "gldelf32lriscv_ilp32f_search_needed(pcVar12,&n,(int)local_60)" identifier (argument_list "(pcVar12,&n,(int)local_60)" ( identifier , (pointer_expression "&n" & identifier) , (cast_expression "(int)local_60" ( (type_descriptor "int" primitive_type) ) identifier) )))) ;) (expression_statement "bVar25 = bVar11 == 0;" (assignment_expression "bVar25 = bVar11 == 0" identifier = (binary_expression "bVar11 == 0" identifier == number_literal)) ;) (expression_statement "bVar3 = !bVar25;" (assignment_expression "bVar3 = !bVar25" identifier = (unary_expression "!bVar25" ! identifier)) ;) })) (expression_statement "free(pcVar12);" (call_expression "free(pcVar12)" identifier (argument_list "(pcVar12)" ( identifier ))) ;) (expression_statement "piVar13 = (int *)*piVar13;" (assignment_expression "piVar13 = (int *)*piVar13" identifier = (cast_expression "(int *)*piVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar13" * identifier))) ;) }) while (parenthesized_expression "((piVar13 != (int *)0x0) && (bVar25))" ( (binary_expression "(piVar13 != (int *)0x0) && (bVar25)" (parenthesized_expression "(piVar13 != (int *)0x0)" ( (binary_expression "piVar13 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(bVar25)" ( identifier ))) )) ;) (if_statement "if (bVar3) break;" if (parenthesized_expression "(bVar3)" ( identifier )) (break_statement "break;" break ;)) })) (expression_statement "pcVar12 = ld_so_conf_13460;" (assignment_expression "pcVar12 = ld_so_conf_13460" identifier = identifier) ;) (if_statement "if (initialized_13459 == 0) {\n                needed.by = (bfd *)0x0;\n                needed.name = (char *)0x0;\n                pcVar12 = (char *)concat(ld_sysroot,"/usr/etc/ld.so.conf",0);\n                bVar11 = gldelf32lriscv_ilp32f_parse_ld_so_conf\n                                   ((gldelf32lriscv_ilp32f_ld_so_conf *)&needed,pcVar12);\n                if (bVar11 == 0) {\n                  free(pcVar12);\n                  pcVar12 = (char *)concat(ld_sysroot,"/etc/ld.so.conf",0);\n                  gldelf32lriscv_ilp32f_parse_ld_so_conf\n                            ((gldelf32lriscv_ilp32f_ld_so_conf *)&needed,pcVar12);\n                }\n                free(pcVar12);\n                pcVar12 = ld_so_conf_13460;\n                if (needed.by != (bfd *)0x0) {\n                  pcVar12 = gldelf32lriscv_ilp32f_add_sysroot((char *)needed.by);\n                  ld_so_conf_13460 = pcVar12;\n                  free(needed.by);\n                }\n                initialized_13459 = 1;\n              }" if (parenthesized_expression "(initialized_13459 == 0)" ( (binary_expression "initialized_13459 == 0" identifier == number_literal) )) (compound_statement "{\n                needed.by = (bfd *)0x0;\n                needed.name = (char *)0x0;\n                pcVar12 = (char *)concat(ld_sysroot,"/usr/etc/ld.so.conf",0);\n                bVar11 = gldelf32lriscv_ilp32f_parse_ld_so_conf\n                                   ((gldelf32lriscv_ilp32f_ld_so_conf *)&needed,pcVar12);\n                if (bVar11 == 0) {\n                  free(pcVar12);\n                  pcVar12 = (char *)concat(ld_sysroot,"/etc/ld.so.conf",0);\n                  gldelf32lriscv_ilp32f_parse_ld_so_conf\n                            ((gldelf32lriscv_ilp32f_ld_so_conf *)&needed,pcVar12);\n                }\n                free(pcVar12);\n                pcVar12 = ld_so_conf_13460;\n                if (needed.by != (bfd *)0x0) {\n                  pcVar12 = gldelf32lriscv_ilp32f_add_sysroot((char *)needed.by);\n                  ld_so_conf_13460 = pcVar12;\n                  free(needed.by);\n                }\n                initialized_13459 = 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 "pcVar12 = (char *)concat(ld_sysroot,"/usr/etc/ld.so.conf",0);" (assignment_expression "pcVar12 = (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 "bVar11 = gldelf32lriscv_ilp32f_parse_ld_so_conf\n                                   ((gldelf32lriscv_ilp32f_ld_so_conf *)&needed,pcVar12);" (assignment_expression "bVar11 = gldelf32lriscv_ilp32f_parse_ld_so_conf\n                                   ((gldelf32lriscv_ilp32f_ld_so_conf *)&needed,pcVar12)" identifier = (call_expression "gldelf32lriscv_ilp32f_parse_ld_so_conf\n                                   ((gldelf32lriscv_ilp32f_ld_so_conf *)&needed,pcVar12)" identifier (argument_list "((gldelf32lriscv_ilp32f_ld_so_conf *)&needed,pcVar12)" ( (cast_expression "(gldelf32lriscv_ilp32f_ld_so_conf *)&needed" ( (type_descriptor "gldelf32lriscv_ilp32f_ld_so_conf *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&needed" & identifier)) , identifier )))) ;) (if_statement "if (bVar11 == 0) {\n                  free(pcVar12);\n                  pcVar12 = (char *)concat(ld_sysroot,"/etc/ld.so.conf",0);\n                  gldelf32lriscv_ilp32f_parse_ld_so_conf\n                            ((gldelf32lriscv_ilp32f_ld_so_conf *)&needed,pcVar12);\n                }" if (parenthesized_expression "(bVar11 == 0)" ( (binary_expression "bVar11 == 0" identifier == number_literal) )) (compound_statement "{\n                  free(pcVar12);\n                  pcVar12 = (char *)concat(ld_sysroot,"/etc/ld.so.conf",0);\n                  gldelf32lriscv_ilp32f_parse_ld_so_conf\n                            ((gldelf32lriscv_ilp32f_ld_so_conf *)&needed,pcVar12);\n                }" { (expression_statement "free(pcVar12);" (call_expression "free(pcVar12)" identifier (argument_list "(pcVar12)" ( identifier ))) ;) (expression_statement "pcVar12 = (char *)concat(ld_sysroot,"/etc/ld.so.conf",0);" (assignment_expression "pcVar12 = (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 "gldelf32lriscv_ilp32f_parse_ld_so_conf\n                            ((gldelf32lriscv_ilp32f_ld_so_conf *)&needed,pcVar12);" (call_expression "gldelf32lriscv_ilp32f_parse_ld_so_conf\n                            ((gldelf32lriscv_ilp32f_ld_so_conf *)&needed,pcVar12)" identifier (argument_list "((gldelf32lriscv_ilp32f_ld_so_conf *)&needed,pcVar12)" ( (cast_expression "(gldelf32lriscv_ilp32f_ld_so_conf *)&needed" ( (type_descriptor "gldelf32lriscv_ilp32f_ld_so_conf *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&needed" & identifier)) , identifier ))) ;) })) (expression_statement "free(pcVar12);" (call_expression "free(pcVar12)" identifier (argument_list "(pcVar12)" ( identifier ))) ;) (expression_statement "pcVar12 = ld_so_conf_13460;" (assignment_expression "pcVar12 = ld_so_conf_13460" identifier = identifier) ;) (if_statement "if (needed.by != (bfd *)0x0) {\n                  pcVar12 = gldelf32lriscv_ilp32f_add_sysroot((char *)needed.by);\n                  ld_so_conf_13460 = pcVar12;\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                  pcVar12 = gldelf32lriscv_ilp32f_add_sysroot((char *)needed.by);\n                  ld_so_conf_13460 = pcVar12;\n                  free(needed.by);\n                }" { (expression_statement "pcVar12 = gldelf32lriscv_ilp32f_add_sysroot((char *)needed.by);" (assignment_expression "pcVar12 = gldelf32lriscv_ilp32f_add_sysroot((char *)needed.by)" identifier = (call_expression "gldelf32lriscv_ilp32f_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_13460 = pcVar12;" (assignment_expression "ld_so_conf_13460 = pcVar12" 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_13459 = 1;" (assignment_expression "initialized_13459 = 1" identifier = number_literal) ;) })) (expression_statement "pcVar16 = pbVar2->name;" (assignment_expression "pcVar16 = pbVar2->name" identifier = (field_expression "pbVar2->name" identifier -> field_identifier)) ;) (if_statement "if (pcVar12 != (char *)0x0) {\n                needed.by = pbVar2->by;\n                needed.name = pcVar16;\n                bVar11 = gldelf32lriscv_ilp32f_search_needed(pcVar12,&needed,(int)local_60);\n                if (bVar11 != 0) break;\n                pcVar16 = pbVar2->name;\n              }" if (parenthesized_expression "(pcVar12 != (char *)0x0)" ( (binary_expression "pcVar12 != (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 = pcVar16;\n                bVar11 = gldelf32lriscv_ilp32f_search_needed(pcVar12,&needed,(int)local_60);\n                if (bVar11 != 0) break;\n                pcVar16 = 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 = pcVar16;" (assignment_expression "needed.name = pcVar16" (field_expression "needed.name" identifier . field_identifier) = identifier) ;) (expression_statement "bVar11 = gldelf32lriscv_ilp32f_search_needed(pcVar12,&needed,(int)local_60);" (assignment_expression "bVar11 = gldelf32lriscv_ilp32f_search_needed(pcVar12,&needed,(int)local_60)" identifier = (call_expression "gldelf32lriscv_ilp32f_search_needed(pcVar12,&needed,(int)local_60)" identifier (argument_list "(pcVar12,&needed,(int)local_60)" ( identifier , (pointer_expression "&needed" & identifier) , (cast_expression "(int)local_60" ( (type_descriptor "int" primitive_type) ) identifier) )))) ;) (if_statement "if (bVar11 != 0) break;" if (parenthesized_expression "(bVar11 != 0)" ( (binary_expression "bVar11 != 0" identifier != number_literal) )) (break_statement "break;" break ;)) (expression_statement "pcVar16 = pbVar2->name;" (assignment_expression "pcVar16 = pbVar2->name" identifier = (field_expression "pbVar2->name" identifier -> field_identifier)) ;) })) (expression_statement "sVar14 = strlen(pcVar16);" (assignment_expression "sVar14 = strlen(pcVar16)" identifier = (call_expression "strlen(pcVar16)" identifier (argument_list "(pcVar16)" ( identifier )))) ;) (if_statement "if (search_head != (search_dirs_type *)0x0) {\n                psVar21 = search_head;\n                do {\n                  if (psVar21->cmdline == 0) {\n                    sVar15 = strlen(psVar21->name);\n                    pcVar12 = (char *)xmalloc(sVar15 + sVar14 + 2);\n                    sprintf(pcVar12,"%s/%s",psVar21->name,pbVar2->name);\n                    nn.name = pcVar12;\n                    bVar11 = gldelf32lriscv_ilp32f_try_needed(&nn,(int)pcVar12,local_60);\n                    if (bVar11 != 0) goto LAB_0004ae88;\n                    free(pcVar12);\n                  }\n                  psVar21 = psVar21->next;\n                } while (psVar21 != (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                psVar21 = search_head;\n                do {\n                  if (psVar21->cmdline == 0) {\n                    sVar15 = strlen(psVar21->name);\n                    pcVar12 = (char *)xmalloc(sVar15 + sVar14 + 2);\n                    sprintf(pcVar12,"%s/%s",psVar21->name,pbVar2->name);\n                    nn.name = pcVar12;\n                    bVar11 = gldelf32lriscv_ilp32f_try_needed(&nn,(int)pcVar12,local_60);\n                    if (bVar11 != 0) goto LAB_0004ae88;\n                    free(pcVar12);\n                  }\n                  psVar21 = psVar21->next;\n                } while (psVar21 != (search_dirs *)0x0);\n              }" { (expression_statement "psVar21 = search_head;" (assignment_expression "psVar21 = search_head" identifier = identifier) ;) (do_statement "do {\n                  if (psVar21->cmdline == 0) {\n                    sVar15 = strlen(psVar21->name);\n                    pcVar12 = (char *)xmalloc(sVar15 + sVar14 + 2);\n                    sprintf(pcVar12,"%s/%s",psVar21->name,pbVar2->name);\n                    nn.name = pcVar12;\n                    bVar11 = gldelf32lriscv_ilp32f_try_needed(&nn,(int)pcVar12,local_60);\n                    if (bVar11 != 0) goto LAB_0004ae88;\n                    free(pcVar12);\n                  }\n                  psVar21 = psVar21->next;\n                } while (psVar21 != (search_dirs *)0x0);" do (compound_statement "{\n                  if (psVar21->cmdline == 0) {\n                    sVar15 = strlen(psVar21->name);\n                    pcVar12 = (char *)xmalloc(sVar15 + sVar14 + 2);\n                    sprintf(pcVar12,"%s/%s",psVar21->name,pbVar2->name);\n                    nn.name = pcVar12;\n                    bVar11 = gldelf32lriscv_ilp32f_try_needed(&nn,(int)pcVar12,local_60);\n                    if (bVar11 != 0) goto LAB_0004ae88;\n                    free(pcVar12);\n                  }\n                  psVar21 = psVar21->next;\n                }" { (if_statement "if (psVar21->cmdline == 0) {\n                    sVar15 = strlen(psVar21->name);\n                    pcVar12 = (char *)xmalloc(sVar15 + sVar14 + 2);\n                    sprintf(pcVar12,"%s/%s",psVar21->name,pbVar2->name);\n                    nn.name = pcVar12;\n                    bVar11 = gldelf32lriscv_ilp32f_try_needed(&nn,(int)pcVar12,local_60);\n                    if (bVar11 != 0) goto LAB_0004ae88;\n                    free(pcVar12);\n                  }" if (parenthesized_expression "(psVar21->cmdline == 0)" ( (binary_expression "psVar21->cmdline == 0" (field_expression "psVar21->cmdline" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n                    sVar15 = strlen(psVar21->name);\n                    pcVar12 = (char *)xmalloc(sVar15 + sVar14 + 2);\n                    sprintf(pcVar12,"%s/%s",psVar21->name,pbVar2->name);\n                    nn.name = pcVar12;\n                    bVar11 = gldelf32lriscv_ilp32f_try_needed(&nn,(int)pcVar12,local_60);\n                    if (bVar11 != 0) goto LAB_0004ae88;\n                    free(pcVar12);\n                  }" { (expression_statement "sVar15 = strlen(psVar21->name);" (assignment_expression "sVar15 = strlen(psVar21->name)" identifier = (call_expression "strlen(psVar21->name)" identifier (argument_list "(psVar21->name)" ( (field_expression "psVar21->name" identifier -> field_identifier) )))) ;) (expression_statement "pcVar12 = (char *)xmalloc(sVar15 + sVar14 + 2);" (assignment_expression "pcVar12 = (char *)xmalloc(sVar15 + sVar14 + 2)" identifier = (cast_expression "(char *)xmalloc(sVar15 + sVar14 + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(sVar15 + sVar14 + 2)" identifier (argument_list "(sVar15 + sVar14 + 2)" ( (binary_expression "sVar15 + sVar14 + 2" (binary_expression "sVar15 + sVar14" identifier + identifier) + number_literal) ))))) ;) (expression_statement "sprintf(pcVar12,"%s/%s",psVar21->name,pbVar2->name);" (call_expression "sprintf(pcVar12,"%s/%s",psVar21->name,pbVar2->name)" identifier (argument_list "(pcVar12,"%s/%s",psVar21->name,pbVar2->name)" ( identifier , (string_literal ""%s/%s"" " string_content ") , (field_expression "psVar21->name" identifier -> field_identifier) , (field_expression "pbVar2->name" identifier -> field_identifier) ))) ;) (expression_statement "nn.name = pcVar12;" (assignment_expression "nn.name = pcVar12" (field_expression "nn.name" identifier . field_identifier) = identifier) ;) (expression_statement "bVar11 = gldelf32lriscv_ilp32f_try_needed(&nn,(int)pcVar12,local_60);" (assignment_expression "bVar11 = gldelf32lriscv_ilp32f_try_needed(&nn,(int)pcVar12,local_60)" identifier = (call_expression "gldelf32lriscv_ilp32f_try_needed(&nn,(int)pcVar12,local_60)" identifier (argument_list "(&nn,(int)pcVar12,local_60)" ( (pointer_expression "&nn" & identifier) , (cast_expression "(int)pcVar12" ( (type_descriptor "int" primitive_type) ) identifier) , identifier )))) ;) (if_statement "if (bVar11 != 0) goto LAB_0004ae88;" if (parenthesized_expression "(bVar11 != 0)" ( (binary_expression "bVar11 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0004ae88;" goto statement_identifier ;)) (expression_statement "free(pcVar12);" (call_expression "free(pcVar12)" identifier (argument_list "(pcVar12)" ( identifier ))) ;) })) (expression_statement "psVar21 = psVar21->next;" (assignment_expression "psVar21 = psVar21->next" identifier = (field_expression "psVar21->next" identifier -> field_identifier)) ;) }) while (parenthesized_expression "(psVar21 != (search_dirs *)0x0)" ( (binary_expression "psVar21 != (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                pbVar20 = pbVar2->by;\n                pcVar12 = pbVar2->name;\n                pcVar16 = (char *)dcgettext(0,\n                                            "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                            ,5);\n                einfo(pcVar16,pcVar12,pbVar20);\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                pbVar20 = pbVar2->by;\n                pcVar12 = pbVar2->name;\n                pcVar16 = (char *)dcgettext(0,\n                                            "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                            ,5);\n                einfo(pcVar16,pcVar12,pbVar20);\n                break;\n              }" { (expression_statement "pbVar20 = pbVar2->by;" (assignment_expression "pbVar20 = pbVar2->by" identifier = (field_expression "pbVar2->by" identifier -> field_identifier)) ;) (expression_statement "pcVar12 = pbVar2->name;" (assignment_expression "pcVar12 = pbVar2->name" identifier = (field_expression "pbVar2->name" identifier -> field_identifier)) ;) (expression_statement "pcVar16 = (char *)dcgettext(0,\n                                            "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                            ,5);" (assignment_expression "pcVar16 = (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(pcVar16,pcVar12,pbVar20);" (call_expression "einfo(pcVar16,pcVar12,pbVar20)" identifier (argument_list "(pcVar16,pcVar12,pbVar20)" ( 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_0004ae88:" statement_identifier : (expression_statement "" ;)) })) (if_statement "if (((link_info._3_1_ & 0xc0) == 0x80) &&\n         (iVar10 = bfd_elf_parse_eh_frame_entries(0,&link_info), iVar10 == 0)) {\n        pcVar12 = (char *)dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);\n        einfo(pcVar12);\n      }" if (parenthesized_expression "(((link_info._3_1_ & 0xc0) == 0x80) &&\n         (iVar10 = bfd_elf_parse_eh_frame_entries(0,&link_info), iVar10 == 0))" ( (binary_expression "((link_info._3_1_ & 0xc0) == 0x80) &&\n         (iVar10 = bfd_elf_parse_eh_frame_entries(0,&link_info), iVar10 == 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 "(iVar10 = bfd_elf_parse_eh_frame_entries(0,&link_info), iVar10 == 0)" ( (comma_expression "iVar10 = bfd_elf_parse_eh_frame_entries(0,&link_info), iVar10 == 0" (assignment_expression "iVar10 = 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 "iVar10 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n        pcVar12 = (char *)dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);\n        einfo(pcVar12);\n      }" { (expression_statement "pcVar12 = (char *)dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);" (assignment_expression "pcVar12 = (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(pcVar12);" (call_expression "einfo(pcVar12)" identifier (argument_list "(pcVar12)" ( identifier ))) ;) })) }))) })) (return_statement "return;" return ;) })))
(translation_unit "void FUN_0004ab30(void)\n\n{\n  undefined4 uVar1;\n  bool bVar2;\n  undefined4 *puVar3;\n  undefined4 *puVar4;\n  uint uVar5;\n  int iVar6;\n  undefined4 uVar7;\n  void *pvVar8;\n  int *piVar9;\n  size_t sVar10;\n  size_t sVar11;\n  char *pcVar12;\n  undefined4 uVar13;\n  int iVar14;\n  int iVar15;\n  int iVar16;\n  undefined4 *puVar17;\n  byte *pbVar18;\n  byte *pbVar19;\n  bool bVar20;\n  bool bVar21;\n  bool bVar22;\n  byte bVar23;\n  longlong lVar24;\n  int local_60;\n  int local_50;\n  int local_4c;\n  \n  bVar23 = 0;\n  FUN_000327c0();\n  iVar6 = DAT_0013d6e0;\n  if (*(int *)(DAT_0013d6e0 + 0x28) == 1) {\n    if (DAT_0013d780 != 0) {\n      unlink_if_ordinary(DAT_0013d780);\n      DAT_0013d6f8 = bfd_openw(DAT_0013d780,**(undefined4 **)(DAT_0013d6f4 + 4));\n      iVar14 = DAT_0013d780;\n      if (DAT_0013d6f8 == 0) {\n        uVar7 = dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);\n        FUN_00033ba0(uVar7,iVar14);\n      }\n    }\n    iVar16 = DAT_0013d6f4;\n    iVar14 = DAT_0013d6fc;\n    if (DAT_0013d42c != (void *)0x0) {\n      for (; iVar14 != 0; iVar14 = *(int *)(iVar14 + 0x9c)) {\n        if (((*(int *)(*(int *)(iVar14 + 4) + 4) == 5) && (*(int *)(iVar14 + 0x68) != 0)) &&\n           ((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0)) {\n          lVar24 = FUN_00037870(DAT_0013d42c);\n          if ((lVar24 == 0) || (lVar24 + 0x10 == 0)) {\n            pcVar12 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar14 = bfd_make_section_with_flags\n                               (iVar14,".note.gnu.build-id",\n                                "ttributes)) }\n  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }\n}\n\n"\n                               );\n            if (iVar14 != 0) {\n              *(undefined4 *)(iVar14 + 0x58) = 2;\n              iVar16 = DAT_0013d6f4;\n              iVar15 = *(int *)(*(int *)(DAT_0013d6f4 + 0xa0) + 0x9c0);\n              *(code **)(iVar15 + 0x10) = FUN_00048da0;\n              pvVar8 = DAT_0013d42c;\n              *(int *)(iVar15 + 0x18) = iVar14;\n              *(void **)(iVar15 + 0x14) = pvVar8;\n              *(undefined4 *)(*(int *)(iVar14 + 0xa4) + 4) = 7;\n              *(longlong *)(iVar14 + 0x2c) = lVar24 + 0x10;\n              goto LAB_0004ad04;\n            }\n            pcVar12 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          uVar7 = dcgettext(0,pcVar12,5);\n          FUN_00033ba0(uVar7);\n          break;\n        }\n      }\n      free(DAT_0013d42c);\n      DAT_0013d42c = (void *)0x0;\n      iVar16 = DAT_0013d6f4;\n    }\nLAB_0004ad04:\n    (**(code **)(*(int *)(*(int *)(iVar16 + 4) + 0x1c0) + 0x1d0))(&DAT_0013d6c0);\n    if ((DAT_0013d6c0 & 3) == 2) {\n      if (DAT_0013d6c5 >> 7 == (~DAT_0013d6c6 & 1)) {\n        bfd_make_section_with_flags(DAT_0013d6fc,".note.GNU-stack",DAT_0013d6c5 >> 3 & 0x10 | 8);\n      }\n    }\n    else {\n      if (((DAT_0013d6c4 & 0x20) == 0) && (DAT_0013d6fc != 0)) {\n        local_50 = 0;\n        bVar2 = false;\n        local_4c = 0;\n        iVar14 = DAT_0013d6fc;\n        do {\n          while ((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0) {\n            puVar17 = *(undefined4 **)(iVar14 + 0x60);\n            if (puVar17 == (undefined4 *)0x0) {\nLAB_0004b231:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar20 = (undefined *)puVar17[0x15] < PTR__bfd_std_section_0013bfc4 + 0x180;\n                bVar22 = (undefined *)puVar17[0x15] == PTR__bfd_std_section_0013bfc4 + 0x180;\n                iVar16 = local_60;\n                if (!bVar22) {\n                  iVar15 = 0xf;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar20 = *pbVar18 < *pbVar19;\n                    bVar22 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar22);\n                  bVar21 = false;\n                  bVar20 = (!bVar20 && !bVar22) == bVar20;\n                  if (bVar20) {\n                    local_60 = 2;\n                    goto LAB_0004b209;\n                  }\n                  iVar15 = 10;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar21 = *pbVar18 < *pbVar19;\n                    bVar20 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar20);\n                  if (((!bVar21 && !bVar20) == bVar21) &&\n                     (iVar16 = 1,\n                     puVar17[0xc] == 0 && (uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc])) {\n                    iVar16 = local_60;\n                  }\n                }\n                local_60 = iVar16;\n                puVar17 = (undefined4 *)puVar17[3];\n              } while (puVar17 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_0004b231;\nLAB_0004b209:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar14 = local_4c;\n                }\n                uVar7 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00033ba0(uVar7,iVar14);\n                goto LAB_0004b267;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_0004b231;\n              if (local_60 != 2) {\n                if ((_DAT_0013d6c2 & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar2 = true;\n                  if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                    local_4c = iVar14;\n                  }\n                }\n                break;\n              }\n              bVar2 = true;\n              if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                local_4c = iVar14;\n              }\n            }\n            iVar14 = *(int *)(iVar14 + 0x9c);\n            local_50 = 2;\n            _DAT_0013d6c2 = _DAT_0013d6c2 & 0x3fff | 0x8000;\n            if (iVar14 == 0) goto LAB_0004b267;\n          }\n          iVar14 = *(int *)(iVar14 + 0x9c);\n        } while (iVar14 != 0);\nLAB_0004b267:\n        if ((local_4c == 0) ||\n           (iVar14 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x30) | 8),\n           iVar14 == 0)) {\n          if (bVar2) {\n            uVar7 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00033ba0(uVar7);\n          }\n        }\n        else {\n          *(undefined4 *)(iVar14 + 0x58) = 2;\n          *(int *)(iVar6 + 0xd0) = iVar14;\n        }\n      }\n      puVar4 = (undefined4 *)bfd_elf_get_needed_list(DAT_0013d6f4,&DAT_0013d6c0);\n      for (puVar17 = puVar4; puVar17 != (undefined4 *)0x0; puVar17 = (undefined4 *)*puVar17) {\n        puVar3 = puVar4;\n        if ((puVar17[1] == 0) ||\n           ((uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 1) == 0 &&\n            (((puVar17[1] == 0 || ((_DAT_0013d6c2 & 0x180) != 0x80)) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 4) == 0)))))) {\n          for (; puVar3 != puVar17; puVar3 = (undefined4 *)*puVar3) {\n            if (((puVar3[1] == 0) ||\n                (uVar5 = bfd_elf_get_dyn_lib_class(puVar3[1]), (uVar5 & 1) == 0)) &&\n               (iVar6 = strcmp((char *)puVar3[2],(char *)puVar17[2]), iVar6 == 0)) {\n              if (puVar17 != puVar3) goto LAB_0004ae88;\n              break;\n            }\n          }\n          DAT_0013d440 = 0;\n          DAT_0013d4c0 = puVar17;\n          FUN_000264a0(FUN_0004a2c0);\n          if ((DAT_0013d440 == 0) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_0013d440 + 0x10)),\n             (uVar5 & 1) != 0)) {\n            uVar7 = puVar17[1];\n            uVar1 = puVar17[2];\n            if (DAT_0013d83c != 0) {\n              uVar13 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00033b70(uVar13,uVar1,uVar7);\n            }\n            if ((DAT_0013d440 == 0) || (iVar6 = FUN_0004a3c0(), iVar6 == 0)) {\n              bVar2 = false;\n              while (iVar6 = FUN_0004a6d0(), iVar6 == 0) {\n                if (DAT_0013d7a4 != 0) {\n                  pvVar8 = (void *)FUN_00048f50();\n                  iVar6 = FUN_0004a6d0();\n                  free(pvVar8);\n                  if (iVar6 != 0) break;\n                }\n                piVar9 = (int *)bfd_elf_get_runpath_list(DAT_0013d6f4,&DAT_0013d6c0);\n                if (piVar9 != (int *)0x0) {\n                  do {\n                    bVar22 = true;\n                    pvVar8 = (void *)FUN_00048f50();\n                    bVar20 = false;\n                    if (piVar9[1] == puVar17[1]) {\n                      iVar6 = FUN_0004a6d0();\n                      bVar22 = iVar6 == 0;\n                      bVar20 = !bVar22;\n                    }\n                    free(pvVar8);\n                    piVar9 = (int *)*piVar9;\n                  } while ((piVar9 != (int *)0x0) && (bVar22));\n                  if (bVar20) break;\n                }\n                if (DAT_0013d424 == 0) {\n                  pvVar8 = (void *)concat(DAT_0013d75c,"/usr/etc/ld.so.conf",0);\n                  iVar6 = FUN_00049060();\n                  if (iVar6 == 0) {\n                    free(pvVar8);\n                    pvVar8 = (void *)concat(DAT_0013d75c,"/etc/ld.so.conf",0);\n                    FUN_00049060();\n                  }\n                  free(pvVar8);\n                  DAT_0013d424 = 1;\n                }\n                pcVar12 = (char *)puVar17[2];\n                if (DAT_0013d420 != 0) {\n                  iVar6 = FUN_0004a6d0();\n                  if (iVar6 != 0) break;\n                  pcVar12 = (char *)puVar17[2];\n                }\n                sVar10 = strlen(pcVar12);\n                if (DAT_0013d8e4 != (int *)0x0) {\n                  piVar9 = DAT_0013d8e4;\n                  do {\n                    if (piVar9[2] == 0) {\n                      sVar11 = strlen((char *)piVar9[1]);\n                      pcVar12 = (char *)xmalloc(sVar11 + sVar10 + 2);\n                      sprintf(pcVar12,"%s/%s",piVar9[1],puVar17[2]);\n                      iVar6 = FUN_0004a3c0();\n                      if (iVar6 != 0) goto LAB_0004ae88;\n                      free(pcVar12);\n                    }\n                    piVar9 = (int *)*piVar9;\n                  } while (piVar9 != (int *)0x0);\n                }\n                if (bVar2) {\n                  uVar7 = puVar17[1];\n                  uVar1 = puVar17[2];\n                  uVar13 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00033ba0(uVar13,uVar1,uVar7);\n                  break;\n                }\n                bVar2 = true;\n              }\n            }\n          }\n        }\nLAB_0004ae88:\n      }\n      DAT_0013d6c3 = (byte)(_DAT_0013d6c2 >> 8);\n      bVar23 = DAT_0013d6c3 & 0xc0;\n      if ((bVar23 == 0x80) && (iVar6 = bfd_elf_parse_eh_frame_entries(0,&DAT_0013d6c0), iVar6 == 0))\n      {\n        uVar7 = dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);\n        FUN_00033ba0(uVar7);\n      }\n    }\n  }\n  return;\n}\n\n" (function_definition "void FUN_0004ab30(void)\n\n{\n  undefined4 uVar1;\n  bool bVar2;\n  undefined4 *puVar3;\n  undefined4 *puVar4;\n  uint uVar5;\n  int iVar6;\n  undefined4 uVar7;\n  void *pvVar8;\n  int *piVar9;\n  size_t sVar10;\n  size_t sVar11;\n  char *pcVar12;\n  undefined4 uVar13;\n  int iVar14;\n  int iVar15;\n  int iVar16;\n  undefined4 *puVar17;\n  byte *pbVar18;\n  byte *pbVar19;\n  bool bVar20;\n  bool bVar21;\n  bool bVar22;\n  byte bVar23;\n  longlong lVar24;\n  int local_60;\n  int local_50;\n  int local_4c;\n  \n  bVar23 = 0;\n  FUN_000327c0();\n  iVar6 = DAT_0013d6e0;\n  if (*(int *)(DAT_0013d6e0 + 0x28) == 1) {\n    if (DAT_0013d780 != 0) {\n      unlink_if_ordinary(DAT_0013d780);\n      DAT_0013d6f8 = bfd_openw(DAT_0013d780,**(undefined4 **)(DAT_0013d6f4 + 4));\n      iVar14 = DAT_0013d780;\n      if (DAT_0013d6f8 == 0) {\n        uVar7 = dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);\n        FUN_00033ba0(uVar7,iVar14);\n      }\n    }\n    iVar16 = DAT_0013d6f4;\n    iVar14 = DAT_0013d6fc;\n    if (DAT_0013d42c != (void *)0x0) {\n      for (; iVar14 != 0; iVar14 = *(int *)(iVar14 + 0x9c)) {\n        if (((*(int *)(*(int *)(iVar14 + 4) + 4) == 5) && (*(int *)(iVar14 + 0x68) != 0)) &&\n           ((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0)) {\n          lVar24 = FUN_00037870(DAT_0013d42c);\n          if ((lVar24 == 0) || (lVar24 + 0x10 == 0)) {\n            pcVar12 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar14 = bfd_make_section_with_flags\n                               (iVar14,".note.gnu.build-id",\n                                "ttributes)) }\n  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }\n}\n\n"\n                               );\n            if (iVar14 != 0) {\n              *(undefined4 *)(iVar14 + 0x58) = 2;\n              iVar16 = DAT_0013d6f4;\n              iVar15 = *(int *)(*(int *)(DAT_0013d6f4 + 0xa0) + 0x9c0);\n              *(code **)(iVar15 + 0x10) = FUN_00048da0;\n              pvVar8 = DAT_0013d42c;\n              *(int *)(iVar15 + 0x18) = iVar14;\n              *(void **)(iVar15 + 0x14) = pvVar8;\n              *(undefined4 *)(*(int *)(iVar14 + 0xa4) + 4) = 7;\n              *(longlong *)(iVar14 + 0x2c) = lVar24 + 0x10;\n              goto LAB_0004ad04;\n            }\n            pcVar12 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          uVar7 = dcgettext(0,pcVar12,5);\n          FUN_00033ba0(uVar7);\n          break;\n        }\n      }\n      free(DAT_0013d42c);\n      DAT_0013d42c = (void *)0x0;\n      iVar16 = DAT_0013d6f4;\n    }\nLAB_0004ad04:\n    (**(code **)(*(int *)(*(int *)(iVar16 + 4) + 0x1c0) + 0x1d0))(&DAT_0013d6c0);\n    if ((DAT_0013d6c0 & 3) == 2) {\n      if (DAT_0013d6c5 >> 7 == (~DAT_0013d6c6 & 1)) {\n        bfd_make_section_with_flags(DAT_0013d6fc,".note.GNU-stack",DAT_0013d6c5 >> 3 & 0x10 | 8);\n      }\n    }\n    else {\n      if (((DAT_0013d6c4 & 0x20) == 0) && (DAT_0013d6fc != 0)) {\n        local_50 = 0;\n        bVar2 = false;\n        local_4c = 0;\n        iVar14 = DAT_0013d6fc;\n        do {\n          while ((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0) {\n            puVar17 = *(undefined4 **)(iVar14 + 0x60);\n            if (puVar17 == (undefined4 *)0x0) {\nLAB_0004b231:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar20 = (undefined *)puVar17[0x15] < PTR__bfd_std_section_0013bfc4 + 0x180;\n                bVar22 = (undefined *)puVar17[0x15] == PTR__bfd_std_section_0013bfc4 + 0x180;\n                iVar16 = local_60;\n                if (!bVar22) {\n                  iVar15 = 0xf;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar20 = *pbVar18 < *pbVar19;\n                    bVar22 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar22);\n                  bVar21 = false;\n                  bVar20 = (!bVar20 && !bVar22) == bVar20;\n                  if (bVar20) {\n                    local_60 = 2;\n                    goto LAB_0004b209;\n                  }\n                  iVar15 = 10;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar21 = *pbVar18 < *pbVar19;\n                    bVar20 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar20);\n                  if (((!bVar21 && !bVar20) == bVar21) &&\n                     (iVar16 = 1,\n                     puVar17[0xc] == 0 && (uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc])) {\n                    iVar16 = local_60;\n                  }\n                }\n                local_60 = iVar16;\n                puVar17 = (undefined4 *)puVar17[3];\n              } while (puVar17 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_0004b231;\nLAB_0004b209:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar14 = local_4c;\n                }\n                uVar7 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00033ba0(uVar7,iVar14);\n                goto LAB_0004b267;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_0004b231;\n              if (local_60 != 2) {\n                if ((_DAT_0013d6c2 & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar2 = true;\n                  if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                    local_4c = iVar14;\n                  }\n                }\n                break;\n              }\n              bVar2 = true;\n              if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                local_4c = iVar14;\n              }\n            }\n            iVar14 = *(int *)(iVar14 + 0x9c);\n            local_50 = 2;\n            _DAT_0013d6c2 = _DAT_0013d6c2 & 0x3fff | 0x8000;\n            if (iVar14 == 0) goto LAB_0004b267;\n          }\n          iVar14 = *(int *)(iVar14 + 0x9c);\n        } while (iVar14 != 0);\nLAB_0004b267:\n        if ((local_4c == 0) ||\n           (iVar14 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x30) | 8),\n           iVar14 == 0)) {\n          if (bVar2) {\n            uVar7 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00033ba0(uVar7);\n          }\n        }\n        else {\n          *(undefined4 *)(iVar14 + 0x58) = 2;\n          *(int *)(iVar6 + 0xd0) = iVar14;\n        }\n      }\n      puVar4 = (undefined4 *)bfd_elf_get_needed_list(DAT_0013d6f4,&DAT_0013d6c0);\n      for (puVar17 = puVar4; puVar17 != (undefined4 *)0x0; puVar17 = (undefined4 *)*puVar17) {\n        puVar3 = puVar4;\n        if ((puVar17[1] == 0) ||\n           ((uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 1) == 0 &&\n            (((puVar17[1] == 0 || ((_DAT_0013d6c2 & 0x180) != 0x80)) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 4) == 0)))))) {\n          for (; puVar3 != puVar17; puVar3 = (undefined4 *)*puVar3) {\n            if (((puVar3[1] == 0) ||\n                (uVar5 = bfd_elf_get_dyn_lib_class(puVar3[1]), (uVar5 & 1) == 0)) &&\n               (iVar6 = strcmp((char *)puVar3[2],(char *)puVar17[2]), iVar6 == 0)) {\n              if (puVar17 != puVar3) goto LAB_0004ae88;\n              break;\n            }\n          }\n          DAT_0013d440 = 0;\n          DAT_0013d4c0 = puVar17;\n          FUN_000264a0(FUN_0004a2c0);\n          if ((DAT_0013d440 == 0) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_0013d440 + 0x10)),\n             (uVar5 & 1) != 0)) {\n            uVar7 = puVar17[1];\n            uVar1 = puVar17[2];\n            if (DAT_0013d83c != 0) {\n              uVar13 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00033b70(uVar13,uVar1,uVar7);\n            }\n            if ((DAT_0013d440 == 0) || (iVar6 = FUN_0004a3c0(), iVar6 == 0)) {\n              bVar2 = false;\n              while (iVar6 = FUN_0004a6d0(), iVar6 == 0) {\n                if (DAT_0013d7a4 != 0) {\n                  pvVar8 = (void *)FUN_00048f50();\n                  iVar6 = FUN_0004a6d0();\n                  free(pvVar8);\n                  if (iVar6 != 0) break;\n                }\n                piVar9 = (int *)bfd_elf_get_runpath_list(DAT_0013d6f4,&DAT_0013d6c0);\n                if (piVar9 != (int *)0x0) {\n                  do {\n                    bVar22 = true;\n                    pvVar8 = (void *)FUN_00048f50();\n                    bVar20 = false;\n                    if (piVar9[1] == puVar17[1]) {\n                      iVar6 = FUN_0004a6d0();\n                      bVar22 = iVar6 == 0;\n                      bVar20 = !bVar22;\n                    }\n                    free(pvVar8);\n                    piVar9 = (int *)*piVar9;\n                  } while ((piVar9 != (int *)0x0) && (bVar22));\n                  if (bVar20) break;\n                }\n                if (DAT_0013d424 == 0) {\n                  pvVar8 = (void *)concat(DAT_0013d75c,"/usr/etc/ld.so.conf",0);\n                  iVar6 = FUN_00049060();\n                  if (iVar6 == 0) {\n                    free(pvVar8);\n                    pvVar8 = (void *)concat(DAT_0013d75c,"/etc/ld.so.conf",0);\n                    FUN_00049060();\n                  }\n                  free(pvVar8);\n                  DAT_0013d424 = 1;\n                }\n                pcVar12 = (char *)puVar17[2];\n                if (DAT_0013d420 != 0) {\n                  iVar6 = FUN_0004a6d0();\n                  if (iVar6 != 0) break;\n                  pcVar12 = (char *)puVar17[2];\n                }\n                sVar10 = strlen(pcVar12);\n                if (DAT_0013d8e4 != (int *)0x0) {\n                  piVar9 = DAT_0013d8e4;\n                  do {\n                    if (piVar9[2] == 0) {\n                      sVar11 = strlen((char *)piVar9[1]);\n                      pcVar12 = (char *)xmalloc(sVar11 + sVar10 + 2);\n                      sprintf(pcVar12,"%s/%s",piVar9[1],puVar17[2]);\n                      iVar6 = FUN_0004a3c0();\n                      if (iVar6 != 0) goto LAB_0004ae88;\n                      free(pcVar12);\n                    }\n                    piVar9 = (int *)*piVar9;\n                  } while (piVar9 != (int *)0x0);\n                }\n                if (bVar2) {\n                  uVar7 = puVar17[1];\n                  uVar1 = puVar17[2];\n                  uVar13 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00033ba0(uVar13,uVar1,uVar7);\n                  break;\n                }\n                bVar2 = true;\n              }\n            }\n          }\n        }\nLAB_0004ae88:\n      }\n      DAT_0013d6c3 = (byte)(_DAT_0013d6c2 >> 8);\n      bVar23 = DAT_0013d6c3 & 0xc0;\n      if ((bVar23 == 0x80) && (iVar6 = bfd_elf_parse_eh_frame_entries(0,&DAT_0013d6c0), iVar6 == 0))\n      {\n        uVar7 = dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);\n        FUN_00033ba0(uVar7);\n      }\n    }\n  }\n  return;\n}" primitive_type (function_declarator "FUN_0004ab30(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  undefined4 uVar1;\n  bool bVar2;\n  undefined4 *puVar3;\n  undefined4 *puVar4;\n  uint uVar5;\n  int iVar6;\n  undefined4 uVar7;\n  void *pvVar8;\n  int *piVar9;\n  size_t sVar10;\n  size_t sVar11;\n  char *pcVar12;\n  undefined4 uVar13;\n  int iVar14;\n  int iVar15;\n  int iVar16;\n  undefined4 *puVar17;\n  byte *pbVar18;\n  byte *pbVar19;\n  bool bVar20;\n  bool bVar21;\n  bool bVar22;\n  byte bVar23;\n  longlong lVar24;\n  int local_60;\n  int local_50;\n  int local_4c;\n  \n  bVar23 = 0;\n  FUN_000327c0();\n  iVar6 = DAT_0013d6e0;\n  if (*(int *)(DAT_0013d6e0 + 0x28) == 1) {\n    if (DAT_0013d780 != 0) {\n      unlink_if_ordinary(DAT_0013d780);\n      DAT_0013d6f8 = bfd_openw(DAT_0013d780,**(undefined4 **)(DAT_0013d6f4 + 4));\n      iVar14 = DAT_0013d780;\n      if (DAT_0013d6f8 == 0) {\n        uVar7 = dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);\n        FUN_00033ba0(uVar7,iVar14);\n      }\n    }\n    iVar16 = DAT_0013d6f4;\n    iVar14 = DAT_0013d6fc;\n    if (DAT_0013d42c != (void *)0x0) {\n      for (; iVar14 != 0; iVar14 = *(int *)(iVar14 + 0x9c)) {\n        if (((*(int *)(*(int *)(iVar14 + 4) + 4) == 5) && (*(int *)(iVar14 + 0x68) != 0)) &&\n           ((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0)) {\n          lVar24 = FUN_00037870(DAT_0013d42c);\n          if ((lVar24 == 0) || (lVar24 + 0x10 == 0)) {\n            pcVar12 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar14 = bfd_make_section_with_flags\n                               (iVar14,".note.gnu.build-id",\n                                "ttributes)) }\n  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }\n}\n\n"\n                               );\n            if (iVar14 != 0) {\n              *(undefined4 *)(iVar14 + 0x58) = 2;\n              iVar16 = DAT_0013d6f4;\n              iVar15 = *(int *)(*(int *)(DAT_0013d6f4 + 0xa0) + 0x9c0);\n              *(code **)(iVar15 + 0x10) = FUN_00048da0;\n              pvVar8 = DAT_0013d42c;\n              *(int *)(iVar15 + 0x18) = iVar14;\n              *(void **)(iVar15 + 0x14) = pvVar8;\n              *(undefined4 *)(*(int *)(iVar14 + 0xa4) + 4) = 7;\n              *(longlong *)(iVar14 + 0x2c) = lVar24 + 0x10;\n              goto LAB_0004ad04;\n            }\n            pcVar12 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          uVar7 = dcgettext(0,pcVar12,5);\n          FUN_00033ba0(uVar7);\n          break;\n        }\n      }\n      free(DAT_0013d42c);\n      DAT_0013d42c = (void *)0x0;\n      iVar16 = DAT_0013d6f4;\n    }\nLAB_0004ad04:\n    (**(code **)(*(int *)(*(int *)(iVar16 + 4) + 0x1c0) + 0x1d0))(&DAT_0013d6c0);\n    if ((DAT_0013d6c0 & 3) == 2) {\n      if (DAT_0013d6c5 >> 7 == (~DAT_0013d6c6 & 1)) {\n        bfd_make_section_with_flags(DAT_0013d6fc,".note.GNU-stack",DAT_0013d6c5 >> 3 & 0x10 | 8);\n      }\n    }\n    else {\n      if (((DAT_0013d6c4 & 0x20) == 0) && (DAT_0013d6fc != 0)) {\n        local_50 = 0;\n        bVar2 = false;\n        local_4c = 0;\n        iVar14 = DAT_0013d6fc;\n        do {\n          while ((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0) {\n            puVar17 = *(undefined4 **)(iVar14 + 0x60);\n            if (puVar17 == (undefined4 *)0x0) {\nLAB_0004b231:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar20 = (undefined *)puVar17[0x15] < PTR__bfd_std_section_0013bfc4 + 0x180;\n                bVar22 = (undefined *)puVar17[0x15] == PTR__bfd_std_section_0013bfc4 + 0x180;\n                iVar16 = local_60;\n                if (!bVar22) {\n                  iVar15 = 0xf;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar20 = *pbVar18 < *pbVar19;\n                    bVar22 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar22);\n                  bVar21 = false;\n                  bVar20 = (!bVar20 && !bVar22) == bVar20;\n                  if (bVar20) {\n                    local_60 = 2;\n                    goto LAB_0004b209;\n                  }\n                  iVar15 = 10;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar21 = *pbVar18 < *pbVar19;\n                    bVar20 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar20);\n                  if (((!bVar21 && !bVar20) == bVar21) &&\n                     (iVar16 = 1,\n                     puVar17[0xc] == 0 && (uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc])) {\n                    iVar16 = local_60;\n                  }\n                }\n                local_60 = iVar16;\n                puVar17 = (undefined4 *)puVar17[3];\n              } while (puVar17 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_0004b231;\nLAB_0004b209:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar14 = local_4c;\n                }\n                uVar7 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00033ba0(uVar7,iVar14);\n                goto LAB_0004b267;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_0004b231;\n              if (local_60 != 2) {\n                if ((_DAT_0013d6c2 & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar2 = true;\n                  if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                    local_4c = iVar14;\n                  }\n                }\n                break;\n              }\n              bVar2 = true;\n              if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                local_4c = iVar14;\n              }\n            }\n            iVar14 = *(int *)(iVar14 + 0x9c);\n            local_50 = 2;\n            _DAT_0013d6c2 = _DAT_0013d6c2 & 0x3fff | 0x8000;\n            if (iVar14 == 0) goto LAB_0004b267;\n          }\n          iVar14 = *(int *)(iVar14 + 0x9c);\n        } while (iVar14 != 0);\nLAB_0004b267:\n        if ((local_4c == 0) ||\n           (iVar14 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x30) | 8),\n           iVar14 == 0)) {\n          if (bVar2) {\n            uVar7 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00033ba0(uVar7);\n          }\n        }\n        else {\n          *(undefined4 *)(iVar14 + 0x58) = 2;\n          *(int *)(iVar6 + 0xd0) = iVar14;\n        }\n      }\n      puVar4 = (undefined4 *)bfd_elf_get_needed_list(DAT_0013d6f4,&DAT_0013d6c0);\n      for (puVar17 = puVar4; puVar17 != (undefined4 *)0x0; puVar17 = (undefined4 *)*puVar17) {\n        puVar3 = puVar4;\n        if ((puVar17[1] == 0) ||\n           ((uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 1) == 0 &&\n            (((puVar17[1] == 0 || ((_DAT_0013d6c2 & 0x180) != 0x80)) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 4) == 0)))))) {\n          for (; puVar3 != puVar17; puVar3 = (undefined4 *)*puVar3) {\n            if (((puVar3[1] == 0) ||\n                (uVar5 = bfd_elf_get_dyn_lib_class(puVar3[1]), (uVar5 & 1) == 0)) &&\n               (iVar6 = strcmp((char *)puVar3[2],(char *)puVar17[2]), iVar6 == 0)) {\n              if (puVar17 != puVar3) goto LAB_0004ae88;\n              break;\n            }\n          }\n          DAT_0013d440 = 0;\n          DAT_0013d4c0 = puVar17;\n          FUN_000264a0(FUN_0004a2c0);\n          if ((DAT_0013d440 == 0) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_0013d440 + 0x10)),\n             (uVar5 & 1) != 0)) {\n            uVar7 = puVar17[1];\n            uVar1 = puVar17[2];\n            if (DAT_0013d83c != 0) {\n              uVar13 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00033b70(uVar13,uVar1,uVar7);\n            }\n            if ((DAT_0013d440 == 0) || (iVar6 = FUN_0004a3c0(), iVar6 == 0)) {\n              bVar2 = false;\n              while (iVar6 = FUN_0004a6d0(), iVar6 == 0) {\n                if (DAT_0013d7a4 != 0) {\n                  pvVar8 = (void *)FUN_00048f50();\n                  iVar6 = FUN_0004a6d0();\n                  free(pvVar8);\n                  if (iVar6 != 0) break;\n                }\n                piVar9 = (int *)bfd_elf_get_runpath_list(DAT_0013d6f4,&DAT_0013d6c0);\n                if (piVar9 != (int *)0x0) {\n                  do {\n                    bVar22 = true;\n                    pvVar8 = (void *)FUN_00048f50();\n                    bVar20 = false;\n                    if (piVar9[1] == puVar17[1]) {\n                      iVar6 = FUN_0004a6d0();\n                      bVar22 = iVar6 == 0;\n                      bVar20 = !bVar22;\n                    }\n                    free(pvVar8);\n                    piVar9 = (int *)*piVar9;\n                  } while ((piVar9 != (int *)0x0) && (bVar22));\n                  if (bVar20) break;\n                }\n                if (DAT_0013d424 == 0) {\n                  pvVar8 = (void *)concat(DAT_0013d75c,"/usr/etc/ld.so.conf",0);\n                  iVar6 = FUN_00049060();\n                  if (iVar6 == 0) {\n                    free(pvVar8);\n                    pvVar8 = (void *)concat(DAT_0013d75c,"/etc/ld.so.conf",0);\n                    FUN_00049060();\n                  }\n                  free(pvVar8);\n                  DAT_0013d424 = 1;\n                }\n                pcVar12 = (char *)puVar17[2];\n                if (DAT_0013d420 != 0) {\n                  iVar6 = FUN_0004a6d0();\n                  if (iVar6 != 0) break;\n                  pcVar12 = (char *)puVar17[2];\n                }\n                sVar10 = strlen(pcVar12);\n                if (DAT_0013d8e4 != (int *)0x0) {\n                  piVar9 = DAT_0013d8e4;\n                  do {\n                    if (piVar9[2] == 0) {\n                      sVar11 = strlen((char *)piVar9[1]);\n                      pcVar12 = (char *)xmalloc(sVar11 + sVar10 + 2);\n                      sprintf(pcVar12,"%s/%s",piVar9[1],puVar17[2]);\n                      iVar6 = FUN_0004a3c0();\n                      if (iVar6 != 0) goto LAB_0004ae88;\n                      free(pcVar12);\n                    }\n                    piVar9 = (int *)*piVar9;\n                  } while (piVar9 != (int *)0x0);\n                }\n                if (bVar2) {\n                  uVar7 = puVar17[1];\n                  uVar1 = puVar17[2];\n                  uVar13 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00033ba0(uVar13,uVar1,uVar7);\n                  break;\n                }\n                bVar2 = true;\n              }\n            }\n          }\n        }\nLAB_0004ae88:\n      }\n      DAT_0013d6c3 = (byte)(_DAT_0013d6c2 >> 8);\n      bVar23 = DAT_0013d6c3 & 0xc0;\n      if ((bVar23 == 0x80) && (iVar6 = bfd_elf_parse_eh_frame_entries(0,&DAT_0013d6c0), iVar6 == 0))\n      {\n        uVar7 = dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);\n        FUN_00033ba0(uVar7);\n      }\n    }\n  }\n  return;\n}" { (declaration "undefined4 uVar1;" type_identifier identifier ;) (declaration "bool bVar2;" primitive_type identifier ;) (declaration "undefined4 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined4 *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "void *pvVar8;" primitive_type (pointer_declarator "*pvVar8" * identifier) ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (declaration "size_t sVar10;" primitive_type identifier ;) (declaration "size_t sVar11;" primitive_type identifier ;) (declaration "char *pcVar12;" primitive_type (pointer_declarator "*pcVar12" * identifier) ;) (declaration "undefined4 uVar13;" type_identifier identifier ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "undefined4 *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "byte *pbVar18;" type_identifier (pointer_declarator "*pbVar18" * identifier) ;) (declaration "byte *pbVar19;" type_identifier (pointer_declarator "*pbVar19" * identifier) ;) (declaration "bool bVar20;" primitive_type identifier ;) (declaration "bool bVar21;" primitive_type identifier ;) (declaration "bool bVar22;" primitive_type identifier ;) (declaration "byte bVar23;" type_identifier identifier ;) (declaration "longlong lVar24;" 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 "bVar23 = 0;" (assignment_expression "bVar23 = 0" identifier = number_literal) ;) (expression_statement "FUN_000327c0();" (call_expression "FUN_000327c0()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar6 = DAT_0013d6e0;" (assignment_expression "iVar6 = DAT_0013d6e0" identifier = identifier) ;) (if_statement "if (*(int *)(DAT_0013d6e0 + 0x28) == 1) {\n    if (DAT_0013d780 != 0) {\n      unlink_if_ordinary(DAT_0013d780);\n      DAT_0013d6f8 = bfd_openw(DAT_0013d780,**(undefined4 **)(DAT_0013d6f4 + 4));\n      iVar14 = DAT_0013d780;\n      if (DAT_0013d6f8 == 0) {\n        uVar7 = dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);\n        FUN_00033ba0(uVar7,iVar14);\n      }\n    }\n    iVar16 = DAT_0013d6f4;\n    iVar14 = DAT_0013d6fc;\n    if (DAT_0013d42c != (void *)0x0) {\n      for (; iVar14 != 0; iVar14 = *(int *)(iVar14 + 0x9c)) {\n        if (((*(int *)(*(int *)(iVar14 + 4) + 4) == 5) && (*(int *)(iVar14 + 0x68) != 0)) &&\n           ((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0)) {\n          lVar24 = FUN_00037870(DAT_0013d42c);\n          if ((lVar24 == 0) || (lVar24 + 0x10 == 0)) {\n            pcVar12 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar14 = bfd_make_section_with_flags\n                               (iVar14,".note.gnu.build-id",\n                                "ttributes)) }\n  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }\n}\n\n"\n                               );\n            if (iVar14 != 0) {\n              *(undefined4 *)(iVar14 + 0x58) = 2;\n              iVar16 = DAT_0013d6f4;\n              iVar15 = *(int *)(*(int *)(DAT_0013d6f4 + 0xa0) + 0x9c0);\n              *(code **)(iVar15 + 0x10) = FUN_00048da0;\n              pvVar8 = DAT_0013d42c;\n              *(int *)(iVar15 + 0x18) = iVar14;\n              *(void **)(iVar15 + 0x14) = pvVar8;\n              *(undefined4 *)(*(int *)(iVar14 + 0xa4) + 4) = 7;\n              *(longlong *)(iVar14 + 0x2c) = lVar24 + 0x10;\n              goto LAB_0004ad04;\n            }\n            pcVar12 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          uVar7 = dcgettext(0,pcVar12,5);\n          FUN_00033ba0(uVar7);\n          break;\n        }\n      }\n      free(DAT_0013d42c);\n      DAT_0013d42c = (void *)0x0;\n      iVar16 = DAT_0013d6f4;\n    }\nLAB_0004ad04:\n    (**(code **)(*(int *)(*(int *)(iVar16 + 4) + 0x1c0) + 0x1d0))(&DAT_0013d6c0);\n    if ((DAT_0013d6c0 & 3) == 2) {\n      if (DAT_0013d6c5 >> 7 == (~DAT_0013d6c6 & 1)) {\n        bfd_make_section_with_flags(DAT_0013d6fc,".note.GNU-stack",DAT_0013d6c5 >> 3 & 0x10 | 8);\n      }\n    }\n    else {\n      if (((DAT_0013d6c4 & 0x20) == 0) && (DAT_0013d6fc != 0)) {\n        local_50 = 0;\n        bVar2 = false;\n        local_4c = 0;\n        iVar14 = DAT_0013d6fc;\n        do {\n          while ((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0) {\n            puVar17 = *(undefined4 **)(iVar14 + 0x60);\n            if (puVar17 == (undefined4 *)0x0) {\nLAB_0004b231:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar20 = (undefined *)puVar17[0x15] < PTR__bfd_std_section_0013bfc4 + 0x180;\n                bVar22 = (undefined *)puVar17[0x15] == PTR__bfd_std_section_0013bfc4 + 0x180;\n                iVar16 = local_60;\n                if (!bVar22) {\n                  iVar15 = 0xf;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar20 = *pbVar18 < *pbVar19;\n                    bVar22 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar22);\n                  bVar21 = false;\n                  bVar20 = (!bVar20 && !bVar22) == bVar20;\n                  if (bVar20) {\n                    local_60 = 2;\n                    goto LAB_0004b209;\n                  }\n                  iVar15 = 10;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar21 = *pbVar18 < *pbVar19;\n                    bVar20 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar20);\n                  if (((!bVar21 && !bVar20) == bVar21) &&\n                     (iVar16 = 1,\n                     puVar17[0xc] == 0 && (uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc])) {\n                    iVar16 = local_60;\n                  }\n                }\n                local_60 = iVar16;\n                puVar17 = (undefined4 *)puVar17[3];\n              } while (puVar17 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_0004b231;\nLAB_0004b209:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar14 = local_4c;\n                }\n                uVar7 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00033ba0(uVar7,iVar14);\n                goto LAB_0004b267;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_0004b231;\n              if (local_60 != 2) {\n                if ((_DAT_0013d6c2 & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar2 = true;\n                  if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                    local_4c = iVar14;\n                  }\n                }\n                break;\n              }\n              bVar2 = true;\n              if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                local_4c = iVar14;\n              }\n            }\n            iVar14 = *(int *)(iVar14 + 0x9c);\n            local_50 = 2;\n            _DAT_0013d6c2 = _DAT_0013d6c2 & 0x3fff | 0x8000;\n            if (iVar14 == 0) goto LAB_0004b267;\n          }\n          iVar14 = *(int *)(iVar14 + 0x9c);\n        } while (iVar14 != 0);\nLAB_0004b267:\n        if ((local_4c == 0) ||\n           (iVar14 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x30) | 8),\n           iVar14 == 0)) {\n          if (bVar2) {\n            uVar7 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00033ba0(uVar7);\n          }\n        }\n        else {\n          *(undefined4 *)(iVar14 + 0x58) = 2;\n          *(int *)(iVar6 + 0xd0) = iVar14;\n        }\n      }\n      puVar4 = (undefined4 *)bfd_elf_get_needed_list(DAT_0013d6f4,&DAT_0013d6c0);\n      for (puVar17 = puVar4; puVar17 != (undefined4 *)0x0; puVar17 = (undefined4 *)*puVar17) {\n        puVar3 = puVar4;\n        if ((puVar17[1] == 0) ||\n           ((uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 1) == 0 &&\n            (((puVar17[1] == 0 || ((_DAT_0013d6c2 & 0x180) != 0x80)) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 4) == 0)))))) {\n          for (; puVar3 != puVar17; puVar3 = (undefined4 *)*puVar3) {\n            if (((puVar3[1] == 0) ||\n                (uVar5 = bfd_elf_get_dyn_lib_class(puVar3[1]), (uVar5 & 1) == 0)) &&\n               (iVar6 = strcmp((char *)puVar3[2],(char *)puVar17[2]), iVar6 == 0)) {\n              if (puVar17 != puVar3) goto LAB_0004ae88;\n              break;\n            }\n          }\n          DAT_0013d440 = 0;\n          DAT_0013d4c0 = puVar17;\n          FUN_000264a0(FUN_0004a2c0);\n          if ((DAT_0013d440 == 0) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_0013d440 + 0x10)),\n             (uVar5 & 1) != 0)) {\n            uVar7 = puVar17[1];\n            uVar1 = puVar17[2];\n            if (DAT_0013d83c != 0) {\n              uVar13 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00033b70(uVar13,uVar1,uVar7);\n            }\n            if ((DAT_0013d440 == 0) || (iVar6 = FUN_0004a3c0(), iVar6 == 0)) {\n              bVar2 = false;\n              while (iVar6 = FUN_0004a6d0(), iVar6 == 0) {\n                if (DAT_0013d7a4 != 0) {\n                  pvVar8 = (void *)FUN_00048f50();\n                  iVar6 = FUN_0004a6d0();\n                  free(pvVar8);\n                  if (iVar6 != 0) break;\n                }\n                piVar9 = (int *)bfd_elf_get_runpath_list(DAT_0013d6f4,&DAT_0013d6c0);\n                if (piVar9 != (int *)0x0) {\n                  do {\n                    bVar22 = true;\n                    pvVar8 = (void *)FUN_00048f50();\n                    bVar20 = false;\n                    if (piVar9[1] == puVar17[1]) {\n                      iVar6 = FUN_0004a6d0();\n                      bVar22 = iVar6 == 0;\n                      bVar20 = !bVar22;\n                    }\n                    free(pvVar8);\n                    piVar9 = (int *)*piVar9;\n                  } while ((piVar9 != (int *)0x0) && (bVar22));\n                  if (bVar20) break;\n                }\n                if (DAT_0013d424 == 0) {\n                  pvVar8 = (void *)concat(DAT_0013d75c,"/usr/etc/ld.so.conf",0);\n                  iVar6 = FUN_00049060();\n                  if (iVar6 == 0) {\n                    free(pvVar8);\n                    pvVar8 = (void *)concat(DAT_0013d75c,"/etc/ld.so.conf",0);\n                    FUN_00049060();\n                  }\n                  free(pvVar8);\n                  DAT_0013d424 = 1;\n                }\n                pcVar12 = (char *)puVar17[2];\n                if (DAT_0013d420 != 0) {\n                  iVar6 = FUN_0004a6d0();\n                  if (iVar6 != 0) break;\n                  pcVar12 = (char *)puVar17[2];\n                }\n                sVar10 = strlen(pcVar12);\n                if (DAT_0013d8e4 != (int *)0x0) {\n                  piVar9 = DAT_0013d8e4;\n                  do {\n                    if (piVar9[2] == 0) {\n                      sVar11 = strlen((char *)piVar9[1]);\n                      pcVar12 = (char *)xmalloc(sVar11 + sVar10 + 2);\n                      sprintf(pcVar12,"%s/%s",piVar9[1],puVar17[2]);\n                      iVar6 = FUN_0004a3c0();\n                      if (iVar6 != 0) goto LAB_0004ae88;\n                      free(pcVar12);\n                    }\n                    piVar9 = (int *)*piVar9;\n                  } while (piVar9 != (int *)0x0);\n                }\n                if (bVar2) {\n                  uVar7 = puVar17[1];\n                  uVar1 = puVar17[2];\n                  uVar13 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00033ba0(uVar13,uVar1,uVar7);\n                  break;\n                }\n                bVar2 = true;\n              }\n            }\n          }\n        }\nLAB_0004ae88:\n      }\n      DAT_0013d6c3 = (byte)(_DAT_0013d6c2 >> 8);\n      bVar23 = DAT_0013d6c3 & 0xc0;\n      if ((bVar23 == 0x80) && (iVar6 = bfd_elf_parse_eh_frame_entries(0,&DAT_0013d6c0), iVar6 == 0))\n      {\n        uVar7 = dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);\n        FUN_00033ba0(uVar7);\n      }\n    }\n  }" if (parenthesized_expression "(*(int *)(DAT_0013d6e0 + 0x28) == 1)" ( (binary_expression "*(int *)(DAT_0013d6e0 + 0x28) == 1" (pointer_expression "*(int *)(DAT_0013d6e0 + 0x28)" * (cast_expression "(int *)(DAT_0013d6e0 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0013d6e0 + 0x28)" ( (binary_expression "DAT_0013d6e0 + 0x28" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    if (DAT_0013d780 != 0) {\n      unlink_if_ordinary(DAT_0013d780);\n      DAT_0013d6f8 = bfd_openw(DAT_0013d780,**(undefined4 **)(DAT_0013d6f4 + 4));\n      iVar14 = DAT_0013d780;\n      if (DAT_0013d6f8 == 0) {\n        uVar7 = dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);\n        FUN_00033ba0(uVar7,iVar14);\n      }\n    }\n    iVar16 = DAT_0013d6f4;\n    iVar14 = DAT_0013d6fc;\n    if (DAT_0013d42c != (void *)0x0) {\n      for (; iVar14 != 0; iVar14 = *(int *)(iVar14 + 0x9c)) {\n        if (((*(int *)(*(int *)(iVar14 + 4) + 4) == 5) && (*(int *)(iVar14 + 0x68) != 0)) &&\n           ((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0)) {\n          lVar24 = FUN_00037870(DAT_0013d42c);\n          if ((lVar24 == 0) || (lVar24 + 0x10 == 0)) {\n            pcVar12 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar14 = bfd_make_section_with_flags\n                               (iVar14,".note.gnu.build-id",\n                                "ttributes)) }\n  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }\n}\n\n"\n                               );\n            if (iVar14 != 0) {\n              *(undefined4 *)(iVar14 + 0x58) = 2;\n              iVar16 = DAT_0013d6f4;\n              iVar15 = *(int *)(*(int *)(DAT_0013d6f4 + 0xa0) + 0x9c0);\n              *(code **)(iVar15 + 0x10) = FUN_00048da0;\n              pvVar8 = DAT_0013d42c;\n              *(int *)(iVar15 + 0x18) = iVar14;\n              *(void **)(iVar15 + 0x14) = pvVar8;\n              *(undefined4 *)(*(int *)(iVar14 + 0xa4) + 4) = 7;\n              *(longlong *)(iVar14 + 0x2c) = lVar24 + 0x10;\n              goto LAB_0004ad04;\n            }\n            pcVar12 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          uVar7 = dcgettext(0,pcVar12,5);\n          FUN_00033ba0(uVar7);\n          break;\n        }\n      }\n      free(DAT_0013d42c);\n      DAT_0013d42c = (void *)0x0;\n      iVar16 = DAT_0013d6f4;\n    }\nLAB_0004ad04:\n    (**(code **)(*(int *)(*(int *)(iVar16 + 4) + 0x1c0) + 0x1d0))(&DAT_0013d6c0);\n    if ((DAT_0013d6c0 & 3) == 2) {\n      if (DAT_0013d6c5 >> 7 == (~DAT_0013d6c6 & 1)) {\n        bfd_make_section_with_flags(DAT_0013d6fc,".note.GNU-stack",DAT_0013d6c5 >> 3 & 0x10 | 8);\n      }\n    }\n    else {\n      if (((DAT_0013d6c4 & 0x20) == 0) && (DAT_0013d6fc != 0)) {\n        local_50 = 0;\n        bVar2 = false;\n        local_4c = 0;\n        iVar14 = DAT_0013d6fc;\n        do {\n          while ((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0) {\n            puVar17 = *(undefined4 **)(iVar14 + 0x60);\n            if (puVar17 == (undefined4 *)0x0) {\nLAB_0004b231:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar20 = (undefined *)puVar17[0x15] < PTR__bfd_std_section_0013bfc4 + 0x180;\n                bVar22 = (undefined *)puVar17[0x15] == PTR__bfd_std_section_0013bfc4 + 0x180;\n                iVar16 = local_60;\n                if (!bVar22) {\n                  iVar15 = 0xf;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar20 = *pbVar18 < *pbVar19;\n                    bVar22 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar22);\n                  bVar21 = false;\n                  bVar20 = (!bVar20 && !bVar22) == bVar20;\n                  if (bVar20) {\n                    local_60 = 2;\n                    goto LAB_0004b209;\n                  }\n                  iVar15 = 10;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar21 = *pbVar18 < *pbVar19;\n                    bVar20 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar20);\n                  if (((!bVar21 && !bVar20) == bVar21) &&\n                     (iVar16 = 1,\n                     puVar17[0xc] == 0 && (uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc])) {\n                    iVar16 = local_60;\n                  }\n                }\n                local_60 = iVar16;\n                puVar17 = (undefined4 *)puVar17[3];\n              } while (puVar17 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_0004b231;\nLAB_0004b209:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar14 = local_4c;\n                }\n                uVar7 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00033ba0(uVar7,iVar14);\n                goto LAB_0004b267;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_0004b231;\n              if (local_60 != 2) {\n                if ((_DAT_0013d6c2 & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar2 = true;\n                  if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                    local_4c = iVar14;\n                  }\n                }\n                break;\n              }\n              bVar2 = true;\n              if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                local_4c = iVar14;\n              }\n            }\n            iVar14 = *(int *)(iVar14 + 0x9c);\n            local_50 = 2;\n            _DAT_0013d6c2 = _DAT_0013d6c2 & 0x3fff | 0x8000;\n            if (iVar14 == 0) goto LAB_0004b267;\n          }\n          iVar14 = *(int *)(iVar14 + 0x9c);\n        } while (iVar14 != 0);\nLAB_0004b267:\n        if ((local_4c == 0) ||\n           (iVar14 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x30) | 8),\n           iVar14 == 0)) {\n          if (bVar2) {\n            uVar7 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00033ba0(uVar7);\n          }\n        }\n        else {\n          *(undefined4 *)(iVar14 + 0x58) = 2;\n          *(int *)(iVar6 + 0xd0) = iVar14;\n        }\n      }\n      puVar4 = (undefined4 *)bfd_elf_get_needed_list(DAT_0013d6f4,&DAT_0013d6c0);\n      for (puVar17 = puVar4; puVar17 != (undefined4 *)0x0; puVar17 = (undefined4 *)*puVar17) {\n        puVar3 = puVar4;\n        if ((puVar17[1] == 0) ||\n           ((uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 1) == 0 &&\n            (((puVar17[1] == 0 || ((_DAT_0013d6c2 & 0x180) != 0x80)) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 4) == 0)))))) {\n          for (; puVar3 != puVar17; puVar3 = (undefined4 *)*puVar3) {\n            if (((puVar3[1] == 0) ||\n                (uVar5 = bfd_elf_get_dyn_lib_class(puVar3[1]), (uVar5 & 1) == 0)) &&\n               (iVar6 = strcmp((char *)puVar3[2],(char *)puVar17[2]), iVar6 == 0)) {\n              if (puVar17 != puVar3) goto LAB_0004ae88;\n              break;\n            }\n          }\n          DAT_0013d440 = 0;\n          DAT_0013d4c0 = puVar17;\n          FUN_000264a0(FUN_0004a2c0);\n          if ((DAT_0013d440 == 0) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_0013d440 + 0x10)),\n             (uVar5 & 1) != 0)) {\n            uVar7 = puVar17[1];\n            uVar1 = puVar17[2];\n            if (DAT_0013d83c != 0) {\n              uVar13 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00033b70(uVar13,uVar1,uVar7);\n            }\n            if ((DAT_0013d440 == 0) || (iVar6 = FUN_0004a3c0(), iVar6 == 0)) {\n              bVar2 = false;\n              while (iVar6 = FUN_0004a6d0(), iVar6 == 0) {\n                if (DAT_0013d7a4 != 0) {\n                  pvVar8 = (void *)FUN_00048f50();\n                  iVar6 = FUN_0004a6d0();\n                  free(pvVar8);\n                  if (iVar6 != 0) break;\n                }\n                piVar9 = (int *)bfd_elf_get_runpath_list(DAT_0013d6f4,&DAT_0013d6c0);\n                if (piVar9 != (int *)0x0) {\n                  do {\n                    bVar22 = true;\n                    pvVar8 = (void *)FUN_00048f50();\n                    bVar20 = false;\n                    if (piVar9[1] == puVar17[1]) {\n                      iVar6 = FUN_0004a6d0();\n                      bVar22 = iVar6 == 0;\n                      bVar20 = !bVar22;\n                    }\n                    free(pvVar8);\n                    piVar9 = (int *)*piVar9;\n                  } while ((piVar9 != (int *)0x0) && (bVar22));\n                  if (bVar20) break;\n                }\n                if (DAT_0013d424 == 0) {\n                  pvVar8 = (void *)concat(DAT_0013d75c,"/usr/etc/ld.so.conf",0);\n                  iVar6 = FUN_00049060();\n                  if (iVar6 == 0) {\n                    free(pvVar8);\n                    pvVar8 = (void *)concat(DAT_0013d75c,"/etc/ld.so.conf",0);\n                    FUN_00049060();\n                  }\n                  free(pvVar8);\n                  DAT_0013d424 = 1;\n                }\n                pcVar12 = (char *)puVar17[2];\n                if (DAT_0013d420 != 0) {\n                  iVar6 = FUN_0004a6d0();\n                  if (iVar6 != 0) break;\n                  pcVar12 = (char *)puVar17[2];\n                }\n                sVar10 = strlen(pcVar12);\n                if (DAT_0013d8e4 != (int *)0x0) {\n                  piVar9 = DAT_0013d8e4;\n                  do {\n                    if (piVar9[2] == 0) {\n                      sVar11 = strlen((char *)piVar9[1]);\n                      pcVar12 = (char *)xmalloc(sVar11 + sVar10 + 2);\n                      sprintf(pcVar12,"%s/%s",piVar9[1],puVar17[2]);\n                      iVar6 = FUN_0004a3c0();\n                      if (iVar6 != 0) goto LAB_0004ae88;\n                      free(pcVar12);\n                    }\n                    piVar9 = (int *)*piVar9;\n                  } while (piVar9 != (int *)0x0);\n                }\n                if (bVar2) {\n                  uVar7 = puVar17[1];\n                  uVar1 = puVar17[2];\n                  uVar13 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00033ba0(uVar13,uVar1,uVar7);\n                  break;\n                }\n                bVar2 = true;\n              }\n            }\n          }\n        }\nLAB_0004ae88:\n      }\n      DAT_0013d6c3 = (byte)(_DAT_0013d6c2 >> 8);\n      bVar23 = DAT_0013d6c3 & 0xc0;\n      if ((bVar23 == 0x80) && (iVar6 = bfd_elf_parse_eh_frame_entries(0,&DAT_0013d6c0), iVar6 == 0))\n      {\n        uVar7 = dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);\n        FUN_00033ba0(uVar7);\n      }\n    }\n  }" { (if_statement "if (DAT_0013d780 != 0) {\n      unlink_if_ordinary(DAT_0013d780);\n      DAT_0013d6f8 = bfd_openw(DAT_0013d780,**(undefined4 **)(DAT_0013d6f4 + 4));\n      iVar14 = DAT_0013d780;\n      if (DAT_0013d6f8 == 0) {\n        uVar7 = dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);\n        FUN_00033ba0(uVar7,iVar14);\n      }\n    }" if (parenthesized_expression "(DAT_0013d780 != 0)" ( (binary_expression "DAT_0013d780 != 0" identifier != number_literal) )) (compound_statement "{\n      unlink_if_ordinary(DAT_0013d780);\n      DAT_0013d6f8 = bfd_openw(DAT_0013d780,**(undefined4 **)(DAT_0013d6f4 + 4));\n      iVar14 = DAT_0013d780;\n      if (DAT_0013d6f8 == 0) {\n        uVar7 = dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);\n        FUN_00033ba0(uVar7,iVar14);\n      }\n    }" { (expression_statement "unlink_if_ordinary(DAT_0013d780);" (call_expression "unlink_if_ordinary(DAT_0013d780)" identifier (argument_list "(DAT_0013d780)" ( identifier ))) ;) (expression_statement "DAT_0013d6f8 = bfd_openw(DAT_0013d780,**(undefined4 **)(DAT_0013d6f4 + 4));" (assignment_expression "DAT_0013d6f8 = bfd_openw(DAT_0013d780,**(undefined4 **)(DAT_0013d6f4 + 4))" identifier = (call_expression "bfd_openw(DAT_0013d780,**(undefined4 **)(DAT_0013d6f4 + 4))" identifier (argument_list "(DAT_0013d780,**(undefined4 **)(DAT_0013d6f4 + 4))" ( identifier , (pointer_expression "**(undefined4 **)(DAT_0013d6f4 + 4)" * (pointer_expression "*(undefined4 **)(DAT_0013d6f4 + 4)" * (cast_expression "(undefined4 **)(DAT_0013d6f4 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(DAT_0013d6f4 + 4)" ( (binary_expression "DAT_0013d6f4 + 4" identifier + number_literal) ))))) )))) ;) (expression_statement "iVar14 = DAT_0013d780;" (assignment_expression "iVar14 = DAT_0013d780" identifier = identifier) ;) (if_statement "if (DAT_0013d6f8 == 0) {\n        uVar7 = dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);\n        FUN_00033ba0(uVar7,iVar14);\n      }" if (parenthesized_expression "(DAT_0013d6f8 == 0)" ( (binary_expression "DAT_0013d6f8 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar7 = dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);\n        FUN_00033ba0(uVar7,iVar14);\n      }" { (expression_statement "uVar7 = dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);" (assignment_expression "uVar7 = 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_00033ba0(uVar7,iVar14);" (call_expression "FUN_00033ba0(uVar7,iVar14)" identifier (argument_list "(uVar7,iVar14)" ( identifier , identifier ))) ;) })) })) (expression_statement "iVar16 = DAT_0013d6f4;" (assignment_expression "iVar16 = DAT_0013d6f4" identifier = identifier) ;) (expression_statement "iVar14 = DAT_0013d6fc;" (assignment_expression "iVar14 = DAT_0013d6fc" identifier = identifier) ;) (if_statement "if (DAT_0013d42c != (void *)0x0) {\n      for (; iVar14 != 0; iVar14 = *(int *)(iVar14 + 0x9c)) {\n        if (((*(int *)(*(int *)(iVar14 + 4) + 4) == 5) && (*(int *)(iVar14 + 0x68) != 0)) &&\n           ((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0)) {\n          lVar24 = FUN_00037870(DAT_0013d42c);\n          if ((lVar24 == 0) || (lVar24 + 0x10 == 0)) {\n            pcVar12 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar14 = bfd_make_section_with_flags\n                               (iVar14,".note.gnu.build-id",\n                                "ttributes)) }\n  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }\n}\n\n"\n                               );\n            if (iVar14 != 0) {\n              *(undefined4 *)(iVar14 + 0x58) = 2;\n              iVar16 = DAT_0013d6f4;\n              iVar15 = *(int *)(*(int *)(DAT_0013d6f4 + 0xa0) + 0x9c0);\n              *(code **)(iVar15 + 0x10) = FUN_00048da0;\n              pvVar8 = DAT_0013d42c;\n              *(int *)(iVar15 + 0x18) = iVar14;\n              *(void **)(iVar15 + 0x14) = pvVar8;\n              *(undefined4 *)(*(int *)(iVar14 + 0xa4) + 4) = 7;\n              *(longlong *)(iVar14 + 0x2c) = lVar24 + 0x10;\n              goto LAB_0004ad04;\n            }\n            pcVar12 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          uVar7 = dcgettext(0,pcVar12,5);\n          FUN_00033ba0(uVar7);\n          break;\n        }\n      }\n      free(DAT_0013d42c);\n      DAT_0013d42c = (void *)0x0;\n      iVar16 = DAT_0013d6f4;\n    }" if (parenthesized_expression "(DAT_0013d42c != (void *)0x0)" ( (binary_expression "DAT_0013d42c != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      for (; iVar14 != 0; iVar14 = *(int *)(iVar14 + 0x9c)) {\n        if (((*(int *)(*(int *)(iVar14 + 4) + 4) == 5) && (*(int *)(iVar14 + 0x68) != 0)) &&\n           ((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0)) {\n          lVar24 = FUN_00037870(DAT_0013d42c);\n          if ((lVar24 == 0) || (lVar24 + 0x10 == 0)) {\n            pcVar12 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar14 = bfd_make_section_with_flags\n                               (iVar14,".note.gnu.build-id",\n                                "ttributes)) }\n  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }\n}\n\n"\n                               );\n            if (iVar14 != 0) {\n              *(undefined4 *)(iVar14 + 0x58) = 2;\n              iVar16 = DAT_0013d6f4;\n              iVar15 = *(int *)(*(int *)(DAT_0013d6f4 + 0xa0) + 0x9c0);\n              *(code **)(iVar15 + 0x10) = FUN_00048da0;\n              pvVar8 = DAT_0013d42c;\n              *(int *)(iVar15 + 0x18) = iVar14;\n              *(void **)(iVar15 + 0x14) = pvVar8;\n              *(undefined4 *)(*(int *)(iVar14 + 0xa4) + 4) = 7;\n              *(longlong *)(iVar14 + 0x2c) = lVar24 + 0x10;\n              goto LAB_0004ad04;\n            }\n            pcVar12 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          uVar7 = dcgettext(0,pcVar12,5);\n          FUN_00033ba0(uVar7);\n          break;\n        }\n      }\n      free(DAT_0013d42c);\n      DAT_0013d42c = (void *)0x0;\n      iVar16 = DAT_0013d6f4;\n    }" { (for_statement "for (; iVar14 != 0; iVar14 = *(int *)(iVar14 + 0x9c)) {\n        if (((*(int *)(*(int *)(iVar14 + 4) + 4) == 5) && (*(int *)(iVar14 + 0x68) != 0)) &&\n           ((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0)) {\n          lVar24 = FUN_00037870(DAT_0013d42c);\n          if ((lVar24 == 0) || (lVar24 + 0x10 == 0)) {\n            pcVar12 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar14 = bfd_make_section_with_flags\n                               (iVar14,".note.gnu.build-id",\n                                "ttributes)) }\n  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }\n}\n\n"\n                               );\n            if (iVar14 != 0) {\n              *(undefined4 *)(iVar14 + 0x58) = 2;\n              iVar16 = DAT_0013d6f4;\n              iVar15 = *(int *)(*(int *)(DAT_0013d6f4 + 0xa0) + 0x9c0);\n              *(code **)(iVar15 + 0x10) = FUN_00048da0;\n              pvVar8 = DAT_0013d42c;\n              *(int *)(iVar15 + 0x18) = iVar14;\n              *(void **)(iVar15 + 0x14) = pvVar8;\n              *(undefined4 *)(*(int *)(iVar14 + 0xa4) + 4) = 7;\n              *(longlong *)(iVar14 + 0x2c) = lVar24 + 0x10;\n              goto LAB_0004ad04;\n            }\n            pcVar12 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          uVar7 = dcgettext(0,pcVar12,5);\n          FUN_00033ba0(uVar7);\n          break;\n        }\n      }" for ( ; (binary_expression "iVar14 != 0" identifier != number_literal) ; (assignment_expression "iVar14 = *(int *)(iVar14 + 0x9c)" identifier = (pointer_expression "*(int *)(iVar14 + 0x9c)" * (cast_expression "(int *)(iVar14 + 0x9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x9c)" ( (binary_expression "iVar14 + 0x9c" identifier + number_literal) ))))) ) (compound_statement "{\n        if (((*(int *)(*(int *)(iVar14 + 4) + 4) == 5) && (*(int *)(iVar14 + 0x68) != 0)) &&\n           ((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0)) {\n          lVar24 = FUN_00037870(DAT_0013d42c);\n          if ((lVar24 == 0) || (lVar24 + 0x10 == 0)) {\n            pcVar12 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar14 = bfd_make_section_with_flags\n                               (iVar14,".note.gnu.build-id",\n                                "ttributes)) }\n  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }\n}\n\n"\n                               );\n            if (iVar14 != 0) {\n              *(undefined4 *)(iVar14 + 0x58) = 2;\n              iVar16 = DAT_0013d6f4;\n              iVar15 = *(int *)(*(int *)(DAT_0013d6f4 + 0xa0) + 0x9c0);\n              *(code **)(iVar15 + 0x10) = FUN_00048da0;\n              pvVar8 = DAT_0013d42c;\n              *(int *)(iVar15 + 0x18) = iVar14;\n              *(void **)(iVar15 + 0x14) = pvVar8;\n              *(undefined4 *)(*(int *)(iVar14 + 0xa4) + 4) = 7;\n              *(longlong *)(iVar14 + 0x2c) = lVar24 + 0x10;\n              goto LAB_0004ad04;\n            }\n            pcVar12 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          uVar7 = dcgettext(0,pcVar12,5);\n          FUN_00033ba0(uVar7);\n          break;\n        }\n      }" { (if_statement "if (((*(int *)(*(int *)(iVar14 + 4) + 4) == 5) && (*(int *)(iVar14 + 0x68) != 0)) &&\n           ((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0)) {\n          lVar24 = FUN_00037870(DAT_0013d42c);\n          if ((lVar24 == 0) || (lVar24 + 0x10 == 0)) {\n            pcVar12 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar14 = bfd_make_section_with_flags\n                               (iVar14,".note.gnu.build-id",\n                                "ttributes)) }\n  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }\n}\n\n"\n                               );\n            if (iVar14 != 0) {\n              *(undefined4 *)(iVar14 + 0x58) = 2;\n              iVar16 = DAT_0013d6f4;\n              iVar15 = *(int *)(*(int *)(DAT_0013d6f4 + 0xa0) + 0x9c0);\n              *(code **)(iVar15 + 0x10) = FUN_00048da0;\n              pvVar8 = DAT_0013d42c;\n              *(int *)(iVar15 + 0x18) = iVar14;\n              *(void **)(iVar15 + 0x14) = pvVar8;\n              *(undefined4 *)(*(int *)(iVar14 + 0xa4) + 4) = 7;\n              *(longlong *)(iVar14 + 0x2c) = lVar24 + 0x10;\n              goto LAB_0004ad04;\n            }\n            pcVar12 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          uVar7 = dcgettext(0,pcVar12,5);\n          FUN_00033ba0(uVar7);\n          break;\n        }" if (parenthesized_expression "(((*(int *)(*(int *)(iVar14 + 4) + 4) == 5) && (*(int *)(iVar14 + 0x68) != 0)) &&\n           ((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0))" ( (binary_expression "((*(int *)(*(int *)(iVar14 + 4) + 4) == 5) && (*(int *)(iVar14 + 0x68) != 0)) &&\n           ((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0)" (parenthesized_expression "((*(int *)(*(int *)(iVar14 + 4) + 4) == 5) && (*(int *)(iVar14 + 0x68) != 0))" ( (binary_expression "(*(int *)(*(int *)(iVar14 + 4) + 4) == 5) && (*(int *)(iVar14 + 0x68) != 0)" (parenthesized_expression "(*(int *)(*(int *)(iVar14 + 4) + 4) == 5)" ( (binary_expression "*(int *)(*(int *)(iVar14 + 4) + 4) == 5" (pointer_expression "*(int *)(*(int *)(iVar14 + 4) + 4)" * (cast_expression "(int *)(*(int *)(iVar14 + 4) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar14 + 4) + 4)" ( (binary_expression "*(int *)(iVar14 + 4) + 4" (pointer_expression "*(int *)(iVar14 + 4)" * (cast_expression "(int *)(iVar14 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 4)" ( (binary_expression "iVar14 + 4" identifier + number_literal) )))) + number_literal) )))) == number_literal) )) && (parenthesized_expression "(*(int *)(iVar14 + 0x68) != 0)" ( (binary_expression "*(int *)(iVar14 + 0x68) != 0" (pointer_expression "*(int *)(iVar14 + 0x68)" * (cast_expression "(int *)(iVar14 + 0x68)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x68)" ( (binary_expression "iVar14 + 0x68" identifier + number_literal) )))) != number_literal) ))) )) && (parenthesized_expression "((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0)" ( (binary_expression "(*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0" (parenthesized_expression "(*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10)" ( (binary_expression "*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10" (pointer_expression "*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24)" * (cast_expression "(byte *)(*(int *)(iVar14 + 0xa4) + 0x24)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar14 + 0xa4) + 0x24)" ( (binary_expression "*(int *)(iVar14 + 0xa4) + 0x24" (pointer_expression "*(int *)(iVar14 + 0xa4)" * (cast_expression "(int *)(iVar14 + 0xa4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0xa4)" ( (binary_expression "iVar14 + 0xa4" identifier + number_literal) )))) + number_literal) )))) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n          lVar24 = FUN_00037870(DAT_0013d42c);\n          if ((lVar24 == 0) || (lVar24 + 0x10 == 0)) {\n            pcVar12 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar14 = bfd_make_section_with_flags\n                               (iVar14,".note.gnu.build-id",\n                                "ttributes)) }\n  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }\n}\n\n"\n                               );\n            if (iVar14 != 0) {\n              *(undefined4 *)(iVar14 + 0x58) = 2;\n              iVar16 = DAT_0013d6f4;\n              iVar15 = *(int *)(*(int *)(DAT_0013d6f4 + 0xa0) + 0x9c0);\n              *(code **)(iVar15 + 0x10) = FUN_00048da0;\n              pvVar8 = DAT_0013d42c;\n              *(int *)(iVar15 + 0x18) = iVar14;\n              *(void **)(iVar15 + 0x14) = pvVar8;\n              *(undefined4 *)(*(int *)(iVar14 + 0xa4) + 4) = 7;\n              *(longlong *)(iVar14 + 0x2c) = lVar24 + 0x10;\n              goto LAB_0004ad04;\n            }\n            pcVar12 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          uVar7 = dcgettext(0,pcVar12,5);\n          FUN_00033ba0(uVar7);\n          break;\n        }" { (expression_statement "lVar24 = FUN_00037870(DAT_0013d42c);" (assignment_expression "lVar24 = FUN_00037870(DAT_0013d42c)" identifier = (call_expression "FUN_00037870(DAT_0013d42c)" identifier (argument_list "(DAT_0013d42c)" ( identifier )))) ;) (if_statement "if ((lVar24 == 0) || (lVar24 + 0x10 == 0)) {\n            pcVar12 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar14 = bfd_make_section_with_flags\n                               (iVar14,".note.gnu.build-id",\n                                "ttributes)) }\n  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }\n}\n\n"\n                               );\n            if (iVar14 != 0) {\n              *(undefined4 *)(iVar14 + 0x58) = 2;\n              iVar16 = DAT_0013d6f4;\n              iVar15 = *(int *)(*(int *)(DAT_0013d6f4 + 0xa0) + 0x9c0);\n              *(code **)(iVar15 + 0x10) = FUN_00048da0;\n              pvVar8 = DAT_0013d42c;\n              *(int *)(iVar15 + 0x18) = iVar14;\n              *(void **)(iVar15 + 0x14) = pvVar8;\n              *(undefined4 *)(*(int *)(iVar14 + 0xa4) + 4) = 7;\n              *(longlong *)(iVar14 + 0x2c) = lVar24 + 0x10;\n              goto LAB_0004ad04;\n            }\n            pcVar12 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }" if (parenthesized_expression "((lVar24 == 0) || (lVar24 + 0x10 == 0))" ( (binary_expression "(lVar24 == 0) || (lVar24 + 0x10 == 0)" (parenthesized_expression "(lVar24 == 0)" ( (binary_expression "lVar24 == 0" identifier == number_literal) )) || (parenthesized_expression "(lVar24 + 0x10 == 0)" ( (binary_expression "lVar24 + 0x10 == 0" (binary_expression "lVar24 + 0x10" identifier + number_literal) == number_literal) ))) )) (compound_statement "{\n            pcVar12 = "%P: warning: unrecognized --build-id style ignored\n";\n          }" { (expression_statement "pcVar12 = "%P: warning: unrecognized --build-id style ignored\n";" (assignment_expression "pcVar12 = "%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            iVar14 = bfd_make_section_with_flags\n                               (iVar14,".note.gnu.build-id",\n                                "ttributes)) }\n  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }\n}\n\n"\n                               );\n            if (iVar14 != 0) {\n              *(undefined4 *)(iVar14 + 0x58) = 2;\n              iVar16 = DAT_0013d6f4;\n              iVar15 = *(int *)(*(int *)(DAT_0013d6f4 + 0xa0) + 0x9c0);\n              *(code **)(iVar15 + 0x10) = FUN_00048da0;\n              pvVar8 = DAT_0013d42c;\n              *(int *)(iVar15 + 0x18) = iVar14;\n              *(void **)(iVar15 + 0x14) = pvVar8;\n              *(undefined4 *)(*(int *)(iVar14 + 0xa4) + 4) = 7;\n              *(longlong *)(iVar14 + 0x2c) = lVar24 + 0x10;\n              goto LAB_0004ad04;\n            }\n            pcVar12 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }" else (compound_statement "{\n            iVar14 = bfd_make_section_with_flags\n                               (iVar14,".note.gnu.build-id",\n                                "ttributes)) }\n  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }\n}\n\n"\n                               );\n            if (iVar14 != 0) {\n              *(undefined4 *)(iVar14 + 0x58) = 2;\n              iVar16 = DAT_0013d6f4;\n              iVar15 = *(int *)(*(int *)(DAT_0013d6f4 + 0xa0) + 0x9c0);\n              *(code **)(iVar15 + 0x10) = FUN_00048da0;\n              pvVar8 = DAT_0013d42c;\n              *(int *)(iVar15 + 0x18) = iVar14;\n              *(void **)(iVar15 + 0x14) = pvVar8;\n              *(undefined4 *)(*(int *)(iVar14 + 0xa4) + 4) = 7;\n              *(longlong *)(iVar14 + 0x2c) = lVar24 + 0x10;\n              goto LAB_0004ad04;\n            }\n            pcVar12 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }" { (expression_statement "iVar14 = bfd_make_section_with_flags\n                               (iVar14,".note.gnu.build-id",\n                                "ttributes)) }\n  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }\n}\n\n"\n                               );" (assignment_expression "iVar14 = bfd_make_section_with_flags\n                               (iVar14,".note.gnu.build-id",\n                                "ttributes)) }\n  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }\n}\n\n"\n                               )" identifier = (call_expression "bfd_make_section_with_flags\n                               (iVar14,".note.gnu.build-id",\n                                "ttributes)) }\n  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }\n}\n\n"\n                               )" identifier (argument_list "(iVar14,".note.gnu.build-id",\n                                "ttributes)) }\n  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }\n}\n\n"\n                               )" ( identifier , (string_literal "".note.gnu.build-id"" " string_content ") , (string_literal ""ttributes)) }\n  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }\n}\n\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence escape_sequence ") )))) ;) (if_statement "if (iVar14 != 0) {\n              *(undefined4 *)(iVar14 + 0x58) = 2;\n              iVar16 = DAT_0013d6f4;\n              iVar15 = *(int *)(*(int *)(DAT_0013d6f4 + 0xa0) + 0x9c0);\n              *(code **)(iVar15 + 0x10) = FUN_00048da0;\n              pvVar8 = DAT_0013d42c;\n              *(int *)(iVar15 + 0x18) = iVar14;\n              *(void **)(iVar15 + 0x14) = pvVar8;\n              *(undefined4 *)(*(int *)(iVar14 + 0xa4) + 4) = 7;\n              *(longlong *)(iVar14 + 0x2c) = lVar24 + 0x10;\n              goto LAB_0004ad04;\n            }" if (parenthesized_expression "(iVar14 != 0)" ( (binary_expression "iVar14 != 0" identifier != number_literal) )) (compound_statement "{\n              *(undefined4 *)(iVar14 + 0x58) = 2;\n              iVar16 = DAT_0013d6f4;\n              iVar15 = *(int *)(*(int *)(DAT_0013d6f4 + 0xa0) + 0x9c0);\n              *(code **)(iVar15 + 0x10) = FUN_00048da0;\n              pvVar8 = DAT_0013d42c;\n              *(int *)(iVar15 + 0x18) = iVar14;\n              *(void **)(iVar15 + 0x14) = pvVar8;\n              *(undefined4 *)(*(int *)(iVar14 + 0xa4) + 4) = 7;\n              *(longlong *)(iVar14 + 0x2c) = lVar24 + 0x10;\n              goto LAB_0004ad04;\n            }" { (expression_statement "*(undefined4 *)(iVar14 + 0x58) = 2;" (assignment_expression "*(undefined4 *)(iVar14 + 0x58) = 2" (pointer_expression "*(undefined4 *)(iVar14 + 0x58)" * (cast_expression "(undefined4 *)(iVar14 + 0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x58)" ( (binary_expression "iVar14 + 0x58" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar16 = DAT_0013d6f4;" (assignment_expression "iVar16 = DAT_0013d6f4" identifier = identifier) ;) (expression_statement "iVar15 = *(int *)(*(int *)(DAT_0013d6f4 + 0xa0) + 0x9c0);" (assignment_expression "iVar15 = *(int *)(*(int *)(DAT_0013d6f4 + 0xa0) + 0x9c0)" identifier = (pointer_expression "*(int *)(*(int *)(DAT_0013d6f4 + 0xa0) + 0x9c0)" * (cast_expression "(int *)(*(int *)(DAT_0013d6f4 + 0xa0) + 0x9c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(DAT_0013d6f4 + 0xa0) + 0x9c0)" ( (binary_expression "*(int *)(DAT_0013d6f4 + 0xa0) + 0x9c0" (pointer_expression "*(int *)(DAT_0013d6f4 + 0xa0)" * (cast_expression "(int *)(DAT_0013d6f4 + 0xa0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0013d6f4 + 0xa0)" ( (binary_expression "DAT_0013d6f4 + 0xa0" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "*(code **)(iVar15 + 0x10) = FUN_00048da0;" (assignment_expression "*(code **)(iVar15 + 0x10) = FUN_00048da0" (pointer_expression "*(code **)(iVar15 + 0x10)" * (cast_expression "(code **)(iVar15 + 0x10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar15 + 0x10)" ( (binary_expression "iVar15 + 0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "pvVar8 = DAT_0013d42c;" (assignment_expression "pvVar8 = DAT_0013d42c" identifier = identifier) ;) (expression_statement "*(int *)(iVar15 + 0x18) = iVar14;" (assignment_expression "*(int *)(iVar15 + 0x18) = iVar14" (pointer_expression "*(int *)(iVar15 + 0x18)" * (cast_expression "(int *)(iVar15 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x18)" ( (binary_expression "iVar15 + 0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(void **)(iVar15 + 0x14) = pvVar8;" (assignment_expression "*(void **)(iVar15 + 0x14) = pvVar8" (pointer_expression "*(void **)(iVar15 + 0x14)" * (cast_expression "(void **)(iVar15 + 0x14)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar15 + 0x14)" ( (binary_expression "iVar15 + 0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(*(int *)(iVar14 + 0xa4) + 4) = 7;" (assignment_expression "*(undefined4 *)(*(int *)(iVar14 + 0xa4) + 4) = 7" (pointer_expression "*(undefined4 *)(*(int *)(iVar14 + 0xa4) + 4)" * (cast_expression "(undefined4 *)(*(int *)(iVar14 + 0xa4) + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar14 + 0xa4) + 4)" ( (binary_expression "*(int *)(iVar14 + 0xa4) + 4" (pointer_expression "*(int *)(iVar14 + 0xa4)" * (cast_expression "(int *)(iVar14 + 0xa4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0xa4)" ( (binary_expression "iVar14 + 0xa4" identifier + number_literal) )))) + number_literal) )))) = number_literal) ;) (expression_statement "*(longlong *)(iVar14 + 0x2c) = lVar24 + 0x10;" (assignment_expression "*(longlong *)(iVar14 + 0x2c) = lVar24 + 0x10" (pointer_expression "*(longlong *)(iVar14 + 0x2c)" * (cast_expression "(longlong *)(iVar14 + 0x2c)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x2c)" ( (binary_expression "iVar14 + 0x2c" identifier + number_literal) )))) = (binary_expression "lVar24 + 0x10" identifier + number_literal)) ;) (goto_statement "goto LAB_0004ad04;" goto statement_identifier ;) })) (expression_statement "pcVar12 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";" (assignment_expression "pcVar12 = "%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 "uVar7 = dcgettext(0,pcVar12,5);" (assignment_expression "uVar7 = dcgettext(0,pcVar12,5)" identifier = (call_expression "dcgettext(0,pcVar12,5)" identifier (argument_list "(0,pcVar12,5)" ( number_literal , identifier , number_literal )))) ;) (expression_statement "FUN_00033ba0(uVar7);" (call_expression "FUN_00033ba0(uVar7)" identifier (argument_list "(uVar7)" ( identifier ))) ;) (break_statement "break;" break ;) })) })) (expression_statement "free(DAT_0013d42c);" (call_expression "free(DAT_0013d42c)" identifier (argument_list "(DAT_0013d42c)" ( identifier ))) ;) (expression_statement "DAT_0013d42c = (void *)0x0;" (assignment_expression "DAT_0013d42c = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar16 = DAT_0013d6f4;" (assignment_expression "iVar16 = DAT_0013d6f4" identifier = identifier) ;) })) (labeled_statement "LAB_0004ad04:\n    (**(code **)(*(int *)(*(int *)(iVar16 + 4) + 0x1c0) + 0x1d0))(&DAT_0013d6c0);" statement_identifier : (expression_statement "(**(code **)(*(int *)(*(int *)(iVar16 + 4) + 0x1c0) + 0x1d0))(&DAT_0013d6c0);" (call_expression "(**(code **)(*(int *)(*(int *)(iVar16 + 4) + 0x1c0) + 0x1d0))(&DAT_0013d6c0)" (parenthesized_expression "(**(code **)(*(int *)(*(int *)(iVar16 + 4) + 0x1c0) + 0x1d0))" ( (pointer_expression "**(code **)(*(int *)(*(int *)(iVar16 + 4) + 0x1c0) + 0x1d0)" * (pointer_expression "*(code **)(*(int *)(*(int *)(iVar16 + 4) + 0x1c0) + 0x1d0)" * (cast_expression "(code **)(*(int *)(*(int *)(iVar16 + 4) + 0x1c0) + 0x1d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(*(int *)(iVar16 + 4) + 0x1c0) + 0x1d0)" ( (binary_expression "*(int *)(*(int *)(iVar16 + 4) + 0x1c0) + 0x1d0" (pointer_expression "*(int *)(*(int *)(iVar16 + 4) + 0x1c0)" * (cast_expression "(int *)(*(int *)(iVar16 + 4) + 0x1c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar16 + 4) + 0x1c0)" ( (binary_expression "*(int *)(iVar16 + 4) + 0x1c0" (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) ))))) )) (argument_list "(&DAT_0013d6c0)" ( (pointer_expression "&DAT_0013d6c0" & identifier) ))) ;)) (if_statement "if ((DAT_0013d6c0 & 3) == 2) {\n      if (DAT_0013d6c5 >> 7 == (~DAT_0013d6c6 & 1)) {\n        bfd_make_section_with_flags(DAT_0013d6fc,".note.GNU-stack",DAT_0013d6c5 >> 3 & 0x10 | 8);\n      }\n    }\n    else {\n      if (((DAT_0013d6c4 & 0x20) == 0) && (DAT_0013d6fc != 0)) {\n        local_50 = 0;\n        bVar2 = false;\n        local_4c = 0;\n        iVar14 = DAT_0013d6fc;\n        do {\n          while ((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0) {\n            puVar17 = *(undefined4 **)(iVar14 + 0x60);\n            if (puVar17 == (undefined4 *)0x0) {\nLAB_0004b231:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar20 = (undefined *)puVar17[0x15] < PTR__bfd_std_section_0013bfc4 + 0x180;\n                bVar22 = (undefined *)puVar17[0x15] == PTR__bfd_std_section_0013bfc4 + 0x180;\n                iVar16 = local_60;\n                if (!bVar22) {\n                  iVar15 = 0xf;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar20 = *pbVar18 < *pbVar19;\n                    bVar22 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar22);\n                  bVar21 = false;\n                  bVar20 = (!bVar20 && !bVar22) == bVar20;\n                  if (bVar20) {\n                    local_60 = 2;\n                    goto LAB_0004b209;\n                  }\n                  iVar15 = 10;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar21 = *pbVar18 < *pbVar19;\n                    bVar20 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar20);\n                  if (((!bVar21 && !bVar20) == bVar21) &&\n                     (iVar16 = 1,\n                     puVar17[0xc] == 0 && (uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc])) {\n                    iVar16 = local_60;\n                  }\n                }\n                local_60 = iVar16;\n                puVar17 = (undefined4 *)puVar17[3];\n              } while (puVar17 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_0004b231;\nLAB_0004b209:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar14 = local_4c;\n                }\n                uVar7 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00033ba0(uVar7,iVar14);\n                goto LAB_0004b267;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_0004b231;\n              if (local_60 != 2) {\n                if ((_DAT_0013d6c2 & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar2 = true;\n                  if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                    local_4c = iVar14;\n                  }\n                }\n                break;\n              }\n              bVar2 = true;\n              if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                local_4c = iVar14;\n              }\n            }\n            iVar14 = *(int *)(iVar14 + 0x9c);\n            local_50 = 2;\n            _DAT_0013d6c2 = _DAT_0013d6c2 & 0x3fff | 0x8000;\n            if (iVar14 == 0) goto LAB_0004b267;\n          }\n          iVar14 = *(int *)(iVar14 + 0x9c);\n        } while (iVar14 != 0);\nLAB_0004b267:\n        if ((local_4c == 0) ||\n           (iVar14 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x30) | 8),\n           iVar14 == 0)) {\n          if (bVar2) {\n            uVar7 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00033ba0(uVar7);\n          }\n        }\n        else {\n          *(undefined4 *)(iVar14 + 0x58) = 2;\n          *(int *)(iVar6 + 0xd0) = iVar14;\n        }\n      }\n      puVar4 = (undefined4 *)bfd_elf_get_needed_list(DAT_0013d6f4,&DAT_0013d6c0);\n      for (puVar17 = puVar4; puVar17 != (undefined4 *)0x0; puVar17 = (undefined4 *)*puVar17) {\n        puVar3 = puVar4;\n        if ((puVar17[1] == 0) ||\n           ((uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 1) == 0 &&\n            (((puVar17[1] == 0 || ((_DAT_0013d6c2 & 0x180) != 0x80)) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 4) == 0)))))) {\n          for (; puVar3 != puVar17; puVar3 = (undefined4 *)*puVar3) {\n            if (((puVar3[1] == 0) ||\n                (uVar5 = bfd_elf_get_dyn_lib_class(puVar3[1]), (uVar5 & 1) == 0)) &&\n               (iVar6 = strcmp((char *)puVar3[2],(char *)puVar17[2]), iVar6 == 0)) {\n              if (puVar17 != puVar3) goto LAB_0004ae88;\n              break;\n            }\n          }\n          DAT_0013d440 = 0;\n          DAT_0013d4c0 = puVar17;\n          FUN_000264a0(FUN_0004a2c0);\n          if ((DAT_0013d440 == 0) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_0013d440 + 0x10)),\n             (uVar5 & 1) != 0)) {\n            uVar7 = puVar17[1];\n            uVar1 = puVar17[2];\n            if (DAT_0013d83c != 0) {\n              uVar13 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00033b70(uVar13,uVar1,uVar7);\n            }\n            if ((DAT_0013d440 == 0) || (iVar6 = FUN_0004a3c0(), iVar6 == 0)) {\n              bVar2 = false;\n              while (iVar6 = FUN_0004a6d0(), iVar6 == 0) {\n                if (DAT_0013d7a4 != 0) {\n                  pvVar8 = (void *)FUN_00048f50();\n                  iVar6 = FUN_0004a6d0();\n                  free(pvVar8);\n                  if (iVar6 != 0) break;\n                }\n                piVar9 = (int *)bfd_elf_get_runpath_list(DAT_0013d6f4,&DAT_0013d6c0);\n                if (piVar9 != (int *)0x0) {\n                  do {\n                    bVar22 = true;\n                    pvVar8 = (void *)FUN_00048f50();\n                    bVar20 = false;\n                    if (piVar9[1] == puVar17[1]) {\n                      iVar6 = FUN_0004a6d0();\n                      bVar22 = iVar6 == 0;\n                      bVar20 = !bVar22;\n                    }\n                    free(pvVar8);\n                    piVar9 = (int *)*piVar9;\n                  } while ((piVar9 != (int *)0x0) && (bVar22));\n                  if (bVar20) break;\n                }\n                if (DAT_0013d424 == 0) {\n                  pvVar8 = (void *)concat(DAT_0013d75c,"/usr/etc/ld.so.conf",0);\n                  iVar6 = FUN_00049060();\n                  if (iVar6 == 0) {\n                    free(pvVar8);\n                    pvVar8 = (void *)concat(DAT_0013d75c,"/etc/ld.so.conf",0);\n                    FUN_00049060();\n                  }\n                  free(pvVar8);\n                  DAT_0013d424 = 1;\n                }\n                pcVar12 = (char *)puVar17[2];\n                if (DAT_0013d420 != 0) {\n                  iVar6 = FUN_0004a6d0();\n                  if (iVar6 != 0) break;\n                  pcVar12 = (char *)puVar17[2];\n                }\n                sVar10 = strlen(pcVar12);\n                if (DAT_0013d8e4 != (int *)0x0) {\n                  piVar9 = DAT_0013d8e4;\n                  do {\n                    if (piVar9[2] == 0) {\n                      sVar11 = strlen((char *)piVar9[1]);\n                      pcVar12 = (char *)xmalloc(sVar11 + sVar10 + 2);\n                      sprintf(pcVar12,"%s/%s",piVar9[1],puVar17[2]);\n                      iVar6 = FUN_0004a3c0();\n                      if (iVar6 != 0) goto LAB_0004ae88;\n                      free(pcVar12);\n                    }\n                    piVar9 = (int *)*piVar9;\n                  } while (piVar9 != (int *)0x0);\n                }\n                if (bVar2) {\n                  uVar7 = puVar17[1];\n                  uVar1 = puVar17[2];\n                  uVar13 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00033ba0(uVar13,uVar1,uVar7);\n                  break;\n                }\n                bVar2 = true;\n              }\n            }\n          }\n        }\nLAB_0004ae88:\n      }\n      DAT_0013d6c3 = (byte)(_DAT_0013d6c2 >> 8);\n      bVar23 = DAT_0013d6c3 & 0xc0;\n      if ((bVar23 == 0x80) && (iVar6 = bfd_elf_parse_eh_frame_entries(0,&DAT_0013d6c0), iVar6 == 0))\n      {\n        uVar7 = dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);\n        FUN_00033ba0(uVar7);\n      }\n    }" if (parenthesized_expression "((DAT_0013d6c0 & 3) == 2)" ( (binary_expression "(DAT_0013d6c0 & 3) == 2" (parenthesized_expression "(DAT_0013d6c0 & 3)" ( (binary_expression "DAT_0013d6c0 & 3" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      if (DAT_0013d6c5 >> 7 == (~DAT_0013d6c6 & 1)) {\n        bfd_make_section_with_flags(DAT_0013d6fc,".note.GNU-stack",DAT_0013d6c5 >> 3 & 0x10 | 8);\n      }\n    }" { (if_statement "if (DAT_0013d6c5 >> 7 == (~DAT_0013d6c6 & 1)) {\n        bfd_make_section_with_flags(DAT_0013d6fc,".note.GNU-stack",DAT_0013d6c5 >> 3 & 0x10 | 8);\n      }" if (parenthesized_expression "(DAT_0013d6c5 >> 7 == (~DAT_0013d6c6 & 1))" ( (binary_expression "DAT_0013d6c5 >> 7 == (~DAT_0013d6c6 & 1)" (binary_expression "DAT_0013d6c5 >> 7" identifier >> number_literal) == (parenthesized_expression "(~DAT_0013d6c6 & 1)" ( (binary_expression "~DAT_0013d6c6 & 1" (unary_expression "~DAT_0013d6c6" ~ identifier) & number_literal) ))) )) (compound_statement "{\n        bfd_make_section_with_flags(DAT_0013d6fc,".note.GNU-stack",DAT_0013d6c5 >> 3 & 0x10 | 8);\n      }" { (expression_statement "bfd_make_section_with_flags(DAT_0013d6fc,".note.GNU-stack",DAT_0013d6c5 >> 3 & 0x10 | 8);" (call_expression "bfd_make_section_with_flags(DAT_0013d6fc,".note.GNU-stack",DAT_0013d6c5 >> 3 & 0x10 | 8)" identifier (argument_list "(DAT_0013d6fc,".note.GNU-stack",DAT_0013d6c5 >> 3 & 0x10 | 8)" ( identifier , (string_literal "".note.GNU-stack"" " string_content ") , (binary_expression "DAT_0013d6c5 >> 3 & 0x10 | 8" (binary_expression "DAT_0013d6c5 >> 3 & 0x10" (binary_expression "DAT_0013d6c5 >> 3" identifier >> number_literal) & number_literal) | number_literal) ))) ;) })) }) (else_clause "else {\n      if (((DAT_0013d6c4 & 0x20) == 0) && (DAT_0013d6fc != 0)) {\n        local_50 = 0;\n        bVar2 = false;\n        local_4c = 0;\n        iVar14 = DAT_0013d6fc;\n        do {\n          while ((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0) {\n            puVar17 = *(undefined4 **)(iVar14 + 0x60);\n            if (puVar17 == (undefined4 *)0x0) {\nLAB_0004b231:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar20 = (undefined *)puVar17[0x15] < PTR__bfd_std_section_0013bfc4 + 0x180;\n                bVar22 = (undefined *)puVar17[0x15] == PTR__bfd_std_section_0013bfc4 + 0x180;\n                iVar16 = local_60;\n                if (!bVar22) {\n                  iVar15 = 0xf;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar20 = *pbVar18 < *pbVar19;\n                    bVar22 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar22);\n                  bVar21 = false;\n                  bVar20 = (!bVar20 && !bVar22) == bVar20;\n                  if (bVar20) {\n                    local_60 = 2;\n                    goto LAB_0004b209;\n                  }\n                  iVar15 = 10;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar21 = *pbVar18 < *pbVar19;\n                    bVar20 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar20);\n                  if (((!bVar21 && !bVar20) == bVar21) &&\n                     (iVar16 = 1,\n                     puVar17[0xc] == 0 && (uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc])) {\n                    iVar16 = local_60;\n                  }\n                }\n                local_60 = iVar16;\n                puVar17 = (undefined4 *)puVar17[3];\n              } while (puVar17 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_0004b231;\nLAB_0004b209:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar14 = local_4c;\n                }\n                uVar7 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00033ba0(uVar7,iVar14);\n                goto LAB_0004b267;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_0004b231;\n              if (local_60 != 2) {\n                if ((_DAT_0013d6c2 & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar2 = true;\n                  if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                    local_4c = iVar14;\n                  }\n                }\n                break;\n              }\n              bVar2 = true;\n              if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                local_4c = iVar14;\n              }\n            }\n            iVar14 = *(int *)(iVar14 + 0x9c);\n            local_50 = 2;\n            _DAT_0013d6c2 = _DAT_0013d6c2 & 0x3fff | 0x8000;\n            if (iVar14 == 0) goto LAB_0004b267;\n          }\n          iVar14 = *(int *)(iVar14 + 0x9c);\n        } while (iVar14 != 0);\nLAB_0004b267:\n        if ((local_4c == 0) ||\n           (iVar14 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x30) | 8),\n           iVar14 == 0)) {\n          if (bVar2) {\n            uVar7 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00033ba0(uVar7);\n          }\n        }\n        else {\n          *(undefined4 *)(iVar14 + 0x58) = 2;\n          *(int *)(iVar6 + 0xd0) = iVar14;\n        }\n      }\n      puVar4 = (undefined4 *)bfd_elf_get_needed_list(DAT_0013d6f4,&DAT_0013d6c0);\n      for (puVar17 = puVar4; puVar17 != (undefined4 *)0x0; puVar17 = (undefined4 *)*puVar17) {\n        puVar3 = puVar4;\n        if ((puVar17[1] == 0) ||\n           ((uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 1) == 0 &&\n            (((puVar17[1] == 0 || ((_DAT_0013d6c2 & 0x180) != 0x80)) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 4) == 0)))))) {\n          for (; puVar3 != puVar17; puVar3 = (undefined4 *)*puVar3) {\n            if (((puVar3[1] == 0) ||\n                (uVar5 = bfd_elf_get_dyn_lib_class(puVar3[1]), (uVar5 & 1) == 0)) &&\n               (iVar6 = strcmp((char *)puVar3[2],(char *)puVar17[2]), iVar6 == 0)) {\n              if (puVar17 != puVar3) goto LAB_0004ae88;\n              break;\n            }\n          }\n          DAT_0013d440 = 0;\n          DAT_0013d4c0 = puVar17;\n          FUN_000264a0(FUN_0004a2c0);\n          if ((DAT_0013d440 == 0) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_0013d440 + 0x10)),\n             (uVar5 & 1) != 0)) {\n            uVar7 = puVar17[1];\n            uVar1 = puVar17[2];\n            if (DAT_0013d83c != 0) {\n              uVar13 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00033b70(uVar13,uVar1,uVar7);\n            }\n            if ((DAT_0013d440 == 0) || (iVar6 = FUN_0004a3c0(), iVar6 == 0)) {\n              bVar2 = false;\n              while (iVar6 = FUN_0004a6d0(), iVar6 == 0) {\n                if (DAT_0013d7a4 != 0) {\n                  pvVar8 = (void *)FUN_00048f50();\n                  iVar6 = FUN_0004a6d0();\n                  free(pvVar8);\n                  if (iVar6 != 0) break;\n                }\n                piVar9 = (int *)bfd_elf_get_runpath_list(DAT_0013d6f4,&DAT_0013d6c0);\n                if (piVar9 != (int *)0x0) {\n                  do {\n                    bVar22 = true;\n                    pvVar8 = (void *)FUN_00048f50();\n                    bVar20 = false;\n                    if (piVar9[1] == puVar17[1]) {\n                      iVar6 = FUN_0004a6d0();\n                      bVar22 = iVar6 == 0;\n                      bVar20 = !bVar22;\n                    }\n                    free(pvVar8);\n                    piVar9 = (int *)*piVar9;\n                  } while ((piVar9 != (int *)0x0) && (bVar22));\n                  if (bVar20) break;\n                }\n                if (DAT_0013d424 == 0) {\n                  pvVar8 = (void *)concat(DAT_0013d75c,"/usr/etc/ld.so.conf",0);\n                  iVar6 = FUN_00049060();\n                  if (iVar6 == 0) {\n                    free(pvVar8);\n                    pvVar8 = (void *)concat(DAT_0013d75c,"/etc/ld.so.conf",0);\n                    FUN_00049060();\n                  }\n                  free(pvVar8);\n                  DAT_0013d424 = 1;\n                }\n                pcVar12 = (char *)puVar17[2];\n                if (DAT_0013d420 != 0) {\n                  iVar6 = FUN_0004a6d0();\n                  if (iVar6 != 0) break;\n                  pcVar12 = (char *)puVar17[2];\n                }\n                sVar10 = strlen(pcVar12);\n                if (DAT_0013d8e4 != (int *)0x0) {\n                  piVar9 = DAT_0013d8e4;\n                  do {\n                    if (piVar9[2] == 0) {\n                      sVar11 = strlen((char *)piVar9[1]);\n                      pcVar12 = (char *)xmalloc(sVar11 + sVar10 + 2);\n                      sprintf(pcVar12,"%s/%s",piVar9[1],puVar17[2]);\n                      iVar6 = FUN_0004a3c0();\n                      if (iVar6 != 0) goto LAB_0004ae88;\n                      free(pcVar12);\n                    }\n                    piVar9 = (int *)*piVar9;\n                  } while (piVar9 != (int *)0x0);\n                }\n                if (bVar2) {\n                  uVar7 = puVar17[1];\n                  uVar1 = puVar17[2];\n                  uVar13 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00033ba0(uVar13,uVar1,uVar7);\n                  break;\n                }\n                bVar2 = true;\n              }\n            }\n          }\n        }\nLAB_0004ae88:\n      }\n      DAT_0013d6c3 = (byte)(_DAT_0013d6c2 >> 8);\n      bVar23 = DAT_0013d6c3 & 0xc0;\n      if ((bVar23 == 0x80) && (iVar6 = bfd_elf_parse_eh_frame_entries(0,&DAT_0013d6c0), iVar6 == 0))\n      {\n        uVar7 = dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);\n        FUN_00033ba0(uVar7);\n      }\n    }" else (compound_statement "{\n      if (((DAT_0013d6c4 & 0x20) == 0) && (DAT_0013d6fc != 0)) {\n        local_50 = 0;\n        bVar2 = false;\n        local_4c = 0;\n        iVar14 = DAT_0013d6fc;\n        do {\n          while ((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0) {\n            puVar17 = *(undefined4 **)(iVar14 + 0x60);\n            if (puVar17 == (undefined4 *)0x0) {\nLAB_0004b231:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar20 = (undefined *)puVar17[0x15] < PTR__bfd_std_section_0013bfc4 + 0x180;\n                bVar22 = (undefined *)puVar17[0x15] == PTR__bfd_std_section_0013bfc4 + 0x180;\n                iVar16 = local_60;\n                if (!bVar22) {\n                  iVar15 = 0xf;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar20 = *pbVar18 < *pbVar19;\n                    bVar22 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar22);\n                  bVar21 = false;\n                  bVar20 = (!bVar20 && !bVar22) == bVar20;\n                  if (bVar20) {\n                    local_60 = 2;\n                    goto LAB_0004b209;\n                  }\n                  iVar15 = 10;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar21 = *pbVar18 < *pbVar19;\n                    bVar20 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar20);\n                  if (((!bVar21 && !bVar20) == bVar21) &&\n                     (iVar16 = 1,\n                     puVar17[0xc] == 0 && (uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc])) {\n                    iVar16 = local_60;\n                  }\n                }\n                local_60 = iVar16;\n                puVar17 = (undefined4 *)puVar17[3];\n              } while (puVar17 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_0004b231;\nLAB_0004b209:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar14 = local_4c;\n                }\n                uVar7 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00033ba0(uVar7,iVar14);\n                goto LAB_0004b267;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_0004b231;\n              if (local_60 != 2) {\n                if ((_DAT_0013d6c2 & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar2 = true;\n                  if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                    local_4c = iVar14;\n                  }\n                }\n                break;\n              }\n              bVar2 = true;\n              if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                local_4c = iVar14;\n              }\n            }\n            iVar14 = *(int *)(iVar14 + 0x9c);\n            local_50 = 2;\n            _DAT_0013d6c2 = _DAT_0013d6c2 & 0x3fff | 0x8000;\n            if (iVar14 == 0) goto LAB_0004b267;\n          }\n          iVar14 = *(int *)(iVar14 + 0x9c);\n        } while (iVar14 != 0);\nLAB_0004b267:\n        if ((local_4c == 0) ||\n           (iVar14 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x30) | 8),\n           iVar14 == 0)) {\n          if (bVar2) {\n            uVar7 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00033ba0(uVar7);\n          }\n        }\n        else {\n          *(undefined4 *)(iVar14 + 0x58) = 2;\n          *(int *)(iVar6 + 0xd0) = iVar14;\n        }\n      }\n      puVar4 = (undefined4 *)bfd_elf_get_needed_list(DAT_0013d6f4,&DAT_0013d6c0);\n      for (puVar17 = puVar4; puVar17 != (undefined4 *)0x0; puVar17 = (undefined4 *)*puVar17) {\n        puVar3 = puVar4;\n        if ((puVar17[1] == 0) ||\n           ((uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 1) == 0 &&\n            (((puVar17[1] == 0 || ((_DAT_0013d6c2 & 0x180) != 0x80)) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 4) == 0)))))) {\n          for (; puVar3 != puVar17; puVar3 = (undefined4 *)*puVar3) {\n            if (((puVar3[1] == 0) ||\n                (uVar5 = bfd_elf_get_dyn_lib_class(puVar3[1]), (uVar5 & 1) == 0)) &&\n               (iVar6 = strcmp((char *)puVar3[2],(char *)puVar17[2]), iVar6 == 0)) {\n              if (puVar17 != puVar3) goto LAB_0004ae88;\n              break;\n            }\n          }\n          DAT_0013d440 = 0;\n          DAT_0013d4c0 = puVar17;\n          FUN_000264a0(FUN_0004a2c0);\n          if ((DAT_0013d440 == 0) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_0013d440 + 0x10)),\n             (uVar5 & 1) != 0)) {\n            uVar7 = puVar17[1];\n            uVar1 = puVar17[2];\n            if (DAT_0013d83c != 0) {\n              uVar13 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00033b70(uVar13,uVar1,uVar7);\n            }\n            if ((DAT_0013d440 == 0) || (iVar6 = FUN_0004a3c0(), iVar6 == 0)) {\n              bVar2 = false;\n              while (iVar6 = FUN_0004a6d0(), iVar6 == 0) {\n                if (DAT_0013d7a4 != 0) {\n                  pvVar8 = (void *)FUN_00048f50();\n                  iVar6 = FUN_0004a6d0();\n                  free(pvVar8);\n                  if (iVar6 != 0) break;\n                }\n                piVar9 = (int *)bfd_elf_get_runpath_list(DAT_0013d6f4,&DAT_0013d6c0);\n                if (piVar9 != (int *)0x0) {\n                  do {\n                    bVar22 = true;\n                    pvVar8 = (void *)FUN_00048f50();\n                    bVar20 = false;\n                    if (piVar9[1] == puVar17[1]) {\n                      iVar6 = FUN_0004a6d0();\n                      bVar22 = iVar6 == 0;\n                      bVar20 = !bVar22;\n                    }\n                    free(pvVar8);\n                    piVar9 = (int *)*piVar9;\n                  } while ((piVar9 != (int *)0x0) && (bVar22));\n                  if (bVar20) break;\n                }\n                if (DAT_0013d424 == 0) {\n                  pvVar8 = (void *)concat(DAT_0013d75c,"/usr/etc/ld.so.conf",0);\n                  iVar6 = FUN_00049060();\n                  if (iVar6 == 0) {\n                    free(pvVar8);\n                    pvVar8 = (void *)concat(DAT_0013d75c,"/etc/ld.so.conf",0);\n                    FUN_00049060();\n                  }\n                  free(pvVar8);\n                  DAT_0013d424 = 1;\n                }\n                pcVar12 = (char *)puVar17[2];\n                if (DAT_0013d420 != 0) {\n                  iVar6 = FUN_0004a6d0();\n                  if (iVar6 != 0) break;\n                  pcVar12 = (char *)puVar17[2];\n                }\n                sVar10 = strlen(pcVar12);\n                if (DAT_0013d8e4 != (int *)0x0) {\n                  piVar9 = DAT_0013d8e4;\n                  do {\n                    if (piVar9[2] == 0) {\n                      sVar11 = strlen((char *)piVar9[1]);\n                      pcVar12 = (char *)xmalloc(sVar11 + sVar10 + 2);\n                      sprintf(pcVar12,"%s/%s",piVar9[1],puVar17[2]);\n                      iVar6 = FUN_0004a3c0();\n                      if (iVar6 != 0) goto LAB_0004ae88;\n                      free(pcVar12);\n                    }\n                    piVar9 = (int *)*piVar9;\n                  } while (piVar9 != (int *)0x0);\n                }\n                if (bVar2) {\n                  uVar7 = puVar17[1];\n                  uVar1 = puVar17[2];\n                  uVar13 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00033ba0(uVar13,uVar1,uVar7);\n                  break;\n                }\n                bVar2 = true;\n              }\n            }\n          }\n        }\nLAB_0004ae88:\n      }\n      DAT_0013d6c3 = (byte)(_DAT_0013d6c2 >> 8);\n      bVar23 = DAT_0013d6c3 & 0xc0;\n      if ((bVar23 == 0x80) && (iVar6 = bfd_elf_parse_eh_frame_entries(0,&DAT_0013d6c0), iVar6 == 0))\n      {\n        uVar7 = dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);\n        FUN_00033ba0(uVar7);\n      }\n    }" { (if_statement "if (((DAT_0013d6c4 & 0x20) == 0) && (DAT_0013d6fc != 0)) {\n        local_50 = 0;\n        bVar2 = false;\n        local_4c = 0;\n        iVar14 = DAT_0013d6fc;\n        do {\n          while ((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0) {\n            puVar17 = *(undefined4 **)(iVar14 + 0x60);\n            if (puVar17 == (undefined4 *)0x0) {\nLAB_0004b231:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar20 = (undefined *)puVar17[0x15] < PTR__bfd_std_section_0013bfc4 + 0x180;\n                bVar22 = (undefined *)puVar17[0x15] == PTR__bfd_std_section_0013bfc4 + 0x180;\n                iVar16 = local_60;\n                if (!bVar22) {\n                  iVar15 = 0xf;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar20 = *pbVar18 < *pbVar19;\n                    bVar22 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar22);\n                  bVar21 = false;\n                  bVar20 = (!bVar20 && !bVar22) == bVar20;\n                  if (bVar20) {\n                    local_60 = 2;\n                    goto LAB_0004b209;\n                  }\n                  iVar15 = 10;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar21 = *pbVar18 < *pbVar19;\n                    bVar20 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar20);\n                  if (((!bVar21 && !bVar20) == bVar21) &&\n                     (iVar16 = 1,\n                     puVar17[0xc] == 0 && (uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc])) {\n                    iVar16 = local_60;\n                  }\n                }\n                local_60 = iVar16;\n                puVar17 = (undefined4 *)puVar17[3];\n              } while (puVar17 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_0004b231;\nLAB_0004b209:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar14 = local_4c;\n                }\n                uVar7 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00033ba0(uVar7,iVar14);\n                goto LAB_0004b267;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_0004b231;\n              if (local_60 != 2) {\n                if ((_DAT_0013d6c2 & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar2 = true;\n                  if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                    local_4c = iVar14;\n                  }\n                }\n                break;\n              }\n              bVar2 = true;\n              if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                local_4c = iVar14;\n              }\n            }\n            iVar14 = *(int *)(iVar14 + 0x9c);\n            local_50 = 2;\n            _DAT_0013d6c2 = _DAT_0013d6c2 & 0x3fff | 0x8000;\n            if (iVar14 == 0) goto LAB_0004b267;\n          }\n          iVar14 = *(int *)(iVar14 + 0x9c);\n        } while (iVar14 != 0);\nLAB_0004b267:\n        if ((local_4c == 0) ||\n           (iVar14 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x30) | 8),\n           iVar14 == 0)) {\n          if (bVar2) {\n            uVar7 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00033ba0(uVar7);\n          }\n        }\n        else {\n          *(undefined4 *)(iVar14 + 0x58) = 2;\n          *(int *)(iVar6 + 0xd0) = iVar14;\n        }\n      }" if (parenthesized_expression "(((DAT_0013d6c4 & 0x20) == 0) && (DAT_0013d6fc != 0))" ( (binary_expression "((DAT_0013d6c4 & 0x20) == 0) && (DAT_0013d6fc != 0)" (parenthesized_expression "((DAT_0013d6c4 & 0x20) == 0)" ( (binary_expression "(DAT_0013d6c4 & 0x20) == 0" (parenthesized_expression "(DAT_0013d6c4 & 0x20)" ( (binary_expression "DAT_0013d6c4 & 0x20" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "(DAT_0013d6fc != 0)" ( (binary_expression "DAT_0013d6fc != 0" identifier != number_literal) ))) )) (compound_statement "{\n        local_50 = 0;\n        bVar2 = false;\n        local_4c = 0;\n        iVar14 = DAT_0013d6fc;\n        do {\n          while ((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0) {\n            puVar17 = *(undefined4 **)(iVar14 + 0x60);\n            if (puVar17 == (undefined4 *)0x0) {\nLAB_0004b231:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar20 = (undefined *)puVar17[0x15] < PTR__bfd_std_section_0013bfc4 + 0x180;\n                bVar22 = (undefined *)puVar17[0x15] == PTR__bfd_std_section_0013bfc4 + 0x180;\n                iVar16 = local_60;\n                if (!bVar22) {\n                  iVar15 = 0xf;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar20 = *pbVar18 < *pbVar19;\n                    bVar22 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar22);\n                  bVar21 = false;\n                  bVar20 = (!bVar20 && !bVar22) == bVar20;\n                  if (bVar20) {\n                    local_60 = 2;\n                    goto LAB_0004b209;\n                  }\n                  iVar15 = 10;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar21 = *pbVar18 < *pbVar19;\n                    bVar20 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar20);\n                  if (((!bVar21 && !bVar20) == bVar21) &&\n                     (iVar16 = 1,\n                     puVar17[0xc] == 0 && (uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc])) {\n                    iVar16 = local_60;\n                  }\n                }\n                local_60 = iVar16;\n                puVar17 = (undefined4 *)puVar17[3];\n              } while (puVar17 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_0004b231;\nLAB_0004b209:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar14 = local_4c;\n                }\n                uVar7 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00033ba0(uVar7,iVar14);\n                goto LAB_0004b267;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_0004b231;\n              if (local_60 != 2) {\n                if ((_DAT_0013d6c2 & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar2 = true;\n                  if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                    local_4c = iVar14;\n                  }\n                }\n                break;\n              }\n              bVar2 = true;\n              if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                local_4c = iVar14;\n              }\n            }\n            iVar14 = *(int *)(iVar14 + 0x9c);\n            local_50 = 2;\n            _DAT_0013d6c2 = _DAT_0013d6c2 & 0x3fff | 0x8000;\n            if (iVar14 == 0) goto LAB_0004b267;\n          }\n          iVar14 = *(int *)(iVar14 + 0x9c);\n        } while (iVar14 != 0);\nLAB_0004b267:\n        if ((local_4c == 0) ||\n           (iVar14 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x30) | 8),\n           iVar14 == 0)) {\n          if (bVar2) {\n            uVar7 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00033ba0(uVar7);\n          }\n        }\n        else {\n          *(undefined4 *)(iVar14 + 0x58) = 2;\n          *(int *)(iVar6 + 0xd0) = iVar14;\n        }\n      }" { (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" identifier = number_literal) ;) (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" identifier = false) ;) (expression_statement "local_4c = 0;" (assignment_expression "local_4c = 0" identifier = number_literal) ;) (expression_statement "iVar14 = DAT_0013d6fc;" (assignment_expression "iVar14 = DAT_0013d6fc" identifier = identifier) ;) (do_statement "do {\n          while ((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0) {\n            puVar17 = *(undefined4 **)(iVar14 + 0x60);\n            if (puVar17 == (undefined4 *)0x0) {\nLAB_0004b231:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar20 = (undefined *)puVar17[0x15] < PTR__bfd_std_section_0013bfc4 + 0x180;\n                bVar22 = (undefined *)puVar17[0x15] == PTR__bfd_std_section_0013bfc4 + 0x180;\n                iVar16 = local_60;\n                if (!bVar22) {\n                  iVar15 = 0xf;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar20 = *pbVar18 < *pbVar19;\n                    bVar22 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar22);\n                  bVar21 = false;\n                  bVar20 = (!bVar20 && !bVar22) == bVar20;\n                  if (bVar20) {\n                    local_60 = 2;\n                    goto LAB_0004b209;\n                  }\n                  iVar15 = 10;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar21 = *pbVar18 < *pbVar19;\n                    bVar20 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar20);\n                  if (((!bVar21 && !bVar20) == bVar21) &&\n                     (iVar16 = 1,\n                     puVar17[0xc] == 0 && (uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc])) {\n                    iVar16 = local_60;\n                  }\n                }\n                local_60 = iVar16;\n                puVar17 = (undefined4 *)puVar17[3];\n              } while (puVar17 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_0004b231;\nLAB_0004b209:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar14 = local_4c;\n                }\n                uVar7 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00033ba0(uVar7,iVar14);\n                goto LAB_0004b267;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_0004b231;\n              if (local_60 != 2) {\n                if ((_DAT_0013d6c2 & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar2 = true;\n                  if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                    local_4c = iVar14;\n                  }\n                }\n                break;\n              }\n              bVar2 = true;\n              if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                local_4c = iVar14;\n              }\n            }\n            iVar14 = *(int *)(iVar14 + 0x9c);\n            local_50 = 2;\n            _DAT_0013d6c2 = _DAT_0013d6c2 & 0x3fff | 0x8000;\n            if (iVar14 == 0) goto LAB_0004b267;\n          }\n          iVar14 = *(int *)(iVar14 + 0x9c);\n        } while (iVar14 != 0);" do (compound_statement "{\n          while ((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0) {\n            puVar17 = *(undefined4 **)(iVar14 + 0x60);\n            if (puVar17 == (undefined4 *)0x0) {\nLAB_0004b231:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar20 = (undefined *)puVar17[0x15] < PTR__bfd_std_section_0013bfc4 + 0x180;\n                bVar22 = (undefined *)puVar17[0x15] == PTR__bfd_std_section_0013bfc4 + 0x180;\n                iVar16 = local_60;\n                if (!bVar22) {\n                  iVar15 = 0xf;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar20 = *pbVar18 < *pbVar19;\n                    bVar22 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar22);\n                  bVar21 = false;\n                  bVar20 = (!bVar20 && !bVar22) == bVar20;\n                  if (bVar20) {\n                    local_60 = 2;\n                    goto LAB_0004b209;\n                  }\n                  iVar15 = 10;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar21 = *pbVar18 < *pbVar19;\n                    bVar20 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar20);\n                  if (((!bVar21 && !bVar20) == bVar21) &&\n                     (iVar16 = 1,\n                     puVar17[0xc] == 0 && (uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc])) {\n                    iVar16 = local_60;\n                  }\n                }\n                local_60 = iVar16;\n                puVar17 = (undefined4 *)puVar17[3];\n              } while (puVar17 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_0004b231;\nLAB_0004b209:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar14 = local_4c;\n                }\n                uVar7 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00033ba0(uVar7,iVar14);\n                goto LAB_0004b267;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_0004b231;\n              if (local_60 != 2) {\n                if ((_DAT_0013d6c2 & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar2 = true;\n                  if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                    local_4c = iVar14;\n                  }\n                }\n                break;\n              }\n              bVar2 = true;\n              if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                local_4c = iVar14;\n              }\n            }\n            iVar14 = *(int *)(iVar14 + 0x9c);\n            local_50 = 2;\n            _DAT_0013d6c2 = _DAT_0013d6c2 & 0x3fff | 0x8000;\n            if (iVar14 == 0) goto LAB_0004b267;\n          }\n          iVar14 = *(int *)(iVar14 + 0x9c);\n        }" { (while_statement "while ((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0) {\n            puVar17 = *(undefined4 **)(iVar14 + 0x60);\n            if (puVar17 == (undefined4 *)0x0) {\nLAB_0004b231:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar20 = (undefined *)puVar17[0x15] < PTR__bfd_std_section_0013bfc4 + 0x180;\n                bVar22 = (undefined *)puVar17[0x15] == PTR__bfd_std_section_0013bfc4 + 0x180;\n                iVar16 = local_60;\n                if (!bVar22) {\n                  iVar15 = 0xf;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar20 = *pbVar18 < *pbVar19;\n                    bVar22 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar22);\n                  bVar21 = false;\n                  bVar20 = (!bVar20 && !bVar22) == bVar20;\n                  if (bVar20) {\n                    local_60 = 2;\n                    goto LAB_0004b209;\n                  }\n                  iVar15 = 10;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar21 = *pbVar18 < *pbVar19;\n                    bVar20 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar20);\n                  if (((!bVar21 && !bVar20) == bVar21) &&\n                     (iVar16 = 1,\n                     puVar17[0xc] == 0 && (uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc])) {\n                    iVar16 = local_60;\n                  }\n                }\n                local_60 = iVar16;\n                puVar17 = (undefined4 *)puVar17[3];\n              } while (puVar17 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_0004b231;\nLAB_0004b209:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar14 = local_4c;\n                }\n                uVar7 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00033ba0(uVar7,iVar14);\n                goto LAB_0004b267;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_0004b231;\n              if (local_60 != 2) {\n                if ((_DAT_0013d6c2 & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar2 = true;\n                  if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                    local_4c = iVar14;\n                  }\n                }\n                break;\n              }\n              bVar2 = true;\n              if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                local_4c = iVar14;\n              }\n            }\n            iVar14 = *(int *)(iVar14 + 0x9c);\n            local_50 = 2;\n            _DAT_0013d6c2 = _DAT_0013d6c2 & 0x3fff | 0x8000;\n            if (iVar14 == 0) goto LAB_0004b267;\n          }" while (parenthesized_expression "((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0)" ( (binary_expression "(*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0" (parenthesized_expression "(*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10)" ( (binary_expression "*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10" (pointer_expression "*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24)" * (cast_expression "(byte *)(*(int *)(iVar14 + 0xa4) + 0x24)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar14 + 0xa4) + 0x24)" ( (binary_expression "*(int *)(iVar14 + 0xa4) + 0x24" (pointer_expression "*(int *)(iVar14 + 0xa4)" * (cast_expression "(int *)(iVar14 + 0xa4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0xa4)" ( (binary_expression "iVar14 + 0xa4" identifier + number_literal) )))) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n            puVar17 = *(undefined4 **)(iVar14 + 0x60);\n            if (puVar17 == (undefined4 *)0x0) {\nLAB_0004b231:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar20 = (undefined *)puVar17[0x15] < PTR__bfd_std_section_0013bfc4 + 0x180;\n                bVar22 = (undefined *)puVar17[0x15] == PTR__bfd_std_section_0013bfc4 + 0x180;\n                iVar16 = local_60;\n                if (!bVar22) {\n                  iVar15 = 0xf;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar20 = *pbVar18 < *pbVar19;\n                    bVar22 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar22);\n                  bVar21 = false;\n                  bVar20 = (!bVar20 && !bVar22) == bVar20;\n                  if (bVar20) {\n                    local_60 = 2;\n                    goto LAB_0004b209;\n                  }\n                  iVar15 = 10;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar21 = *pbVar18 < *pbVar19;\n                    bVar20 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar20);\n                  if (((!bVar21 && !bVar20) == bVar21) &&\n                     (iVar16 = 1,\n                     puVar17[0xc] == 0 && (uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc])) {\n                    iVar16 = local_60;\n                  }\n                }\n                local_60 = iVar16;\n                puVar17 = (undefined4 *)puVar17[3];\n              } while (puVar17 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_0004b231;\nLAB_0004b209:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar14 = local_4c;\n                }\n                uVar7 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00033ba0(uVar7,iVar14);\n                goto LAB_0004b267;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_0004b231;\n              if (local_60 != 2) {\n                if ((_DAT_0013d6c2 & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar2 = true;\n                  if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                    local_4c = iVar14;\n                  }\n                }\n                break;\n              }\n              bVar2 = true;\n              if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                local_4c = iVar14;\n              }\n            }\n            iVar14 = *(int *)(iVar14 + 0x9c);\n            local_50 = 2;\n            _DAT_0013d6c2 = _DAT_0013d6c2 & 0x3fff | 0x8000;\n            if (iVar14 == 0) goto LAB_0004b267;\n          }" { (expression_statement "puVar17 = *(undefined4 **)(iVar14 + 0x60);" (assignment_expression "puVar17 = *(undefined4 **)(iVar14 + 0x60)" identifier = (pointer_expression "*(undefined4 **)(iVar14 + 0x60)" * (cast_expression "(undefined4 **)(iVar14 + 0x60)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar14 + 0x60)" ( (binary_expression "iVar14 + 0x60" identifier + number_literal) ))))) ;) (if_statement "if (puVar17 == (undefined4 *)0x0) {\nLAB_0004b231:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar20 = (undefined *)puVar17[0x15] < PTR__bfd_std_section_0013bfc4 + 0x180;\n                bVar22 = (undefined *)puVar17[0x15] == PTR__bfd_std_section_0013bfc4 + 0x180;\n                iVar16 = local_60;\n                if (!bVar22) {\n                  iVar15 = 0xf;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar20 = *pbVar18 < *pbVar19;\n                    bVar22 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar22);\n                  bVar21 = false;\n                  bVar20 = (!bVar20 && !bVar22) == bVar20;\n                  if (bVar20) {\n                    local_60 = 2;\n                    goto LAB_0004b209;\n                  }\n                  iVar15 = 10;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar21 = *pbVar18 < *pbVar19;\n                    bVar20 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar20);\n                  if (((!bVar21 && !bVar20) == bVar21) &&\n                     (iVar16 = 1,\n                     puVar17[0xc] == 0 && (uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc])) {\n                    iVar16 = local_60;\n                  }\n                }\n                local_60 = iVar16;\n                puVar17 = (undefined4 *)puVar17[3];\n              } while (puVar17 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_0004b231;\nLAB_0004b209:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar14 = local_4c;\n                }\n                uVar7 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00033ba0(uVar7,iVar14);\n                goto LAB_0004b267;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_0004b231;\n              if (local_60 != 2) {\n                if ((_DAT_0013d6c2 & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar2 = true;\n                  if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                    local_4c = iVar14;\n                  }\n                }\n                break;\n              }\n              bVar2 = true;\n              if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                local_4c = iVar14;\n              }\n            }" if (parenthesized_expression "(puVar17 == (undefined4 *)0x0)" ( (binary_expression "puVar17 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0004b231:\n              if (local_50 != 2) break;\n            }" { (labeled_statement "LAB_0004b231:\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                bVar20 = (undefined *)puVar17[0x15] < PTR__bfd_std_section_0013bfc4 + 0x180;\n                bVar22 = (undefined *)puVar17[0x15] == PTR__bfd_std_section_0013bfc4 + 0x180;\n                iVar16 = local_60;\n                if (!bVar22) {\n                  iVar15 = 0xf;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar20 = *pbVar18 < *pbVar19;\n                    bVar22 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar22);\n                  bVar21 = false;\n                  bVar20 = (!bVar20 && !bVar22) == bVar20;\n                  if (bVar20) {\n                    local_60 = 2;\n                    goto LAB_0004b209;\n                  }\n                  iVar15 = 10;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar21 = *pbVar18 < *pbVar19;\n                    bVar20 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar20);\n                  if (((!bVar21 && !bVar20) == bVar21) &&\n                     (iVar16 = 1,\n                     puVar17[0xc] == 0 && (uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc])) {\n                    iVar16 = local_60;\n                  }\n                }\n                local_60 = iVar16;\n                puVar17 = (undefined4 *)puVar17[3];\n              } while (puVar17 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_0004b231;\nLAB_0004b209:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar14 = local_4c;\n                }\n                uVar7 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00033ba0(uVar7,iVar14);\n                goto LAB_0004b267;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_0004b231;\n              if (local_60 != 2) {\n                if ((_DAT_0013d6c2 & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar2 = true;\n                  if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                    local_4c = iVar14;\n                  }\n                }\n                break;\n              }\n              bVar2 = true;\n              if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                local_4c = iVar14;\n              }\n            }" else (compound_statement "{\n              local_60 = 0;\n              do {\n                bVar20 = (undefined *)puVar17[0x15] < PTR__bfd_std_section_0013bfc4 + 0x180;\n                bVar22 = (undefined *)puVar17[0x15] == PTR__bfd_std_section_0013bfc4 + 0x180;\n                iVar16 = local_60;\n                if (!bVar22) {\n                  iVar15 = 0xf;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar20 = *pbVar18 < *pbVar19;\n                    bVar22 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar22);\n                  bVar21 = false;\n                  bVar20 = (!bVar20 && !bVar22) == bVar20;\n                  if (bVar20) {\n                    local_60 = 2;\n                    goto LAB_0004b209;\n                  }\n                  iVar15 = 10;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar21 = *pbVar18 < *pbVar19;\n                    bVar20 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar20);\n                  if (((!bVar21 && !bVar20) == bVar21) &&\n                     (iVar16 = 1,\n                     puVar17[0xc] == 0 && (uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc])) {\n                    iVar16 = local_60;\n                  }\n                }\n                local_60 = iVar16;\n                puVar17 = (undefined4 *)puVar17[3];\n              } while (puVar17 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_0004b231;\nLAB_0004b209:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar14 = local_4c;\n                }\n                uVar7 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00033ba0(uVar7,iVar14);\n                goto LAB_0004b267;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_0004b231;\n              if (local_60 != 2) {\n                if ((_DAT_0013d6c2 & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar2 = true;\n                  if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                    local_4c = iVar14;\n                  }\n                }\n                break;\n              }\n              bVar2 = true;\n              if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                local_4c = iVar14;\n              }\n            }" { (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" identifier = number_literal) ;) (do_statement "do {\n                bVar20 = (undefined *)puVar17[0x15] < PTR__bfd_std_section_0013bfc4 + 0x180;\n                bVar22 = (undefined *)puVar17[0x15] == PTR__bfd_std_section_0013bfc4 + 0x180;\n                iVar16 = local_60;\n                if (!bVar22) {\n                  iVar15 = 0xf;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar20 = *pbVar18 < *pbVar19;\n                    bVar22 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar22);\n                  bVar21 = false;\n                  bVar20 = (!bVar20 && !bVar22) == bVar20;\n                  if (bVar20) {\n                    local_60 = 2;\n                    goto LAB_0004b209;\n                  }\n                  iVar15 = 10;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar21 = *pbVar18 < *pbVar19;\n                    bVar20 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar20);\n                  if (((!bVar21 && !bVar20) == bVar21) &&\n                     (iVar16 = 1,\n                     puVar17[0xc] == 0 && (uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc])) {\n                    iVar16 = local_60;\n                  }\n                }\n                local_60 = iVar16;\n                puVar17 = (undefined4 *)puVar17[3];\n              } while (puVar17 != (undefined4 *)0x0);" do (compound_statement "{\n                bVar20 = (undefined *)puVar17[0x15] < PTR__bfd_std_section_0013bfc4 + 0x180;\n                bVar22 = (undefined *)puVar17[0x15] == PTR__bfd_std_section_0013bfc4 + 0x180;\n                iVar16 = local_60;\n                if (!bVar22) {\n                  iVar15 = 0xf;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar20 = *pbVar18 < *pbVar19;\n                    bVar22 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar22);\n                  bVar21 = false;\n                  bVar20 = (!bVar20 && !bVar22) == bVar20;\n                  if (bVar20) {\n                    local_60 = 2;\n                    goto LAB_0004b209;\n                  }\n                  iVar15 = 10;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar21 = *pbVar18 < *pbVar19;\n                    bVar20 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar20);\n                  if (((!bVar21 && !bVar20) == bVar21) &&\n                     (iVar16 = 1,\n                     puVar17[0xc] == 0 && (uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc])) {\n                    iVar16 = local_60;\n                  }\n                }\n                local_60 = iVar16;\n                puVar17 = (undefined4 *)puVar17[3];\n              }" { (expression_statement "bVar20 = (undefined *)puVar17[0x15] < PTR__bfd_std_section_0013bfc4 + 0x180;" (assignment_expression "bVar20 = (undefined *)puVar17[0x15] < PTR__bfd_std_section_0013bfc4 + 0x180" identifier = (binary_expression "(undefined *)puVar17[0x15] < PTR__bfd_std_section_0013bfc4 + 0x180" (cast_expression "(undefined *)puVar17[0x15]" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar17[0x15]" identifier [ number_literal ])) < (binary_expression "PTR__bfd_std_section_0013bfc4 + 0x180" identifier + number_literal))) ;) (expression_statement "bVar22 = (undefined *)puVar17[0x15] == PTR__bfd_std_section_0013bfc4 + 0x180;" (assignment_expression "bVar22 = (undefined *)puVar17[0x15] == PTR__bfd_std_section_0013bfc4 + 0x180" identifier = (binary_expression "(undefined *)puVar17[0x15] == PTR__bfd_std_section_0013bfc4 + 0x180" (cast_expression "(undefined *)puVar17[0x15]" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar17[0x15]" identifier [ number_literal ])) == (binary_expression "PTR__bfd_std_section_0013bfc4 + 0x180" identifier + number_literal))) ;) (expression_statement "iVar16 = local_60;" (assignment_expression "iVar16 = local_60" identifier = identifier) ;) (if_statement "if (!bVar22) {\n                  iVar15 = 0xf;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar20 = *pbVar18 < *pbVar19;\n                    bVar22 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar22);\n                  bVar21 = false;\n                  bVar20 = (!bVar20 && !bVar22) == bVar20;\n                  if (bVar20) {\n                    local_60 = 2;\n                    goto LAB_0004b209;\n                  }\n                  iVar15 = 10;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar21 = *pbVar18 < *pbVar19;\n                    bVar20 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar20);\n                  if (((!bVar21 && !bVar20) == bVar21) &&\n                     (iVar16 = 1,\n                     puVar17[0xc] == 0 && (uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc])) {\n                    iVar16 = local_60;\n                  }\n                }" if (parenthesized_expression "(!bVar22)" ( (unary_expression "!bVar22" ! identifier) )) (compound_statement "{\n                  iVar15 = 0xf;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar20 = *pbVar18 < *pbVar19;\n                    bVar22 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar22);\n                  bVar21 = false;\n                  bVar20 = (!bVar20 && !bVar22) == bVar20;\n                  if (bVar20) {\n                    local_60 = 2;\n                    goto LAB_0004b209;\n                  }\n                  iVar15 = 10;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar21 = *pbVar18 < *pbVar19;\n                    bVar20 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar20);\n                  if (((!bVar21 && !bVar20) == bVar21) &&\n                     (iVar16 = 1,\n                     puVar17[0xc] == 0 && (uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc])) {\n                    iVar16 = local_60;\n                  }\n                }" { (expression_statement "iVar15 = 0xf;" (assignment_expression "iVar15 = 0xf" identifier = number_literal) ;) (expression_statement "pbVar18 = (byte *)*puVar17;" (assignment_expression "pbVar18 = (byte *)*puVar17" identifier = (cast_expression "(byte *)*puVar17" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar17" * identifier))) ;) (expression_statement "pbVar19 = (byte *)".eh_frame_entry";" (assignment_expression "pbVar19 = (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 (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar20 = *pbVar18 < *pbVar19;\n                    bVar22 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar22);" do (compound_statement "{\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar20 = *pbVar18 < *pbVar19;\n                    bVar22 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  }" { (if_statement "if (iVar15 == 0) break;" if (parenthesized_expression "(iVar15 == 0)" ( (binary_expression "iVar15 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar15 = iVar15 + -1;" (assignment_expression "iVar15 = iVar15 + -1" identifier = (binary_expression "iVar15 + -1" identifier + number_literal)) ;) (expression_statement "bVar20 = *pbVar18 < *pbVar19;" (assignment_expression "bVar20 = *pbVar18 < *pbVar19" identifier = (binary_expression "*pbVar18 < *pbVar19" (pointer_expression "*pbVar18" * identifier) < (pointer_expression "*pbVar19" * identifier))) ;) (expression_statement "bVar22 = *pbVar18 == *pbVar19;" (assignment_expression "bVar22 = *pbVar18 == *pbVar19" identifier = (binary_expression "*pbVar18 == *pbVar19" (pointer_expression "*pbVar18" * identifier) == (pointer_expression "*pbVar19" * identifier))) ;) (expression_statement "pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1" identifier = (binary_expression "pbVar18 + (uint)bVar23 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar23 * -2" identifier + (binary_expression "(uint)bVar23 * -2" (cast_expression "(uint)bVar23" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;" (assignment_expression "pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1" identifier = (binary_expression "pbVar19 + (uint)bVar23 * -2 + 1" (binary_expression "pbVar19 + (uint)bVar23 * -2" identifier + (binary_expression "(uint)bVar23 * -2" (cast_expression "(uint)bVar23" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar22)" ( identifier )) ;) (expression_statement "bVar21 = false;" (assignment_expression "bVar21 = false" identifier = false) ;) (expression_statement "bVar20 = (!bVar20 && !bVar22) == bVar20;" (assignment_expression "bVar20 = (!bVar20 && !bVar22) == bVar20" identifier = (binary_expression "(!bVar20 && !bVar22) == bVar20" (parenthesized_expression "(!bVar20 && !bVar22)" ( (binary_expression "!bVar20 && !bVar22" (unary_expression "!bVar20" ! identifier) && (unary_expression "!bVar22" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar20) {\n                    local_60 = 2;\n                    goto LAB_0004b209;\n                  }" if (parenthesized_expression "(bVar20)" ( identifier )) (compound_statement "{\n                    local_60 = 2;\n                    goto LAB_0004b209;\n                  }" { (expression_statement "local_60 = 2;" (assignment_expression "local_60 = 2" identifier = number_literal) ;) (goto_statement "goto LAB_0004b209;" goto statement_identifier ;) })) (expression_statement "iVar15 = 10;" (assignment_expression "iVar15 = 10" identifier = number_literal) ;) (expression_statement "pbVar18 = (byte *)*puVar17;" (assignment_expression "pbVar18 = (byte *)*puVar17" identifier = (cast_expression "(byte *)*puVar17" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar17" * identifier))) ;) (expression_statement "pbVar19 = (byte *)".eh_frame";" (assignment_expression "pbVar19 = (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 (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar21 = *pbVar18 < *pbVar19;\n                    bVar20 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar20);" do (compound_statement "{\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar21 = *pbVar18 < *pbVar19;\n                    bVar20 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  }" { (if_statement "if (iVar15 == 0) break;" if (parenthesized_expression "(iVar15 == 0)" ( (binary_expression "iVar15 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar15 = iVar15 + -1;" (assignment_expression "iVar15 = iVar15 + -1" identifier = (binary_expression "iVar15 + -1" identifier + number_literal)) ;) (expression_statement "bVar21 = *pbVar18 < *pbVar19;" (assignment_expression "bVar21 = *pbVar18 < *pbVar19" identifier = (binary_expression "*pbVar18 < *pbVar19" (pointer_expression "*pbVar18" * identifier) < (pointer_expression "*pbVar19" * identifier))) ;) (expression_statement "bVar20 = *pbVar18 == *pbVar19;" (assignment_expression "bVar20 = *pbVar18 == *pbVar19" identifier = (binary_expression "*pbVar18 == *pbVar19" (pointer_expression "*pbVar18" * identifier) == (pointer_expression "*pbVar19" * identifier))) ;) (expression_statement "pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1" identifier = (binary_expression "pbVar18 + (uint)bVar23 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar23 * -2" identifier + (binary_expression "(uint)bVar23 * -2" (cast_expression "(uint)bVar23" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;" (assignment_expression "pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1" identifier = (binary_expression "pbVar19 + (uint)bVar23 * -2 + 1" (binary_expression "pbVar19 + (uint)bVar23 * -2" identifier + (binary_expression "(uint)bVar23 * -2" (cast_expression "(uint)bVar23" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar20)" ( identifier )) ;) (if_statement "if (((!bVar21 && !bVar20) == bVar21) &&\n                     (iVar16 = 1,\n                     puVar17[0xc] == 0 && (uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc])) {\n                    iVar16 = local_60;\n                  }" if (parenthesized_expression "(((!bVar21 && !bVar20) == bVar21) &&\n                     (iVar16 = 1,\n                     puVar17[0xc] == 0 && (uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc]))" ( (binary_expression "((!bVar21 && !bVar20) == bVar21) &&\n                     (iVar16 = 1,\n                     puVar17[0xc] == 0 && (uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc])" (parenthesized_expression "((!bVar21 && !bVar20) == bVar21)" ( (binary_expression "(!bVar21 && !bVar20) == bVar21" (parenthesized_expression "(!bVar21 && !bVar20)" ( (binary_expression "!bVar21 && !bVar20" (unary_expression "!bVar21" ! identifier) && (unary_expression "!bVar20" ! identifier)) )) == identifier) )) && (parenthesized_expression "(iVar16 = 1,\n                     puVar17[0xc] == 0 && (uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc])" ( (comma_expression "iVar16 = 1,\n                     puVar17[0xc] == 0 && (uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc]" (assignment_expression "iVar16 = 1" identifier = number_literal) , (binary_expression "puVar17[0xc] == 0 && (uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc]" (binary_expression "puVar17[0xc] == 0" (subscript_expression "puVar17[0xc]" identifier [ number_literal ]) == number_literal) && (binary_expression "(uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc]" (call_expression "(uint)(8 < (uint)puVar17[0xb])" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(8 < (uint)puVar17[0xb])" ( (binary_expression "8 < (uint)puVar17[0xb]" number_literal < (cast_expression "(uint)puVar17[0xb]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "puVar17[0xb]" identifier [ number_literal ]))) ))) <= (binary_expression "(uint)-puVar17[0xc]" (parenthesized_expression "(uint)" ( identifier )) - (subscript_expression "puVar17[0xc]" identifier [ number_literal ]))))) ))) )) (compound_statement "{\n                    iVar16 = local_60;\n                  }" { (expression_statement "iVar16 = local_60;" (assignment_expression "iVar16 = local_60" identifier = identifier) ;) })) })) (expression_statement "local_60 = iVar16;" (assignment_expression "local_60 = iVar16" identifier = identifier) ;) (expression_statement "puVar17 = (undefined4 *)puVar17[3];" (assignment_expression "puVar17 = (undefined4 *)puVar17[3]" identifier = (cast_expression "(undefined4 *)puVar17[3]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar17[3]" identifier [ number_literal ]))) ;) }) while (parenthesized_expression "(puVar17 != (undefined4 *)0x0)" ( (binary_expression "puVar17 != (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_0004b231;" if (parenthesized_expression "(local_60 == 0)" ( (binary_expression "local_60 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0004b231;" goto statement_identifier ;)) (labeled_statement "LAB_0004b209:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar14 = local_4c;\n                }\n                uVar7 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00033ba0(uVar7,iVar14);\n                goto LAB_0004b267;\n              }" statement_identifier : (if_statement "if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar14 = local_4c;\n                }\n                uVar7 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00033ba0(uVar7,iVar14);\n                goto LAB_0004b267;\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                  iVar14 = local_4c;\n                }\n                uVar7 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00033ba0(uVar7,iVar14);\n                goto LAB_0004b267;\n              }" { (if_statement "if (local_60 != 1) {\n                  iVar14 = local_4c;\n                }" if (parenthesized_expression "(local_60 != 1)" ( (binary_expression "local_60 != 1" identifier != number_literal) )) (compound_statement "{\n                  iVar14 = local_4c;\n                }" { (expression_statement "iVar14 = local_4c;" (assignment_expression "iVar14 = local_4c" identifier = identifier) ;) })) (expression_statement "uVar7 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);" (assignment_expression "uVar7 = 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_00033ba0(uVar7,iVar14);" (call_expression "FUN_00033ba0(uVar7,iVar14)" identifier (argument_list "(uVar7,iVar14)" ( identifier , identifier ))) ;) (goto_statement "goto LAB_0004b267;" 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_0004b231;" if (parenthesized_expression "(local_4c != 0)" ( (binary_expression "local_4c != 0" identifier != number_literal) )) (goto_statement "goto LAB_0004b231;" goto statement_identifier ;)) (if_statement "if (local_60 != 2) {\n                if ((_DAT_0013d6c2 & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar2 = true;\n                  if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                    local_4c = iVar14;\n                  }\n                }\n                break;\n              }" if (parenthesized_expression "(local_60 != 2)" ( (binary_expression "local_60 != 2" identifier != number_literal) )) (compound_statement "{\n                if ((_DAT_0013d6c2 & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar2 = true;\n                  if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                    local_4c = iVar14;\n                  }\n                }\n                break;\n              }" { (if_statement "if ((_DAT_0013d6c2 & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar2 = true;\n                  if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                    local_4c = iVar14;\n                  }\n                }" if (parenthesized_expression "((_DAT_0013d6c2 & 0xc000) == 0)" ( (binary_expression "(_DAT_0013d6c2 & 0xc000) == 0" (parenthesized_expression "(_DAT_0013d6c2 & 0xc000)" ( (binary_expression "_DAT_0013d6c2 & 0xc000" 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                  bVar2 = true;\n                  if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                    local_4c = iVar14;\n                  }\n                }" else (compound_statement "{\n                  local_50 = 1;\n                  bVar2 = true;\n                  if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                    local_4c = iVar14;\n                  }\n                }" { (expression_statement "local_50 = 1;" (assignment_expression "local_50 = 1" identifier = number_literal) ;) (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" identifier = true) ;) (if_statement "if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                    local_4c = iVar14;\n                  }" if (parenthesized_expression "(*(int *)(*(int *)(iVar14 + 4) + 4) == 5)" ( (binary_expression "*(int *)(*(int *)(iVar14 + 4) + 4) == 5" (pointer_expression "*(int *)(*(int *)(iVar14 + 4) + 4)" * (cast_expression "(int *)(*(int *)(iVar14 + 4) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar14 + 4) + 4)" ( (binary_expression "*(int *)(iVar14 + 4) + 4" (pointer_expression "*(int *)(iVar14 + 4)" * (cast_expression "(int *)(iVar14 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 4)" ( (binary_expression "iVar14 + 4" identifier + number_literal) )))) + number_literal) )))) == number_literal) )) (compound_statement "{\n                    local_4c = iVar14;\n                  }" { (expression_statement "local_4c = iVar14;" (assignment_expression "local_4c = iVar14" identifier = identifier) ;) })) }))) (break_statement "break;" break ;) })) (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" identifier = true) ;) (if_statement "if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                local_4c = iVar14;\n              }" if (parenthesized_expression "(*(int *)(*(int *)(iVar14 + 4) + 4) == 5)" ( (binary_expression "*(int *)(*(int *)(iVar14 + 4) + 4) == 5" (pointer_expression "*(int *)(*(int *)(iVar14 + 4) + 4)" * (cast_expression "(int *)(*(int *)(iVar14 + 4) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar14 + 4) + 4)" ( (binary_expression "*(int *)(iVar14 + 4) + 4" (pointer_expression "*(int *)(iVar14 + 4)" * (cast_expression "(int *)(iVar14 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 4)" ( (binary_expression "iVar14 + 4" identifier + number_literal) )))) + number_literal) )))) == number_literal) )) (compound_statement "{\n                local_4c = iVar14;\n              }" { (expression_statement "local_4c = iVar14;" (assignment_expression "local_4c = iVar14" identifier = identifier) ;) })) }))) (expression_statement "iVar14 = *(int *)(iVar14 + 0x9c);" (assignment_expression "iVar14 = *(int *)(iVar14 + 0x9c)" identifier = (pointer_expression "*(int *)(iVar14 + 0x9c)" * (cast_expression "(int *)(iVar14 + 0x9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x9c)" ( (binary_expression "iVar14 + 0x9c" identifier + number_literal) ))))) ;) (expression_statement "local_50 = 2;" (assignment_expression "local_50 = 2" identifier = number_literal) ;) (expression_statement "_DAT_0013d6c2 = _DAT_0013d6c2 & 0x3fff | 0x8000;" (assignment_expression "_DAT_0013d6c2 = _DAT_0013d6c2 & 0x3fff | 0x8000" identifier = (binary_expression "_DAT_0013d6c2 & 0x3fff | 0x8000" (binary_expression "_DAT_0013d6c2 & 0x3fff" identifier & number_literal) | number_literal)) ;) (if_statement "if (iVar14 == 0) goto LAB_0004b267;" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0004b267;" goto statement_identifier ;)) })) (expression_statement "iVar14 = *(int *)(iVar14 + 0x9c);" (assignment_expression "iVar14 = *(int *)(iVar14 + 0x9c)" identifier = (pointer_expression "*(int *)(iVar14 + 0x9c)" * (cast_expression "(int *)(iVar14 + 0x9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x9c)" ( (binary_expression "iVar14 + 0x9c" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(iVar14 != 0)" ( (binary_expression "iVar14 != 0" identifier != number_literal) )) ;) (labeled_statement "LAB_0004b267:\n        if ((local_4c == 0) ||\n           (iVar14 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x30) | 8),\n           iVar14 == 0)) {\n          if (bVar2) {\n            uVar7 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00033ba0(uVar7);\n          }\n        }\n        else {\n          *(undefined4 *)(iVar14 + 0x58) = 2;\n          *(int *)(iVar6 + 0xd0) = iVar14;\n        }" statement_identifier : (if_statement "if ((local_4c == 0) ||\n           (iVar14 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x30) | 8),\n           iVar14 == 0)) {\n          if (bVar2) {\n            uVar7 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00033ba0(uVar7);\n          }\n        }\n        else {\n          *(undefined4 *)(iVar14 + 0x58) = 2;\n          *(int *)(iVar6 + 0xd0) = iVar14;\n        }" if (parenthesized_expression "((local_4c == 0) ||\n           (iVar14 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x30) | 8),\n           iVar14 == 0))" ( (binary_expression "(local_4c == 0) ||\n           (iVar14 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x30) | 8),\n           iVar14 == 0)" (parenthesized_expression "(local_4c == 0)" ( (binary_expression "local_4c == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar14 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x30) | 8),\n           iVar14 == 0)" ( (comma_expression "iVar14 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x30) | 8),\n           iVar14 == 0" (assignment_expression "iVar14 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x30) | 8)" identifier = (call_expression "bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x30) | 8)" identifier (argument_list "(local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x30) | 8)" ( identifier , (string_literal "".eh_frame_hdr"" " string_content ") , (binary_expression "*(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x30) | 8" (pointer_expression "*(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x30)" * (cast_expression "(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x30)" ( (binary_expression "*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x30" (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 "iVar14 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n          if (bVar2) {\n            uVar7 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00033ba0(uVar7);\n          }\n        }" { (if_statement "if (bVar2) {\n            uVar7 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00033ba0(uVar7);\n          }" if (parenthesized_expression "(bVar2)" ( identifier )) (compound_statement "{\n            uVar7 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00033ba0(uVar7);\n          }" { (expression_statement "uVar7 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);" (assignment_expression "uVar7 = 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_00033ba0(uVar7);" (call_expression "FUN_00033ba0(uVar7)" identifier (argument_list "(uVar7)" ( identifier ))) ;) })) }) (else_clause "else {\n          *(undefined4 *)(iVar14 + 0x58) = 2;\n          *(int *)(iVar6 + 0xd0) = iVar14;\n        }" else (compound_statement "{\n          *(undefined4 *)(iVar14 + 0x58) = 2;\n          *(int *)(iVar6 + 0xd0) = iVar14;\n        }" { (expression_statement "*(undefined4 *)(iVar14 + 0x58) = 2;" (assignment_expression "*(undefined4 *)(iVar14 + 0x58) = 2" (pointer_expression "*(undefined4 *)(iVar14 + 0x58)" * (cast_expression "(undefined4 *)(iVar14 + 0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x58)" ( (binary_expression "iVar14 + 0x58" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(iVar6 + 0xd0) = iVar14;" (assignment_expression "*(int *)(iVar6 + 0xd0) = iVar14" (pointer_expression "*(int *)(iVar6 + 0xd0)" * (cast_expression "(int *)(iVar6 + 0xd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xd0)" ( (binary_expression "iVar6 + 0xd0" identifier + number_literal) )))) = identifier) ;) })))) })) (expression_statement "puVar4 = (undefined4 *)bfd_elf_get_needed_list(DAT_0013d6f4,&DAT_0013d6c0);" (assignment_expression "puVar4 = (undefined4 *)bfd_elf_get_needed_list(DAT_0013d6f4,&DAT_0013d6c0)" identifier = (cast_expression "(undefined4 *)bfd_elf_get_needed_list(DAT_0013d6f4,&DAT_0013d6c0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "bfd_elf_get_needed_list(DAT_0013d6f4,&DAT_0013d6c0)" identifier (argument_list "(DAT_0013d6f4,&DAT_0013d6c0)" ( identifier , (pointer_expression "&DAT_0013d6c0" & identifier) ))))) ;) (for_statement "for (puVar17 = puVar4; puVar17 != (undefined4 *)0x0; puVar17 = (undefined4 *)*puVar17) {\n        puVar3 = puVar4;\n        if ((puVar17[1] == 0) ||\n           ((uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 1) == 0 &&\n            (((puVar17[1] == 0 || ((_DAT_0013d6c2 & 0x180) != 0x80)) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 4) == 0)))))) {\n          for (; puVar3 != puVar17; puVar3 = (undefined4 *)*puVar3) {\n            if (((puVar3[1] == 0) ||\n                (uVar5 = bfd_elf_get_dyn_lib_class(puVar3[1]), (uVar5 & 1) == 0)) &&\n               (iVar6 = strcmp((char *)puVar3[2],(char *)puVar17[2]), iVar6 == 0)) {\n              if (puVar17 != puVar3) goto LAB_0004ae88;\n              break;\n            }\n          }\n          DAT_0013d440 = 0;\n          DAT_0013d4c0 = puVar17;\n          FUN_000264a0(FUN_0004a2c0);\n          if ((DAT_0013d440 == 0) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_0013d440 + 0x10)),\n             (uVar5 & 1) != 0)) {\n            uVar7 = puVar17[1];\n            uVar1 = puVar17[2];\n            if (DAT_0013d83c != 0) {\n              uVar13 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00033b70(uVar13,uVar1,uVar7);\n            }\n            if ((DAT_0013d440 == 0) || (iVar6 = FUN_0004a3c0(), iVar6 == 0)) {\n              bVar2 = false;\n              while (iVar6 = FUN_0004a6d0(), iVar6 == 0) {\n                if (DAT_0013d7a4 != 0) {\n                  pvVar8 = (void *)FUN_00048f50();\n                  iVar6 = FUN_0004a6d0();\n                  free(pvVar8);\n                  if (iVar6 != 0) break;\n                }\n                piVar9 = (int *)bfd_elf_get_runpath_list(DAT_0013d6f4,&DAT_0013d6c0);\n                if (piVar9 != (int *)0x0) {\n                  do {\n                    bVar22 = true;\n                    pvVar8 = (void *)FUN_00048f50();\n                    bVar20 = false;\n                    if (piVar9[1] == puVar17[1]) {\n                      iVar6 = FUN_0004a6d0();\n                      bVar22 = iVar6 == 0;\n                      bVar20 = !bVar22;\n                    }\n                    free(pvVar8);\n                    piVar9 = (int *)*piVar9;\n                  } while ((piVar9 != (int *)0x0) && (bVar22));\n                  if (bVar20) break;\n                }\n                if (DAT_0013d424 == 0) {\n                  pvVar8 = (void *)concat(DAT_0013d75c,"/usr/etc/ld.so.conf",0);\n                  iVar6 = FUN_00049060();\n                  if (iVar6 == 0) {\n                    free(pvVar8);\n                    pvVar8 = (void *)concat(DAT_0013d75c,"/etc/ld.so.conf",0);\n                    FUN_00049060();\n                  }\n                  free(pvVar8);\n                  DAT_0013d424 = 1;\n                }\n                pcVar12 = (char *)puVar17[2];\n                if (DAT_0013d420 != 0) {\n                  iVar6 = FUN_0004a6d0();\n                  if (iVar6 != 0) break;\n                  pcVar12 = (char *)puVar17[2];\n                }\n                sVar10 = strlen(pcVar12);\n                if (DAT_0013d8e4 != (int *)0x0) {\n                  piVar9 = DAT_0013d8e4;\n                  do {\n                    if (piVar9[2] == 0) {\n                      sVar11 = strlen((char *)piVar9[1]);\n                      pcVar12 = (char *)xmalloc(sVar11 + sVar10 + 2);\n                      sprintf(pcVar12,"%s/%s",piVar9[1],puVar17[2]);\n                      iVar6 = FUN_0004a3c0();\n                      if (iVar6 != 0) goto LAB_0004ae88;\n                      free(pcVar12);\n                    }\n                    piVar9 = (int *)*piVar9;\n                  } while (piVar9 != (int *)0x0);\n                }\n                if (bVar2) {\n                  uVar7 = puVar17[1];\n                  uVar1 = puVar17[2];\n                  uVar13 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00033ba0(uVar13,uVar1,uVar7);\n                  break;\n                }\n                bVar2 = true;\n              }\n            }\n          }\n        }\nLAB_0004ae88:\n      }" for ( (assignment_expression "puVar17 = puVar4" identifier = identifier) ; (binary_expression "puVar17 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "puVar17 = (undefined4 *)*puVar17" identifier = (cast_expression "(undefined4 *)*puVar17" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar17" * identifier))) ) (compound_statement "{\n        puVar3 = puVar4;\n        if ((puVar17[1] == 0) ||\n           ((uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 1) == 0 &&\n            (((puVar17[1] == 0 || ((_DAT_0013d6c2 & 0x180) != 0x80)) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 4) == 0)))))) {\n          for (; puVar3 != puVar17; puVar3 = (undefined4 *)*puVar3) {\n            if (((puVar3[1] == 0) ||\n                (uVar5 = bfd_elf_get_dyn_lib_class(puVar3[1]), (uVar5 & 1) == 0)) &&\n               (iVar6 = strcmp((char *)puVar3[2],(char *)puVar17[2]), iVar6 == 0)) {\n              if (puVar17 != puVar3) goto LAB_0004ae88;\n              break;\n            }\n          }\n          DAT_0013d440 = 0;\n          DAT_0013d4c0 = puVar17;\n          FUN_000264a0(FUN_0004a2c0);\n          if ((DAT_0013d440 == 0) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_0013d440 + 0x10)),\n             (uVar5 & 1) != 0)) {\n            uVar7 = puVar17[1];\n            uVar1 = puVar17[2];\n            if (DAT_0013d83c != 0) {\n              uVar13 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00033b70(uVar13,uVar1,uVar7);\n            }\n            if ((DAT_0013d440 == 0) || (iVar6 = FUN_0004a3c0(), iVar6 == 0)) {\n              bVar2 = false;\n              while (iVar6 = FUN_0004a6d0(), iVar6 == 0) {\n                if (DAT_0013d7a4 != 0) {\n                  pvVar8 = (void *)FUN_00048f50();\n                  iVar6 = FUN_0004a6d0();\n                  free(pvVar8);\n                  if (iVar6 != 0) break;\n                }\n                piVar9 = (int *)bfd_elf_get_runpath_list(DAT_0013d6f4,&DAT_0013d6c0);\n                if (piVar9 != (int *)0x0) {\n                  do {\n                    bVar22 = true;\n                    pvVar8 = (void *)FUN_00048f50();\n                    bVar20 = false;\n                    if (piVar9[1] == puVar17[1]) {\n                      iVar6 = FUN_0004a6d0();\n                      bVar22 = iVar6 == 0;\n                      bVar20 = !bVar22;\n                    }\n                    free(pvVar8);\n                    piVar9 = (int *)*piVar9;\n                  } while ((piVar9 != (int *)0x0) && (bVar22));\n                  if (bVar20) break;\n                }\n                if (DAT_0013d424 == 0) {\n                  pvVar8 = (void *)concat(DAT_0013d75c,"/usr/etc/ld.so.conf",0);\n                  iVar6 = FUN_00049060();\n                  if (iVar6 == 0) {\n                    free(pvVar8);\n                    pvVar8 = (void *)concat(DAT_0013d75c,"/etc/ld.so.conf",0);\n                    FUN_00049060();\n                  }\n                  free(pvVar8);\n                  DAT_0013d424 = 1;\n                }\n                pcVar12 = (char *)puVar17[2];\n                if (DAT_0013d420 != 0) {\n                  iVar6 = FUN_0004a6d0();\n                  if (iVar6 != 0) break;\n                  pcVar12 = (char *)puVar17[2];\n                }\n                sVar10 = strlen(pcVar12);\n                if (DAT_0013d8e4 != (int *)0x0) {\n                  piVar9 = DAT_0013d8e4;\n                  do {\n                    if (piVar9[2] == 0) {\n                      sVar11 = strlen((char *)piVar9[1]);\n                      pcVar12 = (char *)xmalloc(sVar11 + sVar10 + 2);\n                      sprintf(pcVar12,"%s/%s",piVar9[1],puVar17[2]);\n                      iVar6 = FUN_0004a3c0();\n                      if (iVar6 != 0) goto LAB_0004ae88;\n                      free(pcVar12);\n                    }\n                    piVar9 = (int *)*piVar9;\n                  } while (piVar9 != (int *)0x0);\n                }\n                if (bVar2) {\n                  uVar7 = puVar17[1];\n                  uVar1 = puVar17[2];\n                  uVar13 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00033ba0(uVar13,uVar1,uVar7);\n                  break;\n                }\n                bVar2 = true;\n              }\n            }\n          }\n        }\nLAB_0004ae88:\n      }" { (expression_statement "puVar3 = puVar4;" (assignment_expression "puVar3 = puVar4" identifier = identifier) ;) (if_statement "if ((puVar17[1] == 0) ||\n           ((uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 1) == 0 &&\n            (((puVar17[1] == 0 || ((_DAT_0013d6c2 & 0x180) != 0x80)) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 4) == 0)))))) {\n          for (; puVar3 != puVar17; puVar3 = (undefined4 *)*puVar3) {\n            if (((puVar3[1] == 0) ||\n                (uVar5 = bfd_elf_get_dyn_lib_class(puVar3[1]), (uVar5 & 1) == 0)) &&\n               (iVar6 = strcmp((char *)puVar3[2],(char *)puVar17[2]), iVar6 == 0)) {\n              if (puVar17 != puVar3) goto LAB_0004ae88;\n              break;\n            }\n          }\n          DAT_0013d440 = 0;\n          DAT_0013d4c0 = puVar17;\n          FUN_000264a0(FUN_0004a2c0);\n          if ((DAT_0013d440 == 0) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_0013d440 + 0x10)),\n             (uVar5 & 1) != 0)) {\n            uVar7 = puVar17[1];\n            uVar1 = puVar17[2];\n            if (DAT_0013d83c != 0) {\n              uVar13 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00033b70(uVar13,uVar1,uVar7);\n            }\n            if ((DAT_0013d440 == 0) || (iVar6 = FUN_0004a3c0(), iVar6 == 0)) {\n              bVar2 = false;\n              while (iVar6 = FUN_0004a6d0(), iVar6 == 0) {\n                if (DAT_0013d7a4 != 0) {\n                  pvVar8 = (void *)FUN_00048f50();\n                  iVar6 = FUN_0004a6d0();\n                  free(pvVar8);\n                  if (iVar6 != 0) break;\n                }\n                piVar9 = (int *)bfd_elf_get_runpath_list(DAT_0013d6f4,&DAT_0013d6c0);\n                if (piVar9 != (int *)0x0) {\n                  do {\n                    bVar22 = true;\n                    pvVar8 = (void *)FUN_00048f50();\n                    bVar20 = false;\n                    if (piVar9[1] == puVar17[1]) {\n                      iVar6 = FUN_0004a6d0();\n                      bVar22 = iVar6 == 0;\n                      bVar20 = !bVar22;\n                    }\n                    free(pvVar8);\n                    piVar9 = (int *)*piVar9;\n                  } while ((piVar9 != (int *)0x0) && (bVar22));\n                  if (bVar20) break;\n                }\n                if (DAT_0013d424 == 0) {\n                  pvVar8 = (void *)concat(DAT_0013d75c,"/usr/etc/ld.so.conf",0);\n                  iVar6 = FUN_00049060();\n                  if (iVar6 == 0) {\n                    free(pvVar8);\n                    pvVar8 = (void *)concat(DAT_0013d75c,"/etc/ld.so.conf",0);\n                    FUN_00049060();\n                  }\n                  free(pvVar8);\n                  DAT_0013d424 = 1;\n                }\n                pcVar12 = (char *)puVar17[2];\n                if (DAT_0013d420 != 0) {\n                  iVar6 = FUN_0004a6d0();\n                  if (iVar6 != 0) break;\n                  pcVar12 = (char *)puVar17[2];\n                }\n                sVar10 = strlen(pcVar12);\n                if (DAT_0013d8e4 != (int *)0x0) {\n                  piVar9 = DAT_0013d8e4;\n                  do {\n                    if (piVar9[2] == 0) {\n                      sVar11 = strlen((char *)piVar9[1]);\n                      pcVar12 = (char *)xmalloc(sVar11 + sVar10 + 2);\n                      sprintf(pcVar12,"%s/%s",piVar9[1],puVar17[2]);\n                      iVar6 = FUN_0004a3c0();\n                      if (iVar6 != 0) goto LAB_0004ae88;\n                      free(pcVar12);\n                    }\n                    piVar9 = (int *)*piVar9;\n                  } while (piVar9 != (int *)0x0);\n                }\n                if (bVar2) {\n                  uVar7 = puVar17[1];\n                  uVar1 = puVar17[2];\n                  uVar13 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00033ba0(uVar13,uVar1,uVar7);\n                  break;\n                }\n                bVar2 = true;\n              }\n            }\n          }\n        }" if (parenthesized_expression "((puVar17[1] == 0) ||\n           ((uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 1) == 0 &&\n            (((puVar17[1] == 0 || ((_DAT_0013d6c2 & 0x180) != 0x80)) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 4) == 0))))))" ( (binary_expression "(puVar17[1] == 0) ||\n           ((uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 1) == 0 &&\n            (((puVar17[1] == 0 || ((_DAT_0013d6c2 & 0x180) != 0x80)) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 4) == 0)))))" (parenthesized_expression "(puVar17[1] == 0)" ( (binary_expression "puVar17[1] == 0" (subscript_expression "puVar17[1]" identifier [ number_literal ]) == number_literal) )) || (parenthesized_expression "((uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 1) == 0 &&\n            (((puVar17[1] == 0 || ((_DAT_0013d6c2 & 0x180) != 0x80)) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 4) == 0)))))" ( (parenthesized_expression "(uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 1) == 0 &&\n            (((puVar17[1] == 0 || ((_DAT_0013d6c2 & 0x180) != 0x80)) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 4) == 0))))" ( (comma_expression "uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 1) == 0 &&\n            (((puVar17[1] == 0 || ((_DAT_0013d6c2 & 0x180) != 0x80)) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 4) == 0)))" (assignment_expression "uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1])" identifier = (call_expression "bfd_elf_get_dyn_lib_class(puVar17[1])" identifier (argument_list "(puVar17[1])" ( (subscript_expression "puVar17[1]" identifier [ number_literal ]) )))) , (binary_expression "(uVar5 & 1) == 0 &&\n            (((puVar17[1] == 0 || ((_DAT_0013d6c2 & 0x180) != 0x80)) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 4) == 0)))" (binary_expression "(uVar5 & 1) == 0" (parenthesized_expression "(uVar5 & 1)" ( (binary_expression "uVar5 & 1" identifier & number_literal) )) == number_literal) && (parenthesized_expression "(((puVar17[1] == 0 || ((_DAT_0013d6c2 & 0x180) != 0x80)) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 4) == 0)))" ( (parenthesized_expression "((puVar17[1] == 0 || ((_DAT_0013d6c2 & 0x180) != 0x80)) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 4) == 0))" ( (binary_expression "(puVar17[1] == 0 || ((_DAT_0013d6c2 & 0x180) != 0x80)) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 4) == 0)" (parenthesized_expression "(puVar17[1] == 0 || ((_DAT_0013d6c2 & 0x180) != 0x80))" ( (binary_expression "puVar17[1] == 0 || ((_DAT_0013d6c2 & 0x180) != 0x80)" (binary_expression "puVar17[1] == 0" (subscript_expression "puVar17[1]" identifier [ number_literal ]) == number_literal) || (parenthesized_expression "((_DAT_0013d6c2 & 0x180) != 0x80)" ( (binary_expression "(_DAT_0013d6c2 & 0x180) != 0x80" (parenthesized_expression "(_DAT_0013d6c2 & 0x180)" ( (binary_expression "_DAT_0013d6c2 & 0x180" identifier & number_literal) )) != number_literal) ))) )) || (parenthesized_expression "(uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 4) == 0)" ( (comma_expression "uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 4) == 0" (assignment_expression "uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1])" identifier = (call_expression "bfd_elf_get_dyn_lib_class(puVar17[1])" identifier (argument_list "(puVar17[1])" ( (subscript_expression "puVar17[1]" identifier [ number_literal ]) )))) , (binary_expression "(uVar5 & 4) == 0" (parenthesized_expression "(uVar5 & 4)" ( (binary_expression "uVar5 & 4" identifier & number_literal) )) == number_literal)) ))) )) )))) )) ))) )) (compound_statement "{\n          for (; puVar3 != puVar17; puVar3 = (undefined4 *)*puVar3) {\n            if (((puVar3[1] == 0) ||\n                (uVar5 = bfd_elf_get_dyn_lib_class(puVar3[1]), (uVar5 & 1) == 0)) &&\n               (iVar6 = strcmp((char *)puVar3[2],(char *)puVar17[2]), iVar6 == 0)) {\n              if (puVar17 != puVar3) goto LAB_0004ae88;\n              break;\n            }\n          }\n          DAT_0013d440 = 0;\n          DAT_0013d4c0 = puVar17;\n          FUN_000264a0(FUN_0004a2c0);\n          if ((DAT_0013d440 == 0) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_0013d440 + 0x10)),\n             (uVar5 & 1) != 0)) {\n            uVar7 = puVar17[1];\n            uVar1 = puVar17[2];\n            if (DAT_0013d83c != 0) {\n              uVar13 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00033b70(uVar13,uVar1,uVar7);\n            }\n            if ((DAT_0013d440 == 0) || (iVar6 = FUN_0004a3c0(), iVar6 == 0)) {\n              bVar2 = false;\n              while (iVar6 = FUN_0004a6d0(), iVar6 == 0) {\n                if (DAT_0013d7a4 != 0) {\n                  pvVar8 = (void *)FUN_00048f50();\n                  iVar6 = FUN_0004a6d0();\n                  free(pvVar8);\n                  if (iVar6 != 0) break;\n                }\n                piVar9 = (int *)bfd_elf_get_runpath_list(DAT_0013d6f4,&DAT_0013d6c0);\n                if (piVar9 != (int *)0x0) {\n                  do {\n                    bVar22 = true;\n                    pvVar8 = (void *)FUN_00048f50();\n                    bVar20 = false;\n                    if (piVar9[1] == puVar17[1]) {\n                      iVar6 = FUN_0004a6d0();\n                      bVar22 = iVar6 == 0;\n                      bVar20 = !bVar22;\n                    }\n                    free(pvVar8);\n                    piVar9 = (int *)*piVar9;\n                  } while ((piVar9 != (int *)0x0) && (bVar22));\n                  if (bVar20) break;\n                }\n                if (DAT_0013d424 == 0) {\n                  pvVar8 = (void *)concat(DAT_0013d75c,"/usr/etc/ld.so.conf",0);\n                  iVar6 = FUN_00049060();\n                  if (iVar6 == 0) {\n                    free(pvVar8);\n                    pvVar8 = (void *)concat(DAT_0013d75c,"/etc/ld.so.conf",0);\n                    FUN_00049060();\n                  }\n                  free(pvVar8);\n                  DAT_0013d424 = 1;\n                }\n                pcVar12 = (char *)puVar17[2];\n                if (DAT_0013d420 != 0) {\n                  iVar6 = FUN_0004a6d0();\n                  if (iVar6 != 0) break;\n                  pcVar12 = (char *)puVar17[2];\n                }\n                sVar10 = strlen(pcVar12);\n                if (DAT_0013d8e4 != (int *)0x0) {\n                  piVar9 = DAT_0013d8e4;\n                  do {\n                    if (piVar9[2] == 0) {\n                      sVar11 = strlen((char *)piVar9[1]);\n                      pcVar12 = (char *)xmalloc(sVar11 + sVar10 + 2);\n                      sprintf(pcVar12,"%s/%s",piVar9[1],puVar17[2]);\n                      iVar6 = FUN_0004a3c0();\n                      if (iVar6 != 0) goto LAB_0004ae88;\n                      free(pcVar12);\n                    }\n                    piVar9 = (int *)*piVar9;\n                  } while (piVar9 != (int *)0x0);\n                }\n                if (bVar2) {\n                  uVar7 = puVar17[1];\n                  uVar1 = puVar17[2];\n                  uVar13 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00033ba0(uVar13,uVar1,uVar7);\n                  break;\n                }\n                bVar2 = true;\n              }\n            }\n          }\n        }" { (for_statement "for (; puVar3 != puVar17; puVar3 = (undefined4 *)*puVar3) {\n            if (((puVar3[1] == 0) ||\n                (uVar5 = bfd_elf_get_dyn_lib_class(puVar3[1]), (uVar5 & 1) == 0)) &&\n               (iVar6 = strcmp((char *)puVar3[2],(char *)puVar17[2]), iVar6 == 0)) {\n              if (puVar17 != puVar3) goto LAB_0004ae88;\n              break;\n            }\n          }" for ( ; (binary_expression "puVar3 != puVar17" identifier != identifier) ; (assignment_expression "puVar3 = (undefined4 *)*puVar3" identifier = (cast_expression "(undefined4 *)*puVar3" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar3" * identifier))) ) (compound_statement "{\n            if (((puVar3[1] == 0) ||\n                (uVar5 = bfd_elf_get_dyn_lib_class(puVar3[1]), (uVar5 & 1) == 0)) &&\n               (iVar6 = strcmp((char *)puVar3[2],(char *)puVar17[2]), iVar6 == 0)) {\n              if (puVar17 != puVar3) goto LAB_0004ae88;\n              break;\n            }\n          }" { (if_statement "if (((puVar3[1] == 0) ||\n                (uVar5 = bfd_elf_get_dyn_lib_class(puVar3[1]), (uVar5 & 1) == 0)) &&\n               (iVar6 = strcmp((char *)puVar3[2],(char *)puVar17[2]), iVar6 == 0)) {\n              if (puVar17 != puVar3) goto LAB_0004ae88;\n              break;\n            }" if (parenthesized_expression "(((puVar3[1] == 0) ||\n                (uVar5 = bfd_elf_get_dyn_lib_class(puVar3[1]), (uVar5 & 1) == 0)) &&\n               (iVar6 = strcmp((char *)puVar3[2],(char *)puVar17[2]), iVar6 == 0))" ( (binary_expression "((puVar3[1] == 0) ||\n                (uVar5 = bfd_elf_get_dyn_lib_class(puVar3[1]), (uVar5 & 1) == 0)) &&\n               (iVar6 = strcmp((char *)puVar3[2],(char *)puVar17[2]), iVar6 == 0)" (parenthesized_expression "((puVar3[1] == 0) ||\n                (uVar5 = bfd_elf_get_dyn_lib_class(puVar3[1]), (uVar5 & 1) == 0))" ( (binary_expression "(puVar3[1] == 0) ||\n                (uVar5 = bfd_elf_get_dyn_lib_class(puVar3[1]), (uVar5 & 1) == 0)" (parenthesized_expression "(puVar3[1] == 0)" ( (binary_expression "puVar3[1] == 0" (subscript_expression "puVar3[1]" identifier [ number_literal ]) == number_literal) )) || (parenthesized_expression "(uVar5 = bfd_elf_get_dyn_lib_class(puVar3[1]), (uVar5 & 1) == 0)" ( (comma_expression "uVar5 = bfd_elf_get_dyn_lib_class(puVar3[1]), (uVar5 & 1) == 0" (assignment_expression "uVar5 = bfd_elf_get_dyn_lib_class(puVar3[1])" identifier = (call_expression "bfd_elf_get_dyn_lib_class(puVar3[1])" identifier (argument_list "(puVar3[1])" ( (subscript_expression "puVar3[1]" identifier [ number_literal ]) )))) , (binary_expression "(uVar5 & 1) == 0" (parenthesized_expression "(uVar5 & 1)" ( (binary_expression "uVar5 & 1" identifier & number_literal) )) == number_literal)) ))) )) && (parenthesized_expression "(iVar6 = strcmp((char *)puVar3[2],(char *)puVar17[2]), iVar6 == 0)" ( (comma_expression "iVar6 = strcmp((char *)puVar3[2],(char *)puVar17[2]), iVar6 == 0" (assignment_expression "iVar6 = strcmp((char *)puVar3[2],(char *)puVar17[2])" identifier = (call_expression "strcmp((char *)puVar3[2],(char *)puVar17[2])" identifier (argument_list "((char *)puVar3[2],(char *)puVar17[2])" ( (cast_expression "(char *)puVar3[2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar3[2]" identifier [ number_literal ])) , (cast_expression "(char *)puVar17[2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar17[2]" identifier [ number_literal ])) )))) , (binary_expression "iVar6 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n              if (puVar17 != puVar3) goto LAB_0004ae88;\n              break;\n            }" { (if_statement "if (puVar17 != puVar3) goto LAB_0004ae88;" if (parenthesized_expression "(puVar17 != puVar3)" ( (binary_expression "puVar17 != puVar3" identifier != identifier) )) (goto_statement "goto LAB_0004ae88;" goto statement_identifier ;)) (break_statement "break;" break ;) })) })) (expression_statement "DAT_0013d440 = 0;" (assignment_expression "DAT_0013d440 = 0" identifier = number_literal) ;) (expression_statement "DAT_0013d4c0 = puVar17;" (assignment_expression "DAT_0013d4c0 = puVar17" identifier = identifier) ;) (expression_statement "FUN_000264a0(FUN_0004a2c0);" (call_expression "FUN_000264a0(FUN_0004a2c0)" identifier (argument_list "(FUN_0004a2c0)" ( identifier ))) ;) (if_statement "if ((DAT_0013d440 == 0) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_0013d440 + 0x10)),\n             (uVar5 & 1) != 0)) {\n            uVar7 = puVar17[1];\n            uVar1 = puVar17[2];\n            if (DAT_0013d83c != 0) {\n              uVar13 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00033b70(uVar13,uVar1,uVar7);\n            }\n            if ((DAT_0013d440 == 0) || (iVar6 = FUN_0004a3c0(), iVar6 == 0)) {\n              bVar2 = false;\n              while (iVar6 = FUN_0004a6d0(), iVar6 == 0) {\n                if (DAT_0013d7a4 != 0) {\n                  pvVar8 = (void *)FUN_00048f50();\n                  iVar6 = FUN_0004a6d0();\n                  free(pvVar8);\n                  if (iVar6 != 0) break;\n                }\n                piVar9 = (int *)bfd_elf_get_runpath_list(DAT_0013d6f4,&DAT_0013d6c0);\n                if (piVar9 != (int *)0x0) {\n                  do {\n                    bVar22 = true;\n                    pvVar8 = (void *)FUN_00048f50();\n                    bVar20 = false;\n                    if (piVar9[1] == puVar17[1]) {\n                      iVar6 = FUN_0004a6d0();\n                      bVar22 = iVar6 == 0;\n                      bVar20 = !bVar22;\n                    }\n                    free(pvVar8);\n                    piVar9 = (int *)*piVar9;\n                  } while ((piVar9 != (int *)0x0) && (bVar22));\n                  if (bVar20) break;\n                }\n                if (DAT_0013d424 == 0) {\n                  pvVar8 = (void *)concat(DAT_0013d75c,"/usr/etc/ld.so.conf",0);\n                  iVar6 = FUN_00049060();\n                  if (iVar6 == 0) {\n                    free(pvVar8);\n                    pvVar8 = (void *)concat(DAT_0013d75c,"/etc/ld.so.conf",0);\n                    FUN_00049060();\n                  }\n                  free(pvVar8);\n                  DAT_0013d424 = 1;\n                }\n                pcVar12 = (char *)puVar17[2];\n                if (DAT_0013d420 != 0) {\n                  iVar6 = FUN_0004a6d0();\n                  if (iVar6 != 0) break;\n                  pcVar12 = (char *)puVar17[2];\n                }\n                sVar10 = strlen(pcVar12);\n                if (DAT_0013d8e4 != (int *)0x0) {\n                  piVar9 = DAT_0013d8e4;\n                  do {\n                    if (piVar9[2] == 0) {\n                      sVar11 = strlen((char *)piVar9[1]);\n                      pcVar12 = (char *)xmalloc(sVar11 + sVar10 + 2);\n                      sprintf(pcVar12,"%s/%s",piVar9[1],puVar17[2]);\n                      iVar6 = FUN_0004a3c0();\n                      if (iVar6 != 0) goto LAB_0004ae88;\n                      free(pcVar12);\n                    }\n                    piVar9 = (int *)*piVar9;\n                  } while (piVar9 != (int *)0x0);\n                }\n                if (bVar2) {\n                  uVar7 = puVar17[1];\n                  uVar1 = puVar17[2];\n                  uVar13 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00033ba0(uVar13,uVar1,uVar7);\n                  break;\n                }\n                bVar2 = true;\n              }\n            }\n          }" if (parenthesized_expression "((DAT_0013d440 == 0) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_0013d440 + 0x10)),\n             (uVar5 & 1) != 0))" ( (binary_expression "(DAT_0013d440 == 0) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_0013d440 + 0x10)),\n             (uVar5 & 1) != 0)" (parenthesized_expression "(DAT_0013d440 == 0)" ( (binary_expression "DAT_0013d440 == 0" identifier == number_literal) )) || (parenthesized_expression "(uVar5 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_0013d440 + 0x10)),\n             (uVar5 & 1) != 0)" ( (comma_expression "uVar5 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_0013d440 + 0x10)),\n             (uVar5 & 1) != 0" (assignment_expression "uVar5 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_0013d440 + 0x10))" identifier = (call_expression "bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_0013d440 + 0x10))" identifier (argument_list "(*(undefined4 *)(DAT_0013d440 + 0x10))" ( (pointer_expression "*(undefined4 *)(DAT_0013d440 + 0x10)" * (cast_expression "(undefined4 *)(DAT_0013d440 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0013d440 + 0x10)" ( (binary_expression "DAT_0013d440 + 0x10" identifier + number_literal) )))) )))) , (binary_expression "(uVar5 & 1) != 0" (parenthesized_expression "(uVar5 & 1)" ( (binary_expression "uVar5 & 1" identifier & number_literal) )) != number_literal)) ))) )) (compound_statement "{\n            uVar7 = puVar17[1];\n            uVar1 = puVar17[2];\n            if (DAT_0013d83c != 0) {\n              uVar13 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00033b70(uVar13,uVar1,uVar7);\n            }\n            if ((DAT_0013d440 == 0) || (iVar6 = FUN_0004a3c0(), iVar6 == 0)) {\n              bVar2 = false;\n              while (iVar6 = FUN_0004a6d0(), iVar6 == 0) {\n                if (DAT_0013d7a4 != 0) {\n                  pvVar8 = (void *)FUN_00048f50();\n                  iVar6 = FUN_0004a6d0();\n                  free(pvVar8);\n                  if (iVar6 != 0) break;\n                }\n                piVar9 = (int *)bfd_elf_get_runpath_list(DAT_0013d6f4,&DAT_0013d6c0);\n                if (piVar9 != (int *)0x0) {\n                  do {\n                    bVar22 = true;\n                    pvVar8 = (void *)FUN_00048f50();\n                    bVar20 = false;\n                    if (piVar9[1] == puVar17[1]) {\n                      iVar6 = FUN_0004a6d0();\n                      bVar22 = iVar6 == 0;\n                      bVar20 = !bVar22;\n                    }\n                    free(pvVar8);\n                    piVar9 = (int *)*piVar9;\n                  } while ((piVar9 != (int *)0x0) && (bVar22));\n                  if (bVar20) break;\n                }\n                if (DAT_0013d424 == 0) {\n                  pvVar8 = (void *)concat(DAT_0013d75c,"/usr/etc/ld.so.conf",0);\n                  iVar6 = FUN_00049060();\n                  if (iVar6 == 0) {\n                    free(pvVar8);\n                    pvVar8 = (void *)concat(DAT_0013d75c,"/etc/ld.so.conf",0);\n                    FUN_00049060();\n                  }\n                  free(pvVar8);\n                  DAT_0013d424 = 1;\n                }\n                pcVar12 = (char *)puVar17[2];\n                if (DAT_0013d420 != 0) {\n                  iVar6 = FUN_0004a6d0();\n                  if (iVar6 != 0) break;\n                  pcVar12 = (char *)puVar17[2];\n                }\n                sVar10 = strlen(pcVar12);\n                if (DAT_0013d8e4 != (int *)0x0) {\n                  piVar9 = DAT_0013d8e4;\n                  do {\n                    if (piVar9[2] == 0) {\n                      sVar11 = strlen((char *)piVar9[1]);\n                      pcVar12 = (char *)xmalloc(sVar11 + sVar10 + 2);\n                      sprintf(pcVar12,"%s/%s",piVar9[1],puVar17[2]);\n                      iVar6 = FUN_0004a3c0();\n                      if (iVar6 != 0) goto LAB_0004ae88;\n                      free(pcVar12);\n                    }\n                    piVar9 = (int *)*piVar9;\n                  } while (piVar9 != (int *)0x0);\n                }\n                if (bVar2) {\n                  uVar7 = puVar17[1];\n                  uVar1 = puVar17[2];\n                  uVar13 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00033ba0(uVar13,uVar1,uVar7);\n                  break;\n                }\n                bVar2 = true;\n              }\n            }\n          }" { (expression_statement "uVar7 = puVar17[1];" (assignment_expression "uVar7 = puVar17[1]" identifier = (subscript_expression "puVar17[1]" identifier [ number_literal ])) ;) (expression_statement "uVar1 = puVar17[2];" (assignment_expression "uVar1 = puVar17[2]" identifier = (subscript_expression "puVar17[2]" identifier [ number_literal ])) ;) (if_statement "if (DAT_0013d83c != 0) {\n              uVar13 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00033b70(uVar13,uVar1,uVar7);\n            }" if (parenthesized_expression "(DAT_0013d83c != 0)" ( (binary_expression "DAT_0013d83c != 0" identifier != number_literal) )) (compound_statement "{\n              uVar13 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00033b70(uVar13,uVar1,uVar7);\n            }" { (expression_statement "uVar13 = dcgettext(0,"%s needed by %pB\n",5);" (assignment_expression "uVar13 = 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_00033b70(uVar13,uVar1,uVar7);" (call_expression "FUN_00033b70(uVar13,uVar1,uVar7)" identifier (argument_list "(uVar13,uVar1,uVar7)" ( identifier , identifier , identifier ))) ;) })) (if_statement "if ((DAT_0013d440 == 0) || (iVar6 = FUN_0004a3c0(), iVar6 == 0)) {\n              bVar2 = false;\n              while (iVar6 = FUN_0004a6d0(), iVar6 == 0) {\n                if (DAT_0013d7a4 != 0) {\n                  pvVar8 = (void *)FUN_00048f50();\n                  iVar6 = FUN_0004a6d0();\n                  free(pvVar8);\n                  if (iVar6 != 0) break;\n                }\n                piVar9 = (int *)bfd_elf_get_runpath_list(DAT_0013d6f4,&DAT_0013d6c0);\n                if (piVar9 != (int *)0x0) {\n                  do {\n                    bVar22 = true;\n                    pvVar8 = (void *)FUN_00048f50();\n                    bVar20 = false;\n                    if (piVar9[1] == puVar17[1]) {\n                      iVar6 = FUN_0004a6d0();\n                      bVar22 = iVar6 == 0;\n                      bVar20 = !bVar22;\n                    }\n                    free(pvVar8);\n                    piVar9 = (int *)*piVar9;\n                  } while ((piVar9 != (int *)0x0) && (bVar22));\n                  if (bVar20) break;\n                }\n                if (DAT_0013d424 == 0) {\n                  pvVar8 = (void *)concat(DAT_0013d75c,"/usr/etc/ld.so.conf",0);\n                  iVar6 = FUN_00049060();\n                  if (iVar6 == 0) {\n                    free(pvVar8);\n                    pvVar8 = (void *)concat(DAT_0013d75c,"/etc/ld.so.conf",0);\n                    FUN_00049060();\n                  }\n                  free(pvVar8);\n                  DAT_0013d424 = 1;\n                }\n                pcVar12 = (char *)puVar17[2];\n                if (DAT_0013d420 != 0) {\n                  iVar6 = FUN_0004a6d0();\n                  if (iVar6 != 0) break;\n                  pcVar12 = (char *)puVar17[2];\n                }\n                sVar10 = strlen(pcVar12);\n                if (DAT_0013d8e4 != (int *)0x0) {\n                  piVar9 = DAT_0013d8e4;\n                  do {\n                    if (piVar9[2] == 0) {\n                      sVar11 = strlen((char *)piVar9[1]);\n                      pcVar12 = (char *)xmalloc(sVar11 + sVar10 + 2);\n                      sprintf(pcVar12,"%s/%s",piVar9[1],puVar17[2]);\n                      iVar6 = FUN_0004a3c0();\n                      if (iVar6 != 0) goto LAB_0004ae88;\n                      free(pcVar12);\n                    }\n                    piVar9 = (int *)*piVar9;\n                  } while (piVar9 != (int *)0x0);\n                }\n                if (bVar2) {\n                  uVar7 = puVar17[1];\n                  uVar1 = puVar17[2];\n                  uVar13 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00033ba0(uVar13,uVar1,uVar7);\n                  break;\n                }\n                bVar2 = true;\n              }\n            }" if (parenthesized_expression "((DAT_0013d440 == 0) || (iVar6 = FUN_0004a3c0(), iVar6 == 0))" ( (binary_expression "(DAT_0013d440 == 0) || (iVar6 = FUN_0004a3c0(), iVar6 == 0)" (parenthesized_expression "(DAT_0013d440 == 0)" ( (binary_expression "DAT_0013d440 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar6 = FUN_0004a3c0(), iVar6 == 0)" ( (comma_expression "iVar6 = FUN_0004a3c0(), iVar6 == 0" (assignment_expression "iVar6 = FUN_0004a3c0()" identifier = (call_expression "FUN_0004a3c0()" identifier (argument_list "()" ( )))) , (binary_expression "iVar6 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n              bVar2 = false;\n              while (iVar6 = FUN_0004a6d0(), iVar6 == 0) {\n                if (DAT_0013d7a4 != 0) {\n                  pvVar8 = (void *)FUN_00048f50();\n                  iVar6 = FUN_0004a6d0();\n                  free(pvVar8);\n                  if (iVar6 != 0) break;\n                }\n                piVar9 = (int *)bfd_elf_get_runpath_list(DAT_0013d6f4,&DAT_0013d6c0);\n                if (piVar9 != (int *)0x0) {\n                  do {\n                    bVar22 = true;\n                    pvVar8 = (void *)FUN_00048f50();\n                    bVar20 = false;\n                    if (piVar9[1] == puVar17[1]) {\n                      iVar6 = FUN_0004a6d0();\n                      bVar22 = iVar6 == 0;\n                      bVar20 = !bVar22;\n                    }\n                    free(pvVar8);\n                    piVar9 = (int *)*piVar9;\n                  } while ((piVar9 != (int *)0x0) && (bVar22));\n                  if (bVar20) break;\n                }\n                if (DAT_0013d424 == 0) {\n                  pvVar8 = (void *)concat(DAT_0013d75c,"/usr/etc/ld.so.conf",0);\n                  iVar6 = FUN_00049060();\n                  if (iVar6 == 0) {\n                    free(pvVar8);\n                    pvVar8 = (void *)concat(DAT_0013d75c,"/etc/ld.so.conf",0);\n                    FUN_00049060();\n                  }\n                  free(pvVar8);\n                  DAT_0013d424 = 1;\n                }\n                pcVar12 = (char *)puVar17[2];\n                if (DAT_0013d420 != 0) {\n                  iVar6 = FUN_0004a6d0();\n                  if (iVar6 != 0) break;\n                  pcVar12 = (char *)puVar17[2];\n                }\n                sVar10 = strlen(pcVar12);\n                if (DAT_0013d8e4 != (int *)0x0) {\n                  piVar9 = DAT_0013d8e4;\n                  do {\n                    if (piVar9[2] == 0) {\n                      sVar11 = strlen((char *)piVar9[1]);\n                      pcVar12 = (char *)xmalloc(sVar11 + sVar10 + 2);\n                      sprintf(pcVar12,"%s/%s",piVar9[1],puVar17[2]);\n                      iVar6 = FUN_0004a3c0();\n                      if (iVar6 != 0) goto LAB_0004ae88;\n                      free(pcVar12);\n                    }\n                    piVar9 = (int *)*piVar9;\n                  } while (piVar9 != (int *)0x0);\n                }\n                if (bVar2) {\n                  uVar7 = puVar17[1];\n                  uVar1 = puVar17[2];\n                  uVar13 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00033ba0(uVar13,uVar1,uVar7);\n                  break;\n                }\n                bVar2 = true;\n              }\n            }" { (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" identifier = false) ;) (while_statement "while (iVar6 = FUN_0004a6d0(), iVar6 == 0) {\n                if (DAT_0013d7a4 != 0) {\n                  pvVar8 = (void *)FUN_00048f50();\n                  iVar6 = FUN_0004a6d0();\n                  free(pvVar8);\n                  if (iVar6 != 0) break;\n                }\n                piVar9 = (int *)bfd_elf_get_runpath_list(DAT_0013d6f4,&DAT_0013d6c0);\n                if (piVar9 != (int *)0x0) {\n                  do {\n                    bVar22 = true;\n                    pvVar8 = (void *)FUN_00048f50();\n                    bVar20 = false;\n                    if (piVar9[1] == puVar17[1]) {\n                      iVar6 = FUN_0004a6d0();\n                      bVar22 = iVar6 == 0;\n                      bVar20 = !bVar22;\n                    }\n                    free(pvVar8);\n                    piVar9 = (int *)*piVar9;\n                  } while ((piVar9 != (int *)0x0) && (bVar22));\n                  if (bVar20) break;\n                }\n                if (DAT_0013d424 == 0) {\n                  pvVar8 = (void *)concat(DAT_0013d75c,"/usr/etc/ld.so.conf",0);\n                  iVar6 = FUN_00049060();\n                  if (iVar6 == 0) {\n                    free(pvVar8);\n                    pvVar8 = (void *)concat(DAT_0013d75c,"/etc/ld.so.conf",0);\n                    FUN_00049060();\n                  }\n                  free(pvVar8);\n                  DAT_0013d424 = 1;\n                }\n                pcVar12 = (char *)puVar17[2];\n                if (DAT_0013d420 != 0) {\n                  iVar6 = FUN_0004a6d0();\n                  if (iVar6 != 0) break;\n                  pcVar12 = (char *)puVar17[2];\n                }\n                sVar10 = strlen(pcVar12);\n                if (DAT_0013d8e4 != (int *)0x0) {\n                  piVar9 = DAT_0013d8e4;\n                  do {\n                    if (piVar9[2] == 0) {\n                      sVar11 = strlen((char *)piVar9[1]);\n                      pcVar12 = (char *)xmalloc(sVar11 + sVar10 + 2);\n                      sprintf(pcVar12,"%s/%s",piVar9[1],puVar17[2]);\n                      iVar6 = FUN_0004a3c0();\n                      if (iVar6 != 0) goto LAB_0004ae88;\n                      free(pcVar12);\n                    }\n                    piVar9 = (int *)*piVar9;\n                  } while (piVar9 != (int *)0x0);\n                }\n                if (bVar2) {\n                  uVar7 = puVar17[1];\n                  uVar1 = puVar17[2];\n                  uVar13 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00033ba0(uVar13,uVar1,uVar7);\n                  break;\n                }\n                bVar2 = true;\n              }" while (parenthesized_expression "(iVar6 = FUN_0004a6d0(), iVar6 == 0)" ( (comma_expression "iVar6 = FUN_0004a6d0(), iVar6 == 0" (assignment_expression "iVar6 = FUN_0004a6d0()" identifier = (call_expression "FUN_0004a6d0()" identifier (argument_list "()" ( )))) , (binary_expression "iVar6 == 0" identifier == number_literal)) )) (compound_statement "{\n                if (DAT_0013d7a4 != 0) {\n                  pvVar8 = (void *)FUN_00048f50();\n                  iVar6 = FUN_0004a6d0();\n                  free(pvVar8);\n                  if (iVar6 != 0) break;\n                }\n                piVar9 = (int *)bfd_elf_get_runpath_list(DAT_0013d6f4,&DAT_0013d6c0);\n                if (piVar9 != (int *)0x0) {\n                  do {\n                    bVar22 = true;\n                    pvVar8 = (void *)FUN_00048f50();\n                    bVar20 = false;\n                    if (piVar9[1] == puVar17[1]) {\n                      iVar6 = FUN_0004a6d0();\n                      bVar22 = iVar6 == 0;\n                      bVar20 = !bVar22;\n                    }\n                    free(pvVar8);\n                    piVar9 = (int *)*piVar9;\n                  } while ((piVar9 != (int *)0x0) && (bVar22));\n                  if (bVar20) break;\n                }\n                if (DAT_0013d424 == 0) {\n                  pvVar8 = (void *)concat(DAT_0013d75c,"/usr/etc/ld.so.conf",0);\n                  iVar6 = FUN_00049060();\n                  if (iVar6 == 0) {\n                    free(pvVar8);\n                    pvVar8 = (void *)concat(DAT_0013d75c,"/etc/ld.so.conf",0);\n                    FUN_00049060();\n                  }\n                  free(pvVar8);\n                  DAT_0013d424 = 1;\n                }\n                pcVar12 = (char *)puVar17[2];\n                if (DAT_0013d420 != 0) {\n                  iVar6 = FUN_0004a6d0();\n                  if (iVar6 != 0) break;\n                  pcVar12 = (char *)puVar17[2];\n                }\n                sVar10 = strlen(pcVar12);\n                if (DAT_0013d8e4 != (int *)0x0) {\n                  piVar9 = DAT_0013d8e4;\n                  do {\n                    if (piVar9[2] == 0) {\n                      sVar11 = strlen((char *)piVar9[1]);\n                      pcVar12 = (char *)xmalloc(sVar11 + sVar10 + 2);\n                      sprintf(pcVar12,"%s/%s",piVar9[1],puVar17[2]);\n                      iVar6 = FUN_0004a3c0();\n                      if (iVar6 != 0) goto LAB_0004ae88;\n                      free(pcVar12);\n                    }\n                    piVar9 = (int *)*piVar9;\n                  } while (piVar9 != (int *)0x0);\n                }\n                if (bVar2) {\n                  uVar7 = puVar17[1];\n                  uVar1 = puVar17[2];\n                  uVar13 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00033ba0(uVar13,uVar1,uVar7);\n                  break;\n                }\n                bVar2 = true;\n              }" { (if_statement "if (DAT_0013d7a4 != 0) {\n                  pvVar8 = (void *)FUN_00048f50();\n                  iVar6 = FUN_0004a6d0();\n                  free(pvVar8);\n                  if (iVar6 != 0) break;\n                }" if (parenthesized_expression "(DAT_0013d7a4 != 0)" ( (binary_expression "DAT_0013d7a4 != 0" identifier != number_literal) )) (compound_statement "{\n                  pvVar8 = (void *)FUN_00048f50();\n                  iVar6 = FUN_0004a6d0();\n                  free(pvVar8);\n                  if (iVar6 != 0) break;\n                }" { (expression_statement "pvVar8 = (void *)FUN_00048f50();" (assignment_expression "pvVar8 = (void *)FUN_00048f50()" identifier = (cast_expression "(void *)FUN_00048f50()" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00048f50()" identifier (argument_list "()" ( ))))) ;) (expression_statement "iVar6 = FUN_0004a6d0();" (assignment_expression "iVar6 = FUN_0004a6d0()" identifier = (call_expression "FUN_0004a6d0()" identifier (argument_list "()" ( )))) ;) (expression_statement "free(pvVar8);" (call_expression "free(pvVar8)" identifier (argument_list "(pvVar8)" ( identifier ))) ;) (if_statement "if (iVar6 != 0) break;" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (break_statement "break;" break ;)) })) (expression_statement "piVar9 = (int *)bfd_elf_get_runpath_list(DAT_0013d6f4,&DAT_0013d6c0);" (assignment_expression "piVar9 = (int *)bfd_elf_get_runpath_list(DAT_0013d6f4,&DAT_0013d6c0)" identifier = (cast_expression "(int *)bfd_elf_get_runpath_list(DAT_0013d6f4,&DAT_0013d6c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "bfd_elf_get_runpath_list(DAT_0013d6f4,&DAT_0013d6c0)" identifier (argument_list "(DAT_0013d6f4,&DAT_0013d6c0)" ( identifier , (pointer_expression "&DAT_0013d6c0" & identifier) ))))) ;) (if_statement "if (piVar9 != (int *)0x0) {\n                  do {\n                    bVar22 = true;\n                    pvVar8 = (void *)FUN_00048f50();\n                    bVar20 = false;\n                    if (piVar9[1] == puVar17[1]) {\n                      iVar6 = FUN_0004a6d0();\n                      bVar22 = iVar6 == 0;\n                      bVar20 = !bVar22;\n                    }\n                    free(pvVar8);\n                    piVar9 = (int *)*piVar9;\n                  } while ((piVar9 != (int *)0x0) && (bVar22));\n                  if (bVar20) break;\n                }" if (parenthesized_expression "(piVar9 != (int *)0x0)" ( (binary_expression "piVar9 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  do {\n                    bVar22 = true;\n                    pvVar8 = (void *)FUN_00048f50();\n                    bVar20 = false;\n                    if (piVar9[1] == puVar17[1]) {\n                      iVar6 = FUN_0004a6d0();\n                      bVar22 = iVar6 == 0;\n                      bVar20 = !bVar22;\n                    }\n                    free(pvVar8);\n                    piVar9 = (int *)*piVar9;\n                  } while ((piVar9 != (int *)0x0) && (bVar22));\n                  if (bVar20) break;\n                }" { (do_statement "do {\n                    bVar22 = true;\n                    pvVar8 = (void *)FUN_00048f50();\n                    bVar20 = false;\n                    if (piVar9[1] == puVar17[1]) {\n                      iVar6 = FUN_0004a6d0();\n                      bVar22 = iVar6 == 0;\n                      bVar20 = !bVar22;\n                    }\n                    free(pvVar8);\n                    piVar9 = (int *)*piVar9;\n                  } while ((piVar9 != (int *)0x0) && (bVar22));" do (compound_statement "{\n                    bVar22 = true;\n                    pvVar8 = (void *)FUN_00048f50();\n                    bVar20 = false;\n                    if (piVar9[1] == puVar17[1]) {\n                      iVar6 = FUN_0004a6d0();\n                      bVar22 = iVar6 == 0;\n                      bVar20 = !bVar22;\n                    }\n                    free(pvVar8);\n                    piVar9 = (int *)*piVar9;\n                  }" { (expression_statement "bVar22 = true;" (assignment_expression "bVar22 = true" identifier = true) ;) (expression_statement "pvVar8 = (void *)FUN_00048f50();" (assignment_expression "pvVar8 = (void *)FUN_00048f50()" identifier = (cast_expression "(void *)FUN_00048f50()" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00048f50()" identifier (argument_list "()" ( ))))) ;) (expression_statement "bVar20 = false;" (assignment_expression "bVar20 = false" identifier = false) ;) (if_statement "if (piVar9[1] == puVar17[1]) {\n                      iVar6 = FUN_0004a6d0();\n                      bVar22 = iVar6 == 0;\n                      bVar20 = !bVar22;\n                    }" if (parenthesized_expression "(piVar9[1] == puVar17[1])" ( (binary_expression "piVar9[1] == puVar17[1]" (subscript_expression "piVar9[1]" identifier [ number_literal ]) == (subscript_expression "puVar17[1]" identifier [ number_literal ])) )) (compound_statement "{\n                      iVar6 = FUN_0004a6d0();\n                      bVar22 = iVar6 == 0;\n                      bVar20 = !bVar22;\n                    }" { (expression_statement "iVar6 = FUN_0004a6d0();" (assignment_expression "iVar6 = FUN_0004a6d0()" identifier = (call_expression "FUN_0004a6d0()" identifier (argument_list "()" ( )))) ;) (expression_statement "bVar22 = iVar6 == 0;" (assignment_expression "bVar22 = iVar6 == 0" identifier = (binary_expression "iVar6 == 0" identifier == number_literal)) ;) (expression_statement "bVar20 = !bVar22;" (assignment_expression "bVar20 = !bVar22" identifier = (unary_expression "!bVar22" ! identifier)) ;) })) (expression_statement "free(pvVar8);" (call_expression "free(pvVar8)" identifier (argument_list "(pvVar8)" ( identifier ))) ;) (expression_statement "piVar9 = (int *)*piVar9;" (assignment_expression "piVar9 = (int *)*piVar9" identifier = (cast_expression "(int *)*piVar9" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar9" * identifier))) ;) }) while (parenthesized_expression "((piVar9 != (int *)0x0) && (bVar22))" ( (binary_expression "(piVar9 != (int *)0x0) && (bVar22)" (parenthesized_expression "(piVar9 != (int *)0x0)" ( (binary_expression "piVar9 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(bVar22)" ( identifier ))) )) ;) (if_statement "if (bVar20) break;" if (parenthesized_expression "(bVar20)" ( identifier )) (break_statement "break;" break ;)) })) (if_statement "if (DAT_0013d424 == 0) {\n                  pvVar8 = (void *)concat(DAT_0013d75c,"/usr/etc/ld.so.conf",0);\n                  iVar6 = FUN_00049060();\n                  if (iVar6 == 0) {\n                    free(pvVar8);\n                    pvVar8 = (void *)concat(DAT_0013d75c,"/etc/ld.so.conf",0);\n                    FUN_00049060();\n                  }\n                  free(pvVar8);\n                  DAT_0013d424 = 1;\n                }" if (parenthesized_expression "(DAT_0013d424 == 0)" ( (binary_expression "DAT_0013d424 == 0" identifier == number_literal) )) (compound_statement "{\n                  pvVar8 = (void *)concat(DAT_0013d75c,"/usr/etc/ld.so.conf",0);\n                  iVar6 = FUN_00049060();\n                  if (iVar6 == 0) {\n                    free(pvVar8);\n                    pvVar8 = (void *)concat(DAT_0013d75c,"/etc/ld.so.conf",0);\n                    FUN_00049060();\n                  }\n                  free(pvVar8);\n                  DAT_0013d424 = 1;\n                }" { (expression_statement "pvVar8 = (void *)concat(DAT_0013d75c,"/usr/etc/ld.so.conf",0);" (assignment_expression "pvVar8 = (void *)concat(DAT_0013d75c,"/usr/etc/ld.so.conf",0)" identifier = (cast_expression "(void *)concat(DAT_0013d75c,"/usr/etc/ld.so.conf",0)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "concat(DAT_0013d75c,"/usr/etc/ld.so.conf",0)" identifier (argument_list "(DAT_0013d75c,"/usr/etc/ld.so.conf",0)" ( identifier , (string_literal ""/usr/etc/ld.so.conf"" " string_content ") , number_literal ))))) ;) (expression_statement "iVar6 = FUN_00049060();" (assignment_expression "iVar6 = FUN_00049060()" identifier = (call_expression "FUN_00049060()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar6 == 0) {\n                    free(pvVar8);\n                    pvVar8 = (void *)concat(DAT_0013d75c,"/etc/ld.so.conf",0);\n                    FUN_00049060();\n                  }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n                    free(pvVar8);\n                    pvVar8 = (void *)concat(DAT_0013d75c,"/etc/ld.so.conf",0);\n                    FUN_00049060();\n                  }" { (expression_statement "free(pvVar8);" (call_expression "free(pvVar8)" identifier (argument_list "(pvVar8)" ( identifier ))) ;) (expression_statement "pvVar8 = (void *)concat(DAT_0013d75c,"/etc/ld.so.conf",0);" (assignment_expression "pvVar8 = (void *)concat(DAT_0013d75c,"/etc/ld.so.conf",0)" identifier = (cast_expression "(void *)concat(DAT_0013d75c,"/etc/ld.so.conf",0)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "concat(DAT_0013d75c,"/etc/ld.so.conf",0)" identifier (argument_list "(DAT_0013d75c,"/etc/ld.so.conf",0)" ( identifier , (string_literal ""/etc/ld.so.conf"" " string_content ") , number_literal ))))) ;) (expression_statement "FUN_00049060();" (call_expression "FUN_00049060()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "free(pvVar8);" (call_expression "free(pvVar8)" identifier (argument_list "(pvVar8)" ( identifier ))) ;) (expression_statement "DAT_0013d424 = 1;" (assignment_expression "DAT_0013d424 = 1" identifier = number_literal) ;) })) (expression_statement "pcVar12 = (char *)puVar17[2];" (assignment_expression "pcVar12 = (char *)puVar17[2]" identifier = (cast_expression "(char *)puVar17[2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar17[2]" identifier [ number_literal ]))) ;) (if_statement "if (DAT_0013d420 != 0) {\n                  iVar6 = FUN_0004a6d0();\n                  if (iVar6 != 0) break;\n                  pcVar12 = (char *)puVar17[2];\n                }" if (parenthesized_expression "(DAT_0013d420 != 0)" ( (binary_expression "DAT_0013d420 != 0" identifier != number_literal) )) (compound_statement "{\n                  iVar6 = FUN_0004a6d0();\n                  if (iVar6 != 0) break;\n                  pcVar12 = (char *)puVar17[2];\n                }" { (expression_statement "iVar6 = FUN_0004a6d0();" (assignment_expression "iVar6 = FUN_0004a6d0()" identifier = (call_expression "FUN_0004a6d0()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar6 != 0) break;" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (break_statement "break;" break ;)) (expression_statement "pcVar12 = (char *)puVar17[2];" (assignment_expression "pcVar12 = (char *)puVar17[2]" identifier = (cast_expression "(char *)puVar17[2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar17[2]" identifier [ number_literal ]))) ;) })) (expression_statement "sVar10 = strlen(pcVar12);" (assignment_expression "sVar10 = strlen(pcVar12)" identifier = (call_expression "strlen(pcVar12)" identifier (argument_list "(pcVar12)" ( identifier )))) ;) (if_statement "if (DAT_0013d8e4 != (int *)0x0) {\n                  piVar9 = DAT_0013d8e4;\n                  do {\n                    if (piVar9[2] == 0) {\n                      sVar11 = strlen((char *)piVar9[1]);\n                      pcVar12 = (char *)xmalloc(sVar11 + sVar10 + 2);\n                      sprintf(pcVar12,"%s/%s",piVar9[1],puVar17[2]);\n                      iVar6 = FUN_0004a3c0();\n                      if (iVar6 != 0) goto LAB_0004ae88;\n                      free(pcVar12);\n                    }\n                    piVar9 = (int *)*piVar9;\n                  } while (piVar9 != (int *)0x0);\n                }" if (parenthesized_expression "(DAT_0013d8e4 != (int *)0x0)" ( (binary_expression "DAT_0013d8e4 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  piVar9 = DAT_0013d8e4;\n                  do {\n                    if (piVar9[2] == 0) {\n                      sVar11 = strlen((char *)piVar9[1]);\n                      pcVar12 = (char *)xmalloc(sVar11 + sVar10 + 2);\n                      sprintf(pcVar12,"%s/%s",piVar9[1],puVar17[2]);\n                      iVar6 = FUN_0004a3c0();\n                      if (iVar6 != 0) goto LAB_0004ae88;\n                      free(pcVar12);\n                    }\n                    piVar9 = (int *)*piVar9;\n                  } while (piVar9 != (int *)0x0);\n                }" { (expression_statement "piVar9 = DAT_0013d8e4;" (assignment_expression "piVar9 = DAT_0013d8e4" identifier = identifier) ;) (do_statement "do {\n                    if (piVar9[2] == 0) {\n                      sVar11 = strlen((char *)piVar9[1]);\n                      pcVar12 = (char *)xmalloc(sVar11 + sVar10 + 2);\n                      sprintf(pcVar12,"%s/%s",piVar9[1],puVar17[2]);\n                      iVar6 = FUN_0004a3c0();\n                      if (iVar6 != 0) goto LAB_0004ae88;\n                      free(pcVar12);\n                    }\n                    piVar9 = (int *)*piVar9;\n                  } while (piVar9 != (int *)0x0);" do (compound_statement "{\n                    if (piVar9[2] == 0) {\n                      sVar11 = strlen((char *)piVar9[1]);\n                      pcVar12 = (char *)xmalloc(sVar11 + sVar10 + 2);\n                      sprintf(pcVar12,"%s/%s",piVar9[1],puVar17[2]);\n                      iVar6 = FUN_0004a3c0();\n                      if (iVar6 != 0) goto LAB_0004ae88;\n                      free(pcVar12);\n                    }\n                    piVar9 = (int *)*piVar9;\n                  }" { (if_statement "if (piVar9[2] == 0) {\n                      sVar11 = strlen((char *)piVar9[1]);\n                      pcVar12 = (char *)xmalloc(sVar11 + sVar10 + 2);\n                      sprintf(pcVar12,"%s/%s",piVar9[1],puVar17[2]);\n                      iVar6 = FUN_0004a3c0();\n                      if (iVar6 != 0) goto LAB_0004ae88;\n                      free(pcVar12);\n                    }" if (parenthesized_expression "(piVar9[2] == 0)" ( (binary_expression "piVar9[2] == 0" (subscript_expression "piVar9[2]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                      sVar11 = strlen((char *)piVar9[1]);\n                      pcVar12 = (char *)xmalloc(sVar11 + sVar10 + 2);\n                      sprintf(pcVar12,"%s/%s",piVar9[1],puVar17[2]);\n                      iVar6 = FUN_0004a3c0();\n                      if (iVar6 != 0) goto LAB_0004ae88;\n                      free(pcVar12);\n                    }" { (expression_statement "sVar11 = strlen((char *)piVar9[1]);" (assignment_expression "sVar11 = strlen((char *)piVar9[1])" identifier = (call_expression "strlen((char *)piVar9[1])" identifier (argument_list "((char *)piVar9[1])" ( (cast_expression "(char *)piVar9[1]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar9[1]" identifier [ number_literal ])) )))) ;) (expression_statement "pcVar12 = (char *)xmalloc(sVar11 + sVar10 + 2);" (assignment_expression "pcVar12 = (char *)xmalloc(sVar11 + sVar10 + 2)" identifier = (cast_expression "(char *)xmalloc(sVar11 + sVar10 + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(sVar11 + sVar10 + 2)" identifier (argument_list "(sVar11 + sVar10 + 2)" ( (binary_expression "sVar11 + sVar10 + 2" (binary_expression "sVar11 + sVar10" identifier + identifier) + number_literal) ))))) ;) (expression_statement "sprintf(pcVar12,"%s/%s",piVar9[1],puVar17[2]);" (call_expression "sprintf(pcVar12,"%s/%s",piVar9[1],puVar17[2])" identifier (argument_list "(pcVar12,"%s/%s",piVar9[1],puVar17[2])" ( identifier , (string_literal ""%s/%s"" " string_content ") , (subscript_expression "piVar9[1]" identifier [ number_literal ]) , (subscript_expression "puVar17[2]" identifier [ number_literal ]) ))) ;) (expression_statement "iVar6 = FUN_0004a3c0();" (assignment_expression "iVar6 = FUN_0004a3c0()" identifier = (call_expression "FUN_0004a3c0()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar6 != 0) goto LAB_0004ae88;" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0004ae88;" goto statement_identifier ;)) (expression_statement "free(pcVar12);" (call_expression "free(pcVar12)" identifier (argument_list "(pcVar12)" ( identifier ))) ;) })) (expression_statement "piVar9 = (int *)*piVar9;" (assignment_expression "piVar9 = (int *)*piVar9" identifier = (cast_expression "(int *)*piVar9" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar9" * identifier))) ;) }) while (parenthesized_expression "(piVar9 != (int *)0x0)" ( (binary_expression "piVar9 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) })) (if_statement "if (bVar2) {\n                  uVar7 = puVar17[1];\n                  uVar1 = puVar17[2];\n                  uVar13 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00033ba0(uVar13,uVar1,uVar7);\n                  break;\n                }" if (parenthesized_expression "(bVar2)" ( identifier )) (compound_statement "{\n                  uVar7 = puVar17[1];\n                  uVar1 = puVar17[2];\n                  uVar13 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00033ba0(uVar13,uVar1,uVar7);\n                  break;\n                }" { (expression_statement "uVar7 = puVar17[1];" (assignment_expression "uVar7 = puVar17[1]" identifier = (subscript_expression "puVar17[1]" identifier [ number_literal ])) ;) (expression_statement "uVar1 = puVar17[2];" (assignment_expression "uVar1 = puVar17[2]" identifier = (subscript_expression "puVar17[2]" identifier [ number_literal ])) ;) (expression_statement "uVar13 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);" (assignment_expression "uVar13 = 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_00033ba0(uVar13,uVar1,uVar7);" (call_expression "FUN_00033ba0(uVar13,uVar1,uVar7)" identifier (argument_list "(uVar13,uVar1,uVar7)" ( identifier , identifier , identifier ))) ;) (break_statement "break;" break ;) })) (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" identifier = true) ;) })) })) })) })) (labeled_statement "LAB_0004ae88:" statement_identifier : (expression_statement "" ;)) })) (expression_statement "DAT_0013d6c3 = (byte)(_DAT_0013d6c2 >> 8);" (assignment_expression "DAT_0013d6c3 = (byte)(_DAT_0013d6c2 >> 8)" identifier = (call_expression "(byte)(_DAT_0013d6c2 >> 8)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(_DAT_0013d6c2 >> 8)" ( (binary_expression "_DAT_0013d6c2 >> 8" identifier >> number_literal) )))) ;) (expression_statement "bVar23 = DAT_0013d6c3 & 0xc0;" (assignment_expression "bVar23 = DAT_0013d6c3 & 0xc0" identifier = (binary_expression "DAT_0013d6c3 & 0xc0" identifier & number_literal)) ;) (if_statement "if ((bVar23 == 0x80) && (iVar6 = bfd_elf_parse_eh_frame_entries(0,&DAT_0013d6c0), iVar6 == 0))\n      {\n        uVar7 = dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);\n        FUN_00033ba0(uVar7);\n      }" if (parenthesized_expression "((bVar23 == 0x80) && (iVar6 = bfd_elf_parse_eh_frame_entries(0,&DAT_0013d6c0), iVar6 == 0))" ( (binary_expression "(bVar23 == 0x80) && (iVar6 = bfd_elf_parse_eh_frame_entries(0,&DAT_0013d6c0), iVar6 == 0)" (parenthesized_expression "(bVar23 == 0x80)" ( (binary_expression "bVar23 == 0x80" identifier == number_literal) )) && (parenthesized_expression "(iVar6 = bfd_elf_parse_eh_frame_entries(0,&DAT_0013d6c0), iVar6 == 0)" ( (comma_expression "iVar6 = bfd_elf_parse_eh_frame_entries(0,&DAT_0013d6c0), iVar6 == 0" (assignment_expression "iVar6 = bfd_elf_parse_eh_frame_entries(0,&DAT_0013d6c0)" identifier = (call_expression "bfd_elf_parse_eh_frame_entries(0,&DAT_0013d6c0)" identifier (argument_list "(0,&DAT_0013d6c0)" ( number_literal , (pointer_expression "&DAT_0013d6c0" & identifier) )))) , (binary_expression "iVar6 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n        uVar7 = dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);\n        FUN_00033ba0(uVar7);\n      }" { (expression_statement "uVar7 = dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);" (assignment_expression "uVar7 = 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_00033ba0(uVar7);" (call_expression "FUN_00033ba0(uVar7)" identifier (argument_list "(uVar7)" ( 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 (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 ;) (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 ") , (string_literal " string_content escape_sequence string_content escape_sequence string_content escape_sequence escape_sequence ") )))) ;) (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 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 (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) && (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ))) <= (binary_expression (parenthesized_expression ( IDENT )) - (subscript_expression IDENT [ 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 IDENT & 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 IDENT = (binary_expression (binary_expression IDENT & 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) ))))) ;) (for_statement for ( (assignment_expression IDENT = IDENT) ; (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ; (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ) (compound_statement { (expression_statement (assignment_expression IDENT = 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 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)) ))) )) )))) )) ))) )) (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 = 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 ;)) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & 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_0004ab30(void)\n\n{\n  undefined4 uVar1;\n  bool bVar2;\n  undefined4 *puVar3;\n  undefined4 *puVar4;\n  uint uVar5;\n  int iVar6;\n  undefined4 uVar7;\n  void *pvVar8;\n  int *piVar9;\n  size_t sVar10;\n  size_t sVar11;\n  char *pcVar12;\n  undefined4 uVar13;\n  int iVar14;\n  int iVar15;\n  int iVar16;\n  undefined4 *puVar17;\n  byte *pbVar18;\n  byte *pbVar19;\n  bool bVar20;\n  bool bVar21;\n  bool bVar22;\n  byte bVar23;\n  longlong lVar24;\n  int local_60;\n  int local_50;\n  int local_4c;\n  \n  bVar23 = 0;\n  FUN_000327c0();\n  iVar6 = DAT_0013d6e0;\n  if (*(int *)(DAT_0013d6e0 + 0x28) == 1) {\n    if (DAT_0013d780 != 0) {\n      unlink_if_ordinary(DAT_0013d780);\n      DAT_0013d6f8 = bfd_openw(DAT_0013d780,**(undefined4 **)(DAT_0013d6f4 + 4));\n      iVar14 = DAT_0013d780;\n      if (DAT_0013d6f8 == 0) {\n        uVar7 = dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);\n        FUN_00033ba0(uVar7,iVar14);\n      }\n    }\n    iVar16 = DAT_0013d6f4;\n    iVar14 = DAT_0013d6fc;\n    if (DAT_0013d42c != (void *)0x0) {\n      for (; iVar14 != 0; iVar14 = *(int *)(iVar14 + 0x9c)) {\n        if (((*(int *)(*(int *)(iVar14 + 4) + 4) == 5) && (*(int *)(iVar14 + 0x68) != 0)) &&\n           ((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0)) {\n          lVar24 = FUN_00037870(DAT_0013d42c);\n          if ((lVar24 == 0) || (lVar24 + 0x10 == 0)) {\n            pcVar12 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar14 = bfd_make_section_with_flags\n                               (iVar14,".note.gnu.build-id",\n                                "ttributes)) }\n  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }\n}\n\n"\n                               );\n            if (iVar14 != 0) {\n              *(undefined4 *)(iVar14 + 0x58) = 2;\n              iVar16 = DAT_0013d6f4;\n              iVar15 = *(int *)(*(int *)(DAT_0013d6f4 + 0xa0) + 0x9c0);\n              *(code **)(iVar15 + 0x10) = FUN_00048da0;\n              pvVar8 = DAT_0013d42c;\n              *(int *)(iVar15 + 0x18) = iVar14;\n              *(void **)(iVar15 + 0x14) = pvVar8;\n              *(undefined4 *)(*(int *)(iVar14 + 0xa4) + 4) = 7;\n              *(longlong *)(iVar14 + 0x2c) = lVar24 + 0x10;\n              goto LAB_0004ad04;\n            }\n            pcVar12 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          uVar7 = dcgettext(0,pcVar12,5);\n          FUN_00033ba0(uVar7);\n          break;\n        }\n      }\n      free(DAT_0013d42c);\n      DAT_0013d42c = (void *)0x0;\n      iVar16 = DAT_0013d6f4;\n    }\nLAB_0004ad04:\n    (**(code **)(*(int *)(*(int *)(iVar16 + 4) + 0x1c0) + 0x1d0))(&DAT_0013d6c0);\n    if ((DAT_0013d6c0 & 3) == 2) {\n      if (DAT_0013d6c5 >> 7 == (~DAT_0013d6c6 & 1)) {\n        bfd_make_section_with_flags(DAT_0013d6fc,".note.GNU-stack",DAT_0013d6c5 >> 3 & 0x10 | 8);\n      }\n    }\n    else {\n      if (((DAT_0013d6c4 & 0x20) == 0) && (DAT_0013d6fc != 0)) {\n        local_50 = 0;\n        bVar2 = false;\n        local_4c = 0;\n        iVar14 = DAT_0013d6fc;\n        do {\n          while ((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0) {\n            puVar17 = *(undefined4 **)(iVar14 + 0x60);\n            if (puVar17 == (undefined4 *)0x0) {\nLAB_0004b231:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar20 = (undefined *)puVar17[0x15] < PTR__bfd_std_section_0013bfc4 + 0x180;\n                bVar22 = (undefined *)puVar17[0x15] == PTR__bfd_std_section_0013bfc4 + 0x180;\n                iVar16 = local_60;\n                if (!bVar22) {\n                  iVar15 = 0xf;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar20 = *pbVar18 < *pbVar19;\n                    bVar22 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar22);\n                  bVar21 = false;\n                  bVar20 = (!bVar20 && !bVar22) == bVar20;\n                  if (bVar20) {\n                    local_60 = 2;\n                    goto LAB_0004b209;\n                  }\n                  iVar15 = 10;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar21 = *pbVar18 < *pbVar19;\n                    bVar20 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar20);\n                  if (((!bVar21 && !bVar20) == bVar21) &&\n                     (iVar16 = 1,\n                     puVar17[0xc] == 0 && (uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc])) {\n                    iVar16 = local_60;\n                  }\n                }\n                local_60 = iVar16;\n                puVar17 = (undefined4 *)puVar17[3];\n              } while (puVar17 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_0004b231;\nLAB_0004b209:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar14 = local_4c;\n                }\n                uVar7 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00033ba0(uVar7,iVar14);\n                goto LAB_0004b267;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_0004b231;\n              if (local_60 != 2) {\n                if ((_DAT_0013d6c2 & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar2 = true;\n                  if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                    local_4c = iVar14;\n                  }\n                }\n                break;\n              }\n              bVar2 = true;\n              if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                local_4c = iVar14;\n              }\n            }\n            iVar14 = *(int *)(iVar14 + 0x9c);\n            local_50 = 2;\n            _DAT_0013d6c2 = _DAT_0013d6c2 & 0x3fff | 0x8000;\n            if (iVar14 == 0) goto LAB_0004b267;\n          }\n          iVar14 = *(int *)(iVar14 + 0x9c);\n        } while (iVar14 != 0);\nLAB_0004b267:\n        if ((local_4c == 0) ||\n           (iVar14 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x30) | 8),\n           iVar14 == 0)) {\n          if (bVar2) {\n            uVar7 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00033ba0(uVar7);\n          }\n        }\n        else {\n          *(undefined4 *)(iVar14 + 0x58) = 2;\n          *(int *)(iVar6 + 0xd0) = iVar14;\n        }\n      }\n      puVar4 = (undefined4 *)bfd_elf_get_needed_list(DAT_0013d6f4,&DAT_0013d6c0);\n      for (puVar17 = puVar4; puVar17 != (undefined4 *)0x0; puVar17 = (undefined4 *)*puVar17) {\n        puVar3 = puVar4;\n        if ((puVar17[1] == 0) ||\n           ((uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 1) == 0 &&\n            (((puVar17[1] == 0 || ((_DAT_0013d6c2 & 0x180) != 0x80)) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 4) == 0)))))) {\n          for (; puVar3 != puVar17; puVar3 = (undefined4 *)*puVar3) {\n            if (((puVar3[1] == 0) ||\n                (uVar5 = bfd_elf_get_dyn_lib_class(puVar3[1]), (uVar5 & 1) == 0)) &&\n               (iVar6 = strcmp((char *)puVar3[2],(char *)puVar17[2]), iVar6 == 0)) {\n              if (puVar17 != puVar3) goto LAB_0004ae88;\n              break;\n            }\n          }\n          DAT_0013d440 = 0;\n          DAT_0013d4c0 = puVar17;\n          FUN_000264a0(FUN_0004a2c0);\n          if ((DAT_0013d440 == 0) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_0013d440 + 0x10)),\n             (uVar5 & 1) != 0)) {\n            uVar7 = puVar17[1];\n            uVar1 = puVar17[2];\n            if (DAT_0013d83c != 0) {\n              uVar13 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00033b70(uVar13,uVar1,uVar7);\n            }\n            if ((DAT_0013d440 == 0) || (iVar6 = FUN_0004a3c0(), iVar6 == 0)) {\n              bVar2 = false;\n              while (iVar6 = FUN_0004a6d0(), iVar6 == 0) {\n                if (DAT_0013d7a4 != 0) {\n                  pvVar8 = (void *)FUN_00048f50();\n                  iVar6 = FUN_0004a6d0();\n                  free(pvVar8);\n                  if (iVar6 != 0) break;\n                }\n                piVar9 = (int *)bfd_elf_get_runpath_list(DAT_0013d6f4,&DAT_0013d6c0);\n                if (piVar9 != (int *)0x0) {\n                  do {\n                    bVar22 = true;\n                    pvVar8 = (void *)FUN_00048f50();\n                    bVar20 = false;\n                    if (piVar9[1] == puVar17[1]) {\n                      iVar6 = FUN_0004a6d0();\n                      bVar22 = iVar6 == 0;\n                      bVar20 = !bVar22;\n                    }\n                    free(pvVar8);\n                    piVar9 = (int *)*piVar9;\n                  } while ((piVar9 != (int *)0x0) && (bVar22));\n                  if (bVar20) break;\n                }\n                if (DAT_0013d424 == 0) {\n                  pvVar8 = (void *)concat(DAT_0013d75c,"/usr/etc/ld.so.conf",0);\n                  iVar6 = FUN_00049060();\n                  if (iVar6 == 0) {\n                    free(pvVar8);\n                    pvVar8 = (void *)concat(DAT_0013d75c,"/etc/ld.so.conf",0);\n                    FUN_00049060();\n                  }\n                  free(pvVar8);\n                  DAT_0013d424 = 1;\n                }\n                pcVar12 = (char *)puVar17[2];\n                if (DAT_0013d420 != 0) {\n                  iVar6 = FUN_0004a6d0();\n                  if (iVar6 != 0) break;\n                  pcVar12 = (char *)puVar17[2];\n                }\n                sVar10 = strlen(pcVar12);\n                if (DAT_0013d8e4 != (int *)0x0) {\n                  piVar9 = DAT_0013d8e4;\n                  do {\n                    if (piVar9[2] == 0) {\n                      sVar11 = strlen((char *)piVar9[1]);\n                      pcVar12 = (char *)xmalloc(sVar11 + sVar10 + 2);\n                      sprintf(pcVar12,"%s/%s",piVar9[1],puVar17[2]);\n                      iVar6 = FUN_0004a3c0();\n                      if (iVar6 != 0) goto LAB_0004ae88;\n                      free(pcVar12);\n                    }\n                    piVar9 = (int *)*piVar9;\n                  } while (piVar9 != (int *)0x0);\n                }\n                if (bVar2) {\n                  uVar7 = puVar17[1];\n                  uVar1 = puVar17[2];\n                  uVar13 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00033ba0(uVar13,uVar1,uVar7);\n                  break;\n                }\n                bVar2 = true;\n              }\n            }\n          }\n        }\nLAB_0004ae88:\n      }\n      DAT_0013d6c3 = (byte)(_DAT_0013d6c2 >> 8);\n      bVar23 = DAT_0013d6c3 & 0xc0;\n      if ((bVar23 == 0x80) && (iVar6 = bfd_elf_parse_eh_frame_entries(0,&DAT_0013d6c0), iVar6 == 0))\n      {\n        uVar7 = dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);\n        FUN_00033ba0(uVar7);\n      }\n    }\n  }\n  return;\n}" (primitive_type "void") (function_declarator "FUN_0004ab30(void)" (identifier "FUN_0004ab30") (parameter_list "(void)" (( "(") (parameter_declaration "void" (primitive_type "void")) () ")"))) (compound_statement "{\n  undefined4 uVar1;\n  bool bVar2;\n  undefined4 *puVar3;\n  undefined4 *puVar4;\n  uint uVar5;\n  int iVar6;\n  undefined4 uVar7;\n  void *pvVar8;\n  int *piVar9;\n  size_t sVar10;\n  size_t sVar11;\n  char *pcVar12;\n  undefined4 uVar13;\n  int iVar14;\n  int iVar15;\n  int iVar16;\n  undefined4 *puVar17;\n  byte *pbVar18;\n  byte *pbVar19;\n  bool bVar20;\n  bool bVar21;\n  bool bVar22;\n  byte bVar23;\n  longlong lVar24;\n  int local_60;\n  int local_50;\n  int local_4c;\n  \n  bVar23 = 0;\n  FUN_000327c0();\n  iVar6 = DAT_0013d6e0;\n  if (*(int *)(DAT_0013d6e0 + 0x28) == 1) {\n    if (DAT_0013d780 != 0) {\n      unlink_if_ordinary(DAT_0013d780);\n      DAT_0013d6f8 = bfd_openw(DAT_0013d780,**(undefined4 **)(DAT_0013d6f4 + 4));\n      iVar14 = DAT_0013d780;\n      if (DAT_0013d6f8 == 0) {\n        uVar7 = dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);\n        FUN_00033ba0(uVar7,iVar14);\n      }\n    }\n    iVar16 = DAT_0013d6f4;\n    iVar14 = DAT_0013d6fc;\n    if (DAT_0013d42c != (void *)0x0) {\n      for (; iVar14 != 0; iVar14 = *(int *)(iVar14 + 0x9c)) {\n        if (((*(int *)(*(int *)(iVar14 + 4) + 4) == 5) && (*(int *)(iVar14 + 0x68) != 0)) &&\n           ((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0)) {\n          lVar24 = FUN_00037870(DAT_0013d42c);\n          if ((lVar24 == 0) || (lVar24 + 0x10 == 0)) {\n            pcVar12 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar14 = bfd_make_section_with_flags\n                               (iVar14,".note.gnu.build-id",\n                                "ttributes)) }\n  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }\n}\n\n"\n                               );\n            if (iVar14 != 0) {\n              *(undefined4 *)(iVar14 + 0x58) = 2;\n              iVar16 = DAT_0013d6f4;\n              iVar15 = *(int *)(*(int *)(DAT_0013d6f4 + 0xa0) + 0x9c0);\n              *(code **)(iVar15 + 0x10) = FUN_00048da0;\n              pvVar8 = DAT_0013d42c;\n              *(int *)(iVar15 + 0x18) = iVar14;\n              *(void **)(iVar15 + 0x14) = pvVar8;\n              *(undefined4 *)(*(int *)(iVar14 + 0xa4) + 4) = 7;\n              *(longlong *)(iVar14 + 0x2c) = lVar24 + 0x10;\n              goto LAB_0004ad04;\n            }\n            pcVar12 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          uVar7 = dcgettext(0,pcVar12,5);\n          FUN_00033ba0(uVar7);\n          break;\n        }\n      }\n      free(DAT_0013d42c);\n      DAT_0013d42c = (void *)0x0;\n      iVar16 = DAT_0013d6f4;\n    }\nLAB_0004ad04:\n    (**(code **)(*(int *)(*(int *)(iVar16 + 4) + 0x1c0) + 0x1d0))(&DAT_0013d6c0);\n    if ((DAT_0013d6c0 & 3) == 2) {\n      if (DAT_0013d6c5 >> 7 == (~DAT_0013d6c6 & 1)) {\n        bfd_make_section_with_flags(DAT_0013d6fc,".note.GNU-stack",DAT_0013d6c5 >> 3 & 0x10 | 8);\n      }\n    }\n    else {\n      if (((DAT_0013d6c4 & 0x20) == 0) && (DAT_0013d6fc != 0)) {\n        local_50 = 0;\n        bVar2 = false;\n        local_4c = 0;\n        iVar14 = DAT_0013d6fc;\n        do {\n          while ((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0) {\n            puVar17 = *(undefined4 **)(iVar14 + 0x60);\n            if (puVar17 == (undefined4 *)0x0) {\nLAB_0004b231:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar20 = (undefined *)puVar17[0x15] < PTR__bfd_std_section_0013bfc4 + 0x180;\n                bVar22 = (undefined *)puVar17[0x15] == PTR__bfd_std_section_0013bfc4 + 0x180;\n                iVar16 = local_60;\n                if (!bVar22) {\n                  iVar15 = 0xf;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar20 = *pbVar18 < *pbVar19;\n                    bVar22 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar22);\n                  bVar21 = false;\n                  bVar20 = (!bVar20 && !bVar22) == bVar20;\n                  if (bVar20) {\n                    local_60 = 2;\n                    goto LAB_0004b209;\n                  }\n                  iVar15 = 10;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar21 = *pbVar18 < *pbVar19;\n                    bVar20 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar20);\n                  if (((!bVar21 && !bVar20) == bVar21) &&\n                     (iVar16 = 1,\n                     puVar17[0xc] == 0 && (uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc])) {\n                    iVar16 = local_60;\n                  }\n                }\n                local_60 = iVar16;\n                puVar17 = (undefined4 *)puVar17[3];\n              } while (puVar17 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_0004b231;\nLAB_0004b209:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar14 = local_4c;\n                }\n                uVar7 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00033ba0(uVar7,iVar14);\n                goto LAB_0004b267;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_0004b231;\n              if (local_60 != 2) {\n                if ((_DAT_0013d6c2 & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar2 = true;\n                  if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                    local_4c = iVar14;\n                  }\n                }\n                break;\n              }\n              bVar2 = true;\n              if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                local_4c = iVar14;\n              }\n            }\n            iVar14 = *(int *)(iVar14 + 0x9c);\n            local_50 = 2;\n            _DAT_0013d6c2 = _DAT_0013d6c2 & 0x3fff | 0x8000;\n            if (iVar14 == 0) goto LAB_0004b267;\n          }\n          iVar14 = *(int *)(iVar14 + 0x9c);\n        } while (iVar14 != 0);\nLAB_0004b267:\n        if ((local_4c == 0) ||\n           (iVar14 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x30) | 8),\n           iVar14 == 0)) {\n          if (bVar2) {\n            uVar7 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00033ba0(uVar7);\n          }\n        }\n        else {\n          *(undefined4 *)(iVar14 + 0x58) = 2;\n          *(int *)(iVar6 + 0xd0) = iVar14;\n        }\n      }\n      puVar4 = (undefined4 *)bfd_elf_get_needed_list(DAT_0013d6f4,&DAT_0013d6c0);\n      for (puVar17 = puVar4; puVar17 != (undefined4 *)0x0; puVar17 = (undefined4 *)*puVar17) {\n        puVar3 = puVar4;\n        if ((puVar17[1] == 0) ||\n           ((uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 1) == 0 &&\n            (((puVar17[1] == 0 || ((_DAT_0013d6c2 & 0x180) != 0x80)) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 4) == 0)))))) {\n          for (; puVar3 != puVar17; puVar3 = (undefined4 *)*puVar3) {\n            if (((puVar3[1] == 0) ||\n                (uVar5 = bfd_elf_get_dyn_lib_class(puVar3[1]), (uVar5 & 1) == 0)) &&\n               (iVar6 = strcmp((char *)puVar3[2],(char *)puVar17[2]), iVar6 == 0)) {\n              if (puVar17 != puVar3) goto LAB_0004ae88;\n              break;\n            }\n          }\n          DAT_0013d440 = 0;\n          DAT_0013d4c0 = puVar17;\n          FUN_000264a0(FUN_0004a2c0);\n          if ((DAT_0013d440 == 0) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_0013d440 + 0x10)),\n             (uVar5 & 1) != 0)) {\n            uVar7 = puVar17[1];\n            uVar1 = puVar17[2];\n            if (DAT_0013d83c != 0) {\n              uVar13 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00033b70(uVar13,uVar1,uVar7);\n            }\n            if ((DAT_0013d440 == 0) || (iVar6 = FUN_0004a3c0(), iVar6 == 0)) {\n              bVar2 = false;\n              while (iVar6 = FUN_0004a6d0(), iVar6 == 0) {\n                if (DAT_0013d7a4 != 0) {\n                  pvVar8 = (void *)FUN_00048f50();\n                  iVar6 = FUN_0004a6d0();\n                  free(pvVar8);\n                  if (iVar6 != 0) break;\n                }\n                piVar9 = (int *)bfd_elf_get_runpath_list(DAT_0013d6f4,&DAT_0013d6c0);\n                if (piVar9 != (int *)0x0) {\n                  do {\n                    bVar22 = true;\n                    pvVar8 = (void *)FUN_00048f50();\n                    bVar20 = false;\n                    if (piVar9[1] == puVar17[1]) {\n                      iVar6 = FUN_0004a6d0();\n                      bVar22 = iVar6 == 0;\n                      bVar20 = !bVar22;\n                    }\n                    free(pvVar8);\n                    piVar9 = (int *)*piVar9;\n                  } while ((piVar9 != (int *)0x0) && (bVar22));\n                  if (bVar20) break;\n                }\n                if (DAT_0013d424 == 0) {\n                  pvVar8 = (void *)concat(DAT_0013d75c,"/usr/etc/ld.so.conf",0);\n                  iVar6 = FUN_00049060();\n                  if (iVar6 == 0) {\n                    free(pvVar8);\n                    pvVar8 = (void *)concat(DAT_0013d75c,"/etc/ld.so.conf",0);\n                    FUN_00049060();\n                  }\n                  free(pvVar8);\n                  DAT_0013d424 = 1;\n                }\n                pcVar12 = (char *)puVar17[2];\n                if (DAT_0013d420 != 0) {\n                  iVar6 = FUN_0004a6d0();\n                  if (iVar6 != 0) break;\n                  pcVar12 = (char *)puVar17[2];\n                }\n                sVar10 = strlen(pcVar12);\n                if (DAT_0013d8e4 != (int *)0x0) {\n                  piVar9 = DAT_0013d8e4;\n                  do {\n                    if (piVar9[2] == 0) {\n                      sVar11 = strlen((char *)piVar9[1]);\n                      pcVar12 = (char *)xmalloc(sVar11 + sVar10 + 2);\n                      sprintf(pcVar12,"%s/%s",piVar9[1],puVar17[2]);\n                      iVar6 = FUN_0004a3c0();\n                      if (iVar6 != 0) goto LAB_0004ae88;\n                      free(pcVar12);\n                    }\n                    piVar9 = (int *)*piVar9;\n                  } while (piVar9 != (int *)0x0);\n                }\n                if (bVar2) {\n                  uVar7 = puVar17[1];\n                  uVar1 = puVar17[2];\n                  uVar13 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00033ba0(uVar13,uVar1,uVar7);\n                  break;\n                }\n                bVar2 = true;\n              }\n            }\n          }\n        }\nLAB_0004ae88:\n      }\n      DAT_0013d6c3 = (byte)(_DAT_0013d6c2 >> 8);\n      bVar23 = DAT_0013d6c3 & 0xc0;\n      if ((bVar23 == 0x80) && (iVar6 = bfd_elf_parse_eh_frame_entries(0,&DAT_0013d6c0), iVar6 == 0))\n      {\n        uVar7 = dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);\n        FUN_00033ba0(uVar7);\n      }\n    }\n  }\n  return;\n}" ({ "{") (declaration "undefined4 uVar1;" (type_identifier "undefined4") (identifier "uVar1") (; ";")) (declaration "bool bVar2;" (primitive_type "bool") (identifier "bVar2") (; ";")) (declaration "undefined4 *puVar3;" (type_identifier "undefined4") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "undefined4 *puVar4;" (type_identifier "undefined4") (pointer_declarator "*puVar4" (* "*") (identifier "puVar4")) (; ";")) (declaration "uint uVar5;" (type_identifier "uint") (identifier "uVar5") (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "undefined4 uVar7;" (type_identifier "undefined4") (identifier "uVar7") (; ";")) (declaration "void *pvVar8;" (primitive_type "void") (pointer_declarator "*pvVar8" (* "*") (identifier "pvVar8")) (; ";")) (declaration "int *piVar9;" (primitive_type "int") (pointer_declarator "*piVar9" (* "*") (identifier "piVar9")) (; ";")) (declaration "size_t sVar10;" (primitive_type "size_t") (identifier "sVar10") (; ";")) (declaration "size_t sVar11;" (primitive_type "size_t") (identifier "sVar11") (; ";")) (declaration "char *pcVar12;" (primitive_type "char") (pointer_declarator "*pcVar12" (* "*") (identifier "pcVar12")) (; ";")) (declaration "undefined4 uVar13;" (type_identifier "undefined4") (identifier "uVar13") (; ";")) (declaration "int iVar14;" (primitive_type "int") (identifier "iVar14") (; ";")) (declaration "int iVar15;" (primitive_type "int") (identifier "iVar15") (; ";")) (declaration "int iVar16;" (primitive_type "int") (identifier "iVar16") (; ";")) (declaration "undefined4 *puVar17;" (type_identifier "undefined4") (pointer_declarator "*puVar17" (* "*") (identifier "puVar17")) (; ";")) (declaration "byte *pbVar18;" (type_identifier "byte") (pointer_declarator "*pbVar18" (* "*") (identifier "pbVar18")) (; ";")) (declaration "byte *pbVar19;" (type_identifier "byte") (pointer_declarator "*pbVar19" (* "*") (identifier "pbVar19")) (; ";")) (declaration "bool bVar20;" (primitive_type "bool") (identifier "bVar20") (; ";")) (declaration "bool bVar21;" (primitive_type "bool") (identifier "bVar21") (; ";")) (declaration "bool bVar22;" (primitive_type "bool") (identifier "bVar22") (; ";")) (declaration "byte bVar23;" (type_identifier "byte") (identifier "bVar23") (; ";")) (declaration "longlong lVar24;" (type_identifier "longlong") (identifier "lVar24") (; ";")) (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 "bVar23 = 0;" (assignment_expression "bVar23 = 0" (identifier "bVar23") (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_000327c0();" (call_expression "FUN_000327c0()" (identifier "FUN_000327c0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar6 = DAT_0013d6e0;" (assignment_expression "iVar6 = DAT_0013d6e0" (identifier "iVar6") (= "=") (identifier "DAT_0013d6e0")) (; ";")) (if_statement "if (*(int *)(DAT_0013d6e0 + 0x28) == 1) {\n    if (DAT_0013d780 != 0) {\n      unlink_if_ordinary(DAT_0013d780);\n      DAT_0013d6f8 = bfd_openw(DAT_0013d780,**(undefined4 **)(DAT_0013d6f4 + 4));\n      iVar14 = DAT_0013d780;\n      if (DAT_0013d6f8 == 0) {\n        uVar7 = dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);\n        FUN_00033ba0(uVar7,iVar14);\n      }\n    }\n    iVar16 = DAT_0013d6f4;\n    iVar14 = DAT_0013d6fc;\n    if (DAT_0013d42c != (void *)0x0) {\n      for (; iVar14 != 0; iVar14 = *(int *)(iVar14 + 0x9c)) {\n        if (((*(int *)(*(int *)(iVar14 + 4) + 4) == 5) && (*(int *)(iVar14 + 0x68) != 0)) &&\n           ((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0)) {\n          lVar24 = FUN_00037870(DAT_0013d42c);\n          if ((lVar24 == 0) || (lVar24 + 0x10 == 0)) {\n            pcVar12 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar14 = bfd_make_section_with_flags\n                               (iVar14,".note.gnu.build-id",\n                                "ttributes)) }\n  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }\n}\n\n"\n                               );\n            if (iVar14 != 0) {\n              *(undefined4 *)(iVar14 + 0x58) = 2;\n              iVar16 = DAT_0013d6f4;\n              iVar15 = *(int *)(*(int *)(DAT_0013d6f4 + 0xa0) + 0x9c0);\n              *(code **)(iVar15 + 0x10) = FUN_00048da0;\n              pvVar8 = DAT_0013d42c;\n              *(int *)(iVar15 + 0x18) = iVar14;\n              *(void **)(iVar15 + 0x14) = pvVar8;\n              *(undefined4 *)(*(int *)(iVar14 + 0xa4) + 4) = 7;\n              *(longlong *)(iVar14 + 0x2c) = lVar24 + 0x10;\n              goto LAB_0004ad04;\n            }\n            pcVar12 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          uVar7 = dcgettext(0,pcVar12,5);\n          FUN_00033ba0(uVar7);\n          break;\n        }\n      }\n      free(DAT_0013d42c);\n      DAT_0013d42c = (void *)0x0;\n      iVar16 = DAT_0013d6f4;\n    }\nLAB_0004ad04:\n    (**(code **)(*(int *)(*(int *)(iVar16 + 4) + 0x1c0) + 0x1d0))(&DAT_0013d6c0);\n    if ((DAT_0013d6c0 & 3) == 2) {\n      if (DAT_0013d6c5 >> 7 == (~DAT_0013d6c6 & 1)) {\n        bfd_make_section_with_flags(DAT_0013d6fc,".note.GNU-stack",DAT_0013d6c5 >> 3 & 0x10 | 8);\n      }\n    }\n    else {\n      if (((DAT_0013d6c4 & 0x20) == 0) && (DAT_0013d6fc != 0)) {\n        local_50 = 0;\n        bVar2 = false;\n        local_4c = 0;\n        iVar14 = DAT_0013d6fc;\n        do {\n          while ((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0) {\n            puVar17 = *(undefined4 **)(iVar14 + 0x60);\n            if (puVar17 == (undefined4 *)0x0) {\nLAB_0004b231:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar20 = (undefined *)puVar17[0x15] < PTR__bfd_std_section_0013bfc4 + 0x180;\n                bVar22 = (undefined *)puVar17[0x15] == PTR__bfd_std_section_0013bfc4 + 0x180;\n                iVar16 = local_60;\n                if (!bVar22) {\n                  iVar15 = 0xf;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar20 = *pbVar18 < *pbVar19;\n                    bVar22 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar22);\n                  bVar21 = false;\n                  bVar20 = (!bVar20 && !bVar22) == bVar20;\n                  if (bVar20) {\n                    local_60 = 2;\n                    goto LAB_0004b209;\n                  }\n                  iVar15 = 10;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar21 = *pbVar18 < *pbVar19;\n                    bVar20 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar20);\n                  if (((!bVar21 && !bVar20) == bVar21) &&\n                     (iVar16 = 1,\n                     puVar17[0xc] == 0 && (uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc])) {\n                    iVar16 = local_60;\n                  }\n                }\n                local_60 = iVar16;\n                puVar17 = (undefined4 *)puVar17[3];\n              } while (puVar17 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_0004b231;\nLAB_0004b209:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar14 = local_4c;\n                }\n                uVar7 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00033ba0(uVar7,iVar14);\n                goto LAB_0004b267;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_0004b231;\n              if (local_60 != 2) {\n                if ((_DAT_0013d6c2 & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar2 = true;\n                  if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                    local_4c = iVar14;\n                  }\n                }\n                break;\n              }\n              bVar2 = true;\n              if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                local_4c = iVar14;\n              }\n            }\n            iVar14 = *(int *)(iVar14 + 0x9c);\n            local_50 = 2;\n            _DAT_0013d6c2 = _DAT_0013d6c2 & 0x3fff | 0x8000;\n            if (iVar14 == 0) goto LAB_0004b267;\n          }\n          iVar14 = *(int *)(iVar14 + 0x9c);\n        } while (iVar14 != 0);\nLAB_0004b267:\n        if ((local_4c == 0) ||\n           (iVar14 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x30) | 8),\n           iVar14 == 0)) {\n          if (bVar2) {\n            uVar7 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00033ba0(uVar7);\n          }\n        }\n        else {\n          *(undefined4 *)(iVar14 + 0x58) = 2;\n          *(int *)(iVar6 + 0xd0) = iVar14;\n        }\n      }\n      puVar4 = (undefined4 *)bfd_elf_get_needed_list(DAT_0013d6f4,&DAT_0013d6c0);\n      for (puVar17 = puVar4; puVar17 != (undefined4 *)0x0; puVar17 = (undefined4 *)*puVar17) {\n        puVar3 = puVar4;\n        if ((puVar17[1] == 0) ||\n           ((uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 1) == 0 &&\n            (((puVar17[1] == 0 || ((_DAT_0013d6c2 & 0x180) != 0x80)) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 4) == 0)))))) {\n          for (; puVar3 != puVar17; puVar3 = (undefined4 *)*puVar3) {\n            if (((puVar3[1] == 0) ||\n                (uVar5 = bfd_elf_get_dyn_lib_class(puVar3[1]), (uVar5 & 1) == 0)) &&\n               (iVar6 = strcmp((char *)puVar3[2],(char *)puVar17[2]), iVar6 == 0)) {\n              if (puVar17 != puVar3) goto LAB_0004ae88;\n              break;\n            }\n          }\n          DAT_0013d440 = 0;\n          DAT_0013d4c0 = puVar17;\n          FUN_000264a0(FUN_0004a2c0);\n          if ((DAT_0013d440 == 0) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_0013d440 + 0x10)),\n             (uVar5 & 1) != 0)) {\n            uVar7 = puVar17[1];\n            uVar1 = puVar17[2];\n            if (DAT_0013d83c != 0) {\n              uVar13 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00033b70(uVar13,uVar1,uVar7);\n            }\n            if ((DAT_0013d440 == 0) || (iVar6 = FUN_0004a3c0(), iVar6 == 0)) {\n              bVar2 = false;\n              while (iVar6 = FUN_0004a6d0(), iVar6 == 0) {\n                if (DAT_0013d7a4 != 0) {\n                  pvVar8 = (void *)FUN_00048f50();\n                  iVar6 = FUN_0004a6d0();\n                  free(pvVar8);\n                  if (iVar6 != 0) break;\n                }\n                piVar9 = (int *)bfd_elf_get_runpath_list(DAT_0013d6f4,&DAT_0013d6c0);\n                if (piVar9 != (int *)0x0) {\n                  do {\n                    bVar22 = true;\n                    pvVar8 = (void *)FUN_00048f50();\n                    bVar20 = false;\n                    if (piVar9[1] == puVar17[1]) {\n                      iVar6 = FUN_0004a6d0();\n                      bVar22 = iVar6 == 0;\n                      bVar20 = !bVar22;\n                    }\n                    free(pvVar8);\n                    piVar9 = (int *)*piVar9;\n                  } while ((piVar9 != (int *)0x0) && (bVar22));\n                  if (bVar20) break;\n                }\n                if (DAT_0013d424 == 0) {\n                  pvVar8 = (void *)concat(DAT_0013d75c,"/usr/etc/ld.so.conf",0);\n                  iVar6 = FUN_00049060();\n                  if (iVar6 == 0) {\n                    free(pvVar8);\n                    pvVar8 = (void *)concat(DAT_0013d75c,"/etc/ld.so.conf",0);\n                    FUN_00049060();\n                  }\n                  free(pvVar8);\n                  DAT_0013d424 = 1;\n                }\n                pcVar12 = (char *)puVar17[2];\n                if (DAT_0013d420 != 0) {\n                  iVar6 = FUN_0004a6d0();\n                  if (iVar6 != 0) break;\n                  pcVar12 = (char *)puVar17[2];\n                }\n                sVar10 = strlen(pcVar12);\n                if (DAT_0013d8e4 != (int *)0x0) {\n                  piVar9 = DAT_0013d8e4;\n                  do {\n                    if (piVar9[2] == 0) {\n                      sVar11 = strlen((char *)piVar9[1]);\n                      pcVar12 = (char *)xmalloc(sVar11 + sVar10 + 2);\n                      sprintf(pcVar12,"%s/%s",piVar9[1],puVar17[2]);\n                      iVar6 = FUN_0004a3c0();\n                      if (iVar6 != 0) goto LAB_0004ae88;\n                      free(pcVar12);\n                    }\n                    piVar9 = (int *)*piVar9;\n                  } while (piVar9 != (int *)0x0);\n                }\n                if (bVar2) {\n                  uVar7 = puVar17[1];\n                  uVar1 = puVar17[2];\n                  uVar13 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00033ba0(uVar13,uVar1,uVar7);\n                  break;\n                }\n                bVar2 = true;\n              }\n            }\n          }\n        }\nLAB_0004ae88:\n      }\n      DAT_0013d6c3 = (byte)(_DAT_0013d6c2 >> 8);\n      bVar23 = DAT_0013d6c3 & 0xc0;\n      if ((bVar23 == 0x80) && (iVar6 = bfd_elf_parse_eh_frame_entries(0,&DAT_0013d6c0), iVar6 == 0))\n      {\n        uVar7 = dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);\n        FUN_00033ba0(uVar7);\n      }\n    }\n  }" (if "if") (parenthesized_expression "(*(int *)(DAT_0013d6e0 + 0x28) == 1)" (( "(") (binary_expression "*(int *)(DAT_0013d6e0 + 0x28) == 1" (pointer_expression "*(int *)(DAT_0013d6e0 + 0x28)" (* "*") (cast_expression "(int *)(DAT_0013d6e0 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_0013d6e0 + 0x28)" (( "(") (binary_expression "DAT_0013d6e0 + 0x28" (identifier "DAT_0013d6e0") (+ "+") (number_literal "0x28")) () ")")))) (== "==") (number_literal "1")) () ")")) (compound_statement "{\n    if (DAT_0013d780 != 0) {\n      unlink_if_ordinary(DAT_0013d780);\n      DAT_0013d6f8 = bfd_openw(DAT_0013d780,**(undefined4 **)(DAT_0013d6f4 + 4));\n      iVar14 = DAT_0013d780;\n      if (DAT_0013d6f8 == 0) {\n        uVar7 = dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);\n        FUN_00033ba0(uVar7,iVar14);\n      }\n    }\n    iVar16 = DAT_0013d6f4;\n    iVar14 = DAT_0013d6fc;\n    if (DAT_0013d42c != (void *)0x0) {\n      for (; iVar14 != 0; iVar14 = *(int *)(iVar14 + 0x9c)) {\n        if (((*(int *)(*(int *)(iVar14 + 4) + 4) == 5) && (*(int *)(iVar14 + 0x68) != 0)) &&\n           ((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0)) {\n          lVar24 = FUN_00037870(DAT_0013d42c);\n          if ((lVar24 == 0) || (lVar24 + 0x10 == 0)) {\n            pcVar12 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar14 = bfd_make_section_with_flags\n                               (iVar14,".note.gnu.build-id",\n                                "ttributes)) }\n  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }\n}\n\n"\n                               );\n            if (iVar14 != 0) {\n              *(undefined4 *)(iVar14 + 0x58) = 2;\n              iVar16 = DAT_0013d6f4;\n              iVar15 = *(int *)(*(int *)(DAT_0013d6f4 + 0xa0) + 0x9c0);\n              *(code **)(iVar15 + 0x10) = FUN_00048da0;\n              pvVar8 = DAT_0013d42c;\n              *(int *)(iVar15 + 0x18) = iVar14;\n              *(void **)(iVar15 + 0x14) = pvVar8;\n              *(undefined4 *)(*(int *)(iVar14 + 0xa4) + 4) = 7;\n              *(longlong *)(iVar14 + 0x2c) = lVar24 + 0x10;\n              goto LAB_0004ad04;\n            }\n            pcVar12 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          uVar7 = dcgettext(0,pcVar12,5);\n          FUN_00033ba0(uVar7);\n          break;\n        }\n      }\n      free(DAT_0013d42c);\n      DAT_0013d42c = (void *)0x0;\n      iVar16 = DAT_0013d6f4;\n    }\nLAB_0004ad04:\n    (**(code **)(*(int *)(*(int *)(iVar16 + 4) + 0x1c0) + 0x1d0))(&DAT_0013d6c0);\n    if ((DAT_0013d6c0 & 3) == 2) {\n      if (DAT_0013d6c5 >> 7 == (~DAT_0013d6c6 & 1)) {\n        bfd_make_section_with_flags(DAT_0013d6fc,".note.GNU-stack",DAT_0013d6c5 >> 3 & 0x10 | 8);\n      }\n    }\n    else {\n      if (((DAT_0013d6c4 & 0x20) == 0) && (DAT_0013d6fc != 0)) {\n        local_50 = 0;\n        bVar2 = false;\n        local_4c = 0;\n        iVar14 = DAT_0013d6fc;\n        do {\n          while ((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0) {\n            puVar17 = *(undefined4 **)(iVar14 + 0x60);\n            if (puVar17 == (undefined4 *)0x0) {\nLAB_0004b231:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar20 = (undefined *)puVar17[0x15] < PTR__bfd_std_section_0013bfc4 + 0x180;\n                bVar22 = (undefined *)puVar17[0x15] == PTR__bfd_std_section_0013bfc4 + 0x180;\n                iVar16 = local_60;\n                if (!bVar22) {\n                  iVar15 = 0xf;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar20 = *pbVar18 < *pbVar19;\n                    bVar22 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar22);\n                  bVar21 = false;\n                  bVar20 = (!bVar20 && !bVar22) == bVar20;\n                  if (bVar20) {\n                    local_60 = 2;\n                    goto LAB_0004b209;\n                  }\n                  iVar15 = 10;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar21 = *pbVar18 < *pbVar19;\n                    bVar20 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar20);\n                  if (((!bVar21 && !bVar20) == bVar21) &&\n                     (iVar16 = 1,\n                     puVar17[0xc] == 0 && (uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc])) {\n                    iVar16 = local_60;\n                  }\n                }\n                local_60 = iVar16;\n                puVar17 = (undefined4 *)puVar17[3];\n              } while (puVar17 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_0004b231;\nLAB_0004b209:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar14 = local_4c;\n                }\n                uVar7 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00033ba0(uVar7,iVar14);\n                goto LAB_0004b267;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_0004b231;\n              if (local_60 != 2) {\n                if ((_DAT_0013d6c2 & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar2 = true;\n                  if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                    local_4c = iVar14;\n                  }\n                }\n                break;\n              }\n              bVar2 = true;\n              if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                local_4c = iVar14;\n              }\n            }\n            iVar14 = *(int *)(iVar14 + 0x9c);\n            local_50 = 2;\n            _DAT_0013d6c2 = _DAT_0013d6c2 & 0x3fff | 0x8000;\n            if (iVar14 == 0) goto LAB_0004b267;\n          }\n          iVar14 = *(int *)(iVar14 + 0x9c);\n        } while (iVar14 != 0);\nLAB_0004b267:\n        if ((local_4c == 0) ||\n           (iVar14 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x30) | 8),\n           iVar14 == 0)) {\n          if (bVar2) {\n            uVar7 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00033ba0(uVar7);\n          }\n        }\n        else {\n          *(undefined4 *)(iVar14 + 0x58) = 2;\n          *(int *)(iVar6 + 0xd0) = iVar14;\n        }\n      }\n      puVar4 = (undefined4 *)bfd_elf_get_needed_list(DAT_0013d6f4,&DAT_0013d6c0);\n      for (puVar17 = puVar4; puVar17 != (undefined4 *)0x0; puVar17 = (undefined4 *)*puVar17) {\n        puVar3 = puVar4;\n        if ((puVar17[1] == 0) ||\n           ((uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 1) == 0 &&\n            (((puVar17[1] == 0 || ((_DAT_0013d6c2 & 0x180) != 0x80)) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 4) == 0)))))) {\n          for (; puVar3 != puVar17; puVar3 = (undefined4 *)*puVar3) {\n            if (((puVar3[1] == 0) ||\n                (uVar5 = bfd_elf_get_dyn_lib_class(puVar3[1]), (uVar5 & 1) == 0)) &&\n               (iVar6 = strcmp((char *)puVar3[2],(char *)puVar17[2]), iVar6 == 0)) {\n              if (puVar17 != puVar3) goto LAB_0004ae88;\n              break;\n            }\n          }\n          DAT_0013d440 = 0;\n          DAT_0013d4c0 = puVar17;\n          FUN_000264a0(FUN_0004a2c0);\n          if ((DAT_0013d440 == 0) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_0013d440 + 0x10)),\n             (uVar5 & 1) != 0)) {\n            uVar7 = puVar17[1];\n            uVar1 = puVar17[2];\n            if (DAT_0013d83c != 0) {\n              uVar13 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00033b70(uVar13,uVar1,uVar7);\n            }\n            if ((DAT_0013d440 == 0) || (iVar6 = FUN_0004a3c0(), iVar6 == 0)) {\n              bVar2 = false;\n              while (iVar6 = FUN_0004a6d0(), iVar6 == 0) {\n                if (DAT_0013d7a4 != 0) {\n                  pvVar8 = (void *)FUN_00048f50();\n                  iVar6 = FUN_0004a6d0();\n                  free(pvVar8);\n                  if (iVar6 != 0) break;\n                }\n                piVar9 = (int *)bfd_elf_get_runpath_list(DAT_0013d6f4,&DAT_0013d6c0);\n                if (piVar9 != (int *)0x0) {\n                  do {\n                    bVar22 = true;\n                    pvVar8 = (void *)FUN_00048f50();\n                    bVar20 = false;\n                    if (piVar9[1] == puVar17[1]) {\n                      iVar6 = FUN_0004a6d0();\n                      bVar22 = iVar6 == 0;\n                      bVar20 = !bVar22;\n                    }\n                    free(pvVar8);\n                    piVar9 = (int *)*piVar9;\n                  } while ((piVar9 != (int *)0x0) && (bVar22));\n                  if (bVar20) break;\n                }\n                if (DAT_0013d424 == 0) {\n                  pvVar8 = (void *)concat(DAT_0013d75c,"/usr/etc/ld.so.conf",0);\n                  iVar6 = FUN_00049060();\n                  if (iVar6 == 0) {\n                    free(pvVar8);\n                    pvVar8 = (void *)concat(DAT_0013d75c,"/etc/ld.so.conf",0);\n                    FUN_00049060();\n                  }\n                  free(pvVar8);\n                  DAT_0013d424 = 1;\n                }\n                pcVar12 = (char *)puVar17[2];\n                if (DAT_0013d420 != 0) {\n                  iVar6 = FUN_0004a6d0();\n                  if (iVar6 != 0) break;\n                  pcVar12 = (char *)puVar17[2];\n                }\n                sVar10 = strlen(pcVar12);\n                if (DAT_0013d8e4 != (int *)0x0) {\n                  piVar9 = DAT_0013d8e4;\n                  do {\n                    if (piVar9[2] == 0) {\n                      sVar11 = strlen((char *)piVar9[1]);\n                      pcVar12 = (char *)xmalloc(sVar11 + sVar10 + 2);\n                      sprintf(pcVar12,"%s/%s",piVar9[1],puVar17[2]);\n                      iVar6 = FUN_0004a3c0();\n                      if (iVar6 != 0) goto LAB_0004ae88;\n                      free(pcVar12);\n                    }\n                    piVar9 = (int *)*piVar9;\n                  } while (piVar9 != (int *)0x0);\n                }\n                if (bVar2) {\n                  uVar7 = puVar17[1];\n                  uVar1 = puVar17[2];\n                  uVar13 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00033ba0(uVar13,uVar1,uVar7);\n                  break;\n                }\n                bVar2 = true;\n              }\n            }\n          }\n        }\nLAB_0004ae88:\n      }\n      DAT_0013d6c3 = (byte)(_DAT_0013d6c2 >> 8);\n      bVar23 = DAT_0013d6c3 & 0xc0;\n      if ((bVar23 == 0x80) && (iVar6 = bfd_elf_parse_eh_frame_entries(0,&DAT_0013d6c0), iVar6 == 0))\n      {\n        uVar7 = dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);\n        FUN_00033ba0(uVar7);\n      }\n    }\n  }" ({ "{") (if_statement "if (DAT_0013d780 != 0) {\n      unlink_if_ordinary(DAT_0013d780);\n      DAT_0013d6f8 = bfd_openw(DAT_0013d780,**(undefined4 **)(DAT_0013d6f4 + 4));\n      iVar14 = DAT_0013d780;\n      if (DAT_0013d6f8 == 0) {\n        uVar7 = dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);\n        FUN_00033ba0(uVar7,iVar14);\n      }\n    }" (if "if") (parenthesized_expression "(DAT_0013d780 != 0)" (( "(") (binary_expression "DAT_0013d780 != 0" (identifier "DAT_0013d780") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      unlink_if_ordinary(DAT_0013d780);\n      DAT_0013d6f8 = bfd_openw(DAT_0013d780,**(undefined4 **)(DAT_0013d6f4 + 4));\n      iVar14 = DAT_0013d780;\n      if (DAT_0013d6f8 == 0) {\n        uVar7 = dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);\n        FUN_00033ba0(uVar7,iVar14);\n      }\n    }" ({ "{") (expression_statement "unlink_if_ordinary(DAT_0013d780);" (call_expression "unlink_if_ordinary(DAT_0013d780)" (identifier "unlink_if_ordinary") (argument_list "(DAT_0013d780)" (( "(") (identifier "DAT_0013d780") () ")"))) (; ";")) (expression_statement "DAT_0013d6f8 = bfd_openw(DAT_0013d780,**(undefined4 **)(DAT_0013d6f4 + 4));" (assignment_expression "DAT_0013d6f8 = bfd_openw(DAT_0013d780,**(undefined4 **)(DAT_0013d6f4 + 4))" (identifier "DAT_0013d6f8") (= "=") (call_expression "bfd_openw(DAT_0013d780,**(undefined4 **)(DAT_0013d6f4 + 4))" (identifier "bfd_openw") (argument_list "(DAT_0013d780,**(undefined4 **)(DAT_0013d6f4 + 4))" (( "(") (identifier "DAT_0013d780") (, ",") (pointer_expression "**(undefined4 **)(DAT_0013d6f4 + 4)" (* "*") (pointer_expression "*(undefined4 **)(DAT_0013d6f4 + 4)" (* "*") (cast_expression "(undefined4 **)(DAT_0013d6f4 + 4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(DAT_0013d6f4 + 4)" (( "(") (binary_expression "DAT_0013d6f4 + 4" (identifier "DAT_0013d6f4") (+ "+") (number_literal "4")) () ")"))))) () ")")))) (; ";")) (expression_statement "iVar14 = DAT_0013d780;" (assignment_expression "iVar14 = DAT_0013d780" (identifier "iVar14") (= "=") (identifier "DAT_0013d780")) (; ";")) (if_statement "if (DAT_0013d6f8 == 0) {\n        uVar7 = dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);\n        FUN_00033ba0(uVar7,iVar14);\n      }" (if "if") (parenthesized_expression "(DAT_0013d6f8 == 0)" (( "(") (binary_expression "DAT_0013d6f8 == 0" (identifier "DAT_0013d6f8") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        uVar7 = dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);\n        FUN_00033ba0(uVar7,iVar14);\n      }" ({ "{") (expression_statement "uVar7 = dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);" (assignment_expression "uVar7 = dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5)" (identifier "uVar7") (= "=") (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_00033ba0(uVar7,iVar14);" (call_expression "FUN_00033ba0(uVar7,iVar14)" (identifier "FUN_00033ba0") (argument_list "(uVar7,iVar14)" (( "(") (identifier "uVar7") (, ",") (identifier "iVar14") () ")"))) (; ";")) (} "}"))) (} "}"))) (expression_statement "iVar16 = DAT_0013d6f4;" (assignment_expression "iVar16 = DAT_0013d6f4" (identifier "iVar16") (= "=") (identifier "DAT_0013d6f4")) (; ";")) (expression_statement "iVar14 = DAT_0013d6fc;" (assignment_expression "iVar14 = DAT_0013d6fc" (identifier "iVar14") (= "=") (identifier "DAT_0013d6fc")) (; ";")) (if_statement "if (DAT_0013d42c != (void *)0x0) {\n      for (; iVar14 != 0; iVar14 = *(int *)(iVar14 + 0x9c)) {\n        if (((*(int *)(*(int *)(iVar14 + 4) + 4) == 5) && (*(int *)(iVar14 + 0x68) != 0)) &&\n           ((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0)) {\n          lVar24 = FUN_00037870(DAT_0013d42c);\n          if ((lVar24 == 0) || (lVar24 + 0x10 == 0)) {\n            pcVar12 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar14 = bfd_make_section_with_flags\n                               (iVar14,".note.gnu.build-id",\n                                "ttributes)) }\n  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }\n}\n\n"\n                               );\n            if (iVar14 != 0) {\n              *(undefined4 *)(iVar14 + 0x58) = 2;\n              iVar16 = DAT_0013d6f4;\n              iVar15 = *(int *)(*(int *)(DAT_0013d6f4 + 0xa0) + 0x9c0);\n              *(code **)(iVar15 + 0x10) = FUN_00048da0;\n              pvVar8 = DAT_0013d42c;\n              *(int *)(iVar15 + 0x18) = iVar14;\n              *(void **)(iVar15 + 0x14) = pvVar8;\n              *(undefined4 *)(*(int *)(iVar14 + 0xa4) + 4) = 7;\n              *(longlong *)(iVar14 + 0x2c) = lVar24 + 0x10;\n              goto LAB_0004ad04;\n            }\n            pcVar12 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          uVar7 = dcgettext(0,pcVar12,5);\n          FUN_00033ba0(uVar7);\n          break;\n        }\n      }\n      free(DAT_0013d42c);\n      DAT_0013d42c = (void *)0x0;\n      iVar16 = DAT_0013d6f4;\n    }" (if "if") (parenthesized_expression "(DAT_0013d42c != (void *)0x0)" (( "(") (binary_expression "DAT_0013d42c != (void *)0x0" (identifier "DAT_0013d42c") (!= "!=") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      for (; iVar14 != 0; iVar14 = *(int *)(iVar14 + 0x9c)) {\n        if (((*(int *)(*(int *)(iVar14 + 4) + 4) == 5) && (*(int *)(iVar14 + 0x68) != 0)) &&\n           ((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0)) {\n          lVar24 = FUN_00037870(DAT_0013d42c);\n          if ((lVar24 == 0) || (lVar24 + 0x10 == 0)) {\n            pcVar12 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar14 = bfd_make_section_with_flags\n                               (iVar14,".note.gnu.build-id",\n                                "ttributes)) }\n  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }\n}\n\n"\n                               );\n            if (iVar14 != 0) {\n              *(undefined4 *)(iVar14 + 0x58) = 2;\n              iVar16 = DAT_0013d6f4;\n              iVar15 = *(int *)(*(int *)(DAT_0013d6f4 + 0xa0) + 0x9c0);\n              *(code **)(iVar15 + 0x10) = FUN_00048da0;\n              pvVar8 = DAT_0013d42c;\n              *(int *)(iVar15 + 0x18) = iVar14;\n              *(void **)(iVar15 + 0x14) = pvVar8;\n              *(undefined4 *)(*(int *)(iVar14 + 0xa4) + 4) = 7;\n              *(longlong *)(iVar14 + 0x2c) = lVar24 + 0x10;\n              goto LAB_0004ad04;\n            }\n            pcVar12 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          uVar7 = dcgettext(0,pcVar12,5);\n          FUN_00033ba0(uVar7);\n          break;\n        }\n      }\n      free(DAT_0013d42c);\n      DAT_0013d42c = (void *)0x0;\n      iVar16 = DAT_0013d6f4;\n    }" ({ "{") (for_statement "for (; iVar14 != 0; iVar14 = *(int *)(iVar14 + 0x9c)) {\n        if (((*(int *)(*(int *)(iVar14 + 4) + 4) == 5) && (*(int *)(iVar14 + 0x68) != 0)) &&\n           ((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0)) {\n          lVar24 = FUN_00037870(DAT_0013d42c);\n          if ((lVar24 == 0) || (lVar24 + 0x10 == 0)) {\n            pcVar12 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar14 = bfd_make_section_with_flags\n                               (iVar14,".note.gnu.build-id",\n                                "ttributes)) }\n  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }\n}\n\n"\n                               );\n            if (iVar14 != 0) {\n              *(undefined4 *)(iVar14 + 0x58) = 2;\n              iVar16 = DAT_0013d6f4;\n              iVar15 = *(int *)(*(int *)(DAT_0013d6f4 + 0xa0) + 0x9c0);\n              *(code **)(iVar15 + 0x10) = FUN_00048da0;\n              pvVar8 = DAT_0013d42c;\n              *(int *)(iVar15 + 0x18) = iVar14;\n              *(void **)(iVar15 + 0x14) = pvVar8;\n              *(undefined4 *)(*(int *)(iVar14 + 0xa4) + 4) = 7;\n              *(longlong *)(iVar14 + 0x2c) = lVar24 + 0x10;\n              goto LAB_0004ad04;\n            }\n            pcVar12 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          uVar7 = dcgettext(0,pcVar12,5);\n          FUN_00033ba0(uVar7);\n          break;\n        }\n      }" (for "for") (( "(") (; ";") (binary_expression "iVar14 != 0" (identifier "iVar14") (!= "!=") (number_literal "0")) (; ";") (assignment_expression "iVar14 = *(int *)(iVar14 + 0x9c)" (identifier "iVar14") (= "=") (pointer_expression "*(int *)(iVar14 + 0x9c)" (* "*") (cast_expression "(int *)(iVar14 + 0x9c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x9c)" (( "(") (binary_expression "iVar14 + 0x9c" (identifier "iVar14") (+ "+") (number_literal "0x9c")) () ")"))))) () ")") (compound_statement "{\n        if (((*(int *)(*(int *)(iVar14 + 4) + 4) == 5) && (*(int *)(iVar14 + 0x68) != 0)) &&\n           ((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0)) {\n          lVar24 = FUN_00037870(DAT_0013d42c);\n          if ((lVar24 == 0) || (lVar24 + 0x10 == 0)) {\n            pcVar12 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar14 = bfd_make_section_with_flags\n                               (iVar14,".note.gnu.build-id",\n                                "ttributes)) }\n  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }\n}\n\n"\n                               );\n            if (iVar14 != 0) {\n              *(undefined4 *)(iVar14 + 0x58) = 2;\n              iVar16 = DAT_0013d6f4;\n              iVar15 = *(int *)(*(int *)(DAT_0013d6f4 + 0xa0) + 0x9c0);\n              *(code **)(iVar15 + 0x10) = FUN_00048da0;\n              pvVar8 = DAT_0013d42c;\n              *(int *)(iVar15 + 0x18) = iVar14;\n              *(void **)(iVar15 + 0x14) = pvVar8;\n              *(undefined4 *)(*(int *)(iVar14 + 0xa4) + 4) = 7;\n              *(longlong *)(iVar14 + 0x2c) = lVar24 + 0x10;\n              goto LAB_0004ad04;\n            }\n            pcVar12 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          uVar7 = dcgettext(0,pcVar12,5);\n          FUN_00033ba0(uVar7);\n          break;\n        }\n      }" ({ "{") (if_statement "if (((*(int *)(*(int *)(iVar14 + 4) + 4) == 5) && (*(int *)(iVar14 + 0x68) != 0)) &&\n           ((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0)) {\n          lVar24 = FUN_00037870(DAT_0013d42c);\n          if ((lVar24 == 0) || (lVar24 + 0x10 == 0)) {\n            pcVar12 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar14 = bfd_make_section_with_flags\n                               (iVar14,".note.gnu.build-id",\n                                "ttributes)) }\n  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }\n}\n\n"\n                               );\n            if (iVar14 != 0) {\n              *(undefined4 *)(iVar14 + 0x58) = 2;\n              iVar16 = DAT_0013d6f4;\n              iVar15 = *(int *)(*(int *)(DAT_0013d6f4 + 0xa0) + 0x9c0);\n              *(code **)(iVar15 + 0x10) = FUN_00048da0;\n              pvVar8 = DAT_0013d42c;\n              *(int *)(iVar15 + 0x18) = iVar14;\n              *(void **)(iVar15 + 0x14) = pvVar8;\n              *(undefined4 *)(*(int *)(iVar14 + 0xa4) + 4) = 7;\n              *(longlong *)(iVar14 + 0x2c) = lVar24 + 0x10;\n              goto LAB_0004ad04;\n            }\n            pcVar12 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          uVar7 = dcgettext(0,pcVar12,5);\n          FUN_00033ba0(uVar7);\n          break;\n        }" (if "if") (parenthesized_expression "(((*(int *)(*(int *)(iVar14 + 4) + 4) == 5) && (*(int *)(iVar14 + 0x68) != 0)) &&\n           ((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0))" (( "(") (binary_expression "((*(int *)(*(int *)(iVar14 + 4) + 4) == 5) && (*(int *)(iVar14 + 0x68) != 0)) &&\n           ((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0)" (parenthesized_expression "((*(int *)(*(int *)(iVar14 + 4) + 4) == 5) && (*(int *)(iVar14 + 0x68) != 0))" (( "(") (binary_expression "(*(int *)(*(int *)(iVar14 + 4) + 4) == 5) && (*(int *)(iVar14 + 0x68) != 0)" (parenthesized_expression "(*(int *)(*(int *)(iVar14 + 4) + 4) == 5)" (( "(") (binary_expression "*(int *)(*(int *)(iVar14 + 4) + 4) == 5" (pointer_expression "*(int *)(*(int *)(iVar14 + 4) + 4)" (* "*") (cast_expression "(int *)(*(int *)(iVar14 + 4) + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar14 + 4) + 4)" (( "(") (binary_expression "*(int *)(iVar14 + 4) + 4" (pointer_expression "*(int *)(iVar14 + 4)" (* "*") (cast_expression "(int *)(iVar14 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 4)" (( "(") (binary_expression "iVar14 + 4" (identifier "iVar14") (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "4")) () ")")))) (== "==") (number_literal "5")) () ")")) (&& "&&") (parenthesized_expression "(*(int *)(iVar14 + 0x68) != 0)" (( "(") (binary_expression "*(int *)(iVar14 + 0x68) != 0" (pointer_expression "*(int *)(iVar14 + 0x68)" (* "*") (cast_expression "(int *)(iVar14 + 0x68)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x68)" (( "(") (binary_expression "iVar14 + 0x68" (identifier "iVar14") (+ "+") (number_literal "0x68")) () ")")))) (!= "!=") (number_literal "0")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0)" (( "(") (binary_expression "(*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0" (parenthesized_expression "(*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10)" (( "(") (binary_expression "*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10" (pointer_expression "*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24)" (* "*") (cast_expression "(byte *)(*(int *)(iVar14 + 0xa4) + 0x24)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar14 + 0xa4) + 0x24)" (( "(") (binary_expression "*(int *)(iVar14 + 0xa4) + 0x24" (pointer_expression "*(int *)(iVar14 + 0xa4)" (* "*") (cast_expression "(int *)(iVar14 + 0xa4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0xa4)" (( "(") (binary_expression "iVar14 + 0xa4" (identifier "iVar14") (+ "+") (number_literal "0xa4")) () ")")))) (+ "+") (number_literal "0x24")) () ")")))) (& "&") (number_literal "0x10")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n          lVar24 = FUN_00037870(DAT_0013d42c);\n          if ((lVar24 == 0) || (lVar24 + 0x10 == 0)) {\n            pcVar12 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar14 = bfd_make_section_with_flags\n                               (iVar14,".note.gnu.build-id",\n                                "ttributes)) }\n  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }\n}\n\n"\n                               );\n            if (iVar14 != 0) {\n              *(undefined4 *)(iVar14 + 0x58) = 2;\n              iVar16 = DAT_0013d6f4;\n              iVar15 = *(int *)(*(int *)(DAT_0013d6f4 + 0xa0) + 0x9c0);\n              *(code **)(iVar15 + 0x10) = FUN_00048da0;\n              pvVar8 = DAT_0013d42c;\n              *(int *)(iVar15 + 0x18) = iVar14;\n              *(void **)(iVar15 + 0x14) = pvVar8;\n              *(undefined4 *)(*(int *)(iVar14 + 0xa4) + 4) = 7;\n              *(longlong *)(iVar14 + 0x2c) = lVar24 + 0x10;\n              goto LAB_0004ad04;\n            }\n            pcVar12 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }\n          uVar7 = dcgettext(0,pcVar12,5);\n          FUN_00033ba0(uVar7);\n          break;\n        }" ({ "{") (expression_statement "lVar24 = FUN_00037870(DAT_0013d42c);" (assignment_expression "lVar24 = FUN_00037870(DAT_0013d42c)" (identifier "lVar24") (= "=") (call_expression "FUN_00037870(DAT_0013d42c)" (identifier "FUN_00037870") (argument_list "(DAT_0013d42c)" (( "(") (identifier "DAT_0013d42c") () ")")))) (; ";")) (if_statement "if ((lVar24 == 0) || (lVar24 + 0x10 == 0)) {\n            pcVar12 = "%P: warning: unrecognized --build-id style ignored\n";\n          }\n          else {\n            iVar14 = bfd_make_section_with_flags\n                               (iVar14,".note.gnu.build-id",\n                                "ttributes)) }\n  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }\n}\n\n"\n                               );\n            if (iVar14 != 0) {\n              *(undefined4 *)(iVar14 + 0x58) = 2;\n              iVar16 = DAT_0013d6f4;\n              iVar15 = *(int *)(*(int *)(DAT_0013d6f4 + 0xa0) + 0x9c0);\n              *(code **)(iVar15 + 0x10) = FUN_00048da0;\n              pvVar8 = DAT_0013d42c;\n              *(int *)(iVar15 + 0x18) = iVar14;\n              *(void **)(iVar15 + 0x14) = pvVar8;\n              *(undefined4 *)(*(int *)(iVar14 + 0xa4) + 4) = 7;\n              *(longlong *)(iVar14 + 0x2c) = lVar24 + 0x10;\n              goto LAB_0004ad04;\n            }\n            pcVar12 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }" (if "if") (parenthesized_expression "((lVar24 == 0) || (lVar24 + 0x10 == 0))" (( "(") (binary_expression "(lVar24 == 0) || (lVar24 + 0x10 == 0)" (parenthesized_expression "(lVar24 == 0)" (( "(") (binary_expression "lVar24 == 0" (identifier "lVar24") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(lVar24 + 0x10 == 0)" (( "(") (binary_expression "lVar24 + 0x10 == 0" (binary_expression "lVar24 + 0x10" (identifier "lVar24") (+ "+") (number_literal "0x10")) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n            pcVar12 = "%P: warning: unrecognized --build-id style ignored\n";\n          }" ({ "{") (expression_statement "pcVar12 = "%P: warning: unrecognized --build-id style ignored\n";" (assignment_expression "pcVar12 = "%P: warning: unrecognized --build-id style ignored\n"" (identifier "pcVar12") (= "=") (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            iVar14 = bfd_make_section_with_flags\n                               (iVar14,".note.gnu.build-id",\n                                "ttributes)) }\n  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }\n}\n\n"\n                               );\n            if (iVar14 != 0) {\n              *(undefined4 *)(iVar14 + 0x58) = 2;\n              iVar16 = DAT_0013d6f4;\n              iVar15 = *(int *)(*(int *)(DAT_0013d6f4 + 0xa0) + 0x9c0);\n              *(code **)(iVar15 + 0x10) = FUN_00048da0;\n              pvVar8 = DAT_0013d42c;\n              *(int *)(iVar15 + 0x18) = iVar14;\n              *(void **)(iVar15 + 0x14) = pvVar8;\n              *(undefined4 *)(*(int *)(iVar14 + 0xa4) + 4) = 7;\n              *(longlong *)(iVar14 + 0x2c) = lVar24 + 0x10;\n              goto LAB_0004ad04;\n            }\n            pcVar12 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }" (else "else") (compound_statement "{\n            iVar14 = bfd_make_section_with_flags\n                               (iVar14,".note.gnu.build-id",\n                                "ttributes)) }\n  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }\n}\n\n"\n                               );\n            if (iVar14 != 0) {\n              *(undefined4 *)(iVar14 + 0x58) = 2;\n              iVar16 = DAT_0013d6f4;\n              iVar15 = *(int *)(*(int *)(DAT_0013d6f4 + 0xa0) + 0x9c0);\n              *(code **)(iVar15 + 0x10) = FUN_00048da0;\n              pvVar8 = DAT_0013d42c;\n              *(int *)(iVar15 + 0x18) = iVar14;\n              *(void **)(iVar15 + 0x14) = pvVar8;\n              *(undefined4 *)(*(int *)(iVar14 + 0xa4) + 4) = 7;\n              *(longlong *)(iVar14 + 0x2c) = lVar24 + 0x10;\n              goto LAB_0004ad04;\n            }\n            pcVar12 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";\n          }" ({ "{") (expression_statement "iVar14 = bfd_make_section_with_flags\n                               (iVar14,".note.gnu.build-id",\n                                "ttributes)) }\n  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }\n}\n\n"\n                               );" (assignment_expression "iVar14 = bfd_make_section_with_flags\n                               (iVar14,".note.gnu.build-id",\n                                "ttributes)) }\n  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }\n}\n\n"\n                               )" (identifier "iVar14") (= "=") (call_expression "bfd_make_section_with_flags\n                               (iVar14,".note.gnu.build-id",\n                                "ttributes)) }\n  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }\n}\n\n"\n                               )" (identifier "bfd_make_section_with_flags") (argument_list "(iVar14,".note.gnu.build-id",\n                                "ttributes)) }\n  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }\n}\n\n"\n                               )" (( "(") (identifier "iVar14") (, ",") (string_literal "".note.gnu.build-id"" (" """) (string_content ".note.gnu.build-id") (" """)) (, ",") (string_literal ""ttributes)) }\n  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }\n}\n\n"" (" """) (string_content "ttributes)) }") (escape_sequence "\n") (string_content "  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }") (escape_sequence "\n") (string_content "}") (escape_sequence "\n") (escape_sequence "\n") (" """)) () ")")))) (; ";")) (if_statement "if (iVar14 != 0) {\n              *(undefined4 *)(iVar14 + 0x58) = 2;\n              iVar16 = DAT_0013d6f4;\n              iVar15 = *(int *)(*(int *)(DAT_0013d6f4 + 0xa0) + 0x9c0);\n              *(code **)(iVar15 + 0x10) = FUN_00048da0;\n              pvVar8 = DAT_0013d42c;\n              *(int *)(iVar15 + 0x18) = iVar14;\n              *(void **)(iVar15 + 0x14) = pvVar8;\n              *(undefined4 *)(*(int *)(iVar14 + 0xa4) + 4) = 7;\n              *(longlong *)(iVar14 + 0x2c) = lVar24 + 0x10;\n              goto LAB_0004ad04;\n            }" (if "if") (parenthesized_expression "(iVar14 != 0)" (( "(") (binary_expression "iVar14 != 0" (identifier "iVar14") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              *(undefined4 *)(iVar14 + 0x58) = 2;\n              iVar16 = DAT_0013d6f4;\n              iVar15 = *(int *)(*(int *)(DAT_0013d6f4 + 0xa0) + 0x9c0);\n              *(code **)(iVar15 + 0x10) = FUN_00048da0;\n              pvVar8 = DAT_0013d42c;\n              *(int *)(iVar15 + 0x18) = iVar14;\n              *(void **)(iVar15 + 0x14) = pvVar8;\n              *(undefined4 *)(*(int *)(iVar14 + 0xa4) + 4) = 7;\n              *(longlong *)(iVar14 + 0x2c) = lVar24 + 0x10;\n              goto LAB_0004ad04;\n            }" ({ "{") (expression_statement "*(undefined4 *)(iVar14 + 0x58) = 2;" (assignment_expression "*(undefined4 *)(iVar14 + 0x58) = 2" (pointer_expression "*(undefined4 *)(iVar14 + 0x58)" (* "*") (cast_expression "(undefined4 *)(iVar14 + 0x58)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x58)" (( "(") (binary_expression "iVar14 + 0x58" (identifier "iVar14") (+ "+") (number_literal "0x58")) () ")")))) (= "=") (number_literal "2")) (; ";")) (expression_statement "iVar16 = DAT_0013d6f4;" (assignment_expression "iVar16 = DAT_0013d6f4" (identifier "iVar16") (= "=") (identifier "DAT_0013d6f4")) (; ";")) (expression_statement "iVar15 = *(int *)(*(int *)(DAT_0013d6f4 + 0xa0) + 0x9c0);" (assignment_expression "iVar15 = *(int *)(*(int *)(DAT_0013d6f4 + 0xa0) + 0x9c0)" (identifier "iVar15") (= "=") (pointer_expression "*(int *)(*(int *)(DAT_0013d6f4 + 0xa0) + 0x9c0)" (* "*") (cast_expression "(int *)(*(int *)(DAT_0013d6f4 + 0xa0) + 0x9c0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(DAT_0013d6f4 + 0xa0) + 0x9c0)" (( "(") (binary_expression "*(int *)(DAT_0013d6f4 + 0xa0) + 0x9c0" (pointer_expression "*(int *)(DAT_0013d6f4 + 0xa0)" (* "*") (cast_expression "(int *)(DAT_0013d6f4 + 0xa0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_0013d6f4 + 0xa0)" (( "(") (binary_expression "DAT_0013d6f4 + 0xa0" (identifier "DAT_0013d6f4") (+ "+") (number_literal "0xa0")) () ")")))) (+ "+") (number_literal "0x9c0")) () ")"))))) (; ";")) (expression_statement "*(code **)(iVar15 + 0x10) = FUN_00048da0;" (assignment_expression "*(code **)(iVar15 + 0x10) = FUN_00048da0" (pointer_expression "*(code **)(iVar15 + 0x10)" (* "*") (cast_expression "(code **)(iVar15 + 0x10)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar15 + 0x10)" (( "(") (binary_expression "iVar15 + 0x10" (identifier "iVar15") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (identifier "FUN_00048da0")) (; ";")) (expression_statement "pvVar8 = DAT_0013d42c;" (assignment_expression "pvVar8 = DAT_0013d42c" (identifier "pvVar8") (= "=") (identifier "DAT_0013d42c")) (; ";")) (expression_statement "*(int *)(iVar15 + 0x18) = iVar14;" (assignment_expression "*(int *)(iVar15 + 0x18) = iVar14" (pointer_expression "*(int *)(iVar15 + 0x18)" (* "*") (cast_expression "(int *)(iVar15 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + 0x18)" (( "(") (binary_expression "iVar15 + 0x18" (identifier "iVar15") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (identifier "iVar14")) (; ";")) (expression_statement "*(void **)(iVar15 + 0x14) = pvVar8;" (assignment_expression "*(void **)(iVar15 + 0x14) = pvVar8" (pointer_expression "*(void **)(iVar15 + 0x14)" (* "*") (cast_expression "(void **)(iVar15 + 0x14)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar15 + 0x14)" (( "(") (binary_expression "iVar15 + 0x14" (identifier "iVar15") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (identifier "pvVar8")) (; ";")) (expression_statement "*(undefined4 *)(*(int *)(iVar14 + 0xa4) + 4) = 7;" (assignment_expression "*(undefined4 *)(*(int *)(iVar14 + 0xa4) + 4) = 7" (pointer_expression "*(undefined4 *)(*(int *)(iVar14 + 0xa4) + 4)" (* "*") (cast_expression "(undefined4 *)(*(int *)(iVar14 + 0xa4) + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar14 + 0xa4) + 4)" (( "(") (binary_expression "*(int *)(iVar14 + 0xa4) + 4" (pointer_expression "*(int *)(iVar14 + 0xa4)" (* "*") (cast_expression "(int *)(iVar14 + 0xa4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0xa4)" (( "(") (binary_expression "iVar14 + 0xa4" (identifier "iVar14") (+ "+") (number_literal "0xa4")) () ")")))) (+ "+") (number_literal "4")) () ")")))) (= "=") (number_literal "7")) (; ";")) (expression_statement "*(longlong *)(iVar14 + 0x2c) = lVar24 + 0x10;" (assignment_expression "*(longlong *)(iVar14 + 0x2c) = lVar24 + 0x10" (pointer_expression "*(longlong *)(iVar14 + 0x2c)" (* "*") (cast_expression "(longlong *)(iVar14 + 0x2c)" (( "(") (type_descriptor "longlong *" (type_identifier "longlong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x2c)" (( "(") (binary_expression "iVar14 + 0x2c" (identifier "iVar14") (+ "+") (number_literal "0x2c")) () ")")))) (= "=") (binary_expression "lVar24 + 0x10" (identifier "lVar24") (+ "+") (number_literal "0x10"))) (; ";")) (goto_statement "goto LAB_0004ad04;" (goto "goto") (statement_identifier "LAB_0004ad04") (; ";")) (} "}"))) (expression_statement "pcVar12 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";" (assignment_expression "pcVar12 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n"" (identifier "pcVar12") (= "=") (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 "uVar7 = dcgettext(0,pcVar12,5);" (assignment_expression "uVar7 = dcgettext(0,pcVar12,5)" (identifier "uVar7") (= "=") (call_expression "dcgettext(0,pcVar12,5)" (identifier "dcgettext") (argument_list "(0,pcVar12,5)" (( "(") (number_literal "0") (, ",") (identifier "pcVar12") (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_00033ba0(uVar7);" (call_expression "FUN_00033ba0(uVar7)" (identifier "FUN_00033ba0") (argument_list "(uVar7)" (( "(") (identifier "uVar7") () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";")) (} "}"))) (} "}"))) (expression_statement "free(DAT_0013d42c);" (call_expression "free(DAT_0013d42c)" (identifier "free") (argument_list "(DAT_0013d42c)" (( "(") (identifier "DAT_0013d42c") () ")"))) (; ";")) (expression_statement "DAT_0013d42c = (void *)0x0;" (assignment_expression "DAT_0013d42c = (void *)0x0" (identifier "DAT_0013d42c") (= "=") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar16 = DAT_0013d6f4;" (assignment_expression "iVar16 = DAT_0013d6f4" (identifier "iVar16") (= "=") (identifier "DAT_0013d6f4")) (; ";")) (} "}"))) (labeled_statement "LAB_0004ad04:\n    (**(code **)(*(int *)(*(int *)(iVar16 + 4) + 0x1c0) + 0x1d0))(&DAT_0013d6c0);" (statement_identifier "LAB_0004ad04") (: ":") (expression_statement "(**(code **)(*(int *)(*(int *)(iVar16 + 4) + 0x1c0) + 0x1d0))(&DAT_0013d6c0);" (call_expression "(**(code **)(*(int *)(*(int *)(iVar16 + 4) + 0x1c0) + 0x1d0))(&DAT_0013d6c0)" (parenthesized_expression "(**(code **)(*(int *)(*(int *)(iVar16 + 4) + 0x1c0) + 0x1d0))" (( "(") (pointer_expression "**(code **)(*(int *)(*(int *)(iVar16 + 4) + 0x1c0) + 0x1d0)" (* "*") (pointer_expression "*(code **)(*(int *)(*(int *)(iVar16 + 4) + 0x1c0) + 0x1d0)" (* "*") (cast_expression "(code **)(*(int *)(*(int *)(iVar16 + 4) + 0x1c0) + 0x1d0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(*(int *)(iVar16 + 4) + 0x1c0) + 0x1d0)" (( "(") (binary_expression "*(int *)(*(int *)(iVar16 + 4) + 0x1c0) + 0x1d0" (pointer_expression "*(int *)(*(int *)(iVar16 + 4) + 0x1c0)" (* "*") (cast_expression "(int *)(*(int *)(iVar16 + 4) + 0x1c0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar16 + 4) + 0x1c0)" (( "(") (binary_expression "*(int *)(iVar16 + 4) + 0x1c0" (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 "0x1c0")) () ")")))) (+ "+") (number_literal "0x1d0")) () ")"))))) () ")")) (argument_list "(&DAT_0013d6c0)" (( "(") (pointer_expression "&DAT_0013d6c0" (& "&") (identifier "DAT_0013d6c0")) () ")"))) (; ";"))) (if_statement "if ((DAT_0013d6c0 & 3) == 2) {\n      if (DAT_0013d6c5 >> 7 == (~DAT_0013d6c6 & 1)) {\n        bfd_make_section_with_flags(DAT_0013d6fc,".note.GNU-stack",DAT_0013d6c5 >> 3 & 0x10 | 8);\n      }\n    }\n    else {\n      if (((DAT_0013d6c4 & 0x20) == 0) && (DAT_0013d6fc != 0)) {\n        local_50 = 0;\n        bVar2 = false;\n        local_4c = 0;\n        iVar14 = DAT_0013d6fc;\n        do {\n          while ((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0) {\n            puVar17 = *(undefined4 **)(iVar14 + 0x60);\n            if (puVar17 == (undefined4 *)0x0) {\nLAB_0004b231:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar20 = (undefined *)puVar17[0x15] < PTR__bfd_std_section_0013bfc4 + 0x180;\n                bVar22 = (undefined *)puVar17[0x15] == PTR__bfd_std_section_0013bfc4 + 0x180;\n                iVar16 = local_60;\n                if (!bVar22) {\n                  iVar15 = 0xf;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar20 = *pbVar18 < *pbVar19;\n                    bVar22 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar22);\n                  bVar21 = false;\n                  bVar20 = (!bVar20 && !bVar22) == bVar20;\n                  if (bVar20) {\n                    local_60 = 2;\n                    goto LAB_0004b209;\n                  }\n                  iVar15 = 10;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar21 = *pbVar18 < *pbVar19;\n                    bVar20 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar20);\n                  if (((!bVar21 && !bVar20) == bVar21) &&\n                     (iVar16 = 1,\n                     puVar17[0xc] == 0 && (uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc])) {\n                    iVar16 = local_60;\n                  }\n                }\n                local_60 = iVar16;\n                puVar17 = (undefined4 *)puVar17[3];\n              } while (puVar17 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_0004b231;\nLAB_0004b209:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar14 = local_4c;\n                }\n                uVar7 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00033ba0(uVar7,iVar14);\n                goto LAB_0004b267;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_0004b231;\n              if (local_60 != 2) {\n                if ((_DAT_0013d6c2 & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar2 = true;\n                  if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                    local_4c = iVar14;\n                  }\n                }\n                break;\n              }\n              bVar2 = true;\n              if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                local_4c = iVar14;\n              }\n            }\n            iVar14 = *(int *)(iVar14 + 0x9c);\n            local_50 = 2;\n            _DAT_0013d6c2 = _DAT_0013d6c2 & 0x3fff | 0x8000;\n            if (iVar14 == 0) goto LAB_0004b267;\n          }\n          iVar14 = *(int *)(iVar14 + 0x9c);\n        } while (iVar14 != 0);\nLAB_0004b267:\n        if ((local_4c == 0) ||\n           (iVar14 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x30) | 8),\n           iVar14 == 0)) {\n          if (bVar2) {\n            uVar7 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00033ba0(uVar7);\n          }\n        }\n        else {\n          *(undefined4 *)(iVar14 + 0x58) = 2;\n          *(int *)(iVar6 + 0xd0) = iVar14;\n        }\n      }\n      puVar4 = (undefined4 *)bfd_elf_get_needed_list(DAT_0013d6f4,&DAT_0013d6c0);\n      for (puVar17 = puVar4; puVar17 != (undefined4 *)0x0; puVar17 = (undefined4 *)*puVar17) {\n        puVar3 = puVar4;\n        if ((puVar17[1] == 0) ||\n           ((uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 1) == 0 &&\n            (((puVar17[1] == 0 || ((_DAT_0013d6c2 & 0x180) != 0x80)) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 4) == 0)))))) {\n          for (; puVar3 != puVar17; puVar3 = (undefined4 *)*puVar3) {\n            if (((puVar3[1] == 0) ||\n                (uVar5 = bfd_elf_get_dyn_lib_class(puVar3[1]), (uVar5 & 1) == 0)) &&\n               (iVar6 = strcmp((char *)puVar3[2],(char *)puVar17[2]), iVar6 == 0)) {\n              if (puVar17 != puVar3) goto LAB_0004ae88;\n              break;\n            }\n          }\n          DAT_0013d440 = 0;\n          DAT_0013d4c0 = puVar17;\n          FUN_000264a0(FUN_0004a2c0);\n          if ((DAT_0013d440 == 0) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_0013d440 + 0x10)),\n             (uVar5 & 1) != 0)) {\n            uVar7 = puVar17[1];\n            uVar1 = puVar17[2];\n            if (DAT_0013d83c != 0) {\n              uVar13 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00033b70(uVar13,uVar1,uVar7);\n            }\n            if ((DAT_0013d440 == 0) || (iVar6 = FUN_0004a3c0(), iVar6 == 0)) {\n              bVar2 = false;\n              while (iVar6 = FUN_0004a6d0(), iVar6 == 0) {\n                if (DAT_0013d7a4 != 0) {\n                  pvVar8 = (void *)FUN_00048f50();\n                  iVar6 = FUN_0004a6d0();\n                  free(pvVar8);\n                  if (iVar6 != 0) break;\n                }\n                piVar9 = (int *)bfd_elf_get_runpath_list(DAT_0013d6f4,&DAT_0013d6c0);\n                if (piVar9 != (int *)0x0) {\n                  do {\n                    bVar22 = true;\n                    pvVar8 = (void *)FUN_00048f50();\n                    bVar20 = false;\n                    if (piVar9[1] == puVar17[1]) {\n                      iVar6 = FUN_0004a6d0();\n                      bVar22 = iVar6 == 0;\n                      bVar20 = !bVar22;\n                    }\n                    free(pvVar8);\n                    piVar9 = (int *)*piVar9;\n                  } while ((piVar9 != (int *)0x0) && (bVar22));\n                  if (bVar20) break;\n                }\n                if (DAT_0013d424 == 0) {\n                  pvVar8 = (void *)concat(DAT_0013d75c,"/usr/etc/ld.so.conf",0);\n                  iVar6 = FUN_00049060();\n                  if (iVar6 == 0) {\n                    free(pvVar8);\n                    pvVar8 = (void *)concat(DAT_0013d75c,"/etc/ld.so.conf",0);\n                    FUN_00049060();\n                  }\n                  free(pvVar8);\n                  DAT_0013d424 = 1;\n                }\n                pcVar12 = (char *)puVar17[2];\n                if (DAT_0013d420 != 0) {\n                  iVar6 = FUN_0004a6d0();\n                  if (iVar6 != 0) break;\n                  pcVar12 = (char *)puVar17[2];\n                }\n                sVar10 = strlen(pcVar12);\n                if (DAT_0013d8e4 != (int *)0x0) {\n                  piVar9 = DAT_0013d8e4;\n                  do {\n                    if (piVar9[2] == 0) {\n                      sVar11 = strlen((char *)piVar9[1]);\n                      pcVar12 = (char *)xmalloc(sVar11 + sVar10 + 2);\n                      sprintf(pcVar12,"%s/%s",piVar9[1],puVar17[2]);\n                      iVar6 = FUN_0004a3c0();\n                      if (iVar6 != 0) goto LAB_0004ae88;\n                      free(pcVar12);\n                    }\n                    piVar9 = (int *)*piVar9;\n                  } while (piVar9 != (int *)0x0);\n                }\n                if (bVar2) {\n                  uVar7 = puVar17[1];\n                  uVar1 = puVar17[2];\n                  uVar13 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00033ba0(uVar13,uVar1,uVar7);\n                  break;\n                }\n                bVar2 = true;\n              }\n            }\n          }\n        }\nLAB_0004ae88:\n      }\n      DAT_0013d6c3 = (byte)(_DAT_0013d6c2 >> 8);\n      bVar23 = DAT_0013d6c3 & 0xc0;\n      if ((bVar23 == 0x80) && (iVar6 = bfd_elf_parse_eh_frame_entries(0,&DAT_0013d6c0), iVar6 == 0))\n      {\n        uVar7 = dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);\n        FUN_00033ba0(uVar7);\n      }\n    }" (if "if") (parenthesized_expression "((DAT_0013d6c0 & 3) == 2)" (( "(") (binary_expression "(DAT_0013d6c0 & 3) == 2" (parenthesized_expression "(DAT_0013d6c0 & 3)" (( "(") (binary_expression "DAT_0013d6c0 & 3" (identifier "DAT_0013d6c0") (& "&") (number_literal "3")) () ")")) (== "==") (number_literal "2")) () ")")) (compound_statement "{\n      if (DAT_0013d6c5 >> 7 == (~DAT_0013d6c6 & 1)) {\n        bfd_make_section_with_flags(DAT_0013d6fc,".note.GNU-stack",DAT_0013d6c5 >> 3 & 0x10 | 8);\n      }\n    }" ({ "{") (if_statement "if (DAT_0013d6c5 >> 7 == (~DAT_0013d6c6 & 1)) {\n        bfd_make_section_with_flags(DAT_0013d6fc,".note.GNU-stack",DAT_0013d6c5 >> 3 & 0x10 | 8);\n      }" (if "if") (parenthesized_expression "(DAT_0013d6c5 >> 7 == (~DAT_0013d6c6 & 1))" (( "(") (binary_expression "DAT_0013d6c5 >> 7 == (~DAT_0013d6c6 & 1)" (binary_expression "DAT_0013d6c5 >> 7" (identifier "DAT_0013d6c5") (>> ">>") (number_literal "7")) (== "==") (parenthesized_expression "(~DAT_0013d6c6 & 1)" (( "(") (binary_expression "~DAT_0013d6c6 & 1" (unary_expression "~DAT_0013d6c6" (~ "~") (identifier "DAT_0013d6c6")) (& "&") (number_literal "1")) () ")"))) () ")")) (compound_statement "{\n        bfd_make_section_with_flags(DAT_0013d6fc,".note.GNU-stack",DAT_0013d6c5 >> 3 & 0x10 | 8);\n      }" ({ "{") (expression_statement "bfd_make_section_with_flags(DAT_0013d6fc,".note.GNU-stack",DAT_0013d6c5 >> 3 & 0x10 | 8);" (call_expression "bfd_make_section_with_flags(DAT_0013d6fc,".note.GNU-stack",DAT_0013d6c5 >> 3 & 0x10 | 8)" (identifier "bfd_make_section_with_flags") (argument_list "(DAT_0013d6fc,".note.GNU-stack",DAT_0013d6c5 >> 3 & 0x10 | 8)" (( "(") (identifier "DAT_0013d6fc") (, ",") (string_literal "".note.GNU-stack"" (" """) (string_content ".note.GNU-stack") (" """)) (, ",") (binary_expression "DAT_0013d6c5 >> 3 & 0x10 | 8" (binary_expression "DAT_0013d6c5 >> 3 & 0x10" (binary_expression "DAT_0013d6c5 >> 3" (identifier "DAT_0013d6c5") (>> ">>") (number_literal "3")) (& "&") (number_literal "0x10")) (| "|") (number_literal "8")) () ")"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n      if (((DAT_0013d6c4 & 0x20) == 0) && (DAT_0013d6fc != 0)) {\n        local_50 = 0;\n        bVar2 = false;\n        local_4c = 0;\n        iVar14 = DAT_0013d6fc;\n        do {\n          while ((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0) {\n            puVar17 = *(undefined4 **)(iVar14 + 0x60);\n            if (puVar17 == (undefined4 *)0x0) {\nLAB_0004b231:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar20 = (undefined *)puVar17[0x15] < PTR__bfd_std_section_0013bfc4 + 0x180;\n                bVar22 = (undefined *)puVar17[0x15] == PTR__bfd_std_section_0013bfc4 + 0x180;\n                iVar16 = local_60;\n                if (!bVar22) {\n                  iVar15 = 0xf;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar20 = *pbVar18 < *pbVar19;\n                    bVar22 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar22);\n                  bVar21 = false;\n                  bVar20 = (!bVar20 && !bVar22) == bVar20;\n                  if (bVar20) {\n                    local_60 = 2;\n                    goto LAB_0004b209;\n                  }\n                  iVar15 = 10;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar21 = *pbVar18 < *pbVar19;\n                    bVar20 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar20);\n                  if (((!bVar21 && !bVar20) == bVar21) &&\n                     (iVar16 = 1,\n                     puVar17[0xc] == 0 && (uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc])) {\n                    iVar16 = local_60;\n                  }\n                }\n                local_60 = iVar16;\n                puVar17 = (undefined4 *)puVar17[3];\n              } while (puVar17 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_0004b231;\nLAB_0004b209:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar14 = local_4c;\n                }\n                uVar7 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00033ba0(uVar7,iVar14);\n                goto LAB_0004b267;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_0004b231;\n              if (local_60 != 2) {\n                if ((_DAT_0013d6c2 & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar2 = true;\n                  if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                    local_4c = iVar14;\n                  }\n                }\n                break;\n              }\n              bVar2 = true;\n              if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                local_4c = iVar14;\n              }\n            }\n            iVar14 = *(int *)(iVar14 + 0x9c);\n            local_50 = 2;\n            _DAT_0013d6c2 = _DAT_0013d6c2 & 0x3fff | 0x8000;\n            if (iVar14 == 0) goto LAB_0004b267;\n          }\n          iVar14 = *(int *)(iVar14 + 0x9c);\n        } while (iVar14 != 0);\nLAB_0004b267:\n        if ((local_4c == 0) ||\n           (iVar14 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x30) | 8),\n           iVar14 == 0)) {\n          if (bVar2) {\n            uVar7 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00033ba0(uVar7);\n          }\n        }\n        else {\n          *(undefined4 *)(iVar14 + 0x58) = 2;\n          *(int *)(iVar6 + 0xd0) = iVar14;\n        }\n      }\n      puVar4 = (undefined4 *)bfd_elf_get_needed_list(DAT_0013d6f4,&DAT_0013d6c0);\n      for (puVar17 = puVar4; puVar17 != (undefined4 *)0x0; puVar17 = (undefined4 *)*puVar17) {\n        puVar3 = puVar4;\n        if ((puVar17[1] == 0) ||\n           ((uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 1) == 0 &&\n            (((puVar17[1] == 0 || ((_DAT_0013d6c2 & 0x180) != 0x80)) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 4) == 0)))))) {\n          for (; puVar3 != puVar17; puVar3 = (undefined4 *)*puVar3) {\n            if (((puVar3[1] == 0) ||\n                (uVar5 = bfd_elf_get_dyn_lib_class(puVar3[1]), (uVar5 & 1) == 0)) &&\n               (iVar6 = strcmp((char *)puVar3[2],(char *)puVar17[2]), iVar6 == 0)) {\n              if (puVar17 != puVar3) goto LAB_0004ae88;\n              break;\n            }\n          }\n          DAT_0013d440 = 0;\n          DAT_0013d4c0 = puVar17;\n          FUN_000264a0(FUN_0004a2c0);\n          if ((DAT_0013d440 == 0) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_0013d440 + 0x10)),\n             (uVar5 & 1) != 0)) {\n            uVar7 = puVar17[1];\n            uVar1 = puVar17[2];\n            if (DAT_0013d83c != 0) {\n              uVar13 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00033b70(uVar13,uVar1,uVar7);\n            }\n            if ((DAT_0013d440 == 0) || (iVar6 = FUN_0004a3c0(), iVar6 == 0)) {\n              bVar2 = false;\n              while (iVar6 = FUN_0004a6d0(), iVar6 == 0) {\n                if (DAT_0013d7a4 != 0) {\n                  pvVar8 = (void *)FUN_00048f50();\n                  iVar6 = FUN_0004a6d0();\n                  free(pvVar8);\n                  if (iVar6 != 0) break;\n                }\n                piVar9 = (int *)bfd_elf_get_runpath_list(DAT_0013d6f4,&DAT_0013d6c0);\n                if (piVar9 != (int *)0x0) {\n                  do {\n                    bVar22 = true;\n                    pvVar8 = (void *)FUN_00048f50();\n                    bVar20 = false;\n                    if (piVar9[1] == puVar17[1]) {\n                      iVar6 = FUN_0004a6d0();\n                      bVar22 = iVar6 == 0;\n                      bVar20 = !bVar22;\n                    }\n                    free(pvVar8);\n                    piVar9 = (int *)*piVar9;\n                  } while ((piVar9 != (int *)0x0) && (bVar22));\n                  if (bVar20) break;\n                }\n                if (DAT_0013d424 == 0) {\n                  pvVar8 = (void *)concat(DAT_0013d75c,"/usr/etc/ld.so.conf",0);\n                  iVar6 = FUN_00049060();\n                  if (iVar6 == 0) {\n                    free(pvVar8);\n                    pvVar8 = (void *)concat(DAT_0013d75c,"/etc/ld.so.conf",0);\n                    FUN_00049060();\n                  }\n                  free(pvVar8);\n                  DAT_0013d424 = 1;\n                }\n                pcVar12 = (char *)puVar17[2];\n                if (DAT_0013d420 != 0) {\n                  iVar6 = FUN_0004a6d0();\n                  if (iVar6 != 0) break;\n                  pcVar12 = (char *)puVar17[2];\n                }\n                sVar10 = strlen(pcVar12);\n                if (DAT_0013d8e4 != (int *)0x0) {\n                  piVar9 = DAT_0013d8e4;\n                  do {\n                    if (piVar9[2] == 0) {\n                      sVar11 = strlen((char *)piVar9[1]);\n                      pcVar12 = (char *)xmalloc(sVar11 + sVar10 + 2);\n                      sprintf(pcVar12,"%s/%s",piVar9[1],puVar17[2]);\n                      iVar6 = FUN_0004a3c0();\n                      if (iVar6 != 0) goto LAB_0004ae88;\n                      free(pcVar12);\n                    }\n                    piVar9 = (int *)*piVar9;\n                  } while (piVar9 != (int *)0x0);\n                }\n                if (bVar2) {\n                  uVar7 = puVar17[1];\n                  uVar1 = puVar17[2];\n                  uVar13 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00033ba0(uVar13,uVar1,uVar7);\n                  break;\n                }\n                bVar2 = true;\n              }\n            }\n          }\n        }\nLAB_0004ae88:\n      }\n      DAT_0013d6c3 = (byte)(_DAT_0013d6c2 >> 8);\n      bVar23 = DAT_0013d6c3 & 0xc0;\n      if ((bVar23 == 0x80) && (iVar6 = bfd_elf_parse_eh_frame_entries(0,&DAT_0013d6c0), iVar6 == 0))\n      {\n        uVar7 = dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);\n        FUN_00033ba0(uVar7);\n      }\n    }" (else "else") (compound_statement "{\n      if (((DAT_0013d6c4 & 0x20) == 0) && (DAT_0013d6fc != 0)) {\n        local_50 = 0;\n        bVar2 = false;\n        local_4c = 0;\n        iVar14 = DAT_0013d6fc;\n        do {\n          while ((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0) {\n            puVar17 = *(undefined4 **)(iVar14 + 0x60);\n            if (puVar17 == (undefined4 *)0x0) {\nLAB_0004b231:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar20 = (undefined *)puVar17[0x15] < PTR__bfd_std_section_0013bfc4 + 0x180;\n                bVar22 = (undefined *)puVar17[0x15] == PTR__bfd_std_section_0013bfc4 + 0x180;\n                iVar16 = local_60;\n                if (!bVar22) {\n                  iVar15 = 0xf;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar20 = *pbVar18 < *pbVar19;\n                    bVar22 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar22);\n                  bVar21 = false;\n                  bVar20 = (!bVar20 && !bVar22) == bVar20;\n                  if (bVar20) {\n                    local_60 = 2;\n                    goto LAB_0004b209;\n                  }\n                  iVar15 = 10;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar21 = *pbVar18 < *pbVar19;\n                    bVar20 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar20);\n                  if (((!bVar21 && !bVar20) == bVar21) &&\n                     (iVar16 = 1,\n                     puVar17[0xc] == 0 && (uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc])) {\n                    iVar16 = local_60;\n                  }\n                }\n                local_60 = iVar16;\n                puVar17 = (undefined4 *)puVar17[3];\n              } while (puVar17 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_0004b231;\nLAB_0004b209:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar14 = local_4c;\n                }\n                uVar7 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00033ba0(uVar7,iVar14);\n                goto LAB_0004b267;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_0004b231;\n              if (local_60 != 2) {\n                if ((_DAT_0013d6c2 & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar2 = true;\n                  if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                    local_4c = iVar14;\n                  }\n                }\n                break;\n              }\n              bVar2 = true;\n              if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                local_4c = iVar14;\n              }\n            }\n            iVar14 = *(int *)(iVar14 + 0x9c);\n            local_50 = 2;\n            _DAT_0013d6c2 = _DAT_0013d6c2 & 0x3fff | 0x8000;\n            if (iVar14 == 0) goto LAB_0004b267;\n          }\n          iVar14 = *(int *)(iVar14 + 0x9c);\n        } while (iVar14 != 0);\nLAB_0004b267:\n        if ((local_4c == 0) ||\n           (iVar14 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x30) | 8),\n           iVar14 == 0)) {\n          if (bVar2) {\n            uVar7 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00033ba0(uVar7);\n          }\n        }\n        else {\n          *(undefined4 *)(iVar14 + 0x58) = 2;\n          *(int *)(iVar6 + 0xd0) = iVar14;\n        }\n      }\n      puVar4 = (undefined4 *)bfd_elf_get_needed_list(DAT_0013d6f4,&DAT_0013d6c0);\n      for (puVar17 = puVar4; puVar17 != (undefined4 *)0x0; puVar17 = (undefined4 *)*puVar17) {\n        puVar3 = puVar4;\n        if ((puVar17[1] == 0) ||\n           ((uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 1) == 0 &&\n            (((puVar17[1] == 0 || ((_DAT_0013d6c2 & 0x180) != 0x80)) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 4) == 0)))))) {\n          for (; puVar3 != puVar17; puVar3 = (undefined4 *)*puVar3) {\n            if (((puVar3[1] == 0) ||\n                (uVar5 = bfd_elf_get_dyn_lib_class(puVar3[1]), (uVar5 & 1) == 0)) &&\n               (iVar6 = strcmp((char *)puVar3[2],(char *)puVar17[2]), iVar6 == 0)) {\n              if (puVar17 != puVar3) goto LAB_0004ae88;\n              break;\n            }\n          }\n          DAT_0013d440 = 0;\n          DAT_0013d4c0 = puVar17;\n          FUN_000264a0(FUN_0004a2c0);\n          if ((DAT_0013d440 == 0) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_0013d440 + 0x10)),\n             (uVar5 & 1) != 0)) {\n            uVar7 = puVar17[1];\n            uVar1 = puVar17[2];\n            if (DAT_0013d83c != 0) {\n              uVar13 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00033b70(uVar13,uVar1,uVar7);\n            }\n            if ((DAT_0013d440 == 0) || (iVar6 = FUN_0004a3c0(), iVar6 == 0)) {\n              bVar2 = false;\n              while (iVar6 = FUN_0004a6d0(), iVar6 == 0) {\n                if (DAT_0013d7a4 != 0) {\n                  pvVar8 = (void *)FUN_00048f50();\n                  iVar6 = FUN_0004a6d0();\n                  free(pvVar8);\n                  if (iVar6 != 0) break;\n                }\n                piVar9 = (int *)bfd_elf_get_runpath_list(DAT_0013d6f4,&DAT_0013d6c0);\n                if (piVar9 != (int *)0x0) {\n                  do {\n                    bVar22 = true;\n                    pvVar8 = (void *)FUN_00048f50();\n                    bVar20 = false;\n                    if (piVar9[1] == puVar17[1]) {\n                      iVar6 = FUN_0004a6d0();\n                      bVar22 = iVar6 == 0;\n                      bVar20 = !bVar22;\n                    }\n                    free(pvVar8);\n                    piVar9 = (int *)*piVar9;\n                  } while ((piVar9 != (int *)0x0) && (bVar22));\n                  if (bVar20) break;\n                }\n                if (DAT_0013d424 == 0) {\n                  pvVar8 = (void *)concat(DAT_0013d75c,"/usr/etc/ld.so.conf",0);\n                  iVar6 = FUN_00049060();\n                  if (iVar6 == 0) {\n                    free(pvVar8);\n                    pvVar8 = (void *)concat(DAT_0013d75c,"/etc/ld.so.conf",0);\n                    FUN_00049060();\n                  }\n                  free(pvVar8);\n                  DAT_0013d424 = 1;\n                }\n                pcVar12 = (char *)puVar17[2];\n                if (DAT_0013d420 != 0) {\n                  iVar6 = FUN_0004a6d0();\n                  if (iVar6 != 0) break;\n                  pcVar12 = (char *)puVar17[2];\n                }\n                sVar10 = strlen(pcVar12);\n                if (DAT_0013d8e4 != (int *)0x0) {\n                  piVar9 = DAT_0013d8e4;\n                  do {\n                    if (piVar9[2] == 0) {\n                      sVar11 = strlen((char *)piVar9[1]);\n                      pcVar12 = (char *)xmalloc(sVar11 + sVar10 + 2);\n                      sprintf(pcVar12,"%s/%s",piVar9[1],puVar17[2]);\n                      iVar6 = FUN_0004a3c0();\n                      if (iVar6 != 0) goto LAB_0004ae88;\n                      free(pcVar12);\n                    }\n                    piVar9 = (int *)*piVar9;\n                  } while (piVar9 != (int *)0x0);\n                }\n                if (bVar2) {\n                  uVar7 = puVar17[1];\n                  uVar1 = puVar17[2];\n                  uVar13 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00033ba0(uVar13,uVar1,uVar7);\n                  break;\n                }\n                bVar2 = true;\n              }\n            }\n          }\n        }\nLAB_0004ae88:\n      }\n      DAT_0013d6c3 = (byte)(_DAT_0013d6c2 >> 8);\n      bVar23 = DAT_0013d6c3 & 0xc0;\n      if ((bVar23 == 0x80) && (iVar6 = bfd_elf_parse_eh_frame_entries(0,&DAT_0013d6c0), iVar6 == 0))\n      {\n        uVar7 = dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);\n        FUN_00033ba0(uVar7);\n      }\n    }" ({ "{") (if_statement "if (((DAT_0013d6c4 & 0x20) == 0) && (DAT_0013d6fc != 0)) {\n        local_50 = 0;\n        bVar2 = false;\n        local_4c = 0;\n        iVar14 = DAT_0013d6fc;\n        do {\n          while ((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0) {\n            puVar17 = *(undefined4 **)(iVar14 + 0x60);\n            if (puVar17 == (undefined4 *)0x0) {\nLAB_0004b231:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar20 = (undefined *)puVar17[0x15] < PTR__bfd_std_section_0013bfc4 + 0x180;\n                bVar22 = (undefined *)puVar17[0x15] == PTR__bfd_std_section_0013bfc4 + 0x180;\n                iVar16 = local_60;\n                if (!bVar22) {\n                  iVar15 = 0xf;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar20 = *pbVar18 < *pbVar19;\n                    bVar22 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar22);\n                  bVar21 = false;\n                  bVar20 = (!bVar20 && !bVar22) == bVar20;\n                  if (bVar20) {\n                    local_60 = 2;\n                    goto LAB_0004b209;\n                  }\n                  iVar15 = 10;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar21 = *pbVar18 < *pbVar19;\n                    bVar20 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar20);\n                  if (((!bVar21 && !bVar20) == bVar21) &&\n                     (iVar16 = 1,\n                     puVar17[0xc] == 0 && (uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc])) {\n                    iVar16 = local_60;\n                  }\n                }\n                local_60 = iVar16;\n                puVar17 = (undefined4 *)puVar17[3];\n              } while (puVar17 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_0004b231;\nLAB_0004b209:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar14 = local_4c;\n                }\n                uVar7 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00033ba0(uVar7,iVar14);\n                goto LAB_0004b267;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_0004b231;\n              if (local_60 != 2) {\n                if ((_DAT_0013d6c2 & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar2 = true;\n                  if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                    local_4c = iVar14;\n                  }\n                }\n                break;\n              }\n              bVar2 = true;\n              if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                local_4c = iVar14;\n              }\n            }\n            iVar14 = *(int *)(iVar14 + 0x9c);\n            local_50 = 2;\n            _DAT_0013d6c2 = _DAT_0013d6c2 & 0x3fff | 0x8000;\n            if (iVar14 == 0) goto LAB_0004b267;\n          }\n          iVar14 = *(int *)(iVar14 + 0x9c);\n        } while (iVar14 != 0);\nLAB_0004b267:\n        if ((local_4c == 0) ||\n           (iVar14 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x30) | 8),\n           iVar14 == 0)) {\n          if (bVar2) {\n            uVar7 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00033ba0(uVar7);\n          }\n        }\n        else {\n          *(undefined4 *)(iVar14 + 0x58) = 2;\n          *(int *)(iVar6 + 0xd0) = iVar14;\n        }\n      }" (if "if") (parenthesized_expression "(((DAT_0013d6c4 & 0x20) == 0) && (DAT_0013d6fc != 0))" (( "(") (binary_expression "((DAT_0013d6c4 & 0x20) == 0) && (DAT_0013d6fc != 0)" (parenthesized_expression "((DAT_0013d6c4 & 0x20) == 0)" (( "(") (binary_expression "(DAT_0013d6c4 & 0x20) == 0" (parenthesized_expression "(DAT_0013d6c4 & 0x20)" (( "(") (binary_expression "DAT_0013d6c4 & 0x20" (identifier "DAT_0013d6c4") (& "&") (number_literal "0x20")) () ")")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(DAT_0013d6fc != 0)" (( "(") (binary_expression "DAT_0013d6fc != 0" (identifier "DAT_0013d6fc") (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n        local_50 = 0;\n        bVar2 = false;\n        local_4c = 0;\n        iVar14 = DAT_0013d6fc;\n        do {\n          while ((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0) {\n            puVar17 = *(undefined4 **)(iVar14 + 0x60);\n            if (puVar17 == (undefined4 *)0x0) {\nLAB_0004b231:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar20 = (undefined *)puVar17[0x15] < PTR__bfd_std_section_0013bfc4 + 0x180;\n                bVar22 = (undefined *)puVar17[0x15] == PTR__bfd_std_section_0013bfc4 + 0x180;\n                iVar16 = local_60;\n                if (!bVar22) {\n                  iVar15 = 0xf;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar20 = *pbVar18 < *pbVar19;\n                    bVar22 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar22);\n                  bVar21 = false;\n                  bVar20 = (!bVar20 && !bVar22) == bVar20;\n                  if (bVar20) {\n                    local_60 = 2;\n                    goto LAB_0004b209;\n                  }\n                  iVar15 = 10;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar21 = *pbVar18 < *pbVar19;\n                    bVar20 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar20);\n                  if (((!bVar21 && !bVar20) == bVar21) &&\n                     (iVar16 = 1,\n                     puVar17[0xc] == 0 && (uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc])) {\n                    iVar16 = local_60;\n                  }\n                }\n                local_60 = iVar16;\n                puVar17 = (undefined4 *)puVar17[3];\n              } while (puVar17 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_0004b231;\nLAB_0004b209:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar14 = local_4c;\n                }\n                uVar7 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00033ba0(uVar7,iVar14);\n                goto LAB_0004b267;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_0004b231;\n              if (local_60 != 2) {\n                if ((_DAT_0013d6c2 & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar2 = true;\n                  if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                    local_4c = iVar14;\n                  }\n                }\n                break;\n              }\n              bVar2 = true;\n              if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                local_4c = iVar14;\n              }\n            }\n            iVar14 = *(int *)(iVar14 + 0x9c);\n            local_50 = 2;\n            _DAT_0013d6c2 = _DAT_0013d6c2 & 0x3fff | 0x8000;\n            if (iVar14 == 0) goto LAB_0004b267;\n          }\n          iVar14 = *(int *)(iVar14 + 0x9c);\n        } while (iVar14 != 0);\nLAB_0004b267:\n        if ((local_4c == 0) ||\n           (iVar14 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x30) | 8),\n           iVar14 == 0)) {\n          if (bVar2) {\n            uVar7 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00033ba0(uVar7);\n          }\n        }\n        else {\n          *(undefined4 *)(iVar14 + 0x58) = 2;\n          *(int *)(iVar6 + 0xd0) = iVar14;\n        }\n      }" ({ "{") (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" (identifier "local_50") (= "=") (number_literal "0")) (; ";")) (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" (identifier "bVar2") (= "=") (false "false")) (; ";")) (expression_statement "local_4c = 0;" (assignment_expression "local_4c = 0" (identifier "local_4c") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar14 = DAT_0013d6fc;" (assignment_expression "iVar14 = DAT_0013d6fc" (identifier "iVar14") (= "=") (identifier "DAT_0013d6fc")) (; ";")) (do_statement "do {\n          while ((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0) {\n            puVar17 = *(undefined4 **)(iVar14 + 0x60);\n            if (puVar17 == (undefined4 *)0x0) {\nLAB_0004b231:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar20 = (undefined *)puVar17[0x15] < PTR__bfd_std_section_0013bfc4 + 0x180;\n                bVar22 = (undefined *)puVar17[0x15] == PTR__bfd_std_section_0013bfc4 + 0x180;\n                iVar16 = local_60;\n                if (!bVar22) {\n                  iVar15 = 0xf;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar20 = *pbVar18 < *pbVar19;\n                    bVar22 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar22);\n                  bVar21 = false;\n                  bVar20 = (!bVar20 && !bVar22) == bVar20;\n                  if (bVar20) {\n                    local_60 = 2;\n                    goto LAB_0004b209;\n                  }\n                  iVar15 = 10;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar21 = *pbVar18 < *pbVar19;\n                    bVar20 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar20);\n                  if (((!bVar21 && !bVar20) == bVar21) &&\n                     (iVar16 = 1,\n                     puVar17[0xc] == 0 && (uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc])) {\n                    iVar16 = local_60;\n                  }\n                }\n                local_60 = iVar16;\n                puVar17 = (undefined4 *)puVar17[3];\n              } while (puVar17 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_0004b231;\nLAB_0004b209:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar14 = local_4c;\n                }\n                uVar7 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00033ba0(uVar7,iVar14);\n                goto LAB_0004b267;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_0004b231;\n              if (local_60 != 2) {\n                if ((_DAT_0013d6c2 & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar2 = true;\n                  if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                    local_4c = iVar14;\n                  }\n                }\n                break;\n              }\n              bVar2 = true;\n              if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                local_4c = iVar14;\n              }\n            }\n            iVar14 = *(int *)(iVar14 + 0x9c);\n            local_50 = 2;\n            _DAT_0013d6c2 = _DAT_0013d6c2 & 0x3fff | 0x8000;\n            if (iVar14 == 0) goto LAB_0004b267;\n          }\n          iVar14 = *(int *)(iVar14 + 0x9c);\n        } while (iVar14 != 0);" (do "do") (compound_statement "{\n          while ((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0) {\n            puVar17 = *(undefined4 **)(iVar14 + 0x60);\n            if (puVar17 == (undefined4 *)0x0) {\nLAB_0004b231:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar20 = (undefined *)puVar17[0x15] < PTR__bfd_std_section_0013bfc4 + 0x180;\n                bVar22 = (undefined *)puVar17[0x15] == PTR__bfd_std_section_0013bfc4 + 0x180;\n                iVar16 = local_60;\n                if (!bVar22) {\n                  iVar15 = 0xf;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar20 = *pbVar18 < *pbVar19;\n                    bVar22 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar22);\n                  bVar21 = false;\n                  bVar20 = (!bVar20 && !bVar22) == bVar20;\n                  if (bVar20) {\n                    local_60 = 2;\n                    goto LAB_0004b209;\n                  }\n                  iVar15 = 10;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar21 = *pbVar18 < *pbVar19;\n                    bVar20 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar20);\n                  if (((!bVar21 && !bVar20) == bVar21) &&\n                     (iVar16 = 1,\n                     puVar17[0xc] == 0 && (uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc])) {\n                    iVar16 = local_60;\n                  }\n                }\n                local_60 = iVar16;\n                puVar17 = (undefined4 *)puVar17[3];\n              } while (puVar17 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_0004b231;\nLAB_0004b209:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar14 = local_4c;\n                }\n                uVar7 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00033ba0(uVar7,iVar14);\n                goto LAB_0004b267;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_0004b231;\n              if (local_60 != 2) {\n                if ((_DAT_0013d6c2 & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar2 = true;\n                  if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                    local_4c = iVar14;\n                  }\n                }\n                break;\n              }\n              bVar2 = true;\n              if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                local_4c = iVar14;\n              }\n            }\n            iVar14 = *(int *)(iVar14 + 0x9c);\n            local_50 = 2;\n            _DAT_0013d6c2 = _DAT_0013d6c2 & 0x3fff | 0x8000;\n            if (iVar14 == 0) goto LAB_0004b267;\n          }\n          iVar14 = *(int *)(iVar14 + 0x9c);\n        }" ({ "{") (while_statement "while ((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0) {\n            puVar17 = *(undefined4 **)(iVar14 + 0x60);\n            if (puVar17 == (undefined4 *)0x0) {\nLAB_0004b231:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar20 = (undefined *)puVar17[0x15] < PTR__bfd_std_section_0013bfc4 + 0x180;\n                bVar22 = (undefined *)puVar17[0x15] == PTR__bfd_std_section_0013bfc4 + 0x180;\n                iVar16 = local_60;\n                if (!bVar22) {\n                  iVar15 = 0xf;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar20 = *pbVar18 < *pbVar19;\n                    bVar22 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar22);\n                  bVar21 = false;\n                  bVar20 = (!bVar20 && !bVar22) == bVar20;\n                  if (bVar20) {\n                    local_60 = 2;\n                    goto LAB_0004b209;\n                  }\n                  iVar15 = 10;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar21 = *pbVar18 < *pbVar19;\n                    bVar20 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar20);\n                  if (((!bVar21 && !bVar20) == bVar21) &&\n                     (iVar16 = 1,\n                     puVar17[0xc] == 0 && (uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc])) {\n                    iVar16 = local_60;\n                  }\n                }\n                local_60 = iVar16;\n                puVar17 = (undefined4 *)puVar17[3];\n              } while (puVar17 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_0004b231;\nLAB_0004b209:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar14 = local_4c;\n                }\n                uVar7 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00033ba0(uVar7,iVar14);\n                goto LAB_0004b267;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_0004b231;\n              if (local_60 != 2) {\n                if ((_DAT_0013d6c2 & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar2 = true;\n                  if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                    local_4c = iVar14;\n                  }\n                }\n                break;\n              }\n              bVar2 = true;\n              if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                local_4c = iVar14;\n              }\n            }\n            iVar14 = *(int *)(iVar14 + 0x9c);\n            local_50 = 2;\n            _DAT_0013d6c2 = _DAT_0013d6c2 & 0x3fff | 0x8000;\n            if (iVar14 == 0) goto LAB_0004b267;\n          }" (while "while") (parenthesized_expression "((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0)" (( "(") (binary_expression "(*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0" (parenthesized_expression "(*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10)" (( "(") (binary_expression "*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10" (pointer_expression "*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24)" (* "*") (cast_expression "(byte *)(*(int *)(iVar14 + 0xa4) + 0x24)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar14 + 0xa4) + 0x24)" (( "(") (binary_expression "*(int *)(iVar14 + 0xa4) + 0x24" (pointer_expression "*(int *)(iVar14 + 0xa4)" (* "*") (cast_expression "(int *)(iVar14 + 0xa4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0xa4)" (( "(") (binary_expression "iVar14 + 0xa4" (identifier "iVar14") (+ "+") (number_literal "0xa4")) () ")")))) (+ "+") (number_literal "0x24")) () ")")))) (& "&") (number_literal "0x10")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            puVar17 = *(undefined4 **)(iVar14 + 0x60);\n            if (puVar17 == (undefined4 *)0x0) {\nLAB_0004b231:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar20 = (undefined *)puVar17[0x15] < PTR__bfd_std_section_0013bfc4 + 0x180;\n                bVar22 = (undefined *)puVar17[0x15] == PTR__bfd_std_section_0013bfc4 + 0x180;\n                iVar16 = local_60;\n                if (!bVar22) {\n                  iVar15 = 0xf;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar20 = *pbVar18 < *pbVar19;\n                    bVar22 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar22);\n                  bVar21 = false;\n                  bVar20 = (!bVar20 && !bVar22) == bVar20;\n                  if (bVar20) {\n                    local_60 = 2;\n                    goto LAB_0004b209;\n                  }\n                  iVar15 = 10;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar21 = *pbVar18 < *pbVar19;\n                    bVar20 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar20);\n                  if (((!bVar21 && !bVar20) == bVar21) &&\n                     (iVar16 = 1,\n                     puVar17[0xc] == 0 && (uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc])) {\n                    iVar16 = local_60;\n                  }\n                }\n                local_60 = iVar16;\n                puVar17 = (undefined4 *)puVar17[3];\n              } while (puVar17 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_0004b231;\nLAB_0004b209:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar14 = local_4c;\n                }\n                uVar7 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00033ba0(uVar7,iVar14);\n                goto LAB_0004b267;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_0004b231;\n              if (local_60 != 2) {\n                if ((_DAT_0013d6c2 & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar2 = true;\n                  if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                    local_4c = iVar14;\n                  }\n                }\n                break;\n              }\n              bVar2 = true;\n              if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                local_4c = iVar14;\n              }\n            }\n            iVar14 = *(int *)(iVar14 + 0x9c);\n            local_50 = 2;\n            _DAT_0013d6c2 = _DAT_0013d6c2 & 0x3fff | 0x8000;\n            if (iVar14 == 0) goto LAB_0004b267;\n          }" ({ "{") (expression_statement "puVar17 = *(undefined4 **)(iVar14 + 0x60);" (assignment_expression "puVar17 = *(undefined4 **)(iVar14 + 0x60)" (identifier "puVar17") (= "=") (pointer_expression "*(undefined4 **)(iVar14 + 0x60)" (* "*") (cast_expression "(undefined4 **)(iVar14 + 0x60)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar14 + 0x60)" (( "(") (binary_expression "iVar14 + 0x60" (identifier "iVar14") (+ "+") (number_literal "0x60")) () ")"))))) (; ";")) (if_statement "if (puVar17 == (undefined4 *)0x0) {\nLAB_0004b231:\n              if (local_50 != 2) break;\n            }\n            else {\n              local_60 = 0;\n              do {\n                bVar20 = (undefined *)puVar17[0x15] < PTR__bfd_std_section_0013bfc4 + 0x180;\n                bVar22 = (undefined *)puVar17[0x15] == PTR__bfd_std_section_0013bfc4 + 0x180;\n                iVar16 = local_60;\n                if (!bVar22) {\n                  iVar15 = 0xf;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar20 = *pbVar18 < *pbVar19;\n                    bVar22 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar22);\n                  bVar21 = false;\n                  bVar20 = (!bVar20 && !bVar22) == bVar20;\n                  if (bVar20) {\n                    local_60 = 2;\n                    goto LAB_0004b209;\n                  }\n                  iVar15 = 10;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar21 = *pbVar18 < *pbVar19;\n                    bVar20 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar20);\n                  if (((!bVar21 && !bVar20) == bVar21) &&\n                     (iVar16 = 1,\n                     puVar17[0xc] == 0 && (uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc])) {\n                    iVar16 = local_60;\n                  }\n                }\n                local_60 = iVar16;\n                puVar17 = (undefined4 *)puVar17[3];\n              } while (puVar17 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_0004b231;\nLAB_0004b209:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar14 = local_4c;\n                }\n                uVar7 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00033ba0(uVar7,iVar14);\n                goto LAB_0004b267;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_0004b231;\n              if (local_60 != 2) {\n                if ((_DAT_0013d6c2 & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar2 = true;\n                  if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                    local_4c = iVar14;\n                  }\n                }\n                break;\n              }\n              bVar2 = true;\n              if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                local_4c = iVar14;\n              }\n            }" (if "if") (parenthesized_expression "(puVar17 == (undefined4 *)0x0)" (( "(") (binary_expression "puVar17 == (undefined4 *)0x0" (identifier "puVar17") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_0004b231:\n              if (local_50 != 2) break;\n            }" ({ "{") (labeled_statement "LAB_0004b231:\n              if (local_50 != 2) break;" (statement_identifier "LAB_0004b231") (: ":") (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                bVar20 = (undefined *)puVar17[0x15] < PTR__bfd_std_section_0013bfc4 + 0x180;\n                bVar22 = (undefined *)puVar17[0x15] == PTR__bfd_std_section_0013bfc4 + 0x180;\n                iVar16 = local_60;\n                if (!bVar22) {\n                  iVar15 = 0xf;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar20 = *pbVar18 < *pbVar19;\n                    bVar22 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar22);\n                  bVar21 = false;\n                  bVar20 = (!bVar20 && !bVar22) == bVar20;\n                  if (bVar20) {\n                    local_60 = 2;\n                    goto LAB_0004b209;\n                  }\n                  iVar15 = 10;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar21 = *pbVar18 < *pbVar19;\n                    bVar20 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar20);\n                  if (((!bVar21 && !bVar20) == bVar21) &&\n                     (iVar16 = 1,\n                     puVar17[0xc] == 0 && (uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc])) {\n                    iVar16 = local_60;\n                  }\n                }\n                local_60 = iVar16;\n                puVar17 = (undefined4 *)puVar17[3];\n              } while (puVar17 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_0004b231;\nLAB_0004b209:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar14 = local_4c;\n                }\n                uVar7 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00033ba0(uVar7,iVar14);\n                goto LAB_0004b267;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_0004b231;\n              if (local_60 != 2) {\n                if ((_DAT_0013d6c2 & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar2 = true;\n                  if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                    local_4c = iVar14;\n                  }\n                }\n                break;\n              }\n              bVar2 = true;\n              if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                local_4c = iVar14;\n              }\n            }" (else "else") (compound_statement "{\n              local_60 = 0;\n              do {\n                bVar20 = (undefined *)puVar17[0x15] < PTR__bfd_std_section_0013bfc4 + 0x180;\n                bVar22 = (undefined *)puVar17[0x15] == PTR__bfd_std_section_0013bfc4 + 0x180;\n                iVar16 = local_60;\n                if (!bVar22) {\n                  iVar15 = 0xf;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar20 = *pbVar18 < *pbVar19;\n                    bVar22 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar22);\n                  bVar21 = false;\n                  bVar20 = (!bVar20 && !bVar22) == bVar20;\n                  if (bVar20) {\n                    local_60 = 2;\n                    goto LAB_0004b209;\n                  }\n                  iVar15 = 10;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar21 = *pbVar18 < *pbVar19;\n                    bVar20 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar20);\n                  if (((!bVar21 && !bVar20) == bVar21) &&\n                     (iVar16 = 1,\n                     puVar17[0xc] == 0 && (uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc])) {\n                    iVar16 = local_60;\n                  }\n                }\n                local_60 = iVar16;\n                puVar17 = (undefined4 *)puVar17[3];\n              } while (puVar17 != (undefined4 *)0x0);\n              if (local_60 == 0) goto LAB_0004b231;\nLAB_0004b209:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar14 = local_4c;\n                }\n                uVar7 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00033ba0(uVar7,iVar14);\n                goto LAB_0004b267;\n              }\n              local_50 = local_60;\n              if (local_4c != 0) goto LAB_0004b231;\n              if (local_60 != 2) {\n                if ((_DAT_0013d6c2 & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar2 = true;\n                  if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                    local_4c = iVar14;\n                  }\n                }\n                break;\n              }\n              bVar2 = true;\n              if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                local_4c = iVar14;\n              }\n            }" ({ "{") (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" (identifier "local_60") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n                bVar20 = (undefined *)puVar17[0x15] < PTR__bfd_std_section_0013bfc4 + 0x180;\n                bVar22 = (undefined *)puVar17[0x15] == PTR__bfd_std_section_0013bfc4 + 0x180;\n                iVar16 = local_60;\n                if (!bVar22) {\n                  iVar15 = 0xf;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar20 = *pbVar18 < *pbVar19;\n                    bVar22 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar22);\n                  bVar21 = false;\n                  bVar20 = (!bVar20 && !bVar22) == bVar20;\n                  if (bVar20) {\n                    local_60 = 2;\n                    goto LAB_0004b209;\n                  }\n                  iVar15 = 10;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar21 = *pbVar18 < *pbVar19;\n                    bVar20 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar20);\n                  if (((!bVar21 && !bVar20) == bVar21) &&\n                     (iVar16 = 1,\n                     puVar17[0xc] == 0 && (uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc])) {\n                    iVar16 = local_60;\n                  }\n                }\n                local_60 = iVar16;\n                puVar17 = (undefined4 *)puVar17[3];\n              } while (puVar17 != (undefined4 *)0x0);" (do "do") (compound_statement "{\n                bVar20 = (undefined *)puVar17[0x15] < PTR__bfd_std_section_0013bfc4 + 0x180;\n                bVar22 = (undefined *)puVar17[0x15] == PTR__bfd_std_section_0013bfc4 + 0x180;\n                iVar16 = local_60;\n                if (!bVar22) {\n                  iVar15 = 0xf;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar20 = *pbVar18 < *pbVar19;\n                    bVar22 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar22);\n                  bVar21 = false;\n                  bVar20 = (!bVar20 && !bVar22) == bVar20;\n                  if (bVar20) {\n                    local_60 = 2;\n                    goto LAB_0004b209;\n                  }\n                  iVar15 = 10;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar21 = *pbVar18 < *pbVar19;\n                    bVar20 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar20);\n                  if (((!bVar21 && !bVar20) == bVar21) &&\n                     (iVar16 = 1,\n                     puVar17[0xc] == 0 && (uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc])) {\n                    iVar16 = local_60;\n                  }\n                }\n                local_60 = iVar16;\n                puVar17 = (undefined4 *)puVar17[3];\n              }" ({ "{") (expression_statement "bVar20 = (undefined *)puVar17[0x15] < PTR__bfd_std_section_0013bfc4 + 0x180;" (assignment_expression "bVar20 = (undefined *)puVar17[0x15] < PTR__bfd_std_section_0013bfc4 + 0x180" (identifier "bVar20") (= "=") (binary_expression "(undefined *)puVar17[0x15] < PTR__bfd_std_section_0013bfc4 + 0x180" (cast_expression "(undefined *)puVar17[0x15]" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar17[0x15]" (identifier "puVar17") ([ "[") (number_literal "0x15") (] "]"))) (< "<") (binary_expression "PTR__bfd_std_section_0013bfc4 + 0x180" (identifier "PTR__bfd_std_section_0013bfc4") (+ "+") (number_literal "0x180")))) (; ";")) (expression_statement "bVar22 = (undefined *)puVar17[0x15] == PTR__bfd_std_section_0013bfc4 + 0x180;" (assignment_expression "bVar22 = (undefined *)puVar17[0x15] == PTR__bfd_std_section_0013bfc4 + 0x180" (identifier "bVar22") (= "=") (binary_expression "(undefined *)puVar17[0x15] == PTR__bfd_std_section_0013bfc4 + 0x180" (cast_expression "(undefined *)puVar17[0x15]" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar17[0x15]" (identifier "puVar17") ([ "[") (number_literal "0x15") (] "]"))) (== "==") (binary_expression "PTR__bfd_std_section_0013bfc4 + 0x180" (identifier "PTR__bfd_std_section_0013bfc4") (+ "+") (number_literal "0x180")))) (; ";")) (expression_statement "iVar16 = local_60;" (assignment_expression "iVar16 = local_60" (identifier "iVar16") (= "=") (identifier "local_60")) (; ";")) (if_statement "if (!bVar22) {\n                  iVar15 = 0xf;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar20 = *pbVar18 < *pbVar19;\n                    bVar22 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar22);\n                  bVar21 = false;\n                  bVar20 = (!bVar20 && !bVar22) == bVar20;\n                  if (bVar20) {\n                    local_60 = 2;\n                    goto LAB_0004b209;\n                  }\n                  iVar15 = 10;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar21 = *pbVar18 < *pbVar19;\n                    bVar20 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar20);\n                  if (((!bVar21 && !bVar20) == bVar21) &&\n                     (iVar16 = 1,\n                     puVar17[0xc] == 0 && (uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc])) {\n                    iVar16 = local_60;\n                  }\n                }" (if "if") (parenthesized_expression "(!bVar22)" (( "(") (unary_expression "!bVar22" (! "!") (identifier "bVar22")) () ")")) (compound_statement "{\n                  iVar15 = 0xf;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame_entry";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar20 = *pbVar18 < *pbVar19;\n                    bVar22 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar22);\n                  bVar21 = false;\n                  bVar20 = (!bVar20 && !bVar22) == bVar20;\n                  if (bVar20) {\n                    local_60 = 2;\n                    goto LAB_0004b209;\n                  }\n                  iVar15 = 10;\n                  pbVar18 = (byte *)*puVar17;\n                  pbVar19 = (byte *)".eh_frame";\n                  do {\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar21 = *pbVar18 < *pbVar19;\n                    bVar20 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar20);\n                  if (((!bVar21 && !bVar20) == bVar21) &&\n                     (iVar16 = 1,\n                     puVar17[0xc] == 0 && (uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc])) {\n                    iVar16 = local_60;\n                  }\n                }" ({ "{") (expression_statement "iVar15 = 0xf;" (assignment_expression "iVar15 = 0xf" (identifier "iVar15") (= "=") (number_literal "0xf")) (; ";")) (expression_statement "pbVar18 = (byte *)*puVar17;" (assignment_expression "pbVar18 = (byte *)*puVar17" (identifier "pbVar18") (= "=") (cast_expression "(byte *)*puVar17" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar17" (* "*") (identifier "puVar17")))) (; ";")) (expression_statement "pbVar19 = (byte *)".eh_frame_entry";" (assignment_expression "pbVar19 = (byte *)".eh_frame_entry"" (identifier "pbVar19") (= "=") (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 (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar20 = *pbVar18 < *pbVar19;\n                    bVar22 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar22);" (do "do") (compound_statement "{\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar20 = *pbVar18 < *pbVar19;\n                    bVar22 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  }" ({ "{") (if_statement "if (iVar15 == 0) break;" (if "if") (parenthesized_expression "(iVar15 == 0)" (( "(") (binary_expression "iVar15 == 0" (identifier "iVar15") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar15 = iVar15 + -1;" (assignment_expression "iVar15 = iVar15 + -1" (identifier "iVar15") (= "=") (binary_expression "iVar15 + -1" (identifier "iVar15") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar20 = *pbVar18 < *pbVar19;" (assignment_expression "bVar20 = *pbVar18 < *pbVar19" (identifier "bVar20") (= "=") (binary_expression "*pbVar18 < *pbVar19" (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")) (< "<") (pointer_expression "*pbVar19" (* "*") (identifier "pbVar19")))) (; ";")) (expression_statement "bVar22 = *pbVar18 == *pbVar19;" (assignment_expression "bVar22 = *pbVar18 == *pbVar19" (identifier "bVar22") (= "=") (binary_expression "*pbVar18 == *pbVar19" (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")) (== "==") (pointer_expression "*pbVar19" (* "*") (identifier "pbVar19")))) (; ";")) (expression_statement "pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1" (identifier "pbVar18") (= "=") (binary_expression "pbVar18 + (uint)bVar23 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar23 * -2" (identifier "pbVar18") (+ "+") (binary_expression "(uint)bVar23 * -2" (cast_expression "(uint)bVar23" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar23")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;" (assignment_expression "pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1" (identifier "pbVar19") (= "=") (binary_expression "pbVar19 + (uint)bVar23 * -2 + 1" (binary_expression "pbVar19 + (uint)bVar23 * -2" (identifier "pbVar19") (+ "+") (binary_expression "(uint)bVar23 * -2" (cast_expression "(uint)bVar23" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar23")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar22)" (( "(") (identifier "bVar22") () ")")) (; ";")) (expression_statement "bVar21 = false;" (assignment_expression "bVar21 = false" (identifier "bVar21") (= "=") (false "false")) (; ";")) (expression_statement "bVar20 = (!bVar20 && !bVar22) == bVar20;" (assignment_expression "bVar20 = (!bVar20 && !bVar22) == bVar20" (identifier "bVar20") (= "=") (binary_expression "(!bVar20 && !bVar22) == bVar20" (parenthesized_expression "(!bVar20 && !bVar22)" (( "(") (binary_expression "!bVar20 && !bVar22" (unary_expression "!bVar20" (! "!") (identifier "bVar20")) (&& "&&") (unary_expression "!bVar22" (! "!") (identifier "bVar22"))) () ")")) (== "==") (identifier "bVar20"))) (; ";")) (if_statement "if (bVar20) {\n                    local_60 = 2;\n                    goto LAB_0004b209;\n                  }" (if "if") (parenthesized_expression "(bVar20)" (( "(") (identifier "bVar20") () ")")) (compound_statement "{\n                    local_60 = 2;\n                    goto LAB_0004b209;\n                  }" ({ "{") (expression_statement "local_60 = 2;" (assignment_expression "local_60 = 2" (identifier "local_60") (= "=") (number_literal "2")) (; ";")) (goto_statement "goto LAB_0004b209;" (goto "goto") (statement_identifier "LAB_0004b209") (; ";")) (} "}"))) (expression_statement "iVar15 = 10;" (assignment_expression "iVar15 = 10" (identifier "iVar15") (= "=") (number_literal "10")) (; ";")) (expression_statement "pbVar18 = (byte *)*puVar17;" (assignment_expression "pbVar18 = (byte *)*puVar17" (identifier "pbVar18") (= "=") (cast_expression "(byte *)*puVar17" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar17" (* "*") (identifier "puVar17")))) (; ";")) (expression_statement "pbVar19 = (byte *)".eh_frame";" (assignment_expression "pbVar19 = (byte *)".eh_frame"" (identifier "pbVar19") (= "=") (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 (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar21 = *pbVar18 < *pbVar19;\n                    bVar20 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  } while (bVar20);" (do "do") (compound_statement "{\n                    if (iVar15 == 0) break;\n                    iVar15 = iVar15 + -1;\n                    bVar21 = *pbVar18 < *pbVar19;\n                    bVar20 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;\n                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;\n                  }" ({ "{") (if_statement "if (iVar15 == 0) break;" (if "if") (parenthesized_expression "(iVar15 == 0)" (( "(") (binary_expression "iVar15 == 0" (identifier "iVar15") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar15 = iVar15 + -1;" (assignment_expression "iVar15 = iVar15 + -1" (identifier "iVar15") (= "=") (binary_expression "iVar15 + -1" (identifier "iVar15") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar21 = *pbVar18 < *pbVar19;" (assignment_expression "bVar21 = *pbVar18 < *pbVar19" (identifier "bVar21") (= "=") (binary_expression "*pbVar18 < *pbVar19" (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")) (< "<") (pointer_expression "*pbVar19" (* "*") (identifier "pbVar19")))) (; ";")) (expression_statement "bVar20 = *pbVar18 == *pbVar19;" (assignment_expression "bVar20 = *pbVar18 == *pbVar19" (identifier "bVar20") (= "=") (binary_expression "*pbVar18 == *pbVar19" (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")) (== "==") (pointer_expression "*pbVar19" (* "*") (identifier "pbVar19")))) (; ";")) (expression_statement "pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1" (identifier "pbVar18") (= "=") (binary_expression "pbVar18 + (uint)bVar23 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar23 * -2" (identifier "pbVar18") (+ "+") (binary_expression "(uint)bVar23 * -2" (cast_expression "(uint)bVar23" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar23")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;" (assignment_expression "pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1" (identifier "pbVar19") (= "=") (binary_expression "pbVar19 + (uint)bVar23 * -2 + 1" (binary_expression "pbVar19 + (uint)bVar23 * -2" (identifier "pbVar19") (+ "+") (binary_expression "(uint)bVar23 * -2" (cast_expression "(uint)bVar23" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar23")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar20)" (( "(") (identifier "bVar20") () ")")) (; ";")) (if_statement "if (((!bVar21 && !bVar20) == bVar21) &&\n                     (iVar16 = 1,\n                     puVar17[0xc] == 0 && (uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc])) {\n                    iVar16 = local_60;\n                  }" (if "if") (parenthesized_expression "(((!bVar21 && !bVar20) == bVar21) &&\n                     (iVar16 = 1,\n                     puVar17[0xc] == 0 && (uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc]))" (( "(") (binary_expression "((!bVar21 && !bVar20) == bVar21) &&\n                     (iVar16 = 1,\n                     puVar17[0xc] == 0 && (uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc])" (parenthesized_expression "((!bVar21 && !bVar20) == bVar21)" (( "(") (binary_expression "(!bVar21 && !bVar20) == bVar21" (parenthesized_expression "(!bVar21 && !bVar20)" (( "(") (binary_expression "!bVar21 && !bVar20" (unary_expression "!bVar21" (! "!") (identifier "bVar21")) (&& "&&") (unary_expression "!bVar20" (! "!") (identifier "bVar20"))) () ")")) (== "==") (identifier "bVar21")) () ")")) (&& "&&") (parenthesized_expression "(iVar16 = 1,\n                     puVar17[0xc] == 0 && (uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc])" (( "(") (comma_expression "iVar16 = 1,\n                     puVar17[0xc] == 0 && (uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc]" (assignment_expression "iVar16 = 1" (identifier "iVar16") (= "=") (number_literal "1")) (, ",") (binary_expression "puVar17[0xc] == 0 && (uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc]" (binary_expression "puVar17[0xc] == 0" (subscript_expression "puVar17[0xc]" (identifier "puVar17") ([ "[") (number_literal "0xc") (] "]")) (== "==") (number_literal "0")) (&& "&&") (binary_expression "(uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc]" (call_expression "(uint)(8 < (uint)puVar17[0xb])" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(8 < (uint)puVar17[0xb])" (( "(") (binary_expression "8 < (uint)puVar17[0xb]" (number_literal "8") (< "<") (cast_expression "(uint)puVar17[0xb]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "puVar17[0xb]" (identifier "puVar17") ([ "[") (number_literal "0xb") (] "]")))) () ")"))) (<= "<=") (binary_expression "(uint)-puVar17[0xc]" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (- "-") (subscript_expression "puVar17[0xc]" (identifier "puVar17") ([ "[") (number_literal "0xc") (] "]")))))) () ")"))) () ")")) (compound_statement "{\n                    iVar16 = local_60;\n                  }" ({ "{") (expression_statement "iVar16 = local_60;" (assignment_expression "iVar16 = local_60" (identifier "iVar16") (= "=") (identifier "local_60")) (; ";")) (} "}"))) (} "}"))) (expression_statement "local_60 = iVar16;" (assignment_expression "local_60 = iVar16" (identifier "local_60") (= "=") (identifier "iVar16")) (; ";")) (expression_statement "puVar17 = (undefined4 *)puVar17[3];" (assignment_expression "puVar17 = (undefined4 *)puVar17[3]" (identifier "puVar17") (= "=") (cast_expression "(undefined4 *)puVar17[3]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar17[3]" (identifier "puVar17") ([ "[") (number_literal "3") (] "]")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(puVar17 != (undefined4 *)0x0)" (( "(") (binary_expression "puVar17 != (undefined4 *)0x0" (identifier "puVar17") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (if_statement "if (local_60 == 0) goto LAB_0004b231;" (if "if") (parenthesized_expression "(local_60 == 0)" (( "(") (binary_expression "local_60 == 0" (identifier "local_60") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0004b231;" (goto "goto") (statement_identifier "LAB_0004b231") (; ";"))) (labeled_statement "LAB_0004b209:\n              if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar14 = local_4c;\n                }\n                uVar7 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00033ba0(uVar7,iVar14);\n                goto LAB_0004b267;\n              }" (statement_identifier "LAB_0004b209") (: ":") (if_statement "if ((local_50 != 0) && (local_50 != local_60)) {\n                if (local_60 != 1) {\n                  iVar14 = local_4c;\n                }\n                uVar7 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00033ba0(uVar7,iVar14);\n                goto LAB_0004b267;\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                  iVar14 = local_4c;\n                }\n                uVar7 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);\n                FUN_00033ba0(uVar7,iVar14);\n                goto LAB_0004b267;\n              }" ({ "{") (if_statement "if (local_60 != 1) {\n                  iVar14 = local_4c;\n                }" (if "if") (parenthesized_expression "(local_60 != 1)" (( "(") (binary_expression "local_60 != 1" (identifier "local_60") (!= "!=") (number_literal "1")) () ")")) (compound_statement "{\n                  iVar14 = local_4c;\n                }" ({ "{") (expression_statement "iVar14 = local_4c;" (assignment_expression "iVar14 = local_4c" (identifier "iVar14") (= "=") (identifier "local_4c")) (; ";")) (} "}"))) (expression_statement "uVar7 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5);" (assignment_expression "uVar7 = dcgettext(0,\n                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"\n                                  ,5)" (identifier "uVar7") (= "=") (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_00033ba0(uVar7,iVar14);" (call_expression "FUN_00033ba0(uVar7,iVar14)" (identifier "FUN_00033ba0") (argument_list "(uVar7,iVar14)" (( "(") (identifier "uVar7") (, ",") (identifier "iVar14") () ")"))) (; ";")) (goto_statement "goto LAB_0004b267;" (goto "goto") (statement_identifier "LAB_0004b267") (; ";")) (} "}")))) (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_0004b231;" (if "if") (parenthesized_expression "(local_4c != 0)" (( "(") (binary_expression "local_4c != 0" (identifier "local_4c") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0004b231;" (goto "goto") (statement_identifier "LAB_0004b231") (; ";"))) (if_statement "if (local_60 != 2) {\n                if ((_DAT_0013d6c2 & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar2 = true;\n                  if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                    local_4c = iVar14;\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_0013d6c2 & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar2 = true;\n                  if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                    local_4c = iVar14;\n                  }\n                }\n                break;\n              }" ({ "{") (if_statement "if ((_DAT_0013d6c2 & 0xc000) == 0) {\n                  local_50 = 1;\n                }\n                else {\n                  local_50 = 1;\n                  bVar2 = true;\n                  if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                    local_4c = iVar14;\n                  }\n                }" (if "if") (parenthesized_expression "((_DAT_0013d6c2 & 0xc000) == 0)" (( "(") (binary_expression "(_DAT_0013d6c2 & 0xc000) == 0" (parenthesized_expression "(_DAT_0013d6c2 & 0xc000)" (( "(") (binary_expression "_DAT_0013d6c2 & 0xc000" (identifier "_DAT_0013d6c2") (& "&") (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                  bVar2 = true;\n                  if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                    local_4c = iVar14;\n                  }\n                }" (else "else") (compound_statement "{\n                  local_50 = 1;\n                  bVar2 = true;\n                  if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                    local_4c = iVar14;\n                  }\n                }" ({ "{") (expression_statement "local_50 = 1;" (assignment_expression "local_50 = 1" (identifier "local_50") (= "=") (number_literal "1")) (; ";")) (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" (identifier "bVar2") (= "=") (true "true")) (; ";")) (if_statement "if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                    local_4c = iVar14;\n                  }" (if "if") (parenthesized_expression "(*(int *)(*(int *)(iVar14 + 4) + 4) == 5)" (( "(") (binary_expression "*(int *)(*(int *)(iVar14 + 4) + 4) == 5" (pointer_expression "*(int *)(*(int *)(iVar14 + 4) + 4)" (* "*") (cast_expression "(int *)(*(int *)(iVar14 + 4) + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar14 + 4) + 4)" (( "(") (binary_expression "*(int *)(iVar14 + 4) + 4" (pointer_expression "*(int *)(iVar14 + 4)" (* "*") (cast_expression "(int *)(iVar14 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 4)" (( "(") (binary_expression "iVar14 + 4" (identifier "iVar14") (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "4")) () ")")))) (== "==") (number_literal "5")) () ")")) (compound_statement "{\n                    local_4c = iVar14;\n                  }" ({ "{") (expression_statement "local_4c = iVar14;" (assignment_expression "local_4c = iVar14" (identifier "local_4c") (= "=") (identifier "iVar14")) (; ";")) (} "}"))) (} "}")))) (break_statement "break;" (break "break") (; ";")) (} "}"))) (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" (identifier "bVar2") (= "=") (true "true")) (; ";")) (if_statement "if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {\n                local_4c = iVar14;\n              }" (if "if") (parenthesized_expression "(*(int *)(*(int *)(iVar14 + 4) + 4) == 5)" (( "(") (binary_expression "*(int *)(*(int *)(iVar14 + 4) + 4) == 5" (pointer_expression "*(int *)(*(int *)(iVar14 + 4) + 4)" (* "*") (cast_expression "(int *)(*(int *)(iVar14 + 4) + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar14 + 4) + 4)" (( "(") (binary_expression "*(int *)(iVar14 + 4) + 4" (pointer_expression "*(int *)(iVar14 + 4)" (* "*") (cast_expression "(int *)(iVar14 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 4)" (( "(") (binary_expression "iVar14 + 4" (identifier "iVar14") (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "4")) () ")")))) (== "==") (number_literal "5")) () ")")) (compound_statement "{\n                local_4c = iVar14;\n              }" ({ "{") (expression_statement "local_4c = iVar14;" (assignment_expression "local_4c = iVar14" (identifier "local_4c") (= "=") (identifier "iVar14")) (; ";")) (} "}"))) (} "}")))) (expression_statement "iVar14 = *(int *)(iVar14 + 0x9c);" (assignment_expression "iVar14 = *(int *)(iVar14 + 0x9c)" (identifier "iVar14") (= "=") (pointer_expression "*(int *)(iVar14 + 0x9c)" (* "*") (cast_expression "(int *)(iVar14 + 0x9c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x9c)" (( "(") (binary_expression "iVar14 + 0x9c" (identifier "iVar14") (+ "+") (number_literal "0x9c")) () ")"))))) (; ";")) (expression_statement "local_50 = 2;" (assignment_expression "local_50 = 2" (identifier "local_50") (= "=") (number_literal "2")) (; ";")) (expression_statement "_DAT_0013d6c2 = _DAT_0013d6c2 & 0x3fff | 0x8000;" (assignment_expression "_DAT_0013d6c2 = _DAT_0013d6c2 & 0x3fff | 0x8000" (identifier "_DAT_0013d6c2") (= "=") (binary_expression "_DAT_0013d6c2 & 0x3fff | 0x8000" (binary_expression "_DAT_0013d6c2 & 0x3fff" (identifier "_DAT_0013d6c2") (& "&") (number_literal "0x3fff")) (| "|") (number_literal "0x8000"))) (; ";")) (if_statement "if (iVar14 == 0) goto LAB_0004b267;" (if "if") (parenthesized_expression "(iVar14 == 0)" (( "(") (binary_expression "iVar14 == 0" (identifier "iVar14") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0004b267;" (goto "goto") (statement_identifier "LAB_0004b267") (; ";"))) (} "}"))) (expression_statement "iVar14 = *(int *)(iVar14 + 0x9c);" (assignment_expression "iVar14 = *(int *)(iVar14 + 0x9c)" (identifier "iVar14") (= "=") (pointer_expression "*(int *)(iVar14 + 0x9c)" (* "*") (cast_expression "(int *)(iVar14 + 0x9c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x9c)" (( "(") (binary_expression "iVar14 + 0x9c" (identifier "iVar14") (+ "+") (number_literal "0x9c")) () ")"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar14 != 0)" (( "(") (binary_expression "iVar14 != 0" (identifier "iVar14") (!= "!=") (number_literal "0")) () ")")) (; ";")) (labeled_statement "LAB_0004b267:\n        if ((local_4c == 0) ||\n           (iVar14 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x30) | 8),\n           iVar14 == 0)) {\n          if (bVar2) {\n            uVar7 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00033ba0(uVar7);\n          }\n        }\n        else {\n          *(undefined4 *)(iVar14 + 0x58) = 2;\n          *(int *)(iVar6 + 0xd0) = iVar14;\n        }" (statement_identifier "LAB_0004b267") (: ":") (if_statement "if ((local_4c == 0) ||\n           (iVar14 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x30) | 8),\n           iVar14 == 0)) {\n          if (bVar2) {\n            uVar7 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00033ba0(uVar7);\n          }\n        }\n        else {\n          *(undefined4 *)(iVar14 + 0x58) = 2;\n          *(int *)(iVar6 + 0xd0) = iVar14;\n        }" (if "if") (parenthesized_expression "((local_4c == 0) ||\n           (iVar14 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x30) | 8),\n           iVar14 == 0))" (( "(") (binary_expression "(local_4c == 0) ||\n           (iVar14 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x30) | 8),\n           iVar14 == 0)" (parenthesized_expression "(local_4c == 0)" (( "(") (binary_expression "local_4c == 0" (identifier "local_4c") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar14 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x30) | 8),\n           iVar14 == 0)" (( "(") (comma_expression "iVar14 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x30) | 8),\n           iVar14 == 0" (assignment_expression "iVar14 = bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x30) | 8)" (identifier "iVar14") (= "=") (call_expression "bfd_make_section_with_flags\n                               (local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x30) | 8)" (identifier "bfd_make_section_with_flags") (argument_list "(local_4c,".eh_frame_hdr",\n                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x30) | 8)" (( "(") (identifier "local_4c") (, ",") (string_literal "".eh_frame_hdr"" (" """) (string_content ".eh_frame_hdr") (" """)) (, ",") (binary_expression "*(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x30) | 8" (pointer_expression "*(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x30)" (* "*") (cast_expression "(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x30)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x30)" (( "(") (binary_expression "*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x30" (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 "0x30")) () ")")))) (| "|") (number_literal "8")) () ")")))) (, ",") (binary_expression "iVar14 == 0" (identifier "iVar14") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n          if (bVar2) {\n            uVar7 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00033ba0(uVar7);\n          }\n        }" ({ "{") (if_statement "if (bVar2) {\n            uVar7 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00033ba0(uVar7);\n          }" (if "if") (parenthesized_expression "(bVar2)" (( "(") (identifier "bVar2") () ")")) (compound_statement "{\n            uVar7 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);\n            FUN_00033ba0(uVar7);\n          }" ({ "{") (expression_statement "uVar7 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5);" (assignment_expression "uVar7 = dcgettext(0,\n                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"\n                              ,5)" (identifier "uVar7") (= "=") (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_00033ba0(uVar7);" (call_expression "FUN_00033ba0(uVar7)" (identifier "FUN_00033ba0") (argument_list "(uVar7)" (( "(") (identifier "uVar7") () ")"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n          *(undefined4 *)(iVar14 + 0x58) = 2;\n          *(int *)(iVar6 + 0xd0) = iVar14;\n        }" (else "else") (compound_statement "{\n          *(undefined4 *)(iVar14 + 0x58) = 2;\n          *(int *)(iVar6 + 0xd0) = iVar14;\n        }" ({ "{") (expression_statement "*(undefined4 *)(iVar14 + 0x58) = 2;" (assignment_expression "*(undefined4 *)(iVar14 + 0x58) = 2" (pointer_expression "*(undefined4 *)(iVar14 + 0x58)" (* "*") (cast_expression "(undefined4 *)(iVar14 + 0x58)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x58)" (( "(") (binary_expression "iVar14 + 0x58" (identifier "iVar14") (+ "+") (number_literal "0x58")) () ")")))) (= "=") (number_literal "2")) (; ";")) (expression_statement "*(int *)(iVar6 + 0xd0) = iVar14;" (assignment_expression "*(int *)(iVar6 + 0xd0) = iVar14" (pointer_expression "*(int *)(iVar6 + 0xd0)" (* "*") (cast_expression "(int *)(iVar6 + 0xd0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0xd0)" (( "(") (binary_expression "iVar6 + 0xd0" (identifier "iVar6") (+ "+") (number_literal "0xd0")) () ")")))) (= "=") (identifier "iVar14")) (; ";")) (} "}"))))) (} "}"))) (expression_statement "puVar4 = (undefined4 *)bfd_elf_get_needed_list(DAT_0013d6f4,&DAT_0013d6c0);" (assignment_expression "puVar4 = (undefined4 *)bfd_elf_get_needed_list(DAT_0013d6f4,&DAT_0013d6c0)" (identifier "puVar4") (= "=") (cast_expression "(undefined4 *)bfd_elf_get_needed_list(DAT_0013d6f4,&DAT_0013d6c0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "bfd_elf_get_needed_list(DAT_0013d6f4,&DAT_0013d6c0)" (identifier "bfd_elf_get_needed_list") (argument_list "(DAT_0013d6f4,&DAT_0013d6c0)" (( "(") (identifier "DAT_0013d6f4") (, ",") (pointer_expression "&DAT_0013d6c0" (& "&") (identifier "DAT_0013d6c0")) () ")"))))) (; ";")) (for_statement "for (puVar17 = puVar4; puVar17 != (undefined4 *)0x0; puVar17 = (undefined4 *)*puVar17) {\n        puVar3 = puVar4;\n        if ((puVar17[1] == 0) ||\n           ((uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 1) == 0 &&\n            (((puVar17[1] == 0 || ((_DAT_0013d6c2 & 0x180) != 0x80)) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 4) == 0)))))) {\n          for (; puVar3 != puVar17; puVar3 = (undefined4 *)*puVar3) {\n            if (((puVar3[1] == 0) ||\n                (uVar5 = bfd_elf_get_dyn_lib_class(puVar3[1]), (uVar5 & 1) == 0)) &&\n               (iVar6 = strcmp((char *)puVar3[2],(char *)puVar17[2]), iVar6 == 0)) {\n              if (puVar17 != puVar3) goto LAB_0004ae88;\n              break;\n            }\n          }\n          DAT_0013d440 = 0;\n          DAT_0013d4c0 = puVar17;\n          FUN_000264a0(FUN_0004a2c0);\n          if ((DAT_0013d440 == 0) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_0013d440 + 0x10)),\n             (uVar5 & 1) != 0)) {\n            uVar7 = puVar17[1];\n            uVar1 = puVar17[2];\n            if (DAT_0013d83c != 0) {\n              uVar13 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00033b70(uVar13,uVar1,uVar7);\n            }\n            if ((DAT_0013d440 == 0) || (iVar6 = FUN_0004a3c0(), iVar6 == 0)) {\n              bVar2 = false;\n              while (iVar6 = FUN_0004a6d0(), iVar6 == 0) {\n                if (DAT_0013d7a4 != 0) {\n                  pvVar8 = (void *)FUN_00048f50();\n                  iVar6 = FUN_0004a6d0();\n                  free(pvVar8);\n                  if (iVar6 != 0) break;\n                }\n                piVar9 = (int *)bfd_elf_get_runpath_list(DAT_0013d6f4,&DAT_0013d6c0);\n                if (piVar9 != (int *)0x0) {\n                  do {\n                    bVar22 = true;\n                    pvVar8 = (void *)FUN_00048f50();\n                    bVar20 = false;\n                    if (piVar9[1] == puVar17[1]) {\n                      iVar6 = FUN_0004a6d0();\n                      bVar22 = iVar6 == 0;\n                      bVar20 = !bVar22;\n                    }\n                    free(pvVar8);\n                    piVar9 = (int *)*piVar9;\n                  } while ((piVar9 != (int *)0x0) && (bVar22));\n                  if (bVar20) break;\n                }\n                if (DAT_0013d424 == 0) {\n                  pvVar8 = (void *)concat(DAT_0013d75c,"/usr/etc/ld.so.conf",0);\n                  iVar6 = FUN_00049060();\n                  if (iVar6 == 0) {\n                    free(pvVar8);\n                    pvVar8 = (void *)concat(DAT_0013d75c,"/etc/ld.so.conf",0);\n                    FUN_00049060();\n                  }\n                  free(pvVar8);\n                  DAT_0013d424 = 1;\n                }\n                pcVar12 = (char *)puVar17[2];\n                if (DAT_0013d420 != 0) {\n                  iVar6 = FUN_0004a6d0();\n                  if (iVar6 != 0) break;\n                  pcVar12 = (char *)puVar17[2];\n                }\n                sVar10 = strlen(pcVar12);\n                if (DAT_0013d8e4 != (int *)0x0) {\n                  piVar9 = DAT_0013d8e4;\n                  do {\n                    if (piVar9[2] == 0) {\n                      sVar11 = strlen((char *)piVar9[1]);\n                      pcVar12 = (char *)xmalloc(sVar11 + sVar10 + 2);\n                      sprintf(pcVar12,"%s/%s",piVar9[1],puVar17[2]);\n                      iVar6 = FUN_0004a3c0();\n                      if (iVar6 != 0) goto LAB_0004ae88;\n                      free(pcVar12);\n                    }\n                    piVar9 = (int *)*piVar9;\n                  } while (piVar9 != (int *)0x0);\n                }\n                if (bVar2) {\n                  uVar7 = puVar17[1];\n                  uVar1 = puVar17[2];\n                  uVar13 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00033ba0(uVar13,uVar1,uVar7);\n                  break;\n                }\n                bVar2 = true;\n              }\n            }\n          }\n        }\nLAB_0004ae88:\n      }" (for "for") (( "(") (assignment_expression "puVar17 = puVar4" (identifier "puVar17") (= "=") (identifier "puVar4")) (; ";") (binary_expression "puVar17 != (undefined4 *)0x0" (identifier "puVar17") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";") (assignment_expression "puVar17 = (undefined4 *)*puVar17" (identifier "puVar17") (= "=") (cast_expression "(undefined4 *)*puVar17" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar17" (* "*") (identifier "puVar17")))) () ")") (compound_statement "{\n        puVar3 = puVar4;\n        if ((puVar17[1] == 0) ||\n           ((uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 1) == 0 &&\n            (((puVar17[1] == 0 || ((_DAT_0013d6c2 & 0x180) != 0x80)) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 4) == 0)))))) {\n          for (; puVar3 != puVar17; puVar3 = (undefined4 *)*puVar3) {\n            if (((puVar3[1] == 0) ||\n                (uVar5 = bfd_elf_get_dyn_lib_class(puVar3[1]), (uVar5 & 1) == 0)) &&\n               (iVar6 = strcmp((char *)puVar3[2],(char *)puVar17[2]), iVar6 == 0)) {\n              if (puVar17 != puVar3) goto LAB_0004ae88;\n              break;\n            }\n          }\n          DAT_0013d440 = 0;\n          DAT_0013d4c0 = puVar17;\n          FUN_000264a0(FUN_0004a2c0);\n          if ((DAT_0013d440 == 0) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_0013d440 + 0x10)),\n             (uVar5 & 1) != 0)) {\n            uVar7 = puVar17[1];\n            uVar1 = puVar17[2];\n            if (DAT_0013d83c != 0) {\n              uVar13 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00033b70(uVar13,uVar1,uVar7);\n            }\n            if ((DAT_0013d440 == 0) || (iVar6 = FUN_0004a3c0(), iVar6 == 0)) {\n              bVar2 = false;\n              while (iVar6 = FUN_0004a6d0(), iVar6 == 0) {\n                if (DAT_0013d7a4 != 0) {\n                  pvVar8 = (void *)FUN_00048f50();\n                  iVar6 = FUN_0004a6d0();\n                  free(pvVar8);\n                  if (iVar6 != 0) break;\n                }\n                piVar9 = (int *)bfd_elf_get_runpath_list(DAT_0013d6f4,&DAT_0013d6c0);\n                if (piVar9 != (int *)0x0) {\n                  do {\n                    bVar22 = true;\n                    pvVar8 = (void *)FUN_00048f50();\n                    bVar20 = false;\n                    if (piVar9[1] == puVar17[1]) {\n                      iVar6 = FUN_0004a6d0();\n                      bVar22 = iVar6 == 0;\n                      bVar20 = !bVar22;\n                    }\n                    free(pvVar8);\n                    piVar9 = (int *)*piVar9;\n                  } while ((piVar9 != (int *)0x0) && (bVar22));\n                  if (bVar20) break;\n                }\n                if (DAT_0013d424 == 0) {\n                  pvVar8 = (void *)concat(DAT_0013d75c,"/usr/etc/ld.so.conf",0);\n                  iVar6 = FUN_00049060();\n                  if (iVar6 == 0) {\n                    free(pvVar8);\n                    pvVar8 = (void *)concat(DAT_0013d75c,"/etc/ld.so.conf",0);\n                    FUN_00049060();\n                  }\n                  free(pvVar8);\n                  DAT_0013d424 = 1;\n                }\n                pcVar12 = (char *)puVar17[2];\n                if (DAT_0013d420 != 0) {\n                  iVar6 = FUN_0004a6d0();\n                  if (iVar6 != 0) break;\n                  pcVar12 = (char *)puVar17[2];\n                }\n                sVar10 = strlen(pcVar12);\n                if (DAT_0013d8e4 != (int *)0x0) {\n                  piVar9 = DAT_0013d8e4;\n                  do {\n                    if (piVar9[2] == 0) {\n                      sVar11 = strlen((char *)piVar9[1]);\n                      pcVar12 = (char *)xmalloc(sVar11 + sVar10 + 2);\n                      sprintf(pcVar12,"%s/%s",piVar9[1],puVar17[2]);\n                      iVar6 = FUN_0004a3c0();\n                      if (iVar6 != 0) goto LAB_0004ae88;\n                      free(pcVar12);\n                    }\n                    piVar9 = (int *)*piVar9;\n                  } while (piVar9 != (int *)0x0);\n                }\n                if (bVar2) {\n                  uVar7 = puVar17[1];\n                  uVar1 = puVar17[2];\n                  uVar13 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00033ba0(uVar13,uVar1,uVar7);\n                  break;\n                }\n                bVar2 = true;\n              }\n            }\n          }\n        }\nLAB_0004ae88:\n      }" ({ "{") (expression_statement "puVar3 = puVar4;" (assignment_expression "puVar3 = puVar4" (identifier "puVar3") (= "=") (identifier "puVar4")) (; ";")) (if_statement "if ((puVar17[1] == 0) ||\n           ((uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 1) == 0 &&\n            (((puVar17[1] == 0 || ((_DAT_0013d6c2 & 0x180) != 0x80)) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 4) == 0)))))) {\n          for (; puVar3 != puVar17; puVar3 = (undefined4 *)*puVar3) {\n            if (((puVar3[1] == 0) ||\n                (uVar5 = bfd_elf_get_dyn_lib_class(puVar3[1]), (uVar5 & 1) == 0)) &&\n               (iVar6 = strcmp((char *)puVar3[2],(char *)puVar17[2]), iVar6 == 0)) {\n              if (puVar17 != puVar3) goto LAB_0004ae88;\n              break;\n            }\n          }\n          DAT_0013d440 = 0;\n          DAT_0013d4c0 = puVar17;\n          FUN_000264a0(FUN_0004a2c0);\n          if ((DAT_0013d440 == 0) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_0013d440 + 0x10)),\n             (uVar5 & 1) != 0)) {\n            uVar7 = puVar17[1];\n            uVar1 = puVar17[2];\n            if (DAT_0013d83c != 0) {\n              uVar13 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00033b70(uVar13,uVar1,uVar7);\n            }\n            if ((DAT_0013d440 == 0) || (iVar6 = FUN_0004a3c0(), iVar6 == 0)) {\n              bVar2 = false;\n              while (iVar6 = FUN_0004a6d0(), iVar6 == 0) {\n                if (DAT_0013d7a4 != 0) {\n                  pvVar8 = (void *)FUN_00048f50();\n                  iVar6 = FUN_0004a6d0();\n                  free(pvVar8);\n                  if (iVar6 != 0) break;\n                }\n                piVar9 = (int *)bfd_elf_get_runpath_list(DAT_0013d6f4,&DAT_0013d6c0);\n                if (piVar9 != (int *)0x0) {\n                  do {\n                    bVar22 = true;\n                    pvVar8 = (void *)FUN_00048f50();\n                    bVar20 = false;\n                    if (piVar9[1] == puVar17[1]) {\n                      iVar6 = FUN_0004a6d0();\n                      bVar22 = iVar6 == 0;\n                      bVar20 = !bVar22;\n                    }\n                    free(pvVar8);\n                    piVar9 = (int *)*piVar9;\n                  } while ((piVar9 != (int *)0x0) && (bVar22));\n                  if (bVar20) break;\n                }\n                if (DAT_0013d424 == 0) {\n                  pvVar8 = (void *)concat(DAT_0013d75c,"/usr/etc/ld.so.conf",0);\n                  iVar6 = FUN_00049060();\n                  if (iVar6 == 0) {\n                    free(pvVar8);\n                    pvVar8 = (void *)concat(DAT_0013d75c,"/etc/ld.so.conf",0);\n                    FUN_00049060();\n                  }\n                  free(pvVar8);\n                  DAT_0013d424 = 1;\n                }\n                pcVar12 = (char *)puVar17[2];\n                if (DAT_0013d420 != 0) {\n                  iVar6 = FUN_0004a6d0();\n                  if (iVar6 != 0) break;\n                  pcVar12 = (char *)puVar17[2];\n                }\n                sVar10 = strlen(pcVar12);\n                if (DAT_0013d8e4 != (int *)0x0) {\n                  piVar9 = DAT_0013d8e4;\n                  do {\n                    if (piVar9[2] == 0) {\n                      sVar11 = strlen((char *)piVar9[1]);\n                      pcVar12 = (char *)xmalloc(sVar11 + sVar10 + 2);\n                      sprintf(pcVar12,"%s/%s",piVar9[1],puVar17[2]);\n                      iVar6 = FUN_0004a3c0();\n                      if (iVar6 != 0) goto LAB_0004ae88;\n                      free(pcVar12);\n                    }\n                    piVar9 = (int *)*piVar9;\n                  } while (piVar9 != (int *)0x0);\n                }\n                if (bVar2) {\n                  uVar7 = puVar17[1];\n                  uVar1 = puVar17[2];\n                  uVar13 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00033ba0(uVar13,uVar1,uVar7);\n                  break;\n                }\n                bVar2 = true;\n              }\n            }\n          }\n        }" (if "if") (parenthesized_expression "((puVar17[1] == 0) ||\n           ((uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 1) == 0 &&\n            (((puVar17[1] == 0 || ((_DAT_0013d6c2 & 0x180) != 0x80)) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 4) == 0))))))" (( "(") (binary_expression "(puVar17[1] == 0) ||\n           ((uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 1) == 0 &&\n            (((puVar17[1] == 0 || ((_DAT_0013d6c2 & 0x180) != 0x80)) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 4) == 0)))))" (parenthesized_expression "(puVar17[1] == 0)" (( "(") (binary_expression "puVar17[1] == 0" (subscript_expression "puVar17[1]" (identifier "puVar17") ([ "[") (number_literal "1") (] "]")) (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "((uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 1) == 0 &&\n            (((puVar17[1] == 0 || ((_DAT_0013d6c2 & 0x180) != 0x80)) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 4) == 0)))))" (( "(") (parenthesized_expression "(uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 1) == 0 &&\n            (((puVar17[1] == 0 || ((_DAT_0013d6c2 & 0x180) != 0x80)) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 4) == 0))))" (( "(") (comma_expression "uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 1) == 0 &&\n            (((puVar17[1] == 0 || ((_DAT_0013d6c2 & 0x180) != 0x80)) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 4) == 0)))" (assignment_expression "uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1])" (identifier "uVar5") (= "=") (call_expression "bfd_elf_get_dyn_lib_class(puVar17[1])" (identifier "bfd_elf_get_dyn_lib_class") (argument_list "(puVar17[1])" (( "(") (subscript_expression "puVar17[1]" (identifier "puVar17") ([ "[") (number_literal "1") (] "]")) () ")")))) (, ",") (binary_expression "(uVar5 & 1) == 0 &&\n            (((puVar17[1] == 0 || ((_DAT_0013d6c2 & 0x180) != 0x80)) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 4) == 0)))" (binary_expression "(uVar5 & 1) == 0" (parenthesized_expression "(uVar5 & 1)" (( "(") (binary_expression "uVar5 & 1" (identifier "uVar5") (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) (&& "&&") (parenthesized_expression "(((puVar17[1] == 0 || ((_DAT_0013d6c2 & 0x180) != 0x80)) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 4) == 0)))" (( "(") (parenthesized_expression "((puVar17[1] == 0 || ((_DAT_0013d6c2 & 0x180) != 0x80)) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 4) == 0))" (( "(") (binary_expression "(puVar17[1] == 0 || ((_DAT_0013d6c2 & 0x180) != 0x80)) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 4) == 0)" (parenthesized_expression "(puVar17[1] == 0 || ((_DAT_0013d6c2 & 0x180) != 0x80))" (( "(") (binary_expression "puVar17[1] == 0 || ((_DAT_0013d6c2 & 0x180) != 0x80)" (binary_expression "puVar17[1] == 0" (subscript_expression "puVar17[1]" (identifier "puVar17") ([ "[") (number_literal "1") (] "]")) (== "==") (number_literal "0")) (|| "||") (parenthesized_expression "((_DAT_0013d6c2 & 0x180) != 0x80)" (( "(") (binary_expression "(_DAT_0013d6c2 & 0x180) != 0x80" (parenthesized_expression "(_DAT_0013d6c2 & 0x180)" (( "(") (binary_expression "_DAT_0013d6c2 & 0x180" (identifier "_DAT_0013d6c2") (& "&") (number_literal "0x180")) () ")")) (!= "!=") (number_literal "0x80")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 4) == 0)" (( "(") (comma_expression "uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 4) == 0" (assignment_expression "uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1])" (identifier "uVar5") (= "=") (call_expression "bfd_elf_get_dyn_lib_class(puVar17[1])" (identifier "bfd_elf_get_dyn_lib_class") (argument_list "(puVar17[1])" (( "(") (subscript_expression "puVar17[1]" (identifier "puVar17") ([ "[") (number_literal "1") (] "]")) () ")")))) (, ",") (binary_expression "(uVar5 & 4) == 0" (parenthesized_expression "(uVar5 & 4)" (( "(") (binary_expression "uVar5 & 4" (identifier "uVar5") (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0"))) () ")"))) () ")")) () ")")))) () ")")) () ")"))) () ")")) (compound_statement "{\n          for (; puVar3 != puVar17; puVar3 = (undefined4 *)*puVar3) {\n            if (((puVar3[1] == 0) ||\n                (uVar5 = bfd_elf_get_dyn_lib_class(puVar3[1]), (uVar5 & 1) == 0)) &&\n               (iVar6 = strcmp((char *)puVar3[2],(char *)puVar17[2]), iVar6 == 0)) {\n              if (puVar17 != puVar3) goto LAB_0004ae88;\n              break;\n            }\n          }\n          DAT_0013d440 = 0;\n          DAT_0013d4c0 = puVar17;\n          FUN_000264a0(FUN_0004a2c0);\n          if ((DAT_0013d440 == 0) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_0013d440 + 0x10)),\n             (uVar5 & 1) != 0)) {\n            uVar7 = puVar17[1];\n            uVar1 = puVar17[2];\n            if (DAT_0013d83c != 0) {\n              uVar13 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00033b70(uVar13,uVar1,uVar7);\n            }\n            if ((DAT_0013d440 == 0) || (iVar6 = FUN_0004a3c0(), iVar6 == 0)) {\n              bVar2 = false;\n              while (iVar6 = FUN_0004a6d0(), iVar6 == 0) {\n                if (DAT_0013d7a4 != 0) {\n                  pvVar8 = (void *)FUN_00048f50();\n                  iVar6 = FUN_0004a6d0();\n                  free(pvVar8);\n                  if (iVar6 != 0) break;\n                }\n                piVar9 = (int *)bfd_elf_get_runpath_list(DAT_0013d6f4,&DAT_0013d6c0);\n                if (piVar9 != (int *)0x0) {\n                  do {\n                    bVar22 = true;\n                    pvVar8 = (void *)FUN_00048f50();\n                    bVar20 = false;\n                    if (piVar9[1] == puVar17[1]) {\n                      iVar6 = FUN_0004a6d0();\n                      bVar22 = iVar6 == 0;\n                      bVar20 = !bVar22;\n                    }\n                    free(pvVar8);\n                    piVar9 = (int *)*piVar9;\n                  } while ((piVar9 != (int *)0x0) && (bVar22));\n                  if (bVar20) break;\n                }\n                if (DAT_0013d424 == 0) {\n                  pvVar8 = (void *)concat(DAT_0013d75c,"/usr/etc/ld.so.conf",0);\n                  iVar6 = FUN_00049060();\n                  if (iVar6 == 0) {\n                    free(pvVar8);\n                    pvVar8 = (void *)concat(DAT_0013d75c,"/etc/ld.so.conf",0);\n                    FUN_00049060();\n                  }\n                  free(pvVar8);\n                  DAT_0013d424 = 1;\n                }\n                pcVar12 = (char *)puVar17[2];\n                if (DAT_0013d420 != 0) {\n                  iVar6 = FUN_0004a6d0();\n                  if (iVar6 != 0) break;\n                  pcVar12 = (char *)puVar17[2];\n                }\n                sVar10 = strlen(pcVar12);\n                if (DAT_0013d8e4 != (int *)0x0) {\n                  piVar9 = DAT_0013d8e4;\n                  do {\n                    if (piVar9[2] == 0) {\n                      sVar11 = strlen((char *)piVar9[1]);\n                      pcVar12 = (char *)xmalloc(sVar11 + sVar10 + 2);\n                      sprintf(pcVar12,"%s/%s",piVar9[1],puVar17[2]);\n                      iVar6 = FUN_0004a3c0();\n                      if (iVar6 != 0) goto LAB_0004ae88;\n                      free(pcVar12);\n                    }\n                    piVar9 = (int *)*piVar9;\n                  } while (piVar9 != (int *)0x0);\n                }\n                if (bVar2) {\n                  uVar7 = puVar17[1];\n                  uVar1 = puVar17[2];\n                  uVar13 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00033ba0(uVar13,uVar1,uVar7);\n                  break;\n                }\n                bVar2 = true;\n              }\n            }\n          }\n        }" ({ "{") (for_statement "for (; puVar3 != puVar17; puVar3 = (undefined4 *)*puVar3) {\n            if (((puVar3[1] == 0) ||\n                (uVar5 = bfd_elf_get_dyn_lib_class(puVar3[1]), (uVar5 & 1) == 0)) &&\n               (iVar6 = strcmp((char *)puVar3[2],(char *)puVar17[2]), iVar6 == 0)) {\n              if (puVar17 != puVar3) goto LAB_0004ae88;\n              break;\n            }\n          }" (for "for") (( "(") (; ";") (binary_expression "puVar3 != puVar17" (identifier "puVar3") (!= "!=") (identifier "puVar17")) (; ";") (assignment_expression "puVar3 = (undefined4 *)*puVar3" (identifier "puVar3") (= "=") (cast_expression "(undefined4 *)*puVar3" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar3" (* "*") (identifier "puVar3")))) () ")") (compound_statement "{\n            if (((puVar3[1] == 0) ||\n                (uVar5 = bfd_elf_get_dyn_lib_class(puVar3[1]), (uVar5 & 1) == 0)) &&\n               (iVar6 = strcmp((char *)puVar3[2],(char *)puVar17[2]), iVar6 == 0)) {\n              if (puVar17 != puVar3) goto LAB_0004ae88;\n              break;\n            }\n          }" ({ "{") (if_statement "if (((puVar3[1] == 0) ||\n                (uVar5 = bfd_elf_get_dyn_lib_class(puVar3[1]), (uVar5 & 1) == 0)) &&\n               (iVar6 = strcmp((char *)puVar3[2],(char *)puVar17[2]), iVar6 == 0)) {\n              if (puVar17 != puVar3) goto LAB_0004ae88;\n              break;\n            }" (if "if") (parenthesized_expression "(((puVar3[1] == 0) ||\n                (uVar5 = bfd_elf_get_dyn_lib_class(puVar3[1]), (uVar5 & 1) == 0)) &&\n               (iVar6 = strcmp((char *)puVar3[2],(char *)puVar17[2]), iVar6 == 0))" (( "(") (binary_expression "((puVar3[1] == 0) ||\n                (uVar5 = bfd_elf_get_dyn_lib_class(puVar3[1]), (uVar5 & 1) == 0)) &&\n               (iVar6 = strcmp((char *)puVar3[2],(char *)puVar17[2]), iVar6 == 0)" (parenthesized_expression "((puVar3[1] == 0) ||\n                (uVar5 = bfd_elf_get_dyn_lib_class(puVar3[1]), (uVar5 & 1) == 0))" (( "(") (binary_expression "(puVar3[1] == 0) ||\n                (uVar5 = bfd_elf_get_dyn_lib_class(puVar3[1]), (uVar5 & 1) == 0)" (parenthesized_expression "(puVar3[1] == 0)" (( "(") (binary_expression "puVar3[1] == 0" (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(uVar5 = bfd_elf_get_dyn_lib_class(puVar3[1]), (uVar5 & 1) == 0)" (( "(") (comma_expression "uVar5 = bfd_elf_get_dyn_lib_class(puVar3[1]), (uVar5 & 1) == 0" (assignment_expression "uVar5 = bfd_elf_get_dyn_lib_class(puVar3[1])" (identifier "uVar5") (= "=") (call_expression "bfd_elf_get_dyn_lib_class(puVar3[1])" (identifier "bfd_elf_get_dyn_lib_class") (argument_list "(puVar3[1])" (( "(") (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) () ")")))) (, ",") (binary_expression "(uVar5 & 1) == 0" (parenthesized_expression "(uVar5 & 1)" (( "(") (binary_expression "uVar5 & 1" (identifier "uVar5") (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(iVar6 = strcmp((char *)puVar3[2],(char *)puVar17[2]), iVar6 == 0)" (( "(") (comma_expression "iVar6 = strcmp((char *)puVar3[2],(char *)puVar17[2]), iVar6 == 0" (assignment_expression "iVar6 = strcmp((char *)puVar3[2],(char *)puVar17[2])" (identifier "iVar6") (= "=") (call_expression "strcmp((char *)puVar3[2],(char *)puVar17[2])" (identifier "strcmp") (argument_list "((char *)puVar3[2],(char *)puVar17[2])" (( "(") (cast_expression "(char *)puVar3[2]" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar3[2]" (identifier "puVar3") ([ "[") (number_literal "2") (] "]"))) (, ",") (cast_expression "(char *)puVar17[2]" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar17[2]" (identifier "puVar17") ([ "[") (number_literal "2") (] "]"))) () ")")))) (, ",") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n              if (puVar17 != puVar3) goto LAB_0004ae88;\n              break;\n            }" ({ "{") (if_statement "if (puVar17 != puVar3) goto LAB_0004ae88;" (if "if") (parenthesized_expression "(puVar17 != puVar3)" (( "(") (binary_expression "puVar17 != puVar3" (identifier "puVar17") (!= "!=") (identifier "puVar3")) () ")")) (goto_statement "goto LAB_0004ae88;" (goto "goto") (statement_identifier "LAB_0004ae88") (; ";"))) (break_statement "break;" (break "break") (; ";")) (} "}"))) (} "}"))) (expression_statement "DAT_0013d440 = 0;" (assignment_expression "DAT_0013d440 = 0" (identifier "DAT_0013d440") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_0013d4c0 = puVar17;" (assignment_expression "DAT_0013d4c0 = puVar17" (identifier "DAT_0013d4c0") (= "=") (identifier "puVar17")) (; ";")) (expression_statement "FUN_000264a0(FUN_0004a2c0);" (call_expression "FUN_000264a0(FUN_0004a2c0)" (identifier "FUN_000264a0") (argument_list "(FUN_0004a2c0)" (( "(") (identifier "FUN_0004a2c0") () ")"))) (; ";")) (if_statement "if ((DAT_0013d440 == 0) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_0013d440 + 0x10)),\n             (uVar5 & 1) != 0)) {\n            uVar7 = puVar17[1];\n            uVar1 = puVar17[2];\n            if (DAT_0013d83c != 0) {\n              uVar13 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00033b70(uVar13,uVar1,uVar7);\n            }\n            if ((DAT_0013d440 == 0) || (iVar6 = FUN_0004a3c0(), iVar6 == 0)) {\n              bVar2 = false;\n              while (iVar6 = FUN_0004a6d0(), iVar6 == 0) {\n                if (DAT_0013d7a4 != 0) {\n                  pvVar8 = (void *)FUN_00048f50();\n                  iVar6 = FUN_0004a6d0();\n                  free(pvVar8);\n                  if (iVar6 != 0) break;\n                }\n                piVar9 = (int *)bfd_elf_get_runpath_list(DAT_0013d6f4,&DAT_0013d6c0);\n                if (piVar9 != (int *)0x0) {\n                  do {\n                    bVar22 = true;\n                    pvVar8 = (void *)FUN_00048f50();\n                    bVar20 = false;\n                    if (piVar9[1] == puVar17[1]) {\n                      iVar6 = FUN_0004a6d0();\n                      bVar22 = iVar6 == 0;\n                      bVar20 = !bVar22;\n                    }\n                    free(pvVar8);\n                    piVar9 = (int *)*piVar9;\n                  } while ((piVar9 != (int *)0x0) && (bVar22));\n                  if (bVar20) break;\n                }\n                if (DAT_0013d424 == 0) {\n                  pvVar8 = (void *)concat(DAT_0013d75c,"/usr/etc/ld.so.conf",0);\n                  iVar6 = FUN_00049060();\n                  if (iVar6 == 0) {\n                    free(pvVar8);\n                    pvVar8 = (void *)concat(DAT_0013d75c,"/etc/ld.so.conf",0);\n                    FUN_00049060();\n                  }\n                  free(pvVar8);\n                  DAT_0013d424 = 1;\n                }\n                pcVar12 = (char *)puVar17[2];\n                if (DAT_0013d420 != 0) {\n                  iVar6 = FUN_0004a6d0();\n                  if (iVar6 != 0) break;\n                  pcVar12 = (char *)puVar17[2];\n                }\n                sVar10 = strlen(pcVar12);\n                if (DAT_0013d8e4 != (int *)0x0) {\n                  piVar9 = DAT_0013d8e4;\n                  do {\n                    if (piVar9[2] == 0) {\n                      sVar11 = strlen((char *)piVar9[1]);\n                      pcVar12 = (char *)xmalloc(sVar11 + sVar10 + 2);\n                      sprintf(pcVar12,"%s/%s",piVar9[1],puVar17[2]);\n                      iVar6 = FUN_0004a3c0();\n                      if (iVar6 != 0) goto LAB_0004ae88;\n                      free(pcVar12);\n                    }\n                    piVar9 = (int *)*piVar9;\n                  } while (piVar9 != (int *)0x0);\n                }\n                if (bVar2) {\n                  uVar7 = puVar17[1];\n                  uVar1 = puVar17[2];\n                  uVar13 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00033ba0(uVar13,uVar1,uVar7);\n                  break;\n                }\n                bVar2 = true;\n              }\n            }\n          }" (if "if") (parenthesized_expression "((DAT_0013d440 == 0) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_0013d440 + 0x10)),\n             (uVar5 & 1) != 0))" (( "(") (binary_expression "(DAT_0013d440 == 0) ||\n             (uVar5 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_0013d440 + 0x10)),\n             (uVar5 & 1) != 0)" (parenthesized_expression "(DAT_0013d440 == 0)" (( "(") (binary_expression "DAT_0013d440 == 0" (identifier "DAT_0013d440") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(uVar5 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_0013d440 + 0x10)),\n             (uVar5 & 1) != 0)" (( "(") (comma_expression "uVar5 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_0013d440 + 0x10)),\n             (uVar5 & 1) != 0" (assignment_expression "uVar5 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_0013d440 + 0x10))" (identifier "uVar5") (= "=") (call_expression "bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_0013d440 + 0x10))" (identifier "bfd_elf_get_dyn_lib_class") (argument_list "(*(undefined4 *)(DAT_0013d440 + 0x10))" (( "(") (pointer_expression "*(undefined4 *)(DAT_0013d440 + 0x10)" (* "*") (cast_expression "(undefined4 *)(DAT_0013d440 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_0013d440 + 0x10)" (( "(") (binary_expression "DAT_0013d440 + 0x10" (identifier "DAT_0013d440") (+ "+") (number_literal "0x10")) () ")")))) () ")")))) (, ",") (binary_expression "(uVar5 & 1) != 0" (parenthesized_expression "(uVar5 & 1)" (( "(") (binary_expression "uVar5 & 1" (identifier "uVar5") (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n            uVar7 = puVar17[1];\n            uVar1 = puVar17[2];\n            if (DAT_0013d83c != 0) {\n              uVar13 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00033b70(uVar13,uVar1,uVar7);\n            }\n            if ((DAT_0013d440 == 0) || (iVar6 = FUN_0004a3c0(), iVar6 == 0)) {\n              bVar2 = false;\n              while (iVar6 = FUN_0004a6d0(), iVar6 == 0) {\n                if (DAT_0013d7a4 != 0) {\n                  pvVar8 = (void *)FUN_00048f50();\n                  iVar6 = FUN_0004a6d0();\n                  free(pvVar8);\n                  if (iVar6 != 0) break;\n                }\n                piVar9 = (int *)bfd_elf_get_runpath_list(DAT_0013d6f4,&DAT_0013d6c0);\n                if (piVar9 != (int *)0x0) {\n                  do {\n                    bVar22 = true;\n                    pvVar8 = (void *)FUN_00048f50();\n                    bVar20 = false;\n                    if (piVar9[1] == puVar17[1]) {\n                      iVar6 = FUN_0004a6d0();\n                      bVar22 = iVar6 == 0;\n                      bVar20 = !bVar22;\n                    }\n                    free(pvVar8);\n                    piVar9 = (int *)*piVar9;\n                  } while ((piVar9 != (int *)0x0) && (bVar22));\n                  if (bVar20) break;\n                }\n                if (DAT_0013d424 == 0) {\n                  pvVar8 = (void *)concat(DAT_0013d75c,"/usr/etc/ld.so.conf",0);\n                  iVar6 = FUN_00049060();\n                  if (iVar6 == 0) {\n                    free(pvVar8);\n                    pvVar8 = (void *)concat(DAT_0013d75c,"/etc/ld.so.conf",0);\n                    FUN_00049060();\n                  }\n                  free(pvVar8);\n                  DAT_0013d424 = 1;\n                }\n                pcVar12 = (char *)puVar17[2];\n                if (DAT_0013d420 != 0) {\n                  iVar6 = FUN_0004a6d0();\n                  if (iVar6 != 0) break;\n                  pcVar12 = (char *)puVar17[2];\n                }\n                sVar10 = strlen(pcVar12);\n                if (DAT_0013d8e4 != (int *)0x0) {\n                  piVar9 = DAT_0013d8e4;\n                  do {\n                    if (piVar9[2] == 0) {\n                      sVar11 = strlen((char *)piVar9[1]);\n                      pcVar12 = (char *)xmalloc(sVar11 + sVar10 + 2);\n                      sprintf(pcVar12,"%s/%s",piVar9[1],puVar17[2]);\n                      iVar6 = FUN_0004a3c0();\n                      if (iVar6 != 0) goto LAB_0004ae88;\n                      free(pcVar12);\n                    }\n                    piVar9 = (int *)*piVar9;\n                  } while (piVar9 != (int *)0x0);\n                }\n                if (bVar2) {\n                  uVar7 = puVar17[1];\n                  uVar1 = puVar17[2];\n                  uVar13 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00033ba0(uVar13,uVar1,uVar7);\n                  break;\n                }\n                bVar2 = true;\n              }\n            }\n          }" ({ "{") (expression_statement "uVar7 = puVar17[1];" (assignment_expression "uVar7 = puVar17[1]" (identifier "uVar7") (= "=") (subscript_expression "puVar17[1]" (identifier "puVar17") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "uVar1 = puVar17[2];" (assignment_expression "uVar1 = puVar17[2]" (identifier "uVar1") (= "=") (subscript_expression "puVar17[2]" (identifier "puVar17") ([ "[") (number_literal "2") (] "]"))) (; ";")) (if_statement "if (DAT_0013d83c != 0) {\n              uVar13 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00033b70(uVar13,uVar1,uVar7);\n            }" (if "if") (parenthesized_expression "(DAT_0013d83c != 0)" (( "(") (binary_expression "DAT_0013d83c != 0" (identifier "DAT_0013d83c") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              uVar13 = dcgettext(0,"%s needed by %pB\n",5);\n              FUN_00033b70(uVar13,uVar1,uVar7);\n            }" ({ "{") (expression_statement "uVar13 = dcgettext(0,"%s needed by %pB\n",5);" (assignment_expression "uVar13 = dcgettext(0,"%s needed by %pB\n",5)" (identifier "uVar13") (= "=") (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_00033b70(uVar13,uVar1,uVar7);" (call_expression "FUN_00033b70(uVar13,uVar1,uVar7)" (identifier "FUN_00033b70") (argument_list "(uVar13,uVar1,uVar7)" (( "(") (identifier "uVar13") (, ",") (identifier "uVar1") (, ",") (identifier "uVar7") () ")"))) (; ";")) (} "}"))) (if_statement "if ((DAT_0013d440 == 0) || (iVar6 = FUN_0004a3c0(), iVar6 == 0)) {\n              bVar2 = false;\n              while (iVar6 = FUN_0004a6d0(), iVar6 == 0) {\n                if (DAT_0013d7a4 != 0) {\n                  pvVar8 = (void *)FUN_00048f50();\n                  iVar6 = FUN_0004a6d0();\n                  free(pvVar8);\n                  if (iVar6 != 0) break;\n                }\n                piVar9 = (int *)bfd_elf_get_runpath_list(DAT_0013d6f4,&DAT_0013d6c0);\n                if (piVar9 != (int *)0x0) {\n                  do {\n                    bVar22 = true;\n                    pvVar8 = (void *)FUN_00048f50();\n                    bVar20 = false;\n                    if (piVar9[1] == puVar17[1]) {\n                      iVar6 = FUN_0004a6d0();\n                      bVar22 = iVar6 == 0;\n                      bVar20 = !bVar22;\n                    }\n                    free(pvVar8);\n                    piVar9 = (int *)*piVar9;\n                  } while ((piVar9 != (int *)0x0) && (bVar22));\n                  if (bVar20) break;\n                }\n                if (DAT_0013d424 == 0) {\n                  pvVar8 = (void *)concat(DAT_0013d75c,"/usr/etc/ld.so.conf",0);\n                  iVar6 = FUN_00049060();\n                  if (iVar6 == 0) {\n                    free(pvVar8);\n                    pvVar8 = (void *)concat(DAT_0013d75c,"/etc/ld.so.conf",0);\n                    FUN_00049060();\n                  }\n                  free(pvVar8);\n                  DAT_0013d424 = 1;\n                }\n                pcVar12 = (char *)puVar17[2];\n                if (DAT_0013d420 != 0) {\n                  iVar6 = FUN_0004a6d0();\n                  if (iVar6 != 0) break;\n                  pcVar12 = (char *)puVar17[2];\n                }\n                sVar10 = strlen(pcVar12);\n                if (DAT_0013d8e4 != (int *)0x0) {\n                  piVar9 = DAT_0013d8e4;\n                  do {\n                    if (piVar9[2] == 0) {\n                      sVar11 = strlen((char *)piVar9[1]);\n                      pcVar12 = (char *)xmalloc(sVar11 + sVar10 + 2);\n                      sprintf(pcVar12,"%s/%s",piVar9[1],puVar17[2]);\n                      iVar6 = FUN_0004a3c0();\n                      if (iVar6 != 0) goto LAB_0004ae88;\n                      free(pcVar12);\n                    }\n                    piVar9 = (int *)*piVar9;\n                  } while (piVar9 != (int *)0x0);\n                }\n                if (bVar2) {\n                  uVar7 = puVar17[1];\n                  uVar1 = puVar17[2];\n                  uVar13 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00033ba0(uVar13,uVar1,uVar7);\n                  break;\n                }\n                bVar2 = true;\n              }\n            }" (if "if") (parenthesized_expression "((DAT_0013d440 == 0) || (iVar6 = FUN_0004a3c0(), iVar6 == 0))" (( "(") (binary_expression "(DAT_0013d440 == 0) || (iVar6 = FUN_0004a3c0(), iVar6 == 0)" (parenthesized_expression "(DAT_0013d440 == 0)" (( "(") (binary_expression "DAT_0013d440 == 0" (identifier "DAT_0013d440") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar6 = FUN_0004a3c0(), iVar6 == 0)" (( "(") (comma_expression "iVar6 = FUN_0004a3c0(), iVar6 == 0" (assignment_expression "iVar6 = FUN_0004a3c0()" (identifier "iVar6") (= "=") (call_expression "FUN_0004a3c0()" (identifier "FUN_0004a3c0") (argument_list "()" (( "(") () ")")))) (, ",") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n              bVar2 = false;\n              while (iVar6 = FUN_0004a6d0(), iVar6 == 0) {\n                if (DAT_0013d7a4 != 0) {\n                  pvVar8 = (void *)FUN_00048f50();\n                  iVar6 = FUN_0004a6d0();\n                  free(pvVar8);\n                  if (iVar6 != 0) break;\n                }\n                piVar9 = (int *)bfd_elf_get_runpath_list(DAT_0013d6f4,&DAT_0013d6c0);\n                if (piVar9 != (int *)0x0) {\n                  do {\n                    bVar22 = true;\n                    pvVar8 = (void *)FUN_00048f50();\n                    bVar20 = false;\n                    if (piVar9[1] == puVar17[1]) {\n                      iVar6 = FUN_0004a6d0();\n                      bVar22 = iVar6 == 0;\n                      bVar20 = !bVar22;\n                    }\n                    free(pvVar8);\n                    piVar9 = (int *)*piVar9;\n                  } while ((piVar9 != (int *)0x0) && (bVar22));\n                  if (bVar20) break;\n                }\n                if (DAT_0013d424 == 0) {\n                  pvVar8 = (void *)concat(DAT_0013d75c,"/usr/etc/ld.so.conf",0);\n                  iVar6 = FUN_00049060();\n                  if (iVar6 == 0) {\n                    free(pvVar8);\n                    pvVar8 = (void *)concat(DAT_0013d75c,"/etc/ld.so.conf",0);\n                    FUN_00049060();\n                  }\n                  free(pvVar8);\n                  DAT_0013d424 = 1;\n                }\n                pcVar12 = (char *)puVar17[2];\n                if (DAT_0013d420 != 0) {\n                  iVar6 = FUN_0004a6d0();\n                  if (iVar6 != 0) break;\n                  pcVar12 = (char *)puVar17[2];\n                }\n                sVar10 = strlen(pcVar12);\n                if (DAT_0013d8e4 != (int *)0x0) {\n                  piVar9 = DAT_0013d8e4;\n                  do {\n                    if (piVar9[2] == 0) {\n                      sVar11 = strlen((char *)piVar9[1]);\n                      pcVar12 = (char *)xmalloc(sVar11 + sVar10 + 2);\n                      sprintf(pcVar12,"%s/%s",piVar9[1],puVar17[2]);\n                      iVar6 = FUN_0004a3c0();\n                      if (iVar6 != 0) goto LAB_0004ae88;\n                      free(pcVar12);\n                    }\n                    piVar9 = (int *)*piVar9;\n                  } while (piVar9 != (int *)0x0);\n                }\n                if (bVar2) {\n                  uVar7 = puVar17[1];\n                  uVar1 = puVar17[2];\n                  uVar13 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00033ba0(uVar13,uVar1,uVar7);\n                  break;\n                }\n                bVar2 = true;\n              }\n            }" ({ "{") (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" (identifier "bVar2") (= "=") (false "false")) (; ";")) (while_statement "while (iVar6 = FUN_0004a6d0(), iVar6 == 0) {\n                if (DAT_0013d7a4 != 0) {\n                  pvVar8 = (void *)FUN_00048f50();\n                  iVar6 = FUN_0004a6d0();\n                  free(pvVar8);\n                  if (iVar6 != 0) break;\n                }\n                piVar9 = (int *)bfd_elf_get_runpath_list(DAT_0013d6f4,&DAT_0013d6c0);\n                if (piVar9 != (int *)0x0) {\n                  do {\n                    bVar22 = true;\n                    pvVar8 = (void *)FUN_00048f50();\n                    bVar20 = false;\n                    if (piVar9[1] == puVar17[1]) {\n                      iVar6 = FUN_0004a6d0();\n                      bVar22 = iVar6 == 0;\n                      bVar20 = !bVar22;\n                    }\n                    free(pvVar8);\n                    piVar9 = (int *)*piVar9;\n                  } while ((piVar9 != (int *)0x0) && (bVar22));\n                  if (bVar20) break;\n                }\n                if (DAT_0013d424 == 0) {\n                  pvVar8 = (void *)concat(DAT_0013d75c,"/usr/etc/ld.so.conf",0);\n                  iVar6 = FUN_00049060();\n                  if (iVar6 == 0) {\n                    free(pvVar8);\n                    pvVar8 = (void *)concat(DAT_0013d75c,"/etc/ld.so.conf",0);\n                    FUN_00049060();\n                  }\n                  free(pvVar8);\n                  DAT_0013d424 = 1;\n                }\n                pcVar12 = (char *)puVar17[2];\n                if (DAT_0013d420 != 0) {\n                  iVar6 = FUN_0004a6d0();\n                  if (iVar6 != 0) break;\n                  pcVar12 = (char *)puVar17[2];\n                }\n                sVar10 = strlen(pcVar12);\n                if (DAT_0013d8e4 != (int *)0x0) {\n                  piVar9 = DAT_0013d8e4;\n                  do {\n                    if (piVar9[2] == 0) {\n                      sVar11 = strlen((char *)piVar9[1]);\n                      pcVar12 = (char *)xmalloc(sVar11 + sVar10 + 2);\n                      sprintf(pcVar12,"%s/%s",piVar9[1],puVar17[2]);\n                      iVar6 = FUN_0004a3c0();\n                      if (iVar6 != 0) goto LAB_0004ae88;\n                      free(pcVar12);\n                    }\n                    piVar9 = (int *)*piVar9;\n                  } while (piVar9 != (int *)0x0);\n                }\n                if (bVar2) {\n                  uVar7 = puVar17[1];\n                  uVar1 = puVar17[2];\n                  uVar13 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00033ba0(uVar13,uVar1,uVar7);\n                  break;\n                }\n                bVar2 = true;\n              }" (while "while") (parenthesized_expression "(iVar6 = FUN_0004a6d0(), iVar6 == 0)" (( "(") (comma_expression "iVar6 = FUN_0004a6d0(), iVar6 == 0" (assignment_expression "iVar6 = FUN_0004a6d0()" (identifier "iVar6") (= "=") (call_expression "FUN_0004a6d0()" (identifier "FUN_0004a6d0") (argument_list "()" (( "(") () ")")))) (, ",") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0"))) () ")")) (compound_statement "{\n                if (DAT_0013d7a4 != 0) {\n                  pvVar8 = (void *)FUN_00048f50();\n                  iVar6 = FUN_0004a6d0();\n                  free(pvVar8);\n                  if (iVar6 != 0) break;\n                }\n                piVar9 = (int *)bfd_elf_get_runpath_list(DAT_0013d6f4,&DAT_0013d6c0);\n                if (piVar9 != (int *)0x0) {\n                  do {\n                    bVar22 = true;\n                    pvVar8 = (void *)FUN_00048f50();\n                    bVar20 = false;\n                    if (piVar9[1] == puVar17[1]) {\n                      iVar6 = FUN_0004a6d0();\n                      bVar22 = iVar6 == 0;\n                      bVar20 = !bVar22;\n                    }\n                    free(pvVar8);\n                    piVar9 = (int *)*piVar9;\n                  } while ((piVar9 != (int *)0x0) && (bVar22));\n                  if (bVar20) break;\n                }\n                if (DAT_0013d424 == 0) {\n                  pvVar8 = (void *)concat(DAT_0013d75c,"/usr/etc/ld.so.conf",0);\n                  iVar6 = FUN_00049060();\n                  if (iVar6 == 0) {\n                    free(pvVar8);\n                    pvVar8 = (void *)concat(DAT_0013d75c,"/etc/ld.so.conf",0);\n                    FUN_00049060();\n                  }\n                  free(pvVar8);\n                  DAT_0013d424 = 1;\n                }\n                pcVar12 = (char *)puVar17[2];\n                if (DAT_0013d420 != 0) {\n                  iVar6 = FUN_0004a6d0();\n                  if (iVar6 != 0) break;\n                  pcVar12 = (char *)puVar17[2];\n                }\n                sVar10 = strlen(pcVar12);\n                if (DAT_0013d8e4 != (int *)0x0) {\n                  piVar9 = DAT_0013d8e4;\n                  do {\n                    if (piVar9[2] == 0) {\n                      sVar11 = strlen((char *)piVar9[1]);\n                      pcVar12 = (char *)xmalloc(sVar11 + sVar10 + 2);\n                      sprintf(pcVar12,"%s/%s",piVar9[1],puVar17[2]);\n                      iVar6 = FUN_0004a3c0();\n                      if (iVar6 != 0) goto LAB_0004ae88;\n                      free(pcVar12);\n                    }\n                    piVar9 = (int *)*piVar9;\n                  } while (piVar9 != (int *)0x0);\n                }\n                if (bVar2) {\n                  uVar7 = puVar17[1];\n                  uVar1 = puVar17[2];\n                  uVar13 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00033ba0(uVar13,uVar1,uVar7);\n                  break;\n                }\n                bVar2 = true;\n              }" ({ "{") (if_statement "if (DAT_0013d7a4 != 0) {\n                  pvVar8 = (void *)FUN_00048f50();\n                  iVar6 = FUN_0004a6d0();\n                  free(pvVar8);\n                  if (iVar6 != 0) break;\n                }" (if "if") (parenthesized_expression "(DAT_0013d7a4 != 0)" (( "(") (binary_expression "DAT_0013d7a4 != 0" (identifier "DAT_0013d7a4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                  pvVar8 = (void *)FUN_00048f50();\n                  iVar6 = FUN_0004a6d0();\n                  free(pvVar8);\n                  if (iVar6 != 0) break;\n                }" ({ "{") (expression_statement "pvVar8 = (void *)FUN_00048f50();" (assignment_expression "pvVar8 = (void *)FUN_00048f50()" (identifier "pvVar8") (= "=") (cast_expression "(void *)FUN_00048f50()" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00048f50()" (identifier "FUN_00048f50") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "iVar6 = FUN_0004a6d0();" (assignment_expression "iVar6 = FUN_0004a6d0()" (identifier "iVar6") (= "=") (call_expression "FUN_0004a6d0()" (identifier "FUN_0004a6d0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "free(pvVar8);" (call_expression "free(pvVar8)" (identifier "free") (argument_list "(pvVar8)" (( "(") (identifier "pvVar8") () ")"))) (; ";")) (if_statement "if (iVar6 != 0) break;" (if "if") (parenthesized_expression "(iVar6 != 0)" (( "(") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (} "}"))) (expression_statement "piVar9 = (int *)bfd_elf_get_runpath_list(DAT_0013d6f4,&DAT_0013d6c0);" (assignment_expression "piVar9 = (int *)bfd_elf_get_runpath_list(DAT_0013d6f4,&DAT_0013d6c0)" (identifier "piVar9") (= "=") (cast_expression "(int *)bfd_elf_get_runpath_list(DAT_0013d6f4,&DAT_0013d6c0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "bfd_elf_get_runpath_list(DAT_0013d6f4,&DAT_0013d6c0)" (identifier "bfd_elf_get_runpath_list") (argument_list "(DAT_0013d6f4,&DAT_0013d6c0)" (( "(") (identifier "DAT_0013d6f4") (, ",") (pointer_expression "&DAT_0013d6c0" (& "&") (identifier "DAT_0013d6c0")) () ")"))))) (; ";")) (if_statement "if (piVar9 != (int *)0x0) {\n                  do {\n                    bVar22 = true;\n                    pvVar8 = (void *)FUN_00048f50();\n                    bVar20 = false;\n                    if (piVar9[1] == puVar17[1]) {\n                      iVar6 = FUN_0004a6d0();\n                      bVar22 = iVar6 == 0;\n                      bVar20 = !bVar22;\n                    }\n                    free(pvVar8);\n                    piVar9 = (int *)*piVar9;\n                  } while ((piVar9 != (int *)0x0) && (bVar22));\n                  if (bVar20) break;\n                }" (if "if") (parenthesized_expression "(piVar9 != (int *)0x0)" (( "(") (binary_expression "piVar9 != (int *)0x0" (identifier "piVar9") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                  do {\n                    bVar22 = true;\n                    pvVar8 = (void *)FUN_00048f50();\n                    bVar20 = false;\n                    if (piVar9[1] == puVar17[1]) {\n                      iVar6 = FUN_0004a6d0();\n                      bVar22 = iVar6 == 0;\n                      bVar20 = !bVar22;\n                    }\n                    free(pvVar8);\n                    piVar9 = (int *)*piVar9;\n                  } while ((piVar9 != (int *)0x0) && (bVar22));\n                  if (bVar20) break;\n                }" ({ "{") (do_statement "do {\n                    bVar22 = true;\n                    pvVar8 = (void *)FUN_00048f50();\n                    bVar20 = false;\n                    if (piVar9[1] == puVar17[1]) {\n                      iVar6 = FUN_0004a6d0();\n                      bVar22 = iVar6 == 0;\n                      bVar20 = !bVar22;\n                    }\n                    free(pvVar8);\n                    piVar9 = (int *)*piVar9;\n                  } while ((piVar9 != (int *)0x0) && (bVar22));" (do "do") (compound_statement "{\n                    bVar22 = true;\n                    pvVar8 = (void *)FUN_00048f50();\n                    bVar20 = false;\n                    if (piVar9[1] == puVar17[1]) {\n                      iVar6 = FUN_0004a6d0();\n                      bVar22 = iVar6 == 0;\n                      bVar20 = !bVar22;\n                    }\n                    free(pvVar8);\n                    piVar9 = (int *)*piVar9;\n                  }" ({ "{") (expression_statement "bVar22 = true;" (assignment_expression "bVar22 = true" (identifier "bVar22") (= "=") (true "true")) (; ";")) (expression_statement "pvVar8 = (void *)FUN_00048f50();" (assignment_expression "pvVar8 = (void *)FUN_00048f50()" (identifier "pvVar8") (= "=") (cast_expression "(void *)FUN_00048f50()" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00048f50()" (identifier "FUN_00048f50") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "bVar20 = false;" (assignment_expression "bVar20 = false" (identifier "bVar20") (= "=") (false "false")) (; ";")) (if_statement "if (piVar9[1] == puVar17[1]) {\n                      iVar6 = FUN_0004a6d0();\n                      bVar22 = iVar6 == 0;\n                      bVar20 = !bVar22;\n                    }" (if "if") (parenthesized_expression "(piVar9[1] == puVar17[1])" (( "(") (binary_expression "piVar9[1] == puVar17[1]" (subscript_expression "piVar9[1]" (identifier "piVar9") ([ "[") (number_literal "1") (] "]")) (== "==") (subscript_expression "puVar17[1]" (identifier "puVar17") ([ "[") (number_literal "1") (] "]"))) () ")")) (compound_statement "{\n                      iVar6 = FUN_0004a6d0();\n                      bVar22 = iVar6 == 0;\n                      bVar20 = !bVar22;\n                    }" ({ "{") (expression_statement "iVar6 = FUN_0004a6d0();" (assignment_expression "iVar6 = FUN_0004a6d0()" (identifier "iVar6") (= "=") (call_expression "FUN_0004a6d0()" (identifier "FUN_0004a6d0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "bVar22 = iVar6 == 0;" (assignment_expression "bVar22 = iVar6 == 0" (identifier "bVar22") (= "=") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0"))) (; ";")) (expression_statement "bVar20 = !bVar22;" (assignment_expression "bVar20 = !bVar22" (identifier "bVar20") (= "=") (unary_expression "!bVar22" (! "!") (identifier "bVar22"))) (; ";")) (} "}"))) (expression_statement "free(pvVar8);" (call_expression "free(pvVar8)" (identifier "free") (argument_list "(pvVar8)" (( "(") (identifier "pvVar8") () ")"))) (; ";")) (expression_statement "piVar9 = (int *)*piVar9;" (assignment_expression "piVar9 = (int *)*piVar9" (identifier "piVar9") (= "=") (cast_expression "(int *)*piVar9" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar9" (* "*") (identifier "piVar9")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((piVar9 != (int *)0x0) && (bVar22))" (( "(") (binary_expression "(piVar9 != (int *)0x0) && (bVar22)" (parenthesized_expression "(piVar9 != (int *)0x0)" (( "(") (binary_expression "piVar9 != (int *)0x0" (identifier "piVar9") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(bVar22)" (( "(") (identifier "bVar22") () ")"))) () ")")) (; ";")) (if_statement "if (bVar20) break;" (if "if") (parenthesized_expression "(bVar20)" (( "(") (identifier "bVar20") () ")")) (break_statement "break;" (break "break") (; ";"))) (} "}"))) (if_statement "if (DAT_0013d424 == 0) {\n                  pvVar8 = (void *)concat(DAT_0013d75c,"/usr/etc/ld.so.conf",0);\n                  iVar6 = FUN_00049060();\n                  if (iVar6 == 0) {\n                    free(pvVar8);\n                    pvVar8 = (void *)concat(DAT_0013d75c,"/etc/ld.so.conf",0);\n                    FUN_00049060();\n                  }\n                  free(pvVar8);\n                  DAT_0013d424 = 1;\n                }" (if "if") (parenthesized_expression "(DAT_0013d424 == 0)" (( "(") (binary_expression "DAT_0013d424 == 0" (identifier "DAT_0013d424") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                  pvVar8 = (void *)concat(DAT_0013d75c,"/usr/etc/ld.so.conf",0);\n                  iVar6 = FUN_00049060();\n                  if (iVar6 == 0) {\n                    free(pvVar8);\n                    pvVar8 = (void *)concat(DAT_0013d75c,"/etc/ld.so.conf",0);\n                    FUN_00049060();\n                  }\n                  free(pvVar8);\n                  DAT_0013d424 = 1;\n                }" ({ "{") (expression_statement "pvVar8 = (void *)concat(DAT_0013d75c,"/usr/etc/ld.so.conf",0);" (assignment_expression "pvVar8 = (void *)concat(DAT_0013d75c,"/usr/etc/ld.so.conf",0)" (identifier "pvVar8") (= "=") (cast_expression "(void *)concat(DAT_0013d75c,"/usr/etc/ld.so.conf",0)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "concat(DAT_0013d75c,"/usr/etc/ld.so.conf",0)" (identifier "concat") (argument_list "(DAT_0013d75c,"/usr/etc/ld.so.conf",0)" (( "(") (identifier "DAT_0013d75c") (, ",") (string_literal ""/usr/etc/ld.so.conf"" (" """) (string_content "/usr/etc/ld.so.conf") (" """)) (, ",") (number_literal "0") () ")"))))) (; ";")) (expression_statement "iVar6 = FUN_00049060();" (assignment_expression "iVar6 = FUN_00049060()" (identifier "iVar6") (= "=") (call_expression "FUN_00049060()" (identifier "FUN_00049060") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar6 == 0) {\n                    free(pvVar8);\n                    pvVar8 = (void *)concat(DAT_0013d75c,"/etc/ld.so.conf",0);\n                    FUN_00049060();\n                  }" (if "if") (parenthesized_expression "(iVar6 == 0)" (( "(") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    free(pvVar8);\n                    pvVar8 = (void *)concat(DAT_0013d75c,"/etc/ld.so.conf",0);\n                    FUN_00049060();\n                  }" ({ "{") (expression_statement "free(pvVar8);" (call_expression "free(pvVar8)" (identifier "free") (argument_list "(pvVar8)" (( "(") (identifier "pvVar8") () ")"))) (; ";")) (expression_statement "pvVar8 = (void *)concat(DAT_0013d75c,"/etc/ld.so.conf",0);" (assignment_expression "pvVar8 = (void *)concat(DAT_0013d75c,"/etc/ld.so.conf",0)" (identifier "pvVar8") (= "=") (cast_expression "(void *)concat(DAT_0013d75c,"/etc/ld.so.conf",0)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "concat(DAT_0013d75c,"/etc/ld.so.conf",0)" (identifier "concat") (argument_list "(DAT_0013d75c,"/etc/ld.so.conf",0)" (( "(") (identifier "DAT_0013d75c") (, ",") (string_literal ""/etc/ld.so.conf"" (" """) (string_content "/etc/ld.so.conf") (" """)) (, ",") (number_literal "0") () ")"))))) (; ";")) (expression_statement "FUN_00049060();" (call_expression "FUN_00049060()" (identifier "FUN_00049060") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "free(pvVar8);" (call_expression "free(pvVar8)" (identifier "free") (argument_list "(pvVar8)" (( "(") (identifier "pvVar8") () ")"))) (; ";")) (expression_statement "DAT_0013d424 = 1;" (assignment_expression "DAT_0013d424 = 1" (identifier "DAT_0013d424") (= "=") (number_literal "1")) (; ";")) (} "}"))) (expression_statement "pcVar12 = (char *)puVar17[2];" (assignment_expression "pcVar12 = (char *)puVar17[2]" (identifier "pcVar12") (= "=") (cast_expression "(char *)puVar17[2]" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar17[2]" (identifier "puVar17") ([ "[") (number_literal "2") (] "]")))) (; ";")) (if_statement "if (DAT_0013d420 != 0) {\n                  iVar6 = FUN_0004a6d0();\n                  if (iVar6 != 0) break;\n                  pcVar12 = (char *)puVar17[2];\n                }" (if "if") (parenthesized_expression "(DAT_0013d420 != 0)" (( "(") (binary_expression "DAT_0013d420 != 0" (identifier "DAT_0013d420") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                  iVar6 = FUN_0004a6d0();\n                  if (iVar6 != 0) break;\n                  pcVar12 = (char *)puVar17[2];\n                }" ({ "{") (expression_statement "iVar6 = FUN_0004a6d0();" (assignment_expression "iVar6 = FUN_0004a6d0()" (identifier "iVar6") (= "=") (call_expression "FUN_0004a6d0()" (identifier "FUN_0004a6d0") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar6 != 0) break;" (if "if") (parenthesized_expression "(iVar6 != 0)" (( "(") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "pcVar12 = (char *)puVar17[2];" (assignment_expression "pcVar12 = (char *)puVar17[2]" (identifier "pcVar12") (= "=") (cast_expression "(char *)puVar17[2]" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar17[2]" (identifier "puVar17") ([ "[") (number_literal "2") (] "]")))) (; ";")) (} "}"))) (expression_statement "sVar10 = strlen(pcVar12);" (assignment_expression "sVar10 = strlen(pcVar12)" (identifier "sVar10") (= "=") (call_expression "strlen(pcVar12)" (identifier "strlen") (argument_list "(pcVar12)" (( "(") (identifier "pcVar12") () ")")))) (; ";")) (if_statement "if (DAT_0013d8e4 != (int *)0x0) {\n                  piVar9 = DAT_0013d8e4;\n                  do {\n                    if (piVar9[2] == 0) {\n                      sVar11 = strlen((char *)piVar9[1]);\n                      pcVar12 = (char *)xmalloc(sVar11 + sVar10 + 2);\n                      sprintf(pcVar12,"%s/%s",piVar9[1],puVar17[2]);\n                      iVar6 = FUN_0004a3c0();\n                      if (iVar6 != 0) goto LAB_0004ae88;\n                      free(pcVar12);\n                    }\n                    piVar9 = (int *)*piVar9;\n                  } while (piVar9 != (int *)0x0);\n                }" (if "if") (parenthesized_expression "(DAT_0013d8e4 != (int *)0x0)" (( "(") (binary_expression "DAT_0013d8e4 != (int *)0x0" (identifier "DAT_0013d8e4") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                  piVar9 = DAT_0013d8e4;\n                  do {\n                    if (piVar9[2] == 0) {\n                      sVar11 = strlen((char *)piVar9[1]);\n                      pcVar12 = (char *)xmalloc(sVar11 + sVar10 + 2);\n                      sprintf(pcVar12,"%s/%s",piVar9[1],puVar17[2]);\n                      iVar6 = FUN_0004a3c0();\n                      if (iVar6 != 0) goto LAB_0004ae88;\n                      free(pcVar12);\n                    }\n                    piVar9 = (int *)*piVar9;\n                  } while (piVar9 != (int *)0x0);\n                }" ({ "{") (expression_statement "piVar9 = DAT_0013d8e4;" (assignment_expression "piVar9 = DAT_0013d8e4" (identifier "piVar9") (= "=") (identifier "DAT_0013d8e4")) (; ";")) (do_statement "do {\n                    if (piVar9[2] == 0) {\n                      sVar11 = strlen((char *)piVar9[1]);\n                      pcVar12 = (char *)xmalloc(sVar11 + sVar10 + 2);\n                      sprintf(pcVar12,"%s/%s",piVar9[1],puVar17[2]);\n                      iVar6 = FUN_0004a3c0();\n                      if (iVar6 != 0) goto LAB_0004ae88;\n                      free(pcVar12);\n                    }\n                    piVar9 = (int *)*piVar9;\n                  } while (piVar9 != (int *)0x0);" (do "do") (compound_statement "{\n                    if (piVar9[2] == 0) {\n                      sVar11 = strlen((char *)piVar9[1]);\n                      pcVar12 = (char *)xmalloc(sVar11 + sVar10 + 2);\n                      sprintf(pcVar12,"%s/%s",piVar9[1],puVar17[2]);\n                      iVar6 = FUN_0004a3c0();\n                      if (iVar6 != 0) goto LAB_0004ae88;\n                      free(pcVar12);\n                    }\n                    piVar9 = (int *)*piVar9;\n                  }" ({ "{") (if_statement "if (piVar9[2] == 0) {\n                      sVar11 = strlen((char *)piVar9[1]);\n                      pcVar12 = (char *)xmalloc(sVar11 + sVar10 + 2);\n                      sprintf(pcVar12,"%s/%s",piVar9[1],puVar17[2]);\n                      iVar6 = FUN_0004a3c0();\n                      if (iVar6 != 0) goto LAB_0004ae88;\n                      free(pcVar12);\n                    }" (if "if") (parenthesized_expression "(piVar9[2] == 0)" (( "(") (binary_expression "piVar9[2] == 0" (subscript_expression "piVar9[2]" (identifier "piVar9") ([ "[") (number_literal "2") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                      sVar11 = strlen((char *)piVar9[1]);\n                      pcVar12 = (char *)xmalloc(sVar11 + sVar10 + 2);\n                      sprintf(pcVar12,"%s/%s",piVar9[1],puVar17[2]);\n                      iVar6 = FUN_0004a3c0();\n                      if (iVar6 != 0) goto LAB_0004ae88;\n                      free(pcVar12);\n                    }" ({ "{") (expression_statement "sVar11 = strlen((char *)piVar9[1]);" (assignment_expression "sVar11 = strlen((char *)piVar9[1])" (identifier "sVar11") (= "=") (call_expression "strlen((char *)piVar9[1])" (identifier "strlen") (argument_list "((char *)piVar9[1])" (( "(") (cast_expression "(char *)piVar9[1]" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar9[1]" (identifier "piVar9") ([ "[") (number_literal "1") (] "]"))) () ")")))) (; ";")) (expression_statement "pcVar12 = (char *)xmalloc(sVar11 + sVar10 + 2);" (assignment_expression "pcVar12 = (char *)xmalloc(sVar11 + sVar10 + 2)" (identifier "pcVar12") (= "=") (cast_expression "(char *)xmalloc(sVar11 + sVar10 + 2)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "xmalloc(sVar11 + sVar10 + 2)" (identifier "xmalloc") (argument_list "(sVar11 + sVar10 + 2)" (( "(") (binary_expression "sVar11 + sVar10 + 2" (binary_expression "sVar11 + sVar10" (identifier "sVar11") (+ "+") (identifier "sVar10")) (+ "+") (number_literal "2")) () ")"))))) (; ";")) (expression_statement "sprintf(pcVar12,"%s/%s",piVar9[1],puVar17[2]);" (call_expression "sprintf(pcVar12,"%s/%s",piVar9[1],puVar17[2])" (identifier "sprintf") (argument_list "(pcVar12,"%s/%s",piVar9[1],puVar17[2])" (( "(") (identifier "pcVar12") (, ",") (string_literal ""%s/%s"" (" """) (string_content "%s/%s") (" """)) (, ",") (subscript_expression "piVar9[1]" (identifier "piVar9") ([ "[") (number_literal "1") (] "]")) (, ",") (subscript_expression "puVar17[2]" (identifier "puVar17") ([ "[") (number_literal "2") (] "]")) () ")"))) (; ";")) (expression_statement "iVar6 = FUN_0004a3c0();" (assignment_expression "iVar6 = FUN_0004a3c0()" (identifier "iVar6") (= "=") (call_expression "FUN_0004a3c0()" (identifier "FUN_0004a3c0") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar6 != 0) goto LAB_0004ae88;" (if "if") (parenthesized_expression "(iVar6 != 0)" (( "(") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0004ae88;" (goto "goto") (statement_identifier "LAB_0004ae88") (; ";"))) (expression_statement "free(pcVar12);" (call_expression "free(pcVar12)" (identifier "free") (argument_list "(pcVar12)" (( "(") (identifier "pcVar12") () ")"))) (; ";")) (} "}"))) (expression_statement "piVar9 = (int *)*piVar9;" (assignment_expression "piVar9 = (int *)*piVar9" (identifier "piVar9") (= "=") (cast_expression "(int *)*piVar9" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar9" (* "*") (identifier "piVar9")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(piVar9 != (int *)0x0)" (( "(") (binary_expression "piVar9 != (int *)0x0" (identifier "piVar9") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (} "}"))) (if_statement "if (bVar2) {\n                  uVar7 = puVar17[1];\n                  uVar1 = puVar17[2];\n                  uVar13 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00033ba0(uVar13,uVar1,uVar7);\n                  break;\n                }" (if "if") (parenthesized_expression "(bVar2)" (( "(") (identifier "bVar2") () ")")) (compound_statement "{\n                  uVar7 = puVar17[1];\n                  uVar1 = puVar17[2];\n                  uVar13 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);\n                  FUN_00033ba0(uVar13,uVar1,uVar7);\n                  break;\n                }" ({ "{") (expression_statement "uVar7 = puVar17[1];" (assignment_expression "uVar7 = puVar17[1]" (identifier "uVar7") (= "=") (subscript_expression "puVar17[1]" (identifier "puVar17") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "uVar1 = puVar17[2];" (assignment_expression "uVar1 = puVar17[2]" (identifier "uVar1") (= "=") (subscript_expression "puVar17[2]" (identifier "puVar17") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "uVar13 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5);" (assignment_expression "uVar13 = dcgettext(0,\n                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"\n                                     ,5)" (identifier "uVar13") (= "=") (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_00033ba0(uVar13,uVar1,uVar7);" (call_expression "FUN_00033ba0(uVar13,uVar1,uVar7)" (identifier "FUN_00033ba0") (argument_list "(uVar13,uVar1,uVar7)" (( "(") (identifier "uVar13") (, ",") (identifier "uVar1") (, ",") (identifier "uVar7") () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";")) (} "}"))) (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" (identifier "bVar2") (= "=") (true "true")) (; ";")) (} "}"))) (} "}"))) (} "}"))) (} "}"))) (labeled_statement "LAB_0004ae88:" (statement_identifier "LAB_0004ae88") (: ":") (expression_statement "" (; ""))) (} "}"))) (expression_statement "DAT_0013d6c3 = (byte)(_DAT_0013d6c2 >> 8);" (assignment_expression "DAT_0013d6c3 = (byte)(_DAT_0013d6c2 >> 8)" (identifier "DAT_0013d6c3") (= "=") (call_expression "(byte)(_DAT_0013d6c2 >> 8)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(_DAT_0013d6c2 >> 8)" (( "(") (binary_expression "_DAT_0013d6c2 >> 8" (identifier "_DAT_0013d6c2") (>> ">>") (number_literal "8")) () ")")))) (; ";")) (expression_statement "bVar23 = DAT_0013d6c3 & 0xc0;" (assignment_expression "bVar23 = DAT_0013d6c3 & 0xc0" (identifier "bVar23") (= "=") (binary_expression "DAT_0013d6c3 & 0xc0" (identifier "DAT_0013d6c3") (& "&") (number_literal "0xc0"))) (; ";")) (if_statement "if ((bVar23 == 0x80) && (iVar6 = bfd_elf_parse_eh_frame_entries(0,&DAT_0013d6c0), iVar6 == 0))\n      {\n        uVar7 = dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);\n        FUN_00033ba0(uVar7);\n      }" (if "if") (parenthesized_expression "((bVar23 == 0x80) && (iVar6 = bfd_elf_parse_eh_frame_entries(0,&DAT_0013d6c0), iVar6 == 0))" (( "(") (binary_expression "(bVar23 == 0x80) && (iVar6 = bfd_elf_parse_eh_frame_entries(0,&DAT_0013d6c0), iVar6 == 0)" (parenthesized_expression "(bVar23 == 0x80)" (( "(") (binary_expression "bVar23 == 0x80" (identifier "bVar23") (== "==") (number_literal "0x80")) () ")")) (&& "&&") (parenthesized_expression "(iVar6 = bfd_elf_parse_eh_frame_entries(0,&DAT_0013d6c0), iVar6 == 0)" (( "(") (comma_expression "iVar6 = bfd_elf_parse_eh_frame_entries(0,&DAT_0013d6c0), iVar6 == 0" (assignment_expression "iVar6 = bfd_elf_parse_eh_frame_entries(0,&DAT_0013d6c0)" (identifier "iVar6") (= "=") (call_expression "bfd_elf_parse_eh_frame_entries(0,&DAT_0013d6c0)" (identifier "bfd_elf_parse_eh_frame_entries") (argument_list "(0,&DAT_0013d6c0)" (( "(") (number_literal "0") (, ",") (pointer_expression "&DAT_0013d6c0" (& "&") (identifier "DAT_0013d6c0")) () ")")))) (, ",") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n        uVar7 = dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);\n        FUN_00033ba0(uVar7);\n      }" ({ "{") (expression_statement "uVar7 = dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);" (assignment_expression "uVar7 = dcgettext(0,"%F%P: failed to parse EH frame entries\n",5)" (identifier "uVar7") (= "=") (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_00033ba0(uVar7);" (call_expression "FUN_00033ba0(uVar7)" (identifier "FUN_00033ba0") (argument_list "(uVar7)" (( "(") (identifier "uVar7") () ")"))) (; ";")) (} "}"))) (} "}")))) (} "}"))) (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_27;
  bool bVar3;
  type_2 *var_30;
  type_3 *pbVar5;
  type_4 *pdVar6;
  type_5 *var_13;
  type_2 *pbVar8;
  type_6 var_29;
  int var_18;
  type_7 var_37;
  char *var_45;
  int *var_41;
  size_t var_50;
  size_t var_49;
  char *pcVar16;
  type_8 *var_25;
  type_9 *pbVar18;
  type_10 *var_15;
  type_9 *var_8;
  type_11 *var_52;
  type_12 *var_19;
  type_12 *var_20;
  bool var_22;
  bool var_21;
  bool bVar26;
  type_12 bVar27;
  type_13 var_11;
  type_4 *var_23;
  int var_16;
  type_9 *var_24;
  type_4 n;
  type_4 nn;
  type_4 needed;
  
  bVar27 = 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_9 *)var_4(command_line.out_implib_filename,(link_info.output_bfd)->xvec->name);
      var_45 = command_line.out_implib_filename;
      if (link_info.out_implib_bfd == (type_9 *)0x0) {
        pcVar16 = (char *)var_5(0,"%F%P: %s: can\'t open for writing: %E\n",5);
        var_6(pcVar16,var_45);
      }
    }
    pbVar18 = link_info.output_bfd;
    var_8 = link_info.input_bfds;
    if (var_7 != (char *)0x0) {
      for (; var_8 != (type_9 *)0x0; var_8 = (var_8->link).next) {
        if (((var_8->xvec->flavour == var_9) && (var_8->section_count != 0)) &&
           ((*(type_12 *)((int)var_8->usrdata + 0x24) & 0x10) == 0)) {
          var_11 = var_10(var_7);
          if ((var_11 == 0) || (var_11 + 0x10 == 0)) {
            var_45 = "%P: warning: unrecognized --build-id style ignored\n";
          }
          else {
            var_13 = (type_5 *)
                     var_12
                               (var_8,".note.gnu.build-id",
                                "ttributes)) }\n  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }\n}\n\n"
                               );
            if (var_13 != (type_5 *)0x0) {
              var_13->alignment_power = 2;
              pbVar18 = 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_45 = var_7;
              (poVar1->build_id).sec = var_13;
              (poVar1->build_id).style = var_45;
              *(type_14 *)((int)var_13->used_by_bfd + 4) = 7;
              var_13->size = var_11 + 0x10;
              goto LAB_0004ad04;
            }
            var_45 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";
          }
          var_45 = (char *)var_5(0,var_45,5);
          var_6(var_45);
          break;
        }
      }
      var_14(var_7);
      var_7 = (char *)0x0;
      pbVar18 = link_info.output_bfd;
    }
LAB_0004ad04:
    (**(type_15 **)((int)pbVar18->xvec->backend_data + 0x1d0))(&link_info);
    if ((link_info._0_1_ & 3) == 2) {
      if ((type_12)link_info._5_1_ >> 7 == (~link_info._6_1_ & 1)) {
        var_12
                  (link_info.input_bfds,".note.GNU-stack",(type_12)link_info._5_1_ >> 3 & 0x10 | 8);
      }
    }
    else {
      if (((link_info._4_1_ & 0x20) == 0) && (link_info.input_bfds != (type_9 *)0x0)) {
        var_16 = 0;
        bVar3 = false;
        var_24 = (type_9 *)0x0;
        var_8 = link_info.input_bfds;
        do {
          while ((*(type_12 *)((int)var_8->usrdata + 0x24) & 0x10) != 0) {
LAB_0004b160:
            var_8 = (var_8->link).next;
            if (var_8 == (type_9 *)0x0) goto LAB_0004b267;
          }
          var_15 = var_8->sections;
          if (var_15 == (type_10 *)0x0) {
LAB_0004b231:
            if (var_16 != 2) goto LAB_0004b160;
          }
          else {
            var_23 = (type_4 *)0x0;
            do {
              var_21 = var_15->output_section <
                       (type_10 *)(var_17 + 0x180);
              bVar26 = var_15->output_section ==
                       (type_10 *)(var_17 + 0x180);
              pdVar6 = var_23;
              if (!bVar26) {
                var_18 = 0xf;
                var_19 = (type_12 *)var_15->name;
                var_20 = (type_12 *)".eh_frame_entry";
                do {
                  if (var_18 == 0) break;
                  var_18 = var_18 + -1;
                  var_21 = *var_19 < *var_20;
                  bVar26 = *var_19 == *var_20;
                  var_19 = var_19 + (type_6)bVar27 * -2 + 1;
                  var_20 = var_20 + (type_6)bVar27 * -2 + 1;
                } while (bVar26);
                var_22 = false;
                var_21 = (!var_21 && !bVar26) == var_21;
                if (var_21) {
                  var_23 = (type_4 *)0x2;
                  goto LAB_0004b209;
                }
                var_18 = 10;
                var_19 = (type_12 *)var_15->name;
                var_20 = (type_12 *)".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_6)bVar27 * -2 + 1;
                  var_20 = var_20 + (type_6)bVar27 * -2 + 1;
                } while (var_21);
                if (((!var_22 && !var_21) == var_22) &&
                   (var_41 = (int *)((int)&var_15->size + 4), pdVar6 = (type_4 *)1,
                   *var_41 == 0 && (type_6)(8 < (type_6)var_15->size) <= (type_6)-*var_41)) {
                  pdVar6 = var_23;
                }
              }
              var_23 = pdVar6;
              var_15 = var_15->next;
            } while (var_15 != (type_10 *)0x0);
            if (var_23 == (type_4 *)0x0) goto LAB_0004b231;
LAB_0004b209:
            if ((var_16 != 0) && ((type_4 *)var_16 != var_23)) {
              if (var_23 != (type_4 *)0x1) {
                var_8 = var_24;
              }
              var_45 = (char *)var_5(0,
                                          "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"
                                          ,5);
              var_6(var_45,var_8);
              break;
            }
            var_16 = (int)var_23;
            if (var_24 != (type_9 *)0x0) goto LAB_0004b231;
            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_0004b160;
            }
            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_9 *)0x0);
LAB_0004b267:
        if ((var_24 == (type_9 *)0x0) ||
           (var_25 = (type_8 *)
                      var_12
                                (var_24,".eh_frame_hdr",
                                 *(type_6 *)((int)var_24->xvec->backend_data + 0x30) | 8),
           var_25 == (type_8 *)0x0)) {
          if (bVar3) {
            var_45 = (char *)var_5(0,
                                        "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"
                                        ,5);
            var_6(var_45);
          }
        }
        else {
          var_25[2].u.i.warning = (char *)0x2;
          pbVar5[4].undefs_tail = var_25;
        }
      }
      pbVar8 = (type_2 *)var_26(link_info.output_bfd,&link_info);
      for (var_27 = pbVar8; var_27 != (type_2 *)0x0; var_27 = var_27->next) {
        var_30 = pbVar8;
        if ((var_27->by == (type_9 *)0x0) ||
           ((var_29 = var_28(var_27->by), (var_29 & 1) == 0 &&
            (((var_27->by == (type_9 *)0x0 || ((link_info._2_2_ & 0x180) != 0x80)) ||
             (var_29 = var_28(var_27->by), (var_29 & 4) == 0)))))) {
          for (; var_30 != var_27; var_30 = var_30->next) {
            if (((var_30->by == (type_9 *)0x0) ||
                (var_29 = var_28(var_30->by), (var_29 & 1) == 0)) &&
               (var_18 = var_31(var_30->name,var_27->name), var_18 == 0)) {
              if (var_27 != var_30) goto LAB_0004ae88;
              break;
            }
          }
          var_33 = (type_16 *)0x0;
          global_needed = var_27;
          var_32(gldelf32lriscv_ilp32f_check_needed);
          if ((var_33 == (type_16 *)0x0) ||
             (var_29 = var_28(var_33->the_bfd), (var_29 & 1) != 0)) {
            var_8 = var_27->by;
            var_45 = var_27->name;
            n.by = var_8;
            n.name = var_45;
            nn.by = var_8;
            if (var_34 != 0) {
              pcVar16 = (char *)var_5(0,"%s needed by %pB\n",5);
              var_35(pcVar16,var_45,var_8);
            }
            if (var_33 != (type_16 *)0x0) {
              nn.name = var_33->filename;
              var_37 = var_36(&nn,(int)nn.name,(type_4 *)0x1);
              if (var_37 != 0) goto LAB_0004ae88;
            }
            var_23 = (type_4 *)0x0;
            while (var_37 = var_38
                                      (command_line.rpath_link,&n,(int)var_23), var_37 == 0) {
              if (command_line.rpath != (char *)0x0) {
                var_45 = var_39(command_line.rpath);
                var_37 = var_38(var_45,&n,(int)var_23);
                var_14(var_45);
                if (var_37 != 0) break;
              }
              var_41 = (int *)var_40(link_info.output_bfd,&link_info);
              if (var_41 != (int *)0x0) {
                do {
                  var_21 = true;
                  var_45 = var_39((char *)var_41[2]);
                  bVar3 = false;
                  if ((type_9 *)var_41[1] == var_27->by) {
                    var_37 = var_38(var_45,&n,(int)var_23);
                    var_21 = var_37 == 0;
                    bVar3 = !var_21;
                  }
                  var_14(var_45);
                  var_41 = (int *)*var_41;
                } while ((var_41 != (int *)0x0) && (var_21));
                if (bVar3) break;
              }
              var_45 = ld_so_conf_13460;
              if (var_42 == 0) {
                needed.by = (type_9 *)0x0;
                needed.name = (char *)0x0;
                var_45 = (char *)var_43(ld_sysroot,"/usr/etc/ld.so.conf",0);
                var_37 = var_44
                                   ((type_17 *)&needed,var_45);
                if (var_37 == 0) {
                  var_14(var_45);
                  var_45 = (char *)var_43(ld_sysroot,"/etc/ld.so.conf",0);
                  var_44
                            ((type_17 *)&needed,var_45);
                }
                var_14(var_45);
                var_45 = ld_so_conf_13460;
                if (needed.by != (type_9 *)0x0) {
                  var_45 = var_39((char *)needed.by);
                  ld_so_conf_13460 = var_45;
                  var_14(needed.by);
                }
                var_42 = 1;
              }
              pcVar16 = var_27->name;
              if (var_45 != (char *)0x0) {
                needed.by = var_27->by;
                needed.name = pcVar16;
                var_37 = var_38(var_45,&needed,(int)var_23);
                if (var_37 != 0) break;
                pcVar16 = var_27->name;
              }
              var_50 = var_46(pcVar16);
              if (var_47 != (type_18 *)0x0) {
                var_52 = var_47;
                do {
                  if (var_52->cmdline == 0) {
                    var_49 = var_46(var_52->name);
                    var_45 = (char *)var_48(var_49 + var_50 + 2);
                    var_51(var_45,"%s/%s",var_52->name,var_27->name);
                    nn.name = var_45;
                    var_37 = var_36(&nn,(int)var_45,var_23);
                    if (var_37 != 0) goto LAB_0004ae88;
                    var_14(var_45);
                  }
                  var_52 = var_52->next;
                } while (var_52 != (type_11 *)0x0);
              }
              if (var_23 == (type_4 *)0x1) {
                var_8 = var_27->by;
                var_45 = var_27->name;
                pcVar16 = (char *)var_5(0,
                                            "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"
                                            ,5);
                var_6(pcVar16,var_45,var_8);
                break;
              }
              var_23 = (type_4 *)0x1;
            }
          }
        }
LAB_0004ae88:
      }
      if (((link_info._3_1_ & 0xc0) == 0x80) &&
         (var_18 = var_53(0,&link_info), var_18 == 0)) {
        var_45 = (char *)var_5(0,"%F%P: failed to parse EH frame entries\n",5);
        var_6(var_45);
      }
    }
  }
  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: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (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: (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)) (string_literal (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence) (escape_sequence)))))) (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: (type_identifier) 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: (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: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) right: (binary_expression left: (parenthesized_expression (identifier)) right: (subscript_expression argument: (identifier) index: (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: (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: (identifier) right: (binary_expression left: (binary_expression left: (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))))))) (for_statement initializer: (assignment_expression left: (identifier) right: (identifier)) condition: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal))) update: (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier)))) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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: (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: (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 (MISSING ";"))))) (expression_statement (assignment_expression left: (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: (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,0x0004b377) */
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */

void MASKED(void)

{
  undefined4 uVar1;
  bool bVar2;
  undefined4 *puVar3;
  undefined4 *puVar4;
  uint uVar5;
  int iVar6;
  undefined4 uVar7;
  void *pvVar8;
  int *piVar9;
  size_t sVar10;
  size_t sVar11;
  char *pcVar12;
  undefined4 uVar13;
  int iVar14;
  int iVar15;
  int iVar16;
  undefined4 *puVar17;
  byte *pbVar18;
  byte *pbVar19;
  bool bVar20;
  bool bVar21;
  bool bVar22;
  byte bVar23;
  longlong lVar24;
  int local_60;
  int local_50;
  int local_4c;
  
  bVar23 = 0;
  FUN_000327c0();
  iVar6 = DAT_0013d6e0;
  if (*(int *)(DAT_0013d6e0 + 0x28) == 1) {
    if (DAT_0013d780 != 0) {
      unlink_if_ordinary(DAT_0013d780);
      DAT_0013d6f8 = bfd_openw(DAT_0013d780,**(undefined4 **)(DAT_0013d6f4 + 4));
      iVar14 = DAT_0013d780;
      if (DAT_0013d6f8 == 0) {
        uVar7 = dcgettext(0,"%F%P: %s: can\'t open for writing: %E\n",5);
        FUN_00033ba0(uVar7,iVar14);
      }
    }
    iVar16 = DAT_0013d6f4;
    iVar14 = DAT_0013d6fc;
    if (DAT_0013d42c != (void *)0x0) {
      for (; iVar14 != 0; iVar14 = *(int *)(iVar14 + 0x9c)) {
        if (((*(int *)(*(int *)(iVar14 + 4) + 4) == 5) && (*(int *)(iVar14 + 0x68) != 0)) &&
           ((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0)) {
          lVar24 = FUN_00037870(DAT_0013d42c);
          if ((lVar24 == 0) || (lVar24 + 0x10 == 0)) {
            pcVar12 = "%P: warning: unrecognized --build-id style ignored\n";
          }
          else {
            iVar14 = bfd_make_section_with_flags
                               (iVar14,".note.gnu.build-id",
                                "ttributes)) }\n  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }\n}\n\n"
                               );
            if (iVar14 != 0) {
              *(undefined4 *)(iVar14 + 0x58) = 2;
              iVar16 = DAT_0013d6f4;
              iVar15 = *(int *)(*(int *)(DAT_0013d6f4 + 0xa0) + 0x9c0);
              *(code **)(iVar15 + 0x10) = FUN_00048da0;
              pvVar8 = DAT_0013d42c;
              *(int *)(iVar15 + 0x18) = iVar14;
              *(void **)(iVar15 + 0x14) = pvVar8;
              *(undefined4 *)(*(int *)(iVar14 + 0xa4) + 4) = 7;
              *(longlong *)(iVar14 + 0x2c) = lVar24 + 0x10;
              goto LAB_0004ad04;
            }
            pcVar12 = "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n";
          }
          uVar7 = dcgettext(0,pcVar12,5);
          FUN_00033ba0(uVar7);
          break;
        }
      }
      free(DAT_0013d42c);
      DAT_0013d42c = (void *)0x0;
      iVar16 = DAT_0013d6f4;
    }
LAB_0004ad04:
    (**(code **)(*(int *)(*(int *)(iVar16 + 4) + 0x1c0) + 0x1d0))(&DAT_0013d6c0);
    if ((DAT_0013d6c0 & 3) == 2) {
      if (DAT_0013d6c5 >> 7 == (~DAT_0013d6c6 & 1)) {
        bfd_make_section_with_flags(DAT_0013d6fc,".note.GNU-stack",DAT_0013d6c5 >> 3 & 0x10 | 8);
      }
    }
    else {
      if (((DAT_0013d6c4 & 0x20) == 0) && (DAT_0013d6fc != 0)) {
        local_50 = 0;
        bVar2 = false;
        local_4c = 0;
        iVar14 = DAT_0013d6fc;
        do {
          while ((*(byte *)(*(int *)(iVar14 + 0xa4) + 0x24) & 0x10) == 0) {
            puVar17 = *(undefined4 **)(iVar14 + 0x60);
            if (puVar17 == (undefined4 *)0x0) {
LAB_0004b231:
              if (local_50 != 2) break;
            }
            else {
              local_60 = 0;
              do {
                bVar20 = (undefined *)puVar17[0x15] < PTR__bfd_std_section_0013bfc4 + 0x180;
                bVar22 = (undefined *)puVar17[0x15] == PTR__bfd_std_section_0013bfc4 + 0x180;
                iVar16 = local_60;
                if (!bVar22) {
                  iVar15 = 0xf;
                  pbVar18 = (byte *)*puVar17;
                  pbVar19 = (byte *)".eh_frame_entry";
                  do {
                    if (iVar15 == 0) break;
                    iVar15 = iVar15 + -1;
                    bVar20 = *pbVar18 < *pbVar19;
                    bVar22 = *pbVar18 == *pbVar19;
                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;
                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;
                  } while (bVar22);
                  bVar21 = false;
                  bVar20 = (!bVar20 && !bVar22) == bVar20;
                  if (bVar20) {
                    local_60 = 2;
                    goto LAB_0004b209;
                  }
                  iVar15 = 10;
                  pbVar18 = (byte *)*puVar17;
                  pbVar19 = (byte *)".eh_frame";
                  do {
                    if (iVar15 == 0) break;
                    iVar15 = iVar15 + -1;
                    bVar21 = *pbVar18 < *pbVar19;
                    bVar20 = *pbVar18 == *pbVar19;
                    pbVar18 = pbVar18 + (uint)bVar23 * -2 + 1;
                    pbVar19 = pbVar19 + (uint)bVar23 * -2 + 1;
                  } while (bVar20);
                  if (((!bVar21 && !bVar20) == bVar21) &&
                     (iVar16 = 1,
                     puVar17[0xc] == 0 && (uint)(8 < (uint)puVar17[0xb]) <= (uint)-puVar17[0xc])) {
                    iVar16 = local_60;
                  }
                }
                local_60 = iVar16;
                puVar17 = (undefined4 *)puVar17[3];
              } while (puVar17 != (undefined4 *)0x0);
              if (local_60 == 0) goto LAB_0004b231;
LAB_0004b209:
              if ((local_50 != 0) && (local_50 != local_60)) {
                if (local_60 != 1) {
                  iVar14 = local_4c;
                }
                uVar7 = dcgettext(0,
                                  "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n"
                                  ,5);
                FUN_00033ba0(uVar7,iVar14);
                goto LAB_0004b267;
              }
              local_50 = local_60;
              if (local_4c != 0) goto LAB_0004b231;
              if (local_60 != 2) {
                if ((_DAT_0013d6c2 & 0xc000) == 0) {
                  local_50 = 1;
                }
                else {
                  local_50 = 1;
                  bVar2 = true;
                  if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {
                    local_4c = iVar14;
                  }
                }
                break;
              }
              bVar2 = true;
              if (*(int *)(*(int *)(iVar14 + 4) + 4) == 5) {
                local_4c = iVar14;
              }
            }
            iVar14 = *(int *)(iVar14 + 0x9c);
            local_50 = 2;
            _DAT_0013d6c2 = _DAT_0013d6c2 & 0x3fff | 0x8000;
            if (iVar14 == 0) goto LAB_0004b267;
          }
          iVar14 = *(int *)(iVar14 + 0x9c);
        } while (iVar14 != 0);
LAB_0004b267:
        if ((local_4c == 0) ||
           (iVar14 = bfd_make_section_with_flags
                               (local_4c,".eh_frame_hdr",
                                *(uint *)(*(int *)(*(int *)(local_4c + 4) + 0x1c0) + 0x30) | 8),
           iVar14 == 0)) {
          if (bVar2) {
            uVar7 = dcgettext(0,
                              "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"
                              ,5);
            FUN_00033ba0(uVar7);
          }
        }
        else {
          *(undefined4 *)(iVar14 + 0x58) = 2;
          *(int *)(iVar6 + 0xd0) = iVar14;
        }
      }
      puVar4 = (undefined4 *)bfd_elf_get_needed_list(DAT_0013d6f4,&DAT_0013d6c0);
      for (puVar17 = puVar4; puVar17 != (undefined4 *)0x0; puVar17 = (undefined4 *)*puVar17) {
        puVar3 = puVar4;
        if ((puVar17[1] == 0) ||
           ((uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 1) == 0 &&
            (((puVar17[1] == 0 || ((_DAT_0013d6c2 & 0x180) != 0x80)) ||
             (uVar5 = bfd_elf_get_dyn_lib_class(puVar17[1]), (uVar5 & 4) == 0)))))) {
          for (; puVar3 != puVar17; puVar3 = (undefined4 *)*puVar3) {
            if (((puVar3[1] == 0) ||
                (uVar5 = bfd_elf_get_dyn_lib_class(puVar3[1]), (uVar5 & 1) == 0)) &&
               (iVar6 = strcmp((char *)puVar3[2],(char *)puVar17[2]), iVar6 == 0)) {
              if (puVar17 != puVar3) goto LAB_0004ae88;
              break;
            }
          }
          DAT_0013d440 = 0;
          DAT_0013d4c0 = puVar17;
          FUN_000264a0(FUN_0004a2c0);
          if ((DAT_0013d440 == 0) ||
             (uVar5 = bfd_elf_get_dyn_lib_class(*(undefined4 *)(DAT_0013d440 + 0x10)),
             (uVar5 & 1) != 0)) {
            uVar7 = puVar17[1];
            uVar1 = puVar17[2];
            if (DAT_0013d83c != 0) {
              uVar13 = dcgettext(0,"%s needed by %pB\n",5);
              FUN_00033b70(uVar13,uVar1,uVar7);
            }
            if ((DAT_0013d440 == 0) || (iVar6 = FUN_0004a3c0(), iVar6 == 0)) {
              bVar2 = false;
              while (iVar6 = FUN_0004a6d0(), iVar6 == 0) {
                if (DAT_0013d7a4 != 0) {
                  pvVar8 = (void *)FUN_00048f50();
                  iVar6 = FUN_0004a6d0();
                  free(pvVar8);
                  if (iVar6 != 0) break;
                }
                piVar9 = (int *)bfd_elf_get_runpath_list(DAT_0013d6f4,&DAT_0013d6c0);
                if (piVar9 != (int *)0x0) {
                  do {
                    bVar22 = true;
                    pvVar8 = (void *)FUN_00048f50();
                    bVar20 = false;
                    if (piVar9[1] == puVar17[1]) {
                      iVar6 = FUN_0004a6d0();
                      bVar22 = iVar6 == 0;
                      bVar20 = !bVar22;
                    }
                    free(pvVar8);
                    piVar9 = (int *)*piVar9;
                  } while ((piVar9 != (int *)0x0) && (bVar22));
                  if (bVar20) break;
                }
                if (DAT_0013d424 == 0) {
                  pvVar8 = (void *)concat(DAT_0013d75c,"/usr/etc/ld.so.conf",0);
                  iVar6 = FUN_00049060();
                  if (iVar6 == 0) {
                    free(pvVar8);
                    pvVar8 = (void *)concat(DAT_0013d75c,"/etc/ld.so.conf",0);
                    FUN_00049060();
                  }
                  free(pvVar8);
                  DAT_0013d424 = 1;
                }
                pcVar12 = (char *)puVar17[2];
                if (DAT_0013d420 != 0) {
                  iVar6 = FUN_0004a6d0();
                  if (iVar6 != 0) break;
                  pcVar12 = (char *)puVar17[2];
                }
                sVar10 = strlen(pcVar12);
                if (DAT_0013d8e4 != (int *)0x0) {
                  piVar9 = DAT_0013d8e4;
                  do {
                    if (piVar9[2] == 0) {
                      sVar11 = strlen((char *)piVar9[1]);
                      pcVar12 = (char *)xmalloc(sVar11 + sVar10 + 2);
                      sprintf(pcVar12,"%s/%s",piVar9[1],puVar17[2]);
                      iVar6 = FUN_0004a3c0();
                      if (iVar6 != 0) goto LAB_0004ae88;
                      free(pcVar12);
                    }
                    piVar9 = (int *)*piVar9;
                  } while (piVar9 != (int *)0x0);
                }
                if (bVar2) {
                  uVar7 = puVar17[1];
                  uVar1 = puVar17[2];
                  uVar13 = dcgettext(0,
                                     "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"
                                     ,5);
                  FUN_00033ba0(uVar13,uVar1,uVar7);
                  break;
                }
                bVar2 = true;
              }
            }
          }
        }
LAB_0004ae88:
      }
      DAT_0013d6c3 = (byte)(_DAT_0013d6c2 >> 8);
      bVar23 = DAT_0013d6c3 & 0xc0;
      if ((bVar23 == 0x80) && (iVar6 = bfd_elf_parse_eh_frame_entries(0,&DAT_0013d6c0), iVar6 == 0))
      {
        uVar7 = dcgettext(0,"%F%P: failed to parse EH frame entries\n",5);
        FUN_00033ba0(uVar7);
      }
    }
  }
  return;
}

